How-to Enable Scheduled Publishing in a MOSS Collaboration Portal

Today I got an interesting question in the U2U Sharepoint 2007 DevCamp in Copenhagen which I couldn't answer straight away (this happens more than I'd like it to happen). After some searching and with the help of one of the attendees we finally managed to answer the question!

In a Microsoft Office SharePoint Server (MOSS) 2007 Publishing Portal (aka Internet Facing Website, aka CMS vNext site) you can choose to schedule the publishing of pages. For example, suppose you would like to advertise a message on your site during a specified period of time (eg from the 25th of December to the 1st of January). This is possible because the underlying Page Publishing Content Type has the required fields (Scheduling Start Date and Scheduling End Date); the Page Layouts make use of this Content Type.

In a MOSS 2007 Collaboration Portal (aka Enterprise Portal, aka SPS vNext site) Page Layouts are used in the same way as in a Publishing Portal, so I supposed they would offer the same scheduled publication feature too. Wrong! Out-of-the-box publishing pages in Collaboration Portals can't be scheduled; the Publishing Console doesn't show this option:

My first guess was that the Page Layout for pages in Collaboration Portals didn't use the Content Type which included the Scheduling Start and End date, but wrong again; they do. It turned out that it's a setting on the document library itself (Manage Item Scheduling). To enable this functionality you need to follow these steps:

  1. Navigate to the Document Library Settings page of the Pages document library. You can find the Pages document library by clicking the View All Site Content link on top of the Quick Launch.

  2. Click the Versioning Settings link and enable content approval, verify as well that both major and draft versions are allowed.

  3. Click OK and so you'll end up back on the Settings page of the document library. Now click the Manage Item Scheduling link.

  4. Check the Enable scheduling of items in this list option and click OK. Voila, now you will be able to schedule the publication of pages in this document library!

To actually schedule a page to be published in a specific timeframe, create a new page in the modified Pages document library (or edit an existing one). The Publishing Console will show the Publication Start Date.

If you click the Immediately link, you can enter the schedule:

13 Comments

  • Hi Jan. In relation to this feature, I have some findings as well. Try to look at the default "newsarchive.aspx" page found in the Pages lib of a standard News site. What does it do? Close to nothing. No filters or anything are set in the Content Query WPs on this page that would give a view of expired news pages. A bit strange...

    Also, what happens when an item reaches its "Scheduling End Date" - the page is set back to "Draft" state. Important to be aware of, if you consider that at least all Approvers will always see Draft pages. So, if you look at the default Content Query WP displaying news pages, the user with Approve rights will see published news item mixed in with all drafts, including news items that are drafts because they have expired. You can fix this by adding a filter to the Content Query WP, saying "Approval Status != Draft". OK, so why don't you just add another filter on "Scheduling Start Date" and "Scheduling End Date" in the Content Query WP? Well, I've tried, but have been unable to set this up. The query simply does not return any items, once I use these two fields to filter on.

    So for now, I'm considering a solution that ignores the built-in "Item Scheduling" for my news/news archive. Simply add two date fields of your own, and use those for filtering out expired items into a display of a news archive. These two new date fields should also be avalible for a custom Archival workflow, so can actually archive news pages once they expire. (I've not verified this yet).

    If anybody has other findings/ideas on this, I would love to hear about it!

  • I suspect you missed a NOT here ...

    "which I could answer straight away (this happens more than I'd like it to happen)

    I would certainly be very happy if I could answer questions right away most of the time.

  • How can you schedule publishing and expiration of a *site*? I've tried adding and setting "Scheduled Start Date" and "Scheduled End Date" as well as just "Start Date" and "End Date" to a site's categories, but it just doesn't work - the dates are ignored and the site is displayed.

  • Thanks a TON for this! I have not had time to poke around and figure this out on my own. In two minutes, I searched the net, followed your steps, and BINGO! Excellent work, and the screenshots helped TREMENDOUSLY!

  • I enabled the scheduling by populating start and end date for publishing. Once is saved, the page was in draft mode....i couldn't see any other difference between scheduled and unscheduled page....The scheduled page was displayed as like normal page....it didn't expired....Is there any issues ....Pls let me know how it has to work....

  • Great post.

    I've tried this on one server and it worked fine.

    However on a second server I get the error message "An error occurred trying to publish this page on the set schedule. Republish the page with a new date or view the log if the problem continues".

    Great as this is there's nothing in the log files or in the event log!?

    Any help would be appreciated.

    James

  • As a follow up it only seems to fail for site collections which are using a content database I have restored?

    James

  • Just to finish my post,

    it turns out one of my colleagues new what was causing the problem.

    When you restore the content database it fails to create some of the job definitions including the Schedule Approval one.

    The fix, well simply create another site collection in the web application using the publishing definition and the job definitions are created correctly.

    Hope this information is useful to some other.

    James

  • Anyone know how links within the site collection to the page are handled when the page expires?

  • Good Post Indeed. I found what I want.

  • Is this "Scheduled Publishing" feature available in SharePoint 2003 as well?

  • Has anyone tried to do this process in code?.

  • Great blog and thanks to James (higher up) for the info on correcting the missing Job Definitions. Our scheduled publishing is now working

    Andy

Comments have been disabled for this content.