Cloud and Microsoft technologies enthusiast architect in Switzerland RSS 2.0
# Wednesday, October 05, 2011

<Disclaimer>This is personal notes of what I retained during the session. This can be incomplete, partially right or wrong. It is just part of the notes I took and what retained my attention. Nothing prevents the user to get more information on their favorite web site.</Disclaimer>

Description of a proposal generation system on SharePoint 2010 for a legal department.

Scenarios cover generating documents from database, compose a new document from multiple ones and to split a document into several ones.

From a BCS entity, the goal is to create a job that generates a single document for every people entity stored in a database, containing the data about the person. The generated document is stored in a document library, all of that without any human interaction.

To create a proposal, the client is selected, title is specified, proposal template and layout is selected. Then, sections are built by picking content. Each section can be send for approval. Finally, the document is generated and stored in a document library.

The system allows users to write new Word template and use the new templates, by using controls. The engine takes the template and fill-in the content controls, using the data located in a database.

From the content control, the <Config> tag is used to read the BCS configuration. DatabaseBackedMetadataCatalog object contains the complete list of BCS entities that would also available in the Central Administration. Type of content supported : Text, Rich Text and Images.

In BCS, one ECT per snippets.

Templates are stored in a dedicated document library. To create or modify a template, switch the document into design mode. Thus, you can add the content controls you need. The first one to add is the Config one that tells what ECT is associated with this Word document. The content control’s Title specify the type of data (Text, Image, etc) and Tag specifies the name of the entity’s property to insert. No need to code to create the template.

A Word document is just a zipped file containing other XML documents. The Word content is defined in the document.xml file. The goal of OpenXML is to manipulate Office documents without the client applications. But, the format is quite complicated. One of the reason why we haven’t seen many document generation based solution is the complexity of OpenXML. A really useful tool is Document Builder.

A document is a collection of Paragraphs that can contain Image or Comment. And a Comment can also have an Image inside. A Paragraph containing a Header can also SmartArt and Image => Interrelated Markup.

PowerTools on CodePlex combines PowerShell and OpenXML and can be used to merge comments, accept tracked changes, convert to HTML and helps composing or splitting documents.

The steps do build a composed document is first to create a set of sources and send them to Document Builder. For splitting, the division is done using queries and for each item, use Document Builder to create a new document.

Document Builder comes as a class that has to be added to the Visual Studio project.

Word Automation Services adds the Save As functionality to SharePoint, converting to HTML, XML, PDF or XPS. It runs periodically and can be configured to only convert to some type of documents.

Wednesday, October 05, 2011 10:59:51 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] -

<Disclaimer>This is personal notes of what I retained during the session. This can be incomplete, partially right or wrong. It is just part of the notes I took and what retained my attention. Nothing prevents the user to get more information on their favorite web site.</Disclaimer>

DSC04660MY site is the backbone of the social capabilities of SharePoint. Social is becoming more interesting to companies. Employees connected to a wide range of colleagues generate $83000 more in revenue per year. Social in SharePoint can be achieved starting with the team sites or tagging. It also helps people working together. There are numerous components in SharePoint to support social networking, but, out-of-the-box, it does not look good.

Branding for My Sites is similar to the traditional SharePoint Branding and reuses most of the branding of the general sites. The rule is for you to decide how far you want to brand your My Sites. Again, start with one of the out-of-the-box master pages or from of the Starter Master Pages. The default master page for My Sites is mysite.master. The global navigation should match the branding. Because the mysite.master is based on v4.master, a lot of the branding can be reused.

For the global navigation, leave the inner content arranged normally.

Tip : edit the CSS files on a local VM or on a local server, because it will affect all users.

Changing the global navigation or the sub-navigation bar can be done from the SharePoint UI. To override the global navigation, you need to override the GlobalNavigation delegate control. But it means the creation of a feature for the deployment.

Once the branding is done, it has to be deployed on all the mysites and applied automatically. The steps are : Create a feature for move the files where they need to go, Create a feature receiver to switch the master page, Uuse a feature stapler to ensure that when the personal site is created, the branding is applied.

Branding feature is scoped at the web level and deploy files to folders and the receiver switches the master page. The deployment feature can be developed outside the My Sites. The switch of the master page has to be done using a feature (code in the FeatureActivated receiver) as well, as the publishing feature is not activated and it is not possible to change the master page from the SharePoint UI. Do not forget to also write the FeatureDeactivated to come back to the original master page.

Controlling the web part deployment can be tricky. An example of the code that does that must run after the default.aspx is created. The solution is creating a server control into the customer master page. At page load, there is a check if it is the 1st time and get a reference to the default.aspx page and get the WebPartManager. Then, it gets the instructions from an XML file and build a hashtable of the web parts and apply the instructions. Finally, it sets a flag to not run again.

If you want to deploy different web parts for different types of users, after getting the WebPartManager, a check of the user profile can be done. Instructions are thus in the XML file.

Wednesday, October 05, 2011 7:30:52 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] -

<Disclaimer>This is personal notes of what I retained during the session. This can be incomplete, partially right or wrong. It is just part of the notes I took and what retained my attention. Nothing prevents the user to get more information on their favorite web site.</Disclaimer>

3 server roles : Web Role, Application role, database role.

Scaling web role servers is based on user traffic and concurrent load. The main way to scale is to add servers.

Application server role : scaling based mainly on the content

Database server role : Adding storage does not mean it is performant. Ideally, content and configuration database should be hosted separately from service application database. The sizing of the database depends on how backup and restore capabilities are.

What can influence your design is of course the business and users, but also the IT best practices.

As soon as you add custom code, it impacts the performance.

Is your company really a 24/7 one ? what kind of peak event you have ? 98% of the operations are reading content.

Design first for redundancy and availability before performance. You can always improve the servers afterwards. HD failure is the most common HW failure.

Process cycle is usually Analyze, Deploy, Observe. Regarding the monitoring phase (Observe), capture real-time data and also on the host machines if virtualizing.

Wednesday, October 05, 2011 6:15:57 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] -

<Disclaimer>This is personal notes of what I retained during the session. This can be incomplete, partially right or wrong. It is just part of the notes I took and what retained my attention. Nothing prevents the user to get more information on their favorite web site.</Disclaimer>

Technology is only 20% part of the success and it is really easy to make mistakes. Because of no policies, no training (not only class training, but just-in-time training). Don’t let your users managing the security, security is difficult to understand for end-users. SharePoint IS an enterprise application and information is the enterprise’s asset. So, it is very important to plan your SharePoint implementation.

If no governance, no rules, someone can get hurt. Guidelines are the road-signs for directions.

Ten steps in a governance planning (not all are absolutely necessary) : Identify an inclusive team, Frame decisions, determine your deployment model, define a clear vision, roles and responsibilities identification (including writing the job descriptions), develop guiding principles, decide your organization comfort level with social computing, policies and guidelines (or best practices) definition, documentation of the plan (but be careful to keep it small, no one ready a 100 pages document), and finally socialize and promote your implementation if we want to have an acceptance of the governance.

First the team should have to power to take decisions and should not be bigger than 4-5 people. Let the people discussing each topic of the governance, one topic per meeting. Then, in a second step, engage more people from IT, HR, Communications, etc. This has to be done before the roll-out.

Framing decisions : who creates sites, manage navigation, how much users can design (for example, don’t let them use SharePoint Designed until they are trained). Who controls the branding ? Who managed metadata, security ? What is the default access ? What happens when people does not comply to the governance ? Who maintain the governance plan ? Because it will change afterwards.

Determine your model : basically, how the solution is organized. Normally, the more public the information is, the tighter the control should be. When dealing with department specific (private) information, there can be less control. Do not take the default MS team site and give it to the users ! Looser control can be applied to team site and no governance on My Sites.

Establish a clear vision : It is the “why” of the governance plan. Why to have and apply a governance plan. It is composed of business goals (can be simple and a single phrase).

Roles and Responsibilities : Tasks must be in the job description of the people involved in the team. Don’t assume you have the resource internally. Typical roles are Executive Sponsor (normally the CEO), the Steering Committee, the Business Owner, the IT Solution Administrator (they must not own the solution, so they cannot be the BO), technology support, power users to train or help the users, metadata manager (should be coming from an information science background).

As a best practice, the roles that we can have are Communications, Training (training people should be very involved in the governance planning definition), because the training will already tailored by the governance. Change Management / Adoption, Center of Excellence (coaches to help users to get started).

Site Roles : site sponsor / owner (who has to be clearly visible on the pages in case of need for contact), site designer, site steward for day-to-day management and security monitoring, member and visitors. The Owner is accountable, but we’re all responsible !

Develop Guiding Principles example : No more email attachments, rather, send links to document.

