Saturday, October 4, 2008

Visual Studio Database Project Errors

I'm using Visual Studio Database Project (DBPro) since beta versions. It's a great product but with several issues that had being fixed during the time. The last version in VS 2008 SP1, has a lot of improvements. I would like to mention the support to synchronize the database against the project, which does not work very well in previous versions.

Last week I've experiencing 2 new errors, when opening a Visual Studio solution with a database project in there.

Error 1: "Instance not set to an instance of an object"

This happens when the solution try to load the DBPro and it fails. The project remains in an unloaded state.

You can't even create new DBPro projects. I've tried to create a new project, but at the end of the wizard Visual Studio returns me the same error message.

My good friend Rui Inácio, told me that he had fixed, the exactly same error, creating a new user profile in his machine. After login with the new account he was able to create and open DBPro projects.

I thought this was not a good solution, because i need to recreate all my old profile (mail accounts, desktop preferences, etc ...), so i've decided to keep searching on a better solution. After a quick googling i was not able to found a solution to fix this error. So i've decided to dive in the DBPro options, and try to understand what should cause this.

After changing a few settings i've remember that, for a specific project, i've changed the setting "Maximum errors and warnings to display" to 0. The default is 200.

You can find this setting in the following location: Tools -> Options -> Database Tools -> Design-time Validation Database.

I've changed this setting back to 200, and press and VOILA !!!, it fixes the error. I'm now able to create an open DBPro projects again.

Error 2: "Failed to attach database"

Following the error 1, Visual Studio presented me with the error message "Failed to attach database".

This was easier to fix. Just delete the .user database project file and open the project in Visual Studio again. The .user file will be recreated and you will be able to open DBProj projects again.

Monday, June 30, 2008

Test your website on different browsers

For Web Developers

When playing the web developer role, i'm always asking myself the same question:

How does this site looks on all browsers?

Of course, i have installed on my machine, IE 7, Firefox, Safari, Opera. But, still, how does other browsers see my website?

Surfing on the web, i've found BrowserShots. This very interest online service, thant basically does the following:

"Browsershots makes screenshots of your web design in different browsers. It is a free open-source online service created by Johann C. Rocholl. When you submit your web address, it will be added to the job queue. A number of distributed computers will open your website in their browser. Then they will make screenshots and upload them to the central server here. "

If you are a web developer, this is someting you won't miss.

Community Server Tags: ;;

Monday, May 12, 2008

SQL Server Reporting Server Authentication Error

After installing Reporting Services on a Windows 2003 Server SP1 Box, everything seems to be ok, but when i browse to the Reports website: http://localhost/Reports i've got the following error message: HTTP status 401: Access Denied.

After some Google search i found that this is not a problem related to MS Reporting Servers, but it's an issue related to Windows 2003 Service Pack 1.

If you have this problem, and you have a box with Windows 2003 with SP1, follow these steps to fix it.

1.Click Start, click Run, type regedit, and then click OK.

2.In Registry Editor, locate and then click the following registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

3.Right-click Lsa, point to New, and then click DWORD Value.

4.Type DisableLoopbackCheck, and then press ENTER.

5.Right-click DisableLoopbackCheck, and then click Modify.

6.In the Value data box, type 1, and then click OK.

7.Quit Registry Editor, and then restart your computer.

 

You can find more details here: http://support.microsoft.com/kb/896861/

Saturday, May 10, 2008

Shrink SQL Server transaction log files

Once I'm using database mirroring, all my databases has the recovery model set to Full.

When using this recovery model, you must have a good backup policy to regularly backup your transaction log, between full backups of your database. If not, the database transaction log file size may increase a lot.

To shrink the file size I use the following script:

exec sp_dboption DBName, 'trunc. log on chkpt.', true

checkpoint

DBCC SHRINKFILE (DBNameFileName, 500);

exec sp_dboption DBName, 'trunc. log on chkpt.', false

