Rojsom.
The Roller backend is all interfaces. We have one implementation of the backend that uses Castor-JDO for persistence and we have another that uses Hibernate. It would be fun to try to create an implementation that uses the Blojsom file-store. The WeblogManager interface could probably be implemented using Blojsom, but what about the BookmarkManager and the NewfeedManager? Maybe those could be implemented by using OPML files.
RSSLibJ in Roller?
I've been watching RSSLibJ for a while and wondering whether we should use it here in Roller. RSSLibJ is a Java class library that allows one to create RSS output in a variety of formats including RSS 0.9X, 2.0, and RDF from a single object model (RSSLibJ is not suitable for RSS parsing because it does not handle badly formed feeds). So, does it make sense to use RSSLibJ for RSS output in Roller? I'm pretty sure the answer is no because:
- Why bother? All RSS aggregators worth consideration already support RSS 2.0, adding support for RSS 0.91, RSS 0.92, RSS 1.0, and RDF does not really add any value to Roller.
- If it ain't broke, don't fix it. Roller already supports RSS 2.0 output using a simple Velocity template that duplicates Mark Pilgrim's RSS 2.0 MT template (you can't get more perfect than the Pilgrim ;-).
- Templates are easier to maintain. If we have a output format problem with RSSLibJ, we'll need to grok the RSSLibJ Java code, tweak RSSLibJ, recompile the jar, and if we want to do things "right" we'll need to submit a patch to the RSSLibJ folks. If we have a format problem with our current solution, we just tweak a simple Velocity template and fix it (worst case: we also have to modify our object model).
- What about performance? More than half the traffic on a big Roller site (e.g. FreeRoller) is RSS traffic, so RSS production needs to be pretty efficient. With support for If-Modified-Since and RSS output caching, this is less of an issue, but it is still an issue. Converting our existing object model of WeblogEntries, WeblogCategories, Comments, etc. into a separate RSSLibJ object model before output can commence seems like a pretty inefficient exercize in terms of memory usage and speed.
Roller 0.9.7.2 is available.
This is a minor bug fix release, see JIRA for the fix list. The release is available on SourceForge or you can get it via CVS from the ROLLER_0972 tag.
The most significant fix is that all URLs generated by Roller are once again relative (as they were in earlier versions). Also, a new setting has been added to the Website:Config page to allow you to configure the base URL for those URLs that cannot be relative (those in RSS feeds, XML-RPC return values, Trackbacks, etc.). These changes make it easier to run Roller behind an HTTPS configured web server.
The out-of-memory problems reported by users have turned out to be the results of misconfigured JVM, Tomcat, and OSCache settings, so I think Roller 0.9.7.2 is ready for deployment on FreeRoller.
UPDATE 3:02PM EST: If you have already downloaded the build, please download it again. I found a little glitch and had to do a respin.
Matt's goin' nuts.
In case you haven't noticed Matt Raible is goin' nuts with cool ideas for Roller development including integration of Struts menu into the Roller Editor UI, blogging via Jabber, and moblogging via Russell Beattie's Manywhere Moblogger.
Re: Roller suggestions.
I just noticed that Arjun Ram has a nice list of Roller enhancements. All of them sound good, but I'm not sure why we would want the my.yahoo.com look and feel. Maybe he just wants Roller to be a Portal or a Portlet within a Portal. He also requested some Steal These Buttons (actually he suggested these) style Roller badges. Here are my feeble first attempts (UPDATE: I took down the badges that included Sun logo images):
Ultimate Weblogging System
The virtue (and vanity) of an open source stack.
Roller sits on a big fat stack of software including Struts, Velocity, Hibernate (or Castor), Servlet Container, Database, and etc. When we encounter a problem, it is often deep down in the stack. Since the stack is open source, we can get the code, fix the bug, and even ship the patched jar, if we so desire. This is what Lance just did. He found that Roller had problems on HSQL-DB due to Castor's limited support of the SQL LIMIT keyword, he fixed it, and submitted a patch to the Castor folks. Now, as the guardian of the Roller Hibernate implementation, I guess I need to do the same thing for Hibernate.
Cannot load JDBC driver class 'null'
As Jon Lipsky found, Tomcat DBCP configuration is the thorn in the side of Roller. Everybody seems to have problems with it. I need to do some research to figure out that Cannot load JDBC driver class 'null' means, because several users have been running into the same problem. Since Hibernate provides it's own connection pooling, configured by a simple properties file, perhaps we should drop DBCP from the standard Roller/Tomcat setup. Either way, I should add the alternate Hibernate configuration to the Wiki.
FoneBlog demo server.
![[FoneBlog logo]](http://www.demotelco.com/fb/images/foneblog.gif)
UPDATE: Doh! Russell has blogged about Newbay a couple of times before and I missed it. See his posts:Wow! I'm in the News and Camera Phone Blogs.
Driving SMS/MMS revenue with Roller.
Newbay Software: Providing a phone Blogging value added service to your customers will open up several significant revenue streams, increasing ARPU dramatically for the target group. Messaging revenue, especially media messaging (MMS), will see the greatest increase, however there will also be growth in SMS and data usage. Monthly subscriptions, increased camera phone sales and additional revenue options (below) make FoneBlog a solid revenue generator.
Take a close look at some of the weblog themes they provide and you can see that their FoneBlog software is based on Roller. Very cool! Newbay is a privately funded company, formed in November 2002 in Dublin, Ireland. They have already earned press coverage in ZDNet-UK, BBC, Wireless Newsfactor, and Silicon Republic.
Roller 0.9.7.1 Released.
Roller 0.9.7.1 (a <a href= "http://opensource.atlassian.com/projects/roller/IssueNavigator.jspa?view=&tempMax=1000&decorator=printable&start=0&fixfor=10040&mode=hide&reset=true&pid=10000"> bug fix release) is now <a href= "http://sourceforge.net/project/showfiles.php?group_id=47722&release_id=153808"> available.
Mozilla Midas support in Roller.
I added support for the Mozilla <a href= "http://www.mozilla.org/editor/midas-spec.html">Midas HTML editor control to Roller, but I've found Midas to be pretty flaky. It has crashed Mozilla on me several times today (I'm running Mozilla 1.3). I think it is a little too unstable for general use, so I probably will not add it as an option to the Roller Website:Setting page. Here is a screenshot, just to prove that it was actually working at one point:
<img src= "http://www.rollerweblogger.org/resources/roller/editor-midas-screenshot.png">
I had to do a little work to adapt the <a href= "http://www.mozilla.org/editor/midasdemo/">Midas demo page for use in Roller, but nothing major. Even when Midas is working, it is far from perfect. It does not support XHTML and the HTML that it generates is not very pretty.
Hibernate twice as fast as Castor?
I did some stress testing of Roller 0.9.7 last night with JMeter and used it as an opportunity to compare throughput of Roller with Castor vs. Roller with Hibernate. I put a summary of the results on the WIKI. Any suggestions for improvement on this test or comments on the limitations of this test are welcome.
Part of the reason I was testing was that Matt has been having severe problems with out-of-memory exceptions. After running those tests, I let JMeter run the test plan all night long (Loop Count: Forever) and enountered no out-of-memory problems. I guess I need to get closer to Matt's config if I want to duplicate the memory problems he is encountering.Roller 0.9.7.1.
Pebble.
Noted Java author and JSP expert Simon Brown has decided to release on SourceForge the blogging software that he wrote to power his own site. He calls it Pebble.
Look what the linkback dragged in.
That linkback to Mark Lussier's inbox (one of the Blojsom developers) on yesterday's 'Some bugs' post is funny as hell. What kind of web-mail is that guy using? For the record, the SQL and jar problems were on platforms that we do not test (Postgres, MySQL 4.0, Tomcat 4.0, and Tomcat 4.1 LE).
Some bugs in 0.9.7.
Roller 0.9.7 has been working pretty well for me and a couple of others like Lance and Werner, but some other folks have run into problems. Thanks to all those who have downloaded, tested, and reported bugs. We'll have a bug fix release (0.9.7.1) out in the next couple of days. The <a href= "http://opensource.atlassian.com/projects/roller/secure/IssueNavigator.jspa?reset=true&pid=10000&fixfor=10040">fix list is in JIRA.
Lance's OPML macro.
Lance follows up and suggests that we add a new #showBookmarkOPML( $folderName ) macro to Roller to make it even easier to add produce OPML with Roller. Not a bad idea. Another idea would be to enhance the #showBookmarks( $folderName ) macro so that it displays an OPML icon which links to the OPML for bookmarks in the folder being displayed.
I should point out of one limitation of Roller bookmarks. Currently, the Roller Editor UI does not allow bookmark folders cannot be nested. Once we allow nested folders, we'll have to make the #showBookmarkOPML() macro recursive. Can a VelociMacro be recursive?
« Previous page | Main | Next page »