This post was originaly published on my previous blog and moved here. Some links and resources might not be up to date.

Writing a component for parsing XML files with XMLSerializer I had to provide DTD validation (DTD file was already created long time ago so there was no sense for creating XSD schema). The component must have been able to work in console application and web app (as a SharePoint timer job) so there was no chance to guarantee the same paths for DTD file (which was always specified in doctype directive in processed files). In such situation I’ve decided to deliver the DTD file as embedded resource in component assembly.

→ Read more

This post was originaly published on my previous blog and moved here. Some links and resources might not be up to date.

For the years I have developed .Net projects I’ve found many useful solutions on CodePlex repository. Some of them are only drafts of ideas but there are also many products that are ready to use on production environments. SharePoint 2010 Batch Edit which worked with recently is one of this from the second category.

As the name suggests, SharePoint 2010 Batch Edit fills the gap in mass updates functionality in SharePoint 2010. In OOB SP2010 you can select one or more items on list view and perform such operations as check-in, check-out, delete an so on, but there is no tool that would allow to update items data for more than one item at once. Of course you can always write your own application page and display it in dialog box but why you should do this if someone already has done it :-)

→ Read more

This post was originaly published on my previous blog and moved here. Some links and resources might not be up to date.

Looking for some solution for batch items update I’ve run into the following problem: when I clicked a checkbox in top right corner of the list (actually a document library) “All Items” view, the browser displayed an error: You cannot select more than 100 items at once.

Items selection limit - error message

The problem was discussed on the TechNet forum (Selecting more than 100 files in Document Library) and the limit of maximum 100 items per one batch update (like check-in, delete etc.) is described on MSDN:

Limit: Bulk operations
Maximum value: 100 items per bulk operation
Limit type: Boundary
Notes: The user interface allows a maximum of 100 items to be selected for bulk operations.

What is interesting and what was not mentioned in TechNet topic, the limit is controlled on client side by a script, what I will show.

→ Read more

This post was originaly published on my previous blog and moved here. Some links and resources might not be up to date.

Have you ever had a problem with a user complaining on and on that when he clicks some button in your application his computer hangs but it works fine on any other machine where you have tested it? The web service is consuming all the available memory in completely indeterministic way? Or maybe your web application is magically crashing on production machine when it works in the same usage scenario on development and test environment? If not, you are probably in about 1% of the most luckiest developers in the world (or you are not the developer).

Last year I attended in Norwegian Developers Conference 2011 in Oslo where among many other great presentations I’ve watched the one presented by Ingo Rammer - “Hardcore .NET Production Debugging”.

→ Read more

This post was originaly published on my previous blog and moved here. Some links and resources might not be up to date.

There are many popular tools for web performance profiling/debugging these days. From my personal tool set I could mention Firebug, IE Developers Toolbar (integrated with IE from version > 8) or Fiddler. The common problem with those tools is that they are installed and run locally on developers machine. Sometimes, for example when behaviour of the web app depends on loading all elements in the specific order or time, it is important to determine if those factors vary in different geographical locations. The download speed for China and Germany could be very different. If you face with this kind of problems I could recommend you a great distributed web performance profiler - WebPageTest.

→ Read more