Wednesday, May 7, 2008

Sql Server Database Mirror and Recovery Model

When i've configured the Database Mirroring on my production environment, i've changed the database recovery model to full. Then, i've faced the issue with transaction log file size, that is increasing a lot, on all mirrored databases.

After some research, I found some information to solve this that i would like to share with you.

To prevent the transaction log files from growing unexpectedly, consider using one of the following methods:

• Set the size of the transaction log files to a large value to avoid the automatic expansion of the transaction log files.

• Configure the automatic expansion of transaction log files by using memory units instead of a percentage after you thoroughly evaluate the optimum memory size.
For additional information about the issues to consider when you configure the autogrow option, click the following article number to view the article in the Microsoft Knowledge Base:

315512 (http://support.microsoft.com/kb/315512/) Considerations for autogrow and autoshrink configuration

• Change the recovery model. If a disaster or data corruption occurs, you must recover your database so that the data consistency and the transactional integrity of the database are maintained. Based on how critical the data in your database is, you can use one of the following recovery models to determine how your data is backed up and what your exposure to the data loss is:

•Simple recovery model

•Full recovery model

•Bulk-logged recovery model

By using the simple recovery model, you can recover your database to the most recent backup of your database. By using the full recovery model or the bulk-logged recovery model, you can recover your database to the point when the failure occurred by restoring your database with the transaction log file backups.
By default, in SQL Server 2000 and in SQL Server 2005, the recovery model for a SQL Server database is set to the Full recovery model. With the full recovery model, regular backups of the transaction log are used to prevent the transaction log file size from growing out of proportion to the database size. However, if the regular backups of the transaction log are not performed, the transaction log file grows to fill the disk, and you may not be able to perform any data modification operations on the SQL Server database.
You can change the recovery model from full to simple if you do not want to use the transaction log files during a disaster recovery operation.

• Back up the transaction log files regularly to delete the inactive transactions in your transaction log.

• Design the transactions to be small.

• Make sure that no uncommitted transactions continue to run for an indefinite time.

• Schedule the Update Statistics option to occur daily.

• To defragment the indexes to benefit the workload performance in your production environment, use the DBCC INDEXDEFRAG Transact-SQL statement instead of the DBCC DBREINDEX Transact-SQL statement. If you run the DBCC DBREINDEX statement, the transaction log may expand significantly when your SQL Server database is in Full recovery mode. Additionally, the DBCC INDEXDEGRAG statement does not hold the locks for a long time, unlike the DBCC DBREINDEX statement.
For additional information about defragmenting the indexes in SQL Server 2000, see the following Microsoft Web site:

http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/ss2kidbp.mspx (http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/ss2kidbp.mspx)

If you must run the DBCC DBREINDEX statement as a job that is a part of the database maintenance plan, you must break up the job into multiple jobs. Additionally, you must take the frequent backups for the transaction logs between the execution of the jobs.

You can see the full document on the following address. http://support.microsoft.com/kb/873235

Kill all SQL active connections

For the last couple of weeks i'm using SSIS a lot. In some tasks i need to make sure that any client is connected to the database where i need to perform a specific task.

To solve this issue i found this script that basically, kills all the active connections on the database.

DECLARE 
@p_SPID int,
@p_SQL nvarchar(2000),
@dbName nvarchar(100)

SET @dbName = 'MyDBName'

DECLARE #cur_Processes CURSOR FOR

SELECT
p.SPID
FROM
master.dbo.sysprocesses AS p
JOIN master.dbo.sysdatabases AS d ON( d.dbid = p.dbid )
WHERE
d.Name = @dbName AND p.SPID > 50 -- AND spid >= 51 (because spids of 50 or less are reserved for internal use.)
OPEN #cur_Processes
FETCH NEXT FROM #cur_Processes INTO @p_SPID
WHILE @@FETCH_STATUS = 0

BEGIN
SET @p_SQL = 'KILL ' + CONVERT( nvarchar(30), @p_SPID )
PRINT @p_SQL
EXECUTE( @p_SQL )
FETCH NEXT FROM #cur_Processes INTO @p_SPID
END
CLOSE #cur_Processes
DEALLOCATE #cur_Processes

Monday, April 7, 2008

VSTS 2008 VPC Image - Expires on December 31, 2008

As you probably notice, the VSTS 2008 VPC Image expired on April 1st. Microsoft has published a newer version with many enhancements including an updated Hands On Lab.

You can download it here.

http://www.microsoft.com/downloads/details.aspx?FamilyID=c7a809d8-8c9f-439f-8147-948bc6957812&displaylang=en

SQL Server Training Videos

The series features 13 professional videos that start at the very beginning and then explore designing tables/schemas, using data types, creating SPROCs, using reporting services and the business intelligence engine, enabling full text search across your data, and more (I'm guessing even most devs with a lot of data experience might learn some new things from the reporting services and full text search videos):

http://weblogs.asp.net/scottgu/archive/2007/03/01/free-sql-server-training-videos-and-other-good-data-tutorial-pointers.aspx

Tuesday, March 18, 2008

How to get the current row in Gridview RowCommand event

Blogger Tags:

I've been working in a project where we use the Gridview control very often.

In this particularly case I need to get a reference to the current row of a gridview, in order to get some values that exists in several columns of the same gridview.

If we take a look at the signature of the method:

protected void GridView\_RowCommand(object sender, GridViewCommandEventArgs e)

you will notice that, at a first approach, in none of the parameters, we can get a reference to the current row.

Using the following single line of code, we can get a GridViewRow object referencing the current row.

GridViewRow row = (GridViewRow)((Control)e.CommandSource).Parent.Parent;

The code above is not so elegant as I wish, but the world is not perfect as well. :)

We can now use the following code to get a reference to existing controls on the current GridView row.

DropDownList ddlPriority = row.FindControl("ddlPriority") as DropDownList;

int priorityID = ddlPriority != null ? Int32.Parse(ddlPriority.SelectedValue) : 0;

 

Problem fixed !!!

Saturday, March 15, 2008

Friday, March 7, 2008

TFS add-on list

If you are using Team Foundation Server, exists a set of tools that you should consider, at least take a look at them.

Bellow, you can find a list of my favorite ones, that i would like to share with you:

TFS File Sharer - Mimics SourceSafe like file sharing.

TFS Continuous Integrator - A TFS 2005 based continuous integration solution.  Of course, it's built in if you are using TFS 2008.

TFS Dependency replicator - A tool to make changes in the source tree when certain events occur (like copying files when a build completes).

TFS Build Virtualizer - Rather than having one physical machine for each team or build server configuration, manage a pool of virtual machines automatically.

SLR TFS Get Latest Version on Check-Out

Outlook 2003 TFS Addin

Team Foundation Server Administration Tool 

Team Foundation Server Event Subscription Tool

Team Foundation Server 2005 Power Tools - best practices analyzer, work item templates

Team Foundation Server 2008 Power Tools - command line tools, build notification, process template editor, custom check-in policy, best practices analyzer, work item templates

Feel free to suggest others.

TFS add-on list

If you are using Team Foundation Server, exists a set of tools that you should consider, at least take a look at them.

Bellow, you can find a list of my favorite ones, that i would like to share with you:

TFS File Sharer - Mimics SourceSafe like file sharing.

TFS Continuous Integrator - A TFS 2005 based continuous integration solution.  Of course, it's built in if you are using TFS 2008.

TFS Dependency replicator - A tool to make changes in the source tree when certain events occur (like copying files when a build completes).

TFS Build Virtualizer - Rather than having one physical machine for each team or build server configuration, manage a pool of virtual machines automatically.

SLR TFS Get Latest Version on Check-Out

Outlook 2003 TFS Addin

Team Foundation Server Administration Tool

Work Item Subscription Tool

Feel free to suggest others.

Thursday, March 6, 2008

CMMI - At what level am I?

Recently, I'm was making some research about CMMI. I work in a financial consulting company, that works mostly for banks. For some of them, specially outside Portugal, to work with them, they ask us for at least CMMI level 4.

We are just starting our CMMI certification path, and I was learning a lot about this. In an early future, I expect to post more things about this subject.

Below, i try to make a very small resume about CMMI.

CMMI stands for Capability Maturity Model Integration. and helps integrate traditionally separate organizational functions, set process improvement goals and priorities, provide guidance for quality processes, and provide a point for appraising current processes.
CMMI is not a process, is a model that describes the practices applied on effective processes.
The CMMI Framework the structure that organizes the components used in generating models, training materials and appraisal methods.
The CMMI Product Suite is the full collection of models, training materials and appraisal methods generated from the CMMI Framework.
The components in the CMMI Framework are organized into groupings, called constellations, which facilitate construction of approved models.
Basically, exists 3 constellations: CMMI-DEV that provides guidance for managing, measuring, and monitoring development processes. CMMI-SVC that provides guidance for delivering services within organizations and to external customers. And CMMI-ACQ that provides guidance to enable informed and decisive acquisition leadership. At Finsolutia, we are specially focus on CMMI-SVC and CMMI-DEV.

Next, I will share some links that can provides some useful information about CMMI.

The official website: http://www.sei.cmu.edu

Try this CMMI mini-survey, to get some information about your actual CMMI level. It produces a report with lots of information. It's a good start. 
Please, be honest when answering the questions :)  http://survey.cmmi.hu

