Friday, November 12, 2010

SharePoint 2010 Web Content Management (WCM) Setting up deployment Paths & Jobs

Content deployment is a feature of Microsoft SharePoint Server 2010 that you can use to copy content from a source site collection to a destination site collection. Now that we have a authoring (publishing) site which is configured with custom master page, style sheet, site columns, content type and page layout, we have to configure content deployment paths and jobs which will transfer these artifacts to the production site. The content deployment jobs in Central Administration will also deploy pages (checked in & approved) created from the custom page layout to the destination site.

1. Branding – Master Page & Custom Style Sheet
2. Metadata – Site Columns & Content Types
3. Page Layouts
4. Setting up deployment Paths & Jobs

Below we will walk through content deployment process beginning with creation of destination site.

Step 1. We need to create destination (production) site. In MOSS days, one would create blank site as the production site. Since MOSS CA content deployment jobs used to allow deployment to be done from publishing (authoring) site to blank (production) site, everything was ok. But in SharePoint 2010 if the destination site is created with blank/publishing templates, you would get a nasty error. I have described about the error in the errors section below.
So while creating site collection at destination web application, we need to select ‘Custom’ - ‘select template later’ option.

Step 2. The destination CA must be configured to accept incoming content deployment jobs. For configuring this, go to Central Administration -> General Application Settings -> Configure content Deployment. Select ‘Accept incoming content deployment jobs’ and click ok.

Step 3. Now for creating content deployment paths and jobs, go to CA -> General Application Settings -> Configure Content Deployment Paths and Jobs. Specify source and destination web application & site collection.

Step 4. Create a new job for content deployment. Specify the path and frequency of deployment.

Once the deployment is successful you can see the status & verify by opening the destination site.  

Unknown server tag 'SharePointWebControls:TextField'In PageLayout the Microsoft.SharePoint.WebControls was registered like: %@ Register Tagprefix="SharePointWebControls" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c" % And in the master page it was registered as: %@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c" % There was a difference in tag prefix, and hence SharePoint was unable to parse. I changed the tag prefix in page layout to “SharePoint”. It started working. Another noticeable aspect was VS 2010 was not deploying the modified page layout. May be because of cache. I deleted the page layout from gallery, closed VS 2010 and reopened it again. This time the deployment was successful and page layout started working well.
Content Publishing job from Central Administration throws the below error (ULS) A list, survey, discussion board, or document library with the specified title already exists in this Web site. Please choose another title. I had created a publishing portal for authoring and a publishing portal for publishing (internet facing). And hence the items were colliding. One of my expert friend told me that the publishing (internet facing) site must be blank site and not a publishing site again. It made sense to me. Because you won’t do any “publishing” (content upload, approval, versioning etc…) activities on internet facing production site. So I deleted my current publishing portal and created a new blank site. But again, this is how it used to work in MOSS 2007. In SharePoint 2010, when creating destination site collection, you need to choose template as ‘Custom’ - 'select template later…' .
SharePoint:TextField or SharePointWebControls:TextField Control vanishes from the page created from page layout Not found solution for this yet. If you know, please leave a comment

This completes the cycle of WCM. I am sure you would agree with me that there is much much more to WCM than the steps described earlier. But as the case with everything, starting steps are always smaller… hope you enjoyed this series…

-Vighnesh Bendre

No comments: