Skip to main content

Cloud

Where did my “Page Settings” go?

If you’ve spent some time working with MOSS 2007’s publishing feature, you’re probably aware that SharePoint has some special treatment around the "Pages" document library that gets created in each site for which publishing is enabled. For example, you can put ASPX pages in other doc libs, but when you select "Create Page" from the "Site Actions" menu, for example, your new page will always end up in the "Pages" library. It’s also well-documented that the "Pages" library doesn’t support folders.

In any case, I ran into some interesting behavior today. On the page editing toolbar of a publishing page, there’s a "Page" menu that has a "Page Settings" option.

The page that is displayed when you click there (_layouts/PageSettings.aspx) allows you to change the page layout, update the page name and description, target audiences, etc.

However, if you move the same ASPX page to a different document library (using SharePoint Designer or the "Manage Content & Structure" utility), you can still edit the page using the web-based features, but the "Page Settings" option mysteriously disappears:

Interesting, huh?

I spent a bit of time in Reflector looking at the code, and there’s plenty of reading to do, but the upshot (which I think I knew but confirmed it some more) is that the publishing feature wants all of the publishing pages to be in one document library — namely, the "Pages" list. Various code — such as the PublishingWeb.GetPublishingPages() call — rely on the pages to be in that one place.

This story has a moral: it’s a good reminder (if you needed it) that while publishing pages may appear to render properly outside the "Pages" library, you may be setting yourself up for some unexpected behavior by putting them there.

Technorati Tags: ,

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Matthew Morse

More from this Author

Follow Us