138A62ADC11B4312AD9B20C8534E582C
  • GitHub
  • 14.09.2017
  • EN

Plug-Ins: "Batch Publisher"

Title: Batch Publisher

Compatibility: 10.x+

Description:

  • Batch Publisher™ provides a convenient way for content class based page batch publishing in RedDot CMS, which is designed to componentize a Web site by way of content classes. When a specific portion of the site gets updated, either in terms of function or look and feel, the change is not reflected on the live site until the affected files are published out.

Accessibility:

  • In SmartTree

Developed by: byteweaver [byte.weaver] - n, a digital craftsman

Download: byte.weaver / Solution Exchange GitHub

Screenshots: see below

Article:

Submitted by Javahand on Mon, 05/17/2010 - 20:58

Batch Publisher™ provides a convenient way for content class based page batch publishing in RedDot CMS. 

RedDot CMS is designed to componentize a Web site by way of content classes. When a specific portion of the site gets updated, either in terms of function or look and feel, the change is not reflected on the live site until the affected files are published out.

In SmartTree, RedDot CMS does provide a way for a site administrator to traverse the collection of page instances pertaining to a specific content class, albeit with a maximum of 200 pages returned. RedDot CMS, however, does not provide a way for the site administrator to publish out those returned pages in batch fashion. Publishing those pages out means that the administrator has to select and publish those pages one by one.

The often used, no-brainer alternative is to publish out the entire site, regardless of the population of updated pages; however, when a site is large and the change is time-sensitive, whole-site publishing becomes very attractive and impractical.

That is where Batch Publisher™ comes in. It provides an easy way for administrators to see the collection of pages pertaining to a specific content class and publish them in batch fashion. All common conceivable operation are built-in: granular selection and sorting of pages within the page collection of a content class are simple clicks.
 

1. The user interface of Batch Publisher™ is self-explanatory.

The moment you drill down the “Administer Content Classes” node to the content class you want to work with, you will see Batch Publisher™ at your fingertip.


 

2. Feature rich. Sorting and selection in Batch Publisher™ is a breeze.

You can control select and shift select. You can also sort the pages by headlines, page ID or page timestamps.


 

3. Exhaustive project variant and language variant configuration.

You also gets to decide whether to publish following page, related page and to send yourself email notification:


 

4. Full feedback.

Upon publishing, Batch Publisher™ writes out execution logs in a scrollable panel so publication can be monitored. This feedback panel is in addition to RedDot CMS’s built-in publication log and email notification:


 

Publication is an asynchronous process and the completion status cannot be obtained instantaneously. You are encouraged to check logs or read email notifications generated by Batch Publisher™ in order to check the publication status of particular batch jobs. Please bear in mind that such logs or emails will come with due time delay.


The RedDot CMS RQL Server, however, does provide instant RQL failure information under certain type of circumstances. The following two are examples of the most often encountered:

1. RQL Error Code # 401 ( #RDError401 ) -- Project locked for user or user level.

A typical SOAP response will look like the following:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <soap:Fault>
      <faultcode>soap:Server</faultcode>
      <faultstring>System.Web.Services.Protocols.SoapException: Server was unable to process request. ---&gt; Reddot.CMS.Rql.RqlException: The project has not been released for publication. The job could not be entered in the list of the asynchronous processes.

Server stack trace: 
   at Reddot.CMS.Interop.RqlService.ExecuteString(String rqlCommand)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(MethodBase mb, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]&amp; outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&amp; msgData, Int32 type)
   at Reddot.CMS.Rql.IRqlService.ExecuteString(String rqlCommand)
   at Reddot.CMS.Rql.RqlServiceWrapper.ExecuteString(String rqlCommand)
   at Reddot.CMS.WebServiceClient.RqlService.ExecuteString(String command)
   --- End of inner exception stack trace ---</faultstring>
      <detail />
    </soap:Fault>
  </soap:Body>
</soap:Envelope>

 

2. RQL Error -- Reddot.CMS.Rql.RqlException: Page/link is already waiting to be published.

This error appears to be one of those undocumented RedDot CMS RQL errors and therefore there is no known RDError code.
A typical SOAP response from the server will look like the following:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <soap:Fault>
      <faultcode>soap:Server</faultcode>
      <faultstring>System.Web.Services.Protocols.SoapException: Server was unable to process request. ---&gt; Reddot.CMS.Rql.RqlException: Page/link is already waiting to be published.

Server stack trace: 
   at Reddot.CMS.Interop.RqlService.ExecuteString(String rqlCommand)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(MethodBase mb, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]&amp; outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&amp; msgData, Int32 type)
   at Reddot.CMS.Rql.IRqlService.ExecuteString(String rqlCommand)
   at Reddot.CMS.Rql.RqlServiceWrapper.ExecuteString(String rqlCommand)
   at Reddot.CMS.WebServiceClient.RqlService.ExecuteString(String command)
   --- End of inner exception stack trace ---</faultstring>
      <detail />
    </soap:Fault>
  </soap:Body>
</soap:Envelope>

 

5. Installation is a breeze

No special run-time or application is required for Batch Publisher™ to run. And the installation is that of the easy, standard issue RedDot CMS plug-in routine.
The following is the gist of installation steps:

  1. Download the plug-in zip folder.
  2. Unzip the folder and make sure you uncheck the "read-only" property that is applied to the folder by default.
  3. Move the folder into your \CMS\asp\PlugIns\ folder on your CMS server.
  4. Access the Plug-in Management Interface via Server Manager and import Batch Publisher™.
  5. Log in CMS users can access Batch Publisher™ from Server Manager main node, SmartTree main node, Administer Project Structure node and "Action Menu" in SmartEdit when a page is opened.

Need a detailed guide on installation? Read our tutorial on How to Install A RedDot CMS Plug-in.
Voila! You will have a fairly sophisticated yet light-weight batch publication plug-in running in your CMS in no time!

Download it now.


Source: Batch Publisher for RedDot CMS

© copyright 2010 by byteweaver [byte.weaver] - n, a digital craftsman