Wednesday, May 21, 2008


Feature ID 22A9EF51-737B-4ff2-9346-694633FE4416

In lack of documentation on this feature and the properties it contains, I did some reflection on the class. But the inner workings of the class is obfuscated and therefore I was only able to get the properties declared as constants. I have not tested all of the properties, so I actually do not know if they will work.

Properties in the PublishingFeatureHandler feature that you are enable to set in the ONET.XML

Like this...

<!-- Publishing feature -->
<Feature ID="22A9EF51-737B-4ff2-9346-694633FE4416">
<Properties xmlns="">
<Property Key="WelcomePageUrl" Value="$Resources:cmscore,List_Pages_UrlName;/Default.aspx" />
<Property Key="PagesListUrl" Value=""/>
<Property Key="AvailableWebTemplates" Value=""/>
<Property Key="AvailablePageLayouts" Value=""/>
<Property Key="SimplePublishing" Value="true" />

PublishingFeatureHandler properties

NameTypeDefault value Simple publishingDefault value Complex publishingDescription

Add the css file to the application pages resided in the layouts folder.
Syntax format: ~SiteCollection/Style Library/mycustom.css


Syntax format: ~SiteCollection/<pagelayout path1>:~SiteCollection/<pagelayout path2>:~SiteCollection/<pagelayout path3>Example..:
~SiteCollection/_catalogs/masterpage/mypage1.aspx: ~SiteCollection/_catalogs/masterpage/mypage2.aspx: ~SiteCollection/_catalogs/masterpage/mypage3.aspx
Use the : colon as the separator.


AvailableWebTemplates Key Format is:LCID-[sitetemplatename][#sitetemplatenumber];LCID-[sitetemplatename][#sitetemplatenumber];LCID-[sitetemplatename][#sitetemplatenumber]

ChromeMasterUrlstringnullnullSyntax format:
SimplePublishingboolIf not defined, the default value is true. Specifies the setup with simple or complex publishing configurations.



Possible values for VersioningSettings is: Major, MajorAndMinor, None


Defines the page that will act as the startup page.

Example: $Resources:cmscore,List_Pages_UrlName;/default.aspx


Anonymous said...

Your post is very helpfull!!!

I could set the SimplePublishing on and off, because there was a sample in onet.xml for BLANKINTERNET. However I had absolutely no idea how to set the versioning settings of the images or pages library.

I have tried the followings and it worked perfectl!

Property Key="SimplePublishing" Value="true"

Property Key="VersioningOnImages" Value="None"

Anonymous said...

Great Post - but there seems to be a small error

At AvailablePageLayouts and AvailableWebTemplates you mixed the description

Carsten Keutmann said...

Lol... I missed that..
The description on AvailablePageLayouts and AvailableWebTemplates are now fixed. :D

Anonymous said...

To Carsten:

I am experimenting with those settings for a while, but one thing that I could not found is the "Optionally limit the number of versions to retain; Keep the following number of major versions: " setting.
Could you please advice on how to set that one?

it outsourcing services said...

We offer high dedication to your business and long-term collaboration commitment

We respect your business and understand that our success depends on your success too. We hold active communication carefully gathering all the requirements to offer the best cost-effective and competitive solution.
We are committed for long-time relationship, our aim not in just providing professional service but in becoming your one-stop IT outsourcing vendor and reliable partner.
java software company | software development company | java web development | blackberry application development | iphone application development | android application development | java outsourcing | it outsourcing services |

Kelsey-Seybold Clinic said...
This comment has been removed by the author.
Unknown said...

Well, I thought I found the holy grail when I stumbled across this article but it didn't have what I was looking for. Anyhow I figured it out so since you seem to be the only one wanting to keep a list of available properties for the publishing feature here is another to add to your list. It has been tested as well in Sharepoint 2010 and works great. There is a DefaultPageLayout property and the value is [~SiteCollection/_catalogs/masterpage/PageLayoutName.aspx]. This will assure that the inherit from parent site setting isn't selected and will set the default layout you specify in the property. Good work, I will definitely bookmark this page.

Abdullah Hazeb said...

thank you very much, it is very helpfull

But I could not use

VersioningOnPages as Major
EnableApprovalWorkflowOnPages as true

where I need this case

web designing company said...

Thanks for this blog sharing with a good information..nice to read here and have some useful points from this blog.

Anonymous said...

When you use EnableSchedulingOnPages="true"
ModcerationOnPages is default set to true also in pages list