Presentations
CCMI Version 1.2 Overview
CMMI for Development Version 1.2

Wednesday, March 5, 2008

Truncating the transaction log on SQL Server

Depending on the recovery model that you are using for your database, the size of your transaction log file may increase a lot.

If you would like to truncate and shrink the file, you can decide to use one of the follow options:

1. Make the full database backup.
2. Set the Truncate Log On Checkpoint database option and then run CHECKPOINT command from the Query Analyzer.
3. If the transaction log was not truncated, run the DUMP TRANSACTION command with NO_LOG parameter.
4. If the log was truncated, you can decrease the size of the log file by using the DBCC SHRINKFILE statement.
If the transaction log was not truncated, and the database have only one data file, detach the database by using the sp_detach_db stored procedure, then attach only the data file by using the sp_attach_single_file_db stored procedure. The transaction log will be recreated automatically with the small size. This is the example to detach/attach the Test database:

USE master
EXEC sp_detach_db 'Test', 'true'
EXEC sp_attach_single_file_db @dbname = 'Test', @physname = 'd:\data\Test_Data.MDF'

You can also stop the MSSQLServer service, drop the transaction log file, start the MSSQLServer service. The transaction log will be recreated automatically with the small size.


This is undocumented and not recommended way, so do not forget to make backup before.


