Blogging Roller

Dave Johnson on open web technologies, social software and software development


Sam Ruby writes: I don't know how I missed this one: Roller is an open source J2EE weblogger, produced by a developer here in Raleigh.  Hmmm.  I wonder if David Johnson would like to join the RTP bloggers club? [Sam RubyThanks for the link Sam.  Hmmm, I wonder if the bloggers club involves free pizza...
Tags: Roller

I may have found a great place to host a significant installation of Roller.  Plans are tentative at this point, so I don't want to say anything else about it now.  Hopefully, I'll have more information in the next couple of weeks.

Tags: Roller

A Roller user just reported a problem, here is the stack trace:

2002-04-26 10:36:16 StandardManager[/roller] Cannot serialize session attribute
session.roller for session 12E495204943E50434A5E3420231A166
java.io.NotSerializableException: org.exolab.castor.jdo.engine.DatabaseImpl
        at java.io.ObjectOutputStream.outputObject(Unknown Source)
        at java.io.ObjectOutputStream.writeObject(Unknown Source)
        at java.io.ObjectOutputStream.outputClassFields(Unknown Source)
        at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source) 
        ...

The error that he got is due to the Persistent Session features of Tomcat. I think it is possible to turn off Persistent Sessions in the server.xml file, but I have not really tried this route - they are on by default and Roller should be able to live with them.

As a work around you can stop Roller, then delete the serialized session file. This file can be found in <tomcat>/work/localhost/roller/sessions.ser and it is safe to delete.  Then restart Tomcat and Roller should work fine.

I tried to avoid this problem by removing the RollerImpl object from the session in my session listener (see org.roller.presentation.RollerSession). But something must be wrong with my listener.  I will look into this before my next release.

Another fix/work-around might be to change the data member mJDO in org.roller.business.castor.RollerImpl to be transient.

Change this:
   private JDO mJDO = null;
to this:
   private transient JDO mJDO = null;

If you try that, please let me know if it stops the error you were getting.

P.S. This should be fixed in Roller 0.9.1

Tags: Roller

So far, about 50 people have downloaded ther Roller webapp and another 70 have downloaded the Roller source code.  But, I have only heard from one - one person is attempting to install Roller at Webappcabaret.com

Apparently, installing Roller at Webappcabaret is complicated by the fact that Webappcabaret does not allow customers to edit Tomcat's server.xml file.  This means that customers have to make do with Webappcabaret's File Realm ACL (I assume this is just a customized Tomcat realm that stores user names, passwords, and roles in a file somewhere).  I think Roller will need some changes to run in this environment, and the "register as new user" feature might not work since Webappcabaret controls the File Realm ACL.  I'll report back if I find out more about the Webappcabaret install.

Tags: Roller

I really hit the big time - I got a link on Scripting.com!  Thanks Dave!

Tags: Roller

Somebody who read the Rolle article just asked me about how Castor compares to Torque in terms of object-relational mapping.  I did not know about Torque when I started Roller.  Torque looks really cool.  Here are my off-the-cuff thoughts on Torque vs. Castor:

  • With Torque, you start out with an XML file that defines your tables and relationships.  Then Torque generates both a set of objects for each of your tables and database creation scripts for creating the tables within a variety of databases.
  • Castor assumes that you already have your Java objects and you database tables.  So, you need to provide mapping from objects to tables - this is the mapping.xml file that I discuss in the Roller article.
  • With Torque, the objects know to write themselves to the database.  But with Castor, Castor itself knows how to do that. So, with Castor the objects can be dumb data holders.
  • Also Castor has the XML binding built in and Torque does not. The Castor mapping file can be used to define how objects map to database tables and how they map to XML.  I use this in Roller to allow the export/import of user weblog data to an XML file for backup purposes.
  • I have heard that Castor has object caching and Torque does not. I'm not sure how important this is.
Tags: Roller

I was out of town this week so I did not get to announce that the Roller article is online at O'Reilly's OnJava website.  Here is a direct link to the article, it is called Building an Open Source J2EE Weblogger.  I Hope you enjoy it and you will send any questions and comments my way.

Tags: Roller

People are starting to download the Roller 0.9.0 release.  Looks like some of them are downloading source and trying to build it too.  That's great.  I hope they will complain bitterly (i.e. report bugs) when things don't work or work in a stupid way.
Tags: Roller

« Previous page | Main