Wildfire Enterprise Comments/Suggestions

I just got Wildfire 3.0 with the Enterprise plugin installed, here are some comments and suggestions:

The “Client Management >> Download Spark” interface is confusing. It says I can download Spark, but dosnt tell me I have to upload first. So I went to the “Spark Version” page, and uploaded all the clients. Interestingly, there is radio buttons next to each one that are not selected. I dont know if that would impact anything, so I selected them (the only choice) and updated that. So now the “Download Spark” page shows links, and it gives a nice template for sending a message to someone, can that be customized at all? Does it ever get used, or is it just there as a sample?

I turned on message archiving, but when I search for any conversations, it never finds any. It also reports 0 messages and 0K total size, so its obvious its not archiving messages. Am I missing something?

Jay,

Thanks for the feedback! I agree that the download spark screens are a bit confusing. We’'ll do some work to clean them up.

On message archiving – I’‘d like to get to the bottom of what’‘s going wrong. Did you enable both meta-data and message archiving? Also, an error messages in the logs that might be relevant? Finally, could you check the database to see if the messages are getting inserted? Check out the entMessageArchive table. If it has content but searching still isn’'t working, that will tell us where to be looking for the problem.

Thanks,

Matt

The new fourms interface is up! Yea! It looks nice, good formatting features with the handy autosave.

Anyway, the problem at hand:

Yes, both meta-data and message archiving was enabled. Nothing in any log files that seems relevant (though I would like to get rid of the errors about non-existant users in my groups, but thats another matter). I checked the database, and entmessagearchive is empty. I know we dont have a high traffic network, so I ran a few test messages out there just to be sure, and nothing shows in the database.

Ok, now we are getting somewhere. Got these messages in the logs (slightly edited):

2006.07.06 13:21:41 com.jivesoftware.wildfire.enterprise.archive.ConversationManager$ArchivingTask.r un(ConversationManager.java:547)

java.sql.BatchUpdateException: Batch entry 0 INSERT INTO entMessageArchive(conversationID, fromJID, toJID, sentDate, body) VALUES (3,jay@redacted*,redacted@redacted,1152209908713,*redacted) was aborted. Call getNextException to see the cause.

at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(Abst ractJdbc2Statement.java:2478)

at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java: 1298)

at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:347)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement .java:2540)

at com.jivesoftware.wildfire.enterprise.archive.ConversationManager$ArchivingTask. run(ConversationManager.java:515)

at com.jivesoftware.wildfire.enterprise.archive.ConversationManager$1.run(Conversa tionManager.java:92)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

2006.07.06 13:22:41 com.jivesoftware.wildfire.enterprise.archive.ConversationManager$ArchivingTask.r un(ConversationManager.java:547)

java.sql.BatchUpdateException: Batch entry 0 INSERT INTO entMessageArchive(conversationID, fromJID, toJID, sentDate, body) VALUES (3,jay@redacted*,redacted@redacted,1152209914792,*redacted) was aborted. Call getNextException to see the cause.

at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(Abst ractJdbc2Statement.java:2478)

at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java: 1298)

at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:347)

at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement .java:2540)

at com.jivesoftware.wildfire.enterprise.archive.ConversationManager$ArchivingTask. run(ConversationManager.java:515)

at com.jivesoftware.wildfire.enterprise.archive.ConversationManager$1.run(Conversa tionManager.java:92)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

/code

Slush,

Ah-hah. This looks like it could be the issue. Let me do some testing on Postgres and I’‘ll get back to you with more information. For now, I’'ve filed ENT-19.

Thanks,

Matt

Issue $0 ? In the email notification I see ENT - 19, but not here in the fourms. I think there is some issue with linking to ENT issues.

Yeah, a niggle in the new forums. We’'re working on it.

-Matt

Another suggestion:

When Im looking at the active conversations list, I feel like if I click on either JID I should be taken to that conversation archive, not the user information. I guess I see it like an email inbox. Now, if message archiving isnt turned on, that isnt an option, obviously, but maybe having a link to “View this conversation” so you dont have to go search for it if you have archiving enabled.

Ack! Updated the plugin today, and when I click on “archive settings” I get this:

Exception:

java.lang.NoSuchMethodError: org.jivesoftware.database.DbConnectionManager.closeConnection(Ljava/sql/ResultS et;Ljava/sql/Statement;Ljava/sql/Connection;)V

at com.jivesoftware.wildfire.enterprise.archive.ConversationManager.getArchivedMes sageCount(ConversationManager.java:367)

at org.jivesoftware.wildfire.plugin.enterprise.archiving_002dsettings_jsp._jspServ ice(archiving_002dsettings_jsp.java:389)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)

at org.jivesoftware.wildfire.container.PluginServlet.handleJSP(PluginServlet.java: 232)

at org.jivesoftware.wildfire.container.PluginServlet.service(PluginServlet.java:92 )

at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:830)

at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:69)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:98)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:11 8)

at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:65)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingF ilter.java:41)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:69)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:98)

at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplica tionHandler.java:821)

at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler. java:471)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)

at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)

at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.ja va:633)

at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)

at org.mortbay.http.HttpServer.service(HttpServer.java:909)

at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)

at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)

at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)

at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)

at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)

at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

/code

Ill be upgrading Wildfire today too, so we will see if that corrects the problem.

Ack indeed. It looks like we should have updated the plugin meta-data to note that Wildfire 3.0.1 is required.

-Matt

Upgraded to Wildfire 3.0.1. The wildfire upgrade went smooth, but the plugin upgrade did not. PostgreSQL 7.4 dosnt support altering a table type. So the database upgrade failed. I just did the upgrade by hand (droped then added the columns). Things seemed happy, but now something odd:

2006.07.17 11:56:28 com.jivesoftware.wildfire.enterprise.archive.ArchiveIndexer.updateIndex(ArchiveI ndexer.java:283)

java.io.FileNotFoundException: /opt/wildfire.3.0.1/enterprise/search/segments (No such file or directory)

at java.io.RandomAccessFile.open(Native Method)

at java.io.RandomAccessFile.(IndexModifier.java:111)

at com.jivesoftware.wildfire.enterprise.archive.ArchiveIndexer.updateIndex(Archive Indexer.java:224)

at com.jivesoftware.wildfire.enterprise.archive.ArchiveIndexer$2.run(ArchiveIndexe r.java:153)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

/code

No, that file does not exist, but the path up to it does.

As far as I can tell though, everything is working, though. Is this error safe to ignore?