Creating a subscriber class

A subscriber plugin is used to run additional functionality on the subscriber that can be used to determine if the subscriber is ready for syndication when a syndication event is invoked.

To create a subscriber plugin, you must create a subscriber class and then register the subscriber class by deploying it on the server.
  1. Create a java class that implements the interface com.ibm.workplace.wcm.api.extensions.syndication.SubscriberReady. This class must implement the following methods:
    public ResultDirective onSubscriberReady(SubscriberEvent eventInfo)
    • This method contains the code that will be executed when the syndication run starts.
    • This method is executed on the subscriber.
    • The extensions are executed only when there are changes in the syndicator.
    • The extension is not executed every time automatic syndication queues the syndicator.

    See the javadoc for further information.

  2. Implement the onSubscriberReady method. This method must return a com.ibm.workplace.wcm.api.extensions.syndication.ResultDirective object to indicate whether the syndication engine can continue or stop the syndication process.
  3. A plugin.xml file is needed whether the deployment is done using a WAR or EAR, or using a loose jar. If deploying via an application in a WAR or EAR, include the plugin.xml file in the application's "WEB-INF" folder. When using a jar, include the plugin.xml in the root of the jar.
    <?xml version="1.0" encoding="UTF-8"?>
    <plugin id="com.ibm.workplace.wcm.sample.subscriberready"
            name="Sample Subscriber Ready Extension"
            version="1.0.0"
            provider-name="IBM">        
      <extension
         point= "com.ibm.workplace.wcm.api.SubscriberReady"
         id= "SubscriberReadyExtension" >
         <provider class= "com.ibm.workplace.wcm.sample.subscriberready.SubscriberReadyExtension"/>
      </extension> 
    </plugin>
Naming conventions:
If you create a new plugin application with the same names and IDs as an existing plugin, the new plugin may override the first. When creating plugin applications ensure that the following are unique across your system:
  • The plugin ID, plugin name and extension ID of the plugin.xml file.
  • The fully qualified class name plus path of all classes within the application.
  • The file path of any files within the application.