Hope it helps!

Tuesday, March 4, 2008

Web Service Software Factory: Modeling Edition just released

The Web Service Software Factory: Modeling Edition (also known as the Service Factory) is an integrated collection of resources designed to help you quickly and consistently build Web services that adhere to well-known architecture and design patterns. These resources consist of patterns and architecture topics in the form of written guidance and models with code generation in the form of tools integrated with Visual Studio 2008.

Read more here http://msdn2.microsoft.com/en-us/library/bb931187.aspx

MSDN Code Gallery

Microsoft has launched a website where the developer community can download and share applications, code snippets, and other resources.

Check here if you can find what you are looking for, and I also encourage you to share something that others may think useful.

Technorati Tags: ,

AjaxControltoolkit v3.020229 Released

The community and Microsoft had released a new version of AjaxControlToolkit.

The version does not introduces nothing new, no new controls, but fixes some bugs on existent controls. This version also includes 10 patch fixes from community.

Major Fixes:

  • ValidatorCallout supports styling the popup using CSS and server-side validation.
  • ListSearch has enabled the options of searching for sub-strings in the list items and clearing the search query if no match is found.
  • AutoComplete only queries for matches when the user types a character.

AjaxControlToolkit on Codeplex

Friday, February 29, 2008

Install multiple versions of IE on your PC

