RSS Gateway

I found a java RSS feed gateway and wonder if it would be possible to either integrate as its own plugin or part of this plugin. Would be nice for company news or notices.

http://jrs.jabberstudio.org/

While I don’'t think this falls into the scope of the IM Gateway plugin, I do think it would be a wonderful idea for a separate plugin! =) Anyone out there itching for a project?

Last night I uploaded version 1.0 of an Openfire plugin I wrote called instantFeeds, which is basically an RSS / Atom feed bot with some other cool stuff. You can download it here:

http://cephas.net/projects/instantfeeds/

AJ

hey aj, i installed the plugin and set

plugin.instantFeeds.allowedUsers -> only my jid (user@domain)

plugin.instantFeeds.servicePassword -> ***

i can interact with the bot user but when i ask him for a list he sais that i havn’'t subscribed to any lists …

what’'s the fault

###############################

subscribe http://www.heise.de/newsticker/heise.rdf

I’‘m gonna do a quick check of that feed to make sure it exists and then I’‘ll subscribe you. You’'ll hear from me shortly.

All set. You’'ve been successfully subscribed to ‘‘heise online News’’.

list

Dude, you totally haven’'t signed up for any feeds yet.

###############################

subscribe http://www.heise.de/newsticker/heise-atom.xml

I’‘m gonna do a quick check of that feed to make sure it exists and then I’‘ll subscribe you. You’'ll hear from me shortly.

All set. You’'ve been successfully subscribed to ‘‘heise online News’’.

list

Dude, you totally haven’'t signed up for any feeds yet.

###############################

for further information i add some excerpt from the logs … that messages are created if i make the conversation listed on top

at org.jivesoftware.wildfire.interceptor.InterceptorManager.invokeInterceptors(Int erceptorManager.java:227)

at org.jivesoftware.wildfire.MessageRouter.route(MessageRouter.java:72)

at org.jivesoftware.wildfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:71)

at org.jivesoftware.wildfire.net.StanzaHandler.processMessage(StanzaHandler.java:3 23)

at org.jivesoftware.wildfire.net.ClientStanzaHandler.processMessage(ClientStanzaHa ndler.java:91)

at org.jivesoftware.wildfire.net.StanzaHandler.process(StanzaHandler.java:186)

at org.jivesoftware.wildfire.net.StanzaHandler.process(StanzaHandler.java:153)

at org.jivesoftware.wildfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:131)

at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived (AbstractIoFilterChain.java:703)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:362)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:54)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:800)

at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimplePr otocolDecoderOutput.java:62)

at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:192)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:362)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:54)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:800)

at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :250)

at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:305)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 650)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)

at java.lang.Thread.run(Thread.java:595)

2007.03.25 15:01:00 org.jivesoftware.wildfire.interceptor.InterceptorManager.invokeInterceptors(Inte rceptorManager.java:239) Error in interceptor: org.jivesoftware.plugins.instantFeeds.InstantFeedsPlugin@17d2a06

java.lang.NullPointerException

at org.jivesoftware.plugins.instantFeeds.InstantFeedsPlugin.processMessage(Instant FeedsPlugin.java:519)

at org.jivesoftware.plugins.instantFeeds.InstantFeedsPlugin.processPacket(InstantF eedsPlugin.java:416)

at org.jivesoftware.plugins.instantFeeds.InstantFeedsPlugin.interceptPacket(Instan tFeedsPlugin.java:408)

at org.jivesoftware.wildfire.interceptor.InterceptorManager.invokeInterceptors(Int erceptorManager.java:227)

at org.jivesoftware.wildfire.MessageRouter.route(MessageRouter.java:72)

at org.jivesoftware.wildfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:71)

at org.jivesoftware.wildfire.net.StanzaHandler.processMessage(StanzaHandler.java:3 23)

at org.jivesoftware.wildfire.net.ClientStanzaHandler.processMessage(ClientStanzaHa ndler.java:91)

at org.jivesoftware.wildfire.net.StanzaHandler.process(StanzaHandler.java:186)

at org.jivesoftware.wildfire.net.StanzaHandler.process(StanzaHandler.java:153)

at org.jivesoftware.wildfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:131)

at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived (AbstractIoFilterChain.java:703)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:362)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:54)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:800)

at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimplePr otocolDecoderOutput.java:62)

at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:192)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:362)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:54)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:800)

at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :250)

at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:305)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 650)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)

at java.lang.Thread.run(Thread.java:595)

Message was edited by: SmilingJ

i found another snipet of information:

2007.03.25 15:03:53 Missing database schema for instantFeed. Attempting to install…

