Enable Item Scheduling in SharePoint 2010


In this article we will be seeing how to enable item scheduling in SharePoint 2010.

I have created a document library "Doc Library".

Go to Document Library (Doc Library) => Library Settings => General Settings =>Manage Item Scheduling => you will be getting the following error message.

ScheduleShare1.gif

Go to Document Library (Doc Library) => Library Settings => General Settings =>Versioning Settings =>Do the following

ScheduleShare2.gif

Go to Document Library (Doc Library) => Library Settings => General Settings =>Manage Item Scheduling => now you will be able to enable item scheduling.

ScheduleShare3.gif

Programmatically enable or disable item scheduling:

  • Open Visual Studio 2010.
  • Create Console application.
  • Replace the code with the following.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Microsoft.SharePoint;
    using System.Reflection;

    namespace ItemScheduling
    {
        class Program
        {
            static void Main(string[] args)
            {
                using (SPSite site = new SPSite("http://serverName:1111/"))
                {
                    using (SPWeb web = site.RootWeb)
                    {
                        SPList list=web.Lists["Shared Documents"];
                        list.EnableModeration = true;
                        list.EnableMinorVersions = true;
                        list.Update();

                        //To enable Scheduling in the list
                        Microsoft.SharePoint.Publishing.PublishingWeb.EnableScheduling(list);

                        //To disable Scheduling in the list
                        Microsoft.SharePoint.Publishing.PublishingWeb.DisableScheduling(list);
                    }
                }
            }
        }
    }
     

  • Hit F5.

Using PowerShell enable or disable item scheduling:

$site=Get-SPSite "http://serverName:1111/"
$web=$site.RootWeb
$list=$web.Lists

$list.EnableModeration=$true
$list.EnableMinorVersions=$true

# To enable Scheduling in the list
[Microsoft.SharePoint.Publishing.PublishingWeb]::EnableScheduling($list)

# To disable Scheduling in the list
[Microsoft.SharePoint.Publishing.PublishingWeb]::DisableScheduling($list)