For those that are creating websites, there's always a need to test the application with old versions of Internet Explorer.

Specially for our team, that creates web based applications to be used by users that work in banks. Banks are known to not change their desktop installations very often. There is old phrase that applies here. "If it works, don't touch !!!". So nowadays, all our users are still using Internet Explorer 5.5 or 6.

Us, the developers, always want to use the latest versions of each product, and forgot who really will use our applications.

Tredoft releases the application Multiple IE, that allows you to run multiple versions of Internet Explorer on the same PC. Donwload it here.

Note: If you are running Windows Vista, please read the instructions here.

Offshore Development

As member of GASP(Grupo de Arquitectura de Software Português), i regulary participate in our monthly meetings.

This month the subject was Offshore Development. Hugo Batista, one of the co-founder members, has invited Boobandra Babu to talk with us about this.

Babu is the Managing Director of Shlok, a company based in India, with 38 employees. They work in this model all over the world.

He starts talking about some of the pros and cons of offshore development. Basically, and trying to don't be extensive, as the main disadvantage he found the language, as the principal barrier of the process, and as advantage, obviously he mentioned the total cost saving of the project.

In my opinion, i can identify more than just the language as the main disadvantage. I think that a well motivated local development team can bring a lot of more value to the projects, than delegating the development to offshore companies, specially if we are talking about the development of a product, which is the company core product. I think that the development team should be also commited with project, not only on a technical perspective, but also in every aspect of the project. They know the culture, the habits, the market and they speak the same language. In all companies where i've worked before, most of the project decisions, some times even comercial decisions were made with the collaboration of technical people.

Speaking about technical issues, i don't see that Shlok has some kind of innovative processes that can brings add-value to the table. Basically, they use Waterfall as project management methodology, they don't use agile but they are adaptive to their customer needs. Nothing new, i think all portuguese consulting companies are, since the customer pays they can adapt. Well... not all of them, but most of them. They don't have implemented on their infrastructure, things like continuous integration, unit testing and other quality control systems, that at the time in Portual, most of the companies are start looking at. To be honest, in a market with 2 million engineers and with a high level of maturity, i expect to see much more innovative processes. Maybe Babu doesn't show us all...

I'm not saying that i totally disagree with offshore development, but to make that decision there are some factors that we need to take care about, before going on that direction. Here are some questions that i really will make myself, if i need to make that decision:

1. Is the product, the core business of my company?
2. Is a local product or a global product?
3. How can i find the right partner?
4. How can i guarantee the quality and success of the project?
5. How can i manage and mitigate the risk of delegating this to an offshore company?
6. And obviously, how much i will save?

Talking about costs, Babu mentioned that to get a professional from Shlok, we need to pay, at least, about 35 USD/hour, by now this not seems to be expensive, at the time i'm writting this post the rate to EUR is 1 EUR = 1,5 USD, but the risk has also its price. And with a good market research we can get good professionals in the portuguese market.

I really think we need to test the offshore development with a small project, to see the most value of this way of working.

Wednesday, February 27, 2008

Linq to SQL Debug Visualizer

On debug mode it is nice to see the generated sql query, but what about if we can execute the query against the database and take a look at the results? That will be great !!!

Ok, now you can. Just take a look at Scott Guthrie post about Linq to SQL Debug Visualizer, and discover how you can do it.

For those that are using Linq to SQL, this is a must-have tool.

Monday, February 25, 2008

• Visual Studio Team System 2008 Database Edition Power Tools

