Publisher Plugin

I would like my publisher to run rsynch(in unix) to move the files to our
servers.
This would require me to create a Publisher plugin(like
PSFilePublisherHandler) by implementing IPSPublisher.
I am not able to find IPSPublisher in the supported interfaces, when I try
registering an extension.

You do not need to register IPSPublisher instances in the extension manager.

Instead, you need to add the “Delivery Type” (in your case “rsync”) to the parameters of the Publisher.

In the browser, open the Content Explorer. Click on the “Publishing” tab, and select “Publishers - by Name” on the left hand side. Select a publisher.

At the bottom of the screen, you’ll see a list of “Parameters”. Click on the “Add User Param” link. In this window enter the name (rsync) and value (the fully qualified class name).

Next, you’ll need to create a content list that uses this delivery type. When you publish this delivery type, your new publisher plugin will be called.

Remember also that your code must be in RxServices.war, not in rxapp.ear/rxapp.war.

Dave

I did exactly how you said. In fact, I have jarred the publishing class(PCRSyncPublisherHandler) in rxpublisher.jar and kept it in C:\Rhythmyx\AppServer\server\rx\deploy\RxServices.war\WEB-INF\lib. But, when I publish I get the following exception:
java.lang.ClassNotFoundException: com.percussion.pc.PCRSyncPublisherHandler
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1332)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1181)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.percussion.publisher.client.PSContentItem.<init>(Unknown Source)
at com.percussion.publisher.client.PSContentPublisher.process(Unknown Source)

Please let me know if I need to keep the class in a different location.

Hmmm, that’s the correct location.

Did you restart the server after you added the JAR? (Also, in Unix type systems, the JAR must be executable, but that doesn’t apply in Windows). Double check the jar with WinZip (or something like that) to make sure that the class has all the directories (and no extra ones).

That’s about all I can suggest.

Dave

I have removed rxpublisher.jar from the lib folder, restarted the servers, flushed the cache and changed the publishing back to filesystem. The files got published, without any error. I think that there must be some other place where we have the jar file.

I didn’t realize that you were using rxpublisher.jar for this.

You should put your changes in a NEW jar file (call it PCRPublisher.jar or something like that).

The JBoss classloader looks to see what JARs are loaded, and doesn’t reload jars that are already loaded.

Dave