Think about Social Computing : Only one good reason : if you have a business problem to solve. So, the business problem has to be identified first with use cases, define your governance plan and prepare your communications plan. No anonymous content. My Sites, what is comfortable, legal.

Define Policies and Guidelines : policies are rules, guidelines are more best-practices. They have to be published somewhere where it is easily findable.

Document the Plan : it has to be “consumable”, up to date and in context. Target the sections (short) to specific audiences. It can be supported by supplements, like quick cards.

Socialize and Promote : always communicate, be responsive to feedbacks.

Wednesday, October 05, 2011 2:10:49 AM (GMT Daylight Time, UTC+01:00)  #    Comments [0] -
# Tuesday, October 04, 2011

<Disclaimer>This is personal notes of what I retained during the session. This can be incomplete, partially right or wrong. It is just part of the notes I took and what retained my attention. Nothing prevents the user to get more information on their favorite web site.</Disclaimer>

DSC04573Nowadays, providing reporting capabilities to SharePoint is quite challenging and require different skillset.

With Denali, available in CTP3, it will come as a shared service, will support WCF and Claims Based communications, Powershell, administration will be done in the Central Administration and logging will be done in the ULS. In terms of performance, report viewer will use AJAX and a performance improvement of 30-60% is expected.

There is a separate pack for the Add-In to be installed on the WFEs and scripting will be done using PowerShell instead of WMI. For the configuration, just go in the Service Application of the Central Administration.

Today, people are overloaded by the amount of data, the number of reports generated can be too much for the users. With the alerting system of Denali, it is possible to set an alert for a report in order to be notified when data used in that report have changed. But, be careful, because it can be a good spam generator. It is possible to assign rules, schedule, parameters to an alert.

Denali supports the new 2007/2010 format, for Word and Excel and compressed files can be generated. Rdl files will also have a new format, rdlx.

The Crescent Project is “an interactive data exploration and visual presentation experience”…A demo is shown where an interactive report is built in a web browser, with table, and chart.

BIDS, RDLC Designer and Report Viewer controls will be available into VS2010. Microsoft is also working in moving to Dev 11. The goal is to separate the RS VS Addin. SQL Azure Reporting is the Reporting on the Cloud solution. It means that report can be built in BIDS and then deployed on Azure, from BIDS as well, in order to benefit of the same features of Azure. Currently, it is limited to SQL Azure data. The reports can also be embedded in your Azure application.

Tuesday, October 04, 2011 7:36:05 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] -

<Disclaimer>This is personal notes of what I retained during the session. This can be incomplete, partially right or wrong. It is just part of the notes I took and what retained my attention. Nothing prevents the user to get more information on their favorite web site.</Disclaimer>

DSC04572New guidance issued by Microsoft in June with a possibility to scale up to 4TB (or beyond) for the content database. It requires 2 IOPs per GB, split in several content database to reduce the I/O contention. It is also recommended to upgrade to SP1.

The unlimited size support is for record center and document center only. On the other side, avoid using alerts, workflows and item-level security.

To achieve the needed performance, it is better to have more and faster disks, rather than larger and slower disks. Isolate the TEMPDB on its own RAID volume, the same apply for the log files. RAID  5 is acceptable, but RAID 1+0 is recommended. For a large number of items, row density is important in the content database. For the search crawl, the recommended limit is at 25 million.

To estimate the storage requirements, you need to know the number and types of documents, because it impacts the crawler performances. The average file size is also important. Documents large than 16 MB are not crawled by SharePoint, by default. Can be increased to a max of 64MB. The number of versions per document has to be taken in account.

<snip>A lot of formulas are presented, check the video and the powerpoint deck to get the details</snip>

To test the storage performance, there are two free tools, SQLIO (from Microsoft) and IOMeter. The testing files should be larger than the SAN cache and testing should be done for an hour or more. Storage should be dedicated.

Recovery Point Objective (RPO) is how much I can loose and the Recovery Time Objective (RTO) is how much time I can wait for the recovery. We need to be monitor in order to be sure we can achieve the RPO and RTO. If RPO states 2 hours but backup take 4 hours => FAIL.

Tuesday, October 04, 2011 6:07:22 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] -

<Disclaimer>This is personal notes of what I retained during the session. This can be incomplete, partially right or wrong. It is just part of the notes I took and what retained my attention. Nothing prevents the user to get more information on their favorite web site.</Disclaimer>

