Ratnakar’s Weblog

MOSS 2007 – CMS – Publish the content to one or more sites with different look and feel???

Posted in General I.T by Ratnakar Garikipati on April 1, 2007

I  was working on a presentation to demonstrate MOSS’ CMS capabilities and this was one of the requirements that I had to prove.  
Initially, I thought there’s at least a couple of ways of achieving this but in the end I had to give up on option 1 and reside to the latter.  
Without going into too many details, I will outline what I tried and the roadblocks that I hit with option 1  

1.    Created a new publishing site (the publisher)

2.    Created a custom content type

3.    Created a custom page-layout based on the custom content type, checked-in, published, approved so that the page-layout is usable

4.    Created a new page based on the custom page-layout created above

5.    Edited the page, checked-in, submitted for approval, approved so that it is available for the users

6.    Created a new web  application and a blank site (“the subscriber”) using STSADM #### make sure you use STSADM instead of creating a site collection using Sharepoint Central Admin. The purpose of this site is to subscribe to the content published by “the publisher” site.

7.    Because the source site is of Publishing type a quick deploy job is created. Leave this alone and create a new job with pretty much the default settings

8.    Then select the job, right-click and run the job now.

9.    Go to the destination site and you will notice that the custom content type, page-layout and page along with the content is published.  

So far all hanky dory but I hit a roadblock at this stage, as soon as I customise the page-layout on the destination site and go back to the source site, change the content republish and run the deployment job, it overwrites the page-layout that I modified on the destination site.

I thought of changing the styles on the destination site that this page-layout uses but the style itself is inline within the page.

I also tried to checkout the page-layout on the destination site so that it won’t be overwritten by the source and quote rightly the deployment job failed with an error ( this is what I would expect )

Option 2 using site variations – it works!

1.    I created a new publishing site (the publisher)

2.    Created site variations, and the site variation labels, and then the hierarchy (one being a source and the other being the destination)

3.    Then created a custom content type

4.    Created 2 custom page-layouts, one for source and other for the destination with each one deriving from the custom content type created above.

5.    When creating the page-layouts make sure you set the variation labels property accordingly (Source for the first and the destination for the other)

6.    Change the destination page-layouts to use different font type for the body (just to display with a different look and feel)

7.    Check-in each of the page-layouts, publish, submit for approval and approve so that it is available to create pages.

8.    Created a page on the source site deriving from the source site page-layout, check-in, submit for approval and approve

9.    You will notice that this page is available on the destination, now edit the page, change the page layout to be the second one (that you’ve created for the destination site)

10.  Also, the subsequent versions of the page when published from source site will use the destination page layout(same content displayed differently on source and destination which we couldn’t achieve using option 1)   

For those who want to know how to create page-layouts, customise them using sharepoint designer, create variations, variation labels, associate page-layouts to variation labels and  so on….drop me a line.  

I had less than 5 minutes and so had to be very brief but am happy to help if you leave a comment or a question.