Title : Pro SharePoint 2010 Solution Development
Authors : Ed Hild, Chad Wach
After a quick introduction to the new features of SharePoint 2010 and how to develop solutions using Visual Studio, the authors continue with an overview of what Office development can offer to the users. Then, they continue by explaining how to integrate Excel workbooks with an interesting collaboration between Excel, InfoPath and SharePoint. After Excel, it is the turn to Word and how to get SharePoint list data in a document or creating a PowerPoint presentation to build reports automatically. The way external data are consumed is presented with an example of integration of LOB data into Outlook, before an interesting example of a site provisioning using a workflow designed in Visio. The last chapters go through the use of Access, Visio Services and the use of external services like Bing Map in a SharePoint application.
Book Review :
At first glance, I was surprised, given the title of the book, that not a lot of SharePoint development was explained. In fact, the complete title of the book “Pro SharePoint 2010 Solution Development – Combining .NET, SharePoint, and Office 2010” should be read to understand what is inside. Not a big deal, as nowadays, integrating an enterprise solution like SharePoint with the Office applications is almost a daily job. And for that, this book is really good. Rather than trying to absolutely have standalone SharePoint applications, it is pragmatic and proposes business solutions to help people working in their familiar environments (Excel, Word or PowerPoint). This book proposes a lot of practical examples with possible improvements that at least can give ideas when the need for solution for your information worker appears. Nice examples, many samples, if you want a good Office / SharePoint development book, it is a good one.
During a migration from SharePoint 2007 to SharePoint 2010, there was a site containing several Forms Libraries and, among them, a library relying on a template calling the UserGroup web service of SharePoint.
So, after the migration of the libraries themselves, the change of the datasources to point to the correct servers and different little other things, we faced the error below when the form was loading :
Or, in full text : “The SOAP response indicates that an error occurred on the server:
Exception of type 'Microsoft.SharePoint.SoapServer.SoapServerException' was thrown.
<detail><errorstring xmlns="http://schemas.microsoft.com/sharepoint/soap/">The parameter name cannot be empty or bigger than 255 characters.</errorstring><errorcode xmlns="http://schemas.microsoft.com/sharepoint/soap/">0x80131600</errorcode></detail>”
Luckily, my colleague Julien told me about the not enough popular blog post of Ian Chivers about using the User Group web service. But, it was not the end. Even after the change of the GetUserCollectionFromGroupX.xsd file as written in the before mentioned post, the message was still displaying. It seemed that the parameter sent to the web service was empty, so the question was “how to set the parameter” ? Our requirement was not to have a dynamic parameter to be set at runtime. It was sufficient to have a constant group sent to the web service. Therefore, after having extracted the files composing the .xsn file, modified the .xsd one, we had to modify the GetUserCollectionFromGroupX.xml to precise the parameter, as follows :
1 <dfs:myFields xmlns:dfs="http://schemas.microsoft.com/office/infopath/2003/dataFormSolution" xmlns:tns="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2010-12-22T15:30:19" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
The steps after that were easy : opening the .xsf file in design, saving it as a .xsn one and publishing it to the target library.
So, after several hours, we were finally able to connect again the web services, but we spent a quite amount of time in trying, googling and so on. It was then obvious to share and also keep a self note about this topic.
Ah, yes, before closing this post, I take the occasion to congratulate my friend and colleague for his nomination as a Windows Azure MVP : @bsoulier (Benjamin Soulier). Well Done man !
If you attend the Microsoft Techdays in Geneva that are taking place tomorrow (Tuesday) and Wednesday, you are welcome to meet the Cambridge Technology Partners team. On the booth, there will be a demo showing an application, SharePlus, made by SouthLabs used to access SharePoint content. We will show you how you can still have your documents and data at your hand, with an iPad.
This year, the TechDays will focus on the Microsoft’s answer regarding the cloud with Azure. Indeed, several presentations will speak about this technology.
And don’t forget to attend the two presentations of my friend Benjamin Soulier, with “Les nouveautés de Windows Azure”, Tuesday at 3pm in the development track, and with “Le meilleur des deux mondes : SharePoint et Azure”, Wednesday at 4pm, also in the development track.
Title : Microsoft SharePoint 2010 – Building Solutions for SharePoint 2010
Author : Sahil Malik
This book explores different areas of the SharePoint 2010 developments starting from the beginning namely the deployment using the feature and solution framework and the development of webparts.
It then continues with the different aspects of accessing data stored in SharePoint, ADO.NET Data Servers, the REST API, writing custom WCF services and also the Client Object Model.
Two chapters focus on the SharePoint data management, talking, among other things, about scalability, list throttling, CAML and LINQ queries.
The last chapters describes the BCS, the workflows and the Business Intelligence features of SharePoint 2010.
Book Review :
I don’t think there is a need to present Sahil Malik, the famous MVP. The book is taking practical examples, and what I really liked is the first chapters about the build of the SharePoint development box along with the other environments needed. Moreover, whenever it was possible, he used Sandboxed solutions to illustrate the concepts and the code presented is clear and easy to follow.
The only thing I might say is that he could have gone more deeply in some concepts, but that is likely because with some experience you expect more in-depth content.
But, at the end, it is an excellent book and with the previous book I read, you have a quite complete reference on SharePoint 2010 development.
The last week-end I wanted to give a try to the install of the free and open-source content management application, named Orchard. I knew before that Orchard is based on the .NET framework 4.0 and that could cause some issues with my existing blog engine (dasBlog). Nevertheless, I decided to take the chance and to try to make then working together.
First, the deployment. This is really simple as I took the Orchard web which only needs to be copied on the web server. This did not cause any problem.
Then, update of the configuration and this became more difficult. I had to make the blog engine virtual directory to specifically use the .NET 2.0 framework and breaking the inheritance of web.config, using the <location> element. The Orchard install then went almost fine, but the blog was in a very bad state, complaining that the file eurl.axd/[AVeryBigNumber] was not found.
In fact, as soon as you set your IIS root application to run the .NET framework 4.0, no matter the configuration inheritance is broken or using the .NET 2.0 framework using a dedicated application pool, the sub virtual directories detect that the version 4.0 is present. For a complete explanation, please read the ASP.NET 4 breaking-changes whitepaper.
The conclusion of this journey is that I had to revert back to a plain .NET 2.0 runtime in order to have this blog back up and running.
Thanks to the Brinkster support team who spend long time to help me and to try different configurations on the server. But unfortunately, except having another web site, there is no solution, as changing a registry value is of course not possible in such environment.
Sometimes, checking permissions on a SharePoint site is quite a hassle and I several times had permissions issues especially when working on an anonymous access enabled application (see one reference here) and you don't know where it is coming from.
I found a tool that can be very helpful in discovering the permission details for an item or a page.
See the article on the Rodney Viana's blog, and the tool download on Codeplex
Title : Professional SharePoint 2010 Development
Authors : Tom Rizzo, Reza Alirezaei, Paul J. Swider, Scot Hillier, Jeff Fried, Kenneth Schaefer
This book was the first one available talking about SharePoint 2010 development. Therefore, as it was available soon after the RTM version of SharePoint, we could expect that some points would not have been perfectly addressed.
Nevertheless, it covers almost the whole range of topics that a developer may face.
It starts by, of course, an introduction to the new platform, an overview of the developer tools and the list of enhancements for the IT Pros. After that, collaboration, social computing, search, ECM, through workflows and business intelligence are described. One of the last topic is about the promising SharePoint Online.
Book Review :
Very honestly, the whole introduction can be skipped. It means the first 4 chapters as they are too high level. I found them also too long.
After these chapters, it goes well in the details, with many examples besides code illustrating the notions explained. On the other side, and with the experience of the platform, I found two points where the book is not going enough in the subject. The first one, even if packaging and deployment is explained, after a bit along the book, this is no longer addressed and sometimes leave the reader at "how can I deploy this ?".
The second point is in regards to SharePoint Online which is not covered enough. Maybe because the platform was not ready, but this topic deserves to be more developed.
Overall, this book is a very good one and will be very useful for the developers.
Great day !
Steve Balllmer announced today the availability of the first devices that will support Windows Phone 7. Among them, 4 HTC devices. I just need to make a choice now