DSC04537Best Practice cycle : Capacity Planning, Architect for Scale, Pilot & Test, Deploy, Monitor & Validate

Different kind of cache : ASP.NET in RAM of WFEs, SharePoint Object Cache also in RAM of WFEs, Disk-based for BLOBs sitting on the disk of WFEs for static files.

When sponsors really want “real-time” on the site, ask how often the content is updated and what it means (bad or not) to wait 1 minute for updates.

A quick formula : 1 – (number of requests per second / number of seconds of caching) = % of work saved for the server.

Output cache can be activated in the Central Administration. Trade-off between freshness and work saved. Avoid check for changes capability (50% performance drop). A good question to also ask is by what you want to vary the cache. More variations = more requests uncached.

Using System.Web.UI.WebControls.Substitution will make your control to run at every request.

Check that ASP.NET cache is working by enabling cache information on pages. For DB, use the SQL Profiler instead of the Developer Dashboard, because it is cached with the page.

Object cache is used by the CQWP and Navigation control and is configured in the Central Administration. The bigger the better. It can also be time-based or check if cache is still valid with the corresponding performance hit. Cache more results only if different users have different permissions, so on internet sites, it should not be the case. Two “super” accounts have to be configured for Full Control User Policy (SuperUser) and for Full Read User Policy (SuperReader).

When accessing from the client side, write a web service that use the object cache and call it from the client application rather than using the Client-OM (because it is not cached !).

BLOB cache is configured in the web.config. Put the cache on a specific drive separated from the OS or Logs. Store a maximum of file (by setting the extensions). The more you cache, the better. The same applies for the timing, the longer the better with a trade-off regarding the updates of the files.

Using a CDN is good anyway, as it will put less pressure on the servers. But it means that CDN is an external storage (permissions, etc !). Files that almost never change are good candidates for CDN. A quick win is to use jQuery or Modernizr.

Activate the IIS static and dynamic compression.

Two models for authoring : in-place where authors update content on the production environment, or content deployment where authors use a different environment for publishing and the scheduled deployment jobs push the updates to the production environment. It is good when review has to be done (legal, communication, etc) but it adds latency and temporary de-synchronization. The bigger the update, the longer the latency.

Content deployment with an automated schedule of 15 minutes has no value.

Tip 1 : User SQL Server 2008 Enterprise + Snapshots. SharePoint takes Content DB snapshots before making the export and deletes it after the export is completed.

Tip 2 : Custom Solutions must be aware of content deployment, because during the content deployment, the activation of the solution will be activated after the content DB is exported. In order to be aware, check if content deployment is running in the activation handler and do not create list or other content as they will already exist.

Plan for variations, to avoid to have to copy the root content into the source label. Consider On-Demand propagation, because otherwise, target label owners will have to delete the versions they don’t need.

Tuesday, October 04, 2011 12:43:13 AM (GMT Daylight Time, UTC+01:00)  #    Comments [0] -
# Monday, October 03, 2011

<Disclaimer>This is personal notes of what I retained during the session. This can be incomplete, partially right or wrong. It is just part of the notes I took and what retained my attention. Nothing prevents the user to get more information on their favorite web site.</Disclaimer>

DSC04534Your success factors, like the number of visitors, page views or conversion rate.

Every body of the SharePoint branding team is around the Business Sponsor, technical people or business oriented people.

The Information Architect defines the content hierarchy of your sites and SharePoint structure. This is the first step of the process.

Then, we go into wireframing by designing one wireframe per page type.

The next step is design comps and is just a picture and it is done usually with an eye of the communication department. From that design, we can build a functional prototype with already some functional navigation. This functional prototype can be reused (95%) for the build phase.

Some tools : Visio 2010 for Information Architecture and Wireframes, Expression Design 4 for the Design Comps and Expression Web 4 for the functional prototype.

Integrating social network is now key and there is already a certain number of plug-ins to integrate Facebook, with Like and Comment for example, provided by Facebook. The generated HTML can then be inserted in the SharePoint web part. The social network integration must be thought early in the design process and not just at the build phase.

Three options to support the mobiles : mobile browser which needs to support different types of screens but it can be problematic if SharePoint is heavily branded; mobile application using the SharePoint APIs, but in order to support the different technologies you have to build different applications and different development tools and languages; finally HTML5, which provides the richness of a mobile application, but support from device to device can vary.

Publishing features provide new master pages, page layouts, some additional web parts, output caching and a lot of interesting things.