under information in the logs tab … i use the build in database

Message was edited by: SmilingJ

That’‘s awesome AJ! I’'ll be checking this out in a bit. =) In the meantime, you may want to/I would like to ask that you add your new plugin to: http://wiki.igniterealtime.org/display/WILDFIRE/Non-JiveWildfirePlugins

I started that to form a good place for all the neat plugins being developed outside Jive! If you can’‘t add it, let me know! (I’‘m pretty sure that’'s open for creating any accounts but not sure)

I get the same issue. The Bot obviously checks the feeds correctly as it returns the name of the feed, but list always returns no subscriptions.

I’'m also getting database errors in the logs, which could account for this.

Bug in instantFeed_postgressql.sql

CREATE TABLE instantFeedUser (

userID INTEGER NOT NULL,

jid VARCHAR(255) NOT NULL ,

);

please change this to

CREATE TABLE instantFeedUser (

userID INTEGER NOT NULL,

jid VARCHAR(255) NOT NULL

);

hi DeeJay,

I’‘ll check on the NPE tonight, I’'m curious (since the last post mentioned an issue with postgres), what database server are you using?

AJ

I’'m using the embedded DB, though I should really change to something more easily manageable!

The install constantly complains about being unable to install the database schema, so I assume the table which stores the registrations cannot be updated. Does that sound likely?

D

Hi there,

first of all i like to say “very nice plugin!”

Like other user announced it is not working / for me


ME: subscribe http://static.winfuture.de/feeds/WinFuture-News-atom1.0.xml

Feeds: I’‘m gonna do a quick check of that feed to make sure it exists and then I’‘ll subscribe you. You’'ll hear from me shortly.

Feeds: All set. You’'ve been successfully subscribed to ‘‘http://static.winfuture.de/feeds/WinFuture-News-atom1.0.xml’’.

Me: list

Feeds: Dude, you totally haven’'t signed up for any feeds yet.


I am using the intern DB.

Anyone fixing ideas?

Thanks and keep up the great work!

For what it’'s worth it seems to work dandy with MySQL. ;D

jadestorm wrote:

For what it’'s worth it seems to work dandy with MySQL. ;D

that’'s why i want to switch so mysql with 3.30 openfire

Thanks for the feedback everyone. I updated the jar and source links tonight to version 1.0.1 (again, available here: http://cephas.net/projects/instantfeeds/). I fixed two bugs: one with the postgres install script and one with the hsqldb (embedded / internal database). If you have a chance to try it out again, I’'d love to hear your feedback!

AJ

i’‘ve still the same problem :’’-(

WRONG … still version 1.0 … i’'ll try to update again

OK… update was OK, but … could it be that the linked jar file on your website is wrong? i downloadet it directly to my server with wget and it still says it’‘s 1.0 :’’-(

Message was edited by: SmilingJ

Message was edited by: SmilingJ

I’‘m pretty sure the jar file on my website is correct, I’'m not sure how I could have marked the version attribute in the plugin xml file to say 1.0.1 (since the version column that Openfire stores is an integer). Maybe I just have to mark the version as being version 2… 3… 4… etc?

Also, if it’‘s still not working for you, can you confirm that the three tables that the plugin needs actually do exist? I’‘m guessing it’‘s possible that the plugin thinks it successfully installed when in fact it doesn’'t have all the tables it needs.

Cheers,

AJ

My problem was exactly the opposite.

When I upgraded 1.0 to 1.0.1 I still got the same error.

However, when I manually dropped the tables and reinstalled the plug-in it worked much better.

I can now subcribe and it correctly verifies and remembers the subscriptions.

However, I still have an in issue in that the feeds user appears offline, and I’'ve not been told of any new postings on the feeds yet

The logs indicate this: 2007.03.29 01:05:54 [org.jivesoftware.plugins.instantFeeds.InstantFeedsPlugin.initializePlugin(Inst antFeedsPlugin.java:298)

] error sending online presence

D

ajohnson1200 wrote:

Also, if it’‘s still not working for you, can you confirm that the three tables that the plugin needs actually do exist? I’‘m guessing it’‘s possible that the plugin thinks it successfully installed when in fact it doesn’'t have all the tables it needs.

I’'d really like to do that … but how can i see the tables of the built-in database?

You could use the database viewer in the extras folder on the server.

However, I believe you need to take Openfire down to do it.

well… then i think i’'ll wait until openfire is out and i have the mysql backend…

Without wanting to rub it in, it’'s working really well for me now

Only small issue so far is that you can subscribe multiple times to a feed which probably should be prevented, but it’'s hardly a show stopper…