Finally... they shipped !!!

I was waiting for this tool since the first release. Once i'm using Continuous Integration, i want to integrate the database schema and data syncronization as part of my build process. It seems that now i can do it.

Bellow you can find a list of all features included in this pack:

New Test Conditions for Database Unit Tests
• ChecksumCondition – You can use this test condition to verify that the checksum of the data set returned by a database unit test matches the checksum of an expected data set.
• ExpectedSchemaTestCondition – You can use this test condition to verify that the column names and data types of the returned data set match expected values.

Data Generator Improvements
• New Data Generator Wizard – This new wizard creates a data generation plan that is configured to copy data from a source database. You can use this wizard when you need to copy most of your data from a live source, but need to make small changes to ensure privacy.

MSBuild Task Improvements
• SqlAnalysis Task – You can use this build task to run T-SQL Static Code Analysis from MSBuild.
TSQL Static Code Analysis
• Static Code Analysis - A precursor to the functionality that will be in future versions of VSTS that will allow you to perform Static Code Analysis on T-SQL code.

Refactoring
• “Move Schema” Refactoring - Allows a user to right click on an object and move it to a different but existing schema
• SP Rename Generation - Generate a new script that will contain sp_renames for all rename refactored objects that the user can then execute.
• Wildcard Expansion - Automatically expand the wildcard in a select to the appropriate columns.
• Fully-Qualified Name Support - Automatically inject fully-qualified names when absent in a script
• Refactoring extended to Dataset - Refactor into strongly typed dataset definitions

MSBuild Tasks
• Data / Schema Compare Build Tasks - MSBuild tasks that can generate scripts as if the user had run the Data / Schema compare UI

Schema View
• API Access to Schema View - Insert / Update / Delete to schema View and list schema objects and their associated files

Dependency Tool Window
• Dependency Tree - Show the dependencies ( incoming / outgoing ) for selected schema objects in a new tool window

Miscellaneous Tools
• Script Preprocessor - Expand SQLCMD variables and include files and command line version (sqlspp.exe) & an MSBuild version ( wraps the command line version )

Download it from here.

Sunday, February 24, 2008

Upgrading TFS 2005 to TFS 2008

At the company i work for, we are using Team Foundation Server 2005 for Workgroup Edition, since June 2007.

Two or three weeks ago, my team had experienced the most known issue of TFS 2005.

Two developers working on the same project, if both try to check out the same file at the same time, Visual Studio does not make the Get Latest Version on Checkout. This means that, when both developers change the contents of the file and try to check-in again, they will receive an alert to manually merge the differences on the content of the files.

After some googling, they've found that this issue was fixed on Team Foundation Server 2008. (more details here)

If you are using Visual Studio 2005, you can use this add-in, that basically runs a macro to get the latest version from TFS when you Checkout a file. But we're already using Visual Studio 2008 and unfortunnely the add-in doesn't work.

So, every day, and each time the situation happens, they ask me to upgrade to TFS 2008. Finally the day has arrived. Today, i've decided to upgrade to Team Foundation Server 2008.

Bellow, you can find a step by step guide to upgrade from TFS 2005 to TFS 2008.

1. Backup All TFS and Sharepoint Databases on SQL Server.
2. If present, remove Team System Web Access 2005 in Add/remove Programs on server Control Panel.
3. Check that you have the correct passwords for TFSSETUP and TFSSERVICE accounts.
4. Log-in with an account that belongs Team Foundation Server Licensed Users Group.
4. Install Team Foundation Server 2008.
5. Install Team Foundation Server 2008 Explorer.

Upgrade to Sharepoint Services 3.0 (WSS 3.0)
6. Run WSS Prescan tool. (check details here and download here)
      Check in the generated logfile for errors.
7. If no errors found, Install Windows Sharepoint Services 3.0
      Note: You need to specify a different port to Sharepoint Services Central Administration
