Roller plugin development

View: New views
6 Messages — Rating Filter:   Alert me  

Roller plugin development

by Shakti Purohit :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I went through the java API doc of Roller. I am into developing a plugin for
Roller which will fetch existing content (WeblogEntries, comments, tags)
from the Roller. I think this task is very much doable using APIs provided.
My only concern: does there exist any plugin framework on Roller by which I
can make plugin a part of Roller environment? I mean does Roller provide any
admin based UI by which I can upload my plugins? If not please provide the
way to load the plugin.

 

Secondly, how can I detect data creation, deletion and update on Roller? I
did not find anything like listeners on Rollers, listeners being listening
to create update and delete events. Please suggest how to implement this
functionality (event listeners like functions)?

 

Thanks in advance,

Shakti

 


DISCLAIMER
==========
This e-mail may contain privileged and confidential information which is the property of Persistent Systems Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Ltd. does not accept any liability for virus infected mails.

Re: Roller plugin development

by Alex Coles :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Aug 11, 2008, at 2:36 PM, Shakti Purohit wrote:

> I went through the java API doc of Roller. I am into developing a  
> plugin for
> Roller which will fetch existing content (WeblogEntries, comments,  
> tags)
> from the Roller. I think this task is very much doable using APIs  
> provided.
> My only concern: does there exist any plugin framework on Roller by  
> which I
> can make plugin a part of Roller environment? I mean does Roller  
> provide any
> admin based UI by which I can upload my plugins? If not please  
> provide the
> way to load the plugin.
>
>
>
> Secondly, how can I detect data creation, deletion and update on  
> Roller? I
> did not find anything like listeners on Rollers, listeners being  
> listening
> to create update and delete events. Please suggest how to implement  
> this
> functionality (event listeners like functions)?
>
>
>
> Thanks in advance,
>
> Shakti
>

The APIs are straightforward, but there is no real standardized method  
for installing a plugin - besides copy JARS, configure roller-
custom.properties, restart server.

There is no UI for of installing a plugin. A GUI tool of some sort  
might be nice though?

For instance the instructions I wrote for installing my Markdown  
plugin are moderately cumbersome:
http://github.com/myabc/roller-markdown/tree/master

I say cumbersome, because although I wrote a little bash script to  
copy the files, its not the best! It shouldn't take someone with Unix  
knowledge more than 5 minutes, but still, its easy to screw up copying  
files.

Alex

Re: Roller plugin development

by Dave Johnson-8 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, Aug 11, 2008 at 8:36 AM, Shakti Purohit
<shakti_purohit@...> wrote:
> I went through the java API doc of Roller. I am into developing a plugin for
> Roller which will fetch existing content (WeblogEntries, comments, tags)
> from the Roller. I think this task is very much doable using APIs provided.
> My only concern: does there exist any plugin framework on Roller by which I
> can make plugin a part of Roller environment? I mean does Roller provide any
> admin based UI by which I can upload my plugins? If not please provide the
> way to load the plugin.

There are a variety of ways to plugin to Roller, but there is no
Plugin Manager.

Typically what you need to do is:
- Implement an interface in Java
- Jar up your classes, put them in the Roller classpath (WEB-INF/lib)
- Override some properties in roller-custom.properties to hook in your classes

There is a list of plugin types on here:

I'd be glad to answer questions about any of them here on the mailing list.


> Secondly, how can I detect data creation, deletion and update on Roller? I
> did not find anything like listeners on Rollers, listeners being listening
> to create update and delete events. Please suggest how to implement this
> functionality (event listeners like functions)?

We don't have any types of listeners for events like that, so your
best be is probably to plugin your own manager. For example, you could
create MyJPAWeblogEntryManager which extends
JPAWeblogEntryManagerImpl. The override the methods you need to, call
super where appropriate -- and then hook in your new implementation
via JPAWebloggerModule.

Not at great situation right now, eh?

Personally, I think better plugin infrastructure should be the #1
priority for Roller.

- Dave

RE: Roller plugin development

by Shakti Purohit :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dave:

I am very new to Roller and its APIs. Can you provide me some more details
as how to detect if some action has occurred in Roller (blog creation, post
creation). If it would be possible for you to elaborate on general concepts
involved in such implementation.

Thanks,
Shakti

-----Original Message-----
From: Dave [mailto:snoopdave@...]
Sent: Thursday, August 14, 2008 9:53 AM
To: dev@...
Subject: Re: Roller plugin development

On Mon, Aug 11, 2008 at 8:36 AM, Shakti Purohit
<shakti_purohit@...> wrote:
> I went through the java API doc of Roller. I am into developing a plugin
for
> Roller which will fetch existing content (WeblogEntries, comments, tags)
> from the Roller. I think this task is very much doable using APIs
provided.
> My only concern: does there exist any plugin framework on Roller by which
I
> can make plugin a part of Roller environment? I mean does Roller provide
any
> admin based UI by which I can upload my plugins? If not please provide the
> way to load the plugin.

There are a variety of ways to plugin to Roller, but there is no
Plugin Manager.

Typically what you need to do is:
- Implement an interface in Java
- Jar up your classes, put them in the Roller classpath (WEB-INF/lib)
- Override some properties in roller-custom.properties to hook in your
classes

There is a list of plugin types on here:

I'd be glad to answer questions about any of them here on the mailing list.


> Secondly, how can I detect data creation, deletion and update on Roller? I
> did not find anything like listeners on Rollers, listeners being listening
> to create update and delete events. Please suggest how to implement this
> functionality (event listeners like functions)?

We don't have any types of listeners for events like that, so your
best be is probably to plugin your own manager. For example, you could
create MyJPAWeblogEntryManager which extends
JPAWeblogEntryManagerImpl. The override the methods you need to, call
super where appropriate -- and then hook in your new implementation
via JPAWebloggerModule.

Not at great situation right now, eh?

Personally, I think better plugin infrastructure should be the #1
priority for Roller.

- Dave


DISCLAIMER
==========
This e-mail may contain privileged and confidential information which is the property of Persistent Systems Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Ltd. does not accept any liability for virus infected mails.

Re: Roller plugin development

by Dave Johnson-8 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, Aug 14, 2008 at 12:23 AM, Dave <snoopdave@...> wrote:
> There is a list of plugin types on here:

http://rollerweblogger.org/roller/entry/roller_plugins

- Dave

Re: Roller plugin development

by Dave Johnson-8 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, Aug 14, 2008 at 12:38 AM, Shakti Purohit
<shakti_purohit@...> wrote:
> I am very new to Roller and its APIs. Can you provide me some more details
> as how to detect if some action has occurred in Roller (blog creation, post
> creation). If it would be possible for you to elaborate on general concepts
> involved in such implementation.

Since we don't have listeners, the approach I suggest is this:

- Read and understand the code in JPAWeblogEntryManagerImpl.saveWebogEntry()

- Extend JPAWeblogEntryManagerImpl, override the saveWeblogEntry() method
    - Add logic to determine if post is new, being updated etc. and to
react accordingly
    - call super.saveWeblogEntry() as appropriate

- Create a new Guice module by copying the code for JPAWebloggerModule
    - replace the reference to JPAWeblogEntryManagerImpl with one to
your implementation

- Specify your new Guice module by overriding a property in your
roller-custom.properties
     guice.backend.module=org.apache.roller.weblogger.business.jpa.MyWebloggerModule

Make sense?

- Dave
LightInTheBox - Buy quality products at wholesale price!