Friday, September 21, 2007

SharePoint Resources, Types, Use and Deployment (Update)

For sometime I wanted to make an update to the deployment method for RESX files I proposed in a previous post. Even though there is nothing wrong with using custom jobs to deploy any file from a WSP solution to a SharePoint farm, I found about another option, which is a bit easier to implement. The code used to copy the resource files from the feature directory to the App_GlobalResources is pretty much the same, but this time not in a custom job, but directly in the feature event receiver.

SPWebApplication webApp =

this.Parent as SPWebApplication;

foreach (SPUrlZone zone in webApp.IisSettings.Keys)


// The settings of the IIS application to update

SPIisSettings oSettings = webApp.IisSettings[zone];

// Determine the source and destination path

sourcePath = string





string destPath = Path.Combine(oSettings.Path.ToString(), "App_GlobalResources");

string[] filePaths = Directory.GetFiles(sourcePath, "*.resx");

// Copy the files

foreach (string filePath in filePaths)


string fileName = Path.GetFileName(filePath);

File.Copy(filePath, Path.Combine(destPath, fileName), true);



Then use feature stapling to activate the feature every time a new site from a given configuration is created. Feature stapling allows us to create associations between a feature and specific site configuration. To find out more about feature stapling have a look at this article:


Wednesday, September 12, 2007

One Closed Chapter is a New Beginning

Today Global 360 released Insight360. This is an incredible product, which allows business analysts to create business models, run simulations, what-if scenarios and optimizations in a collaborative environment and finally deploy the optimized process in production. Read more about it here:

As a member of the R&D team, who worked on this product I am excited to see Insight360 "hitting the shelves". This is my first product release since I joined Global 360 and I am glad I was part of this project. I had the opportunity to work with some great people and learn quite a lot not only about SharePoint (which is used only for the collaboration part of the product named Team Studio), but also about agile development, testing and distributed teams.

The good news is that we have some great new products and features coming up next and my SharePoint affair is not coming to an end. The next project I stared working on is a collection of specialized AJAX enabled web parts, so expect some posts about ASP.NET AJAX integration with SharePoint.