8. Restart the server
9. Install Team Foundation Server Sharepoint Extensions
      Update the Url for Sharepoint, Reports and ReportServer
      The upgrade changes the WSS admin site URL. To make this change in TFS you can use TFSAdminUtil . Following is the command you can use.
TFSAdminUtil configureconnections /SharepointAdminUri:http://wssserver:adminport (more details here)

10. Install Team Foundation Build.
11. Install Team System Web Access 2008 (download).

In my installation, Team Foundation Server 2008 is working properly, but i can't access to my project portals in Sharepoint Services 3.0. I've checked the WSS Central Administration and i've noticed that Windows SharePoint Services Web Application is on status Upgrading.

If after upgrading to WSS 3.0 you are experiencing the same problem, run the following command:
stsadm -o provisionservice -action start -servicetype SPWebService

After this, i can now see the project portal, but since i'm using the Scrum for Team System (Cochango) template, i cannot see the graphics and reports. After all the work i was congratulated with the following message:

The Registry HKLM\Software\Microsoft\VisualStudio\8.0\TeamFoundation\ReportServer is not set

To fix this, open regedit and navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\TeamFoundation\ReportServer. If you don't have the ReportServer entry add it. Now add a new String Value with the name Key, and the values should be the address of your reporting server, http://sol-tfs01:ReportServer in my case.

Everything is now up and running, and i'm very exciting to listen my developer team comments.

Hope this helps!

Microsoft Techdays 2008

This year i was invited to be a speaker on Techdays 2008, the event for Microsoft IT Professionals in Portugal.

The session where i will be speaking is about TFS 2008 Team Build.

This is something that i really like, things like continuous integration, automated tests, is in fact, precedures that shoul be present in every development team.

I'm using Cruise Control as build server since 2005, but recently i moved to Team Foundation Server 2008, wich had been great improvements, and i will love to share this experience with you.

Don't miss this session.

Tuesday, February 12, 2008

Ajax resources and samples

I would like to share this fantastic website with tons of cool examples of controls using AJAX

Check this url http://www.ajaxrain.com.

Happy coding!

AjaxControlToolkit Autocomplete Extender

Once a while in my web projects i need to use some controls from the AjaxControlToolkit.

I'm always forgotting the web service configuration, include the [ScriptService] and [ScriptMethod] attributes in the class and in the web methods.

I found a very good example of how to use the autocomplete extender from AjaxControlTookit.

Chek it at http://mattberseth.com/blog/2007/12/creating_a_google_suggest_styl.html

Happy coding!

Monday, February 11, 2008

Google Map Control for ASP.Net

In th project that i'm now evolved, we have a lot of integration with Google Maps. Basically we have addresses of the houses, and we want to show a little map, with their location... Nothing better than Google Maps Geocoding to solve this issue.

I was tired of write tons of javascript to interact with GMap.

Finnaly i found something that i was looking for a long time: a Google Map Control for ASP.Net.

This control is hosted at Codeplex, and has a very good managed code API, very easy to use, and a lot of functionality.

If you need to use Google Maps in your Asp.Net applications, this is something that you shouldn't miss.

Saturday, February 9, 2008

Installing SQL Server 2005 on Windows Vista

After 1 year working with Windows Vista, i've decided to reinstall my laptop.

At the time of SQL Server 2005 Developer Edition installation, i've receive a warning with the following message:

"Microsoft Internet Information Services (IIS) is either not installed or is disabled. IIS is required by some SQL Server features. Without IIS, some SQL Server features will not be available for installation. To install all SQL Server features, install IIS from Add or Remove Programs in Control Panel or enable the IIS service through the Control Panel if it is already installed, and then run SQL Server Setup again. For a list of features that depend on IIS, see Features Supported by Editions of SQL Server in Books Online."

I've checked, and IIS is already installed. What did i missed???

After some googling i've found this article in Microsft website, that explains what features should be installed prior to a fresh SQL Server 2005 installation.

