Tuesday, 2 October 2012

SharePoint Taxonomies - Commiting large amount of data to the MMD service

Once again about the SharePoint 2010 taxonomy service.

As I wrote in my previous posts, loading data into MMD service automatically can be quite a challenge. First, you must remember about illegal characters in terms labels. Second, you must trace duplicates across sibling nodes in taxonomy trees. And this could not be the end of your problems especially if you plan to load some more data at one time.

Friday, 28 September 2012

SharePoint Taxonomies - Struggling with dupplicated default labels

If you have ever had to load large number of data into SharePoint MMD service or build taxonomies automatically you have likely encountered the following problem:

Microsoft.SharePoint.Taxonomy.TermStoreOperationException: There is already a term with the same default label and parent term.

Thursday, 20 September 2012

SharePoint Taxonomies - Labels with forbiden characters

Recently, when I was working on mechanism of automatic synchronization of tree structures provided by web service to SharePoint taxonomies, I came across an error like this:

The value '(<= 0320-775, 0550-5/7)' is invalid. It probably contains invalid characters or is too long.
Parameter name: name
with the following stacktrace fragment:
at Microsoft.SharePoint.Taxonomy.Internal.CommonValidator.ValidateName(String name, String parameterName)
at Microsoft.SharePoint.Taxonomy.TermSetItem.CreateTerm(String name, Int32 lcid, Guid newTermId)

Tuesday, 3 July 2012

Custom XmlResolver for embeded DTD

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.

Friday, 6 April 2012

SharePoint 2010 Batch Edit

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 :-)

Tuesday, 27 March 2012

"You cannot select more than 100 items at once" in SharePoint 2010

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 (acually a document library) "All Items" view, the browser displayed an error:  "You cannot select more than 100 items at once."

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.

Wednesday, 21 March 2012

Ingo Rammer - Hardcore .NET Production Debugging

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".