Company logo, page header and footer or basically everything that should go on every pages has to go in a master page. The way web parts, page controls, layouts is part of page layouts.

Always start with one of the existing out-of-the-box master page (v4, nightandday, minimal), or go to Codeplex to get one of the starter master page.

Users use more and more search, FAST provides more capabilities like scalability or visual best bets or also the exact count on the refiners.

For external search engines (SEO), the content is key, along with setting meaningful site and page names titles, HTML metadata, don’t use Silverlight or Flash for the navigation to not prevent search engines to follow the links to your content.

Normally, there are two environments : authoring farm on the internal network and production farm available on the web. The can be extended with a staging farm, also on the internal network. This environment should be used to test new content and new features together. When it looks good, then it can be deployed on the production.

To extend the web analytics report provided out-of-the-box by SharePoint : webtrends or intlock with Cardiolog Suite for SharePoint.

Monday, October 03, 2011 10:53:47 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] -

<Disclaimer>This is personal notes of what I retained during the session. This can be incomplete, partially right or wrong. It is just part of the notes I took and what retained my attention. Nothing prevents the user to get more information on their favorite web site.</Disclaimer>

DSC04533Some nice web sites with cool branding are presented :,,,,,, etc

SharePoint can be fully branded and there is almost no limitations, but it is better to spend time upfront to do the things correctly the first time.

First, define your vision and goals and how to measure if we reached the goals. Then, build the team and planning and not directly going into creating the branding. Some specific requirements : types of content, style guidelines, navigation, search.

A design should be clean and simple and remember the 3-clicks rule : everything should be available with 3 clicks. In terms of usability, system response can vary from the implementation. Search is important as more and more users are navigating using search on a website

Show your concepts in B&W because it keeps the focus of the stakeholders on the concepts and not on the images and colors that are probably not yet defined at this stage.

In short, the process is : Requirements, Wireframes, Technical Specifications, Creative Components

Design Theory : Contrast, Repetition, Alignement and Proximity (CRAP Smile )

Use Microsoft Expression Design or Photoshop (an example of a grid design is presented) and start by a paper version. Keep on the ground and avoid things that are hard.

Use the A/B testing, by presenting two versions of the design and see which is the preferred one. Test the navigability and how users can find content (not only by searching).

Before going to SharePoint, check by doing an HTML site and use the XHTML Strict Doctype and test in the target browsers.

Different efforts for branding : Full, by doing the complete Master Pages, Layouts, CSS etc; Medium, by doing CSS, images and alternate CSS; And Low, by using only the out-of-the-box masters pages, UI and themes.

Use a start master page and modify it even by moving or hiding OOB elements.

Page Layouts can be considered as templates for page content. The most used web parts are CEWP and CQWP. The first can be used to add Javascript and CSS to page, the second to rollup content. One important thing is that HTML content fields remove the Javascript.

For mobile devices, turn off the mobile view and Android and iOS devices are not well supported.

Tag and document your content using meta-data in page layouts. Also, name the pages correctly.

Deployment process : MP, PL, CSS, WP are completed, then deploy and ensure that everything look fine. Then, enter real data to again check that everything is ok.

Monday, October 03, 2011 7:59:28 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] -
# Monday, September 19, 2011

In few weeks will start the Microsoft SharePoint Conference in Anaheim and I have the chance to attend and meet great people there.

So, see you in the US !


You can also follow the discussion on twitter with the tag #spc11

Monday, September 19, 2011 6:17:10 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] -
SharePoint | SPC11
# Tuesday, August 16, 2011

Title : Delivering Happiness – A Path to Profits, Passion, and Purpose

Author : Tony Hsieh

Summary :
This is the first time since a long time that I did not read anything else than SharePoint books. Tony Hsieh is the CEO of, a e-Commerce platform for shoes, clothes, bags and a lot of other things. In his book, Tony traces his path from his boyhood and his first motivations, through the current state his flagship company. Going into several details or anecdotes of the building of first LinkExchange, then Zappos.

The book is split in three sections, the first setting the stage, describing his first attempts for businesses during his childhood, then at college and at university, finishing with the funding of Zappos through a self-made incubator. The second section focus on how he and his team built the culture of the company, some tricks to be better than some competitors and how they made Zappos the number one of the customer service (some other companies should take some examples…). The third section talks more about the public communications and marketing of the brand before selling Zappos to Amazon.

Book Review :
Wow ! Smile I read this book like a novel. When you start, you want to continue reading.

Reading how an entrepreneur starts, fails then starts again and fights against external factors like logistics issues or economic crisis is really interesting. Seeing also how he changed his focus from just making money to make everyone happy with all the way to this end is very exciting. Definitely, some ideas or variations of them can be taken from him, even if I think that most of them can (only) apply to start-ups. Some others are more applicable to retail companies than other sectors. It is a very stimulating book. I don’t want to emphasize too much on the only one less-positive point I found : one cannot let me think that at the end, writing such book was not with some marketing or sales improvements in mind, which I would totally accept.

Finally, the concept of “delivering happiness” worth on itself to be spread and tried to be applied. A book to read for all enterpreneurs.

Tuesday, August 16, 2011 9:31:00 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] -
Book Review
# Thursday, August 11, 2011

Title : SharePoint 2010 User's Guide: Learning Microsoft's Collaboration and Productivity Platform

Authors : Seth Bates, Tony Smith

Summary :
Starting from the basics of the use of SharePoint 2010, this book starts with a description of sites and workspaces in SharePoint Foundation 2010 before going in some details of SharePoint Server 2010. After that, it goes to the lists and libraries and how to use and configure them, before addressing the workflows, pages and web parts. Two chapters are respectively dedicated to the personalization features and to the Office Services of SharePoint. The book ends with 3 cases of usage of the before-mentioned functionalities of SharePoint, with document management, project collaboration and finally dashboards and reports.

Book Review :
If you want a step-by-step guide to SharePoint 2010, it is definitely the one you need. It is the 2010 version of the book I reviewed one year and half ago. Nevertheless, it is efficient and guides the reader through all the steps of configuring your SharePoint environment, as a power user or as a regular user. Even if I can say that I am a quite advanced user and that I know pretty well the platform, it is a good thing to make a stop on this book. You always learn some little tricks here and there that your users will see and not you, because you always have the head down to the difficult things. On the other side, it is not a book for administrators. As the title mentions it, it is a user’s guide. Finally, I was looking for a good resources to help consultants starting on SharePoint and with this book I think I found the right tool.

Thursday, August 11, 2011 12:15:00 AM (GMT Daylight Time, UTC+01:00)  #    Comments [0] -
Book Review | SharePoint
# Wednesday, August 03, 2011

Title : Pro  SharePoint 2010 Solution Development

Authors : Ed Hild, Chad Wach

Summary :
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.

Wednesday, August 03, 2011 8:02:39 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] -
Book Review | SharePoint
# Wednesday, July 06, 2011

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="">The parameter name cannot be empty or bigger than 255 characters.</errorstring><errorcode xmlns="">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="" xmlns:tns="" xmlns:my="" xmlns:soap="" xmlns:xsi="" xmlns:xsd=""> 2 <dfs:queryFields> 3 <tns:GetUserCollectionFromGroup> 4 <tns:groupName>TheGroup</tns:groupName> 5 </tns:GetUserCollectionFromGroup> 6 </dfs:queryFields> 7 <dfs:dataFields> 8 <tns:GetUserCollectionFromGroupResponse> 9 <tns:GetUserCollectionFromGroupResult> 10 <tns:GetUserCollectionFromGroup> 11 <tns:groupName> 12 </tns:groupName> 13 </tns:GetUserCollectionFromGroup> 14 </tns:GetUserCollectionFromGroupResult> 15 </tns:GetUserCollectionFromGroupResponse> 16 </dfs:dataFields> 17 </dfs:myFields>

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 !

Wednesday, July 06, 2011 9:45:52 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] -
InfoPath | SharePoint
Google Cloud Platform Certified Professional Cloud Architect
Ranked #1 as
French-speaking SharePoint
Community Influencer 2013
Currently Reading :
I was there :
I was there :
I was exhibiting at :
I was there :
I was a speaker at :
I was a speaker at :
I was a speaker at
(January 2013 session):
I was a speaker at :
I was a speaker at :
United Nations (UN) SharePoint Event 2011
I was a speaker at :
I was there !
I was there !
I was there !
I was there !
<October 2011>
About the author/Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2021
Yves Peneveyre
Sign In
Total Posts: 290
This Year: 0
This Month: 0
This Week: 0
Comments: 20
Pick a theme:
All Content © 2021, Yves Peneveyre
DasBlog theme 'Business' created by Christoph De Baene (delarou)