http://support.microsoft.com/kb/920201

Notice that IIS is only required if you need to install the Reporting Server Component.

Wednesday, January 30, 2008

Scrum Certification

About 2 years ago, my friend António Cruz had presented me a book about SCRUM. After reading the book i found that, the methodology itself, in certain way, can help me manage the projects where i'm evolved.

Last April i've moved to a new company, in the financial area, where i need to manage multiple projects. It is a small team, with very critical projects, and most of them should be deliverable in a short period of time. I realize that i couldn't miss the opportunity to adopt the SCRUM as my project management(PM) methodology.

I sit down and start thinking, and i found myself making some questions:
1. How can i convince all the people evolved in the projects to adopt SCRUM, when most of them, even't had listen the word SCRUM before?
2. How can i show them that this is what they really need, in order to achieve their goals?
3. Will they offer resistance to the change of the way they are managing their projects at this time?

These was just some of the things that i thought.

Well, to begin, i've scheduled a meeting with the CEO, and tell him a little about scrum. What is scrum, the cerimonies, the artifacts, how it works and what are the main advantages of the methodology. When he realized that he will have something to see after 15 days of the project start, and that he will know, at any point in time, the exactly status of each project, without even call me, it was really easy to convince him.

After this meeting i said me: what are you waiting for? LET'S MOVE ON !!!

Since then, we are practicing SCRUM with a lot of success. We are making deliverables each two weeks, and the most important, all team members are very motivated doing their job. We are facing a little problems , but we can live with that.

Today, i've started the SCRUM MASTER CERTIFICATION. More details here. At the begining i thougth it will be one more borrowed session about SCRUM, that i just want it to finish my Certification, and get back to work in the real world. I never read or hear nothing about the instructor, Mitch Lacey, so my expectations for the course are very low. But fortunnely has been really good surprise. Mitch is a very good speaker, he speaks a very understandable english, with good examples, and share his large experience with the audience. For the first day it was very good. I think this is the first course that i can't wait for the next day.

Bellow, i share with you some SCRUM lecture and other related material.

Books:

  • Agile Software Development With Scrum. Ken Schwaber
  • Agile Project Management With Scrum



  • This excelent paper from Jeff Sutherland. (Many thank to Hugo Batista for the link)

    And please, dont't miss this video from Ken Schwaber, teaching SCRUM at Google.








    And, no that i'm already a ScrumMaster, you can find my profile here.

    I hope you enjoy it!
  • Saturday, January 26, 2008

    SQL Server Best Practices

    Get the real-world guidelines, expert tips, and rock-solid guidance to take your SQL Server implementation to the next level. These SQL Server best practices draw on the extensive experience and expertise from respected developers and engineers at Microsoft, who walk you through the specifics on solving particularly difficult issues.

    Here you can find tons of documentation about SQL Server 2005.

    Sunday, January 20, 2008

    Visual Studio 2008 Training Kit

    For those that are begining with .net framework 3.0 and 3.5, Microsoft has released a training kit with very good material.

    This content is designed to help you learn how to utilize the Visual Studio 2008 features and a variety of framework technologies including: LINQ, C# 3.0, Visual Basic 9, WCF, WF, WPF, ASP.NET AJAX, VSTO, CardSpace, SilverLight, Mobile and Application Lifecycle Management.

    Presentations, Labs, Demos, all can be found in Visual Studio 2008 Training Kit..

    You can download it here.

    Configuring TFS Permissions

    One of the things that really borrow me, it's when i need to configure permissions on Team Foundation Server.

    After some googling i found a website that describes all the steps needed to set permissions on each module of TFS.
    After reading this article Setting Permissions in Team Foundation, you will be easily able to configure the permissions in TFS.

    The community project TeamSystemCommunity, hosted at Codeplex, has a lot of usefull information and documents to those that need to manage a TFS environment.

    Please subscribe the RSS feed of this website.