Question

Scenario: On a intranet page there is several site verticals (hierarchies) (e.g products and services). Now I want for each site to have a familiar welcome page.

How is it best to put web parts on these welcome pages? Currently I want a MyCommonWebPart to appear on all welcome pages. (Sites are created using web templates.)

Should I:

  1. Make a "MyCommonWelcomePageLayout" that includes the "MyCommonWebPart", and set each sites welcome page to using this layout?
  2. Same as 1 but modify default.aspx page layout to be "MyCommonWelcomePageLayout" instead?
  3. Use the existing page layout, but provision the web part directly into a zone during site creation?

And how does this change if I need different web parts in the different hierarchies? Should I then: Create a page layout for each site hierarchy and include the webpart on this page layout or go for putting the web part on during provisioning?

Was it helpful?

Solution

Hmm I wouldn't know whether there is a "best" way. Method (2) sounds the worst because you want to use the standard default.aspx - it is always better to create your own page for your custom solution to have more control over things.

Now regarding option 1 / 2. I don't think they are mutually exclusive. If you are happy with the existing page layouts - why would you want to create a new one? If you will create new webpart zones anyways (and other layout changes) you will need a custom layout.

Generally you will be the most agile with method 3: Just provision the webparts via a feature receiver directly to a page's zones. I usually go with this method: One feature to deploy my webparts - now a user could add them to any page given the correct permissions - and another feature to provision the webparts to specified pages (and maybe even create these pages).

If you to be able to have users create new pages, you must include your webpart in the page layout so that it is always included - if you just create pages programatically you don't need to.

OTHER TIPS

I agree with moontear to provision the webparts via a feature receiver to the page's zones.

But since you're creating the site using web templates, why don't you use the webtemplates itself to create the welcome page with all the webparts provisioned?

Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top