Kentico CMS 6.0 Developer's Guide

Managing staging tasks

Managing staging tasks

Previous topic Next topic Mail us feedback on this topic!  

Managing staging tasks

Previous topic Next topic JavaScript is required for the print function Mail us feedback on this topic!  

Arrow


API examples for newer versions


Please visit the latest API Examples documentation to view API examples for newer versions of Kentico.



The following example gets all staging tasks for a particular server and performs their synchronization.

 

private bool GetAndSynchronizeTasks()

{

  // Get server

  ServerInfo server = ServerInfoProvider.GetServerInfo("MyNewServer", CMSContext.CurrentSiteID);

 

  if (server != null)

   {

      // Get tasks for the server

      DataSet tasks = TaskInfoProvider.SelectTaskList(CMSContext.CurrentSiteID, server.ServerID, null, null);

     

      if (!DataHelper.DataSourceIsEmpty(tasks))

       {

          foreach (DataRow taskDr in tasks.Tables[0].Rows)

           {  

              // Create task info object from data row

              TaskInfo task = new TaskInfo(taskDr);

 

              // Synchronize the task

              if (!string.IsNullOrEmpty(StagingHelper.RunSynchronization(task.TaskID, server.ServerID)))

               {

                   apiGetAndSynchronizeTasks.ErrorMessage = "Synchronization failed.";

                  return false;

               }

           }

 

          return true;

       }

 

       apiGetAndSynchronizeTasks.ErrorMessage = "No tasks found.";

   }

 

  return false;

}

 

The following example deletes all staging synchronization tasks for a particular server.

 

private bool DeleteTasks()

{

  // Get server

  ServerInfo server = ServerInfoProvider.GetServerInfo("MyNewServer", CMSContext.CurrentSiteID);

 

  if (server != null)

   {

      // Get tasks for the server

      DataSet tasks = TaskInfoProvider.SelectTaskList(CMSContext.CurrentSiteID, server.ServerID, null, null);

 

      if (!DataHelper.DataSourceIsEmpty(tasks))

       {

          foreach (DataRow taskDr in tasks.Tables[0].Rows)

           {

              // Create task info object from data row

              TaskInfo deleteTask = new TaskInfo(taskDr);

 

              // Delete the task

              TaskInfoProvider.DeleteTaskInfo(deleteTask);

           }

 

          return true;

       }

 

       apiDeleteTasks.ErrorMessage = "No tasks found.";

   }

 

  return false;

}