Ugo has done a comparison of Roller, CocoBlog, and Radio using my bullet points from the Roller homepage. This is nice to see. I only take issue with one point:
- CocoBlog is 100% Java, whereas Roller depends on MySQL.
This point is probably better stated by saying Roller requires a JDBC accessible relational database and CocoBlog does not. There are advantages and disadvantages of using a JDBC database to store blog entries, bookmarks, newsfeed info, etc. of course.
For example, because Roller uses a possibly-remote JDBC database for persistance it is easy to distribute Roller accross multiple VMs. That is important when you need to distribute the load on those high traffic days when you have nearly 10 hits occuring in a 24 hour period... Ok, so maybe it is not that important.
There is a little bit of text on my screen now that says "Trial version: 3 days remaining" so I guess it is now time to fork over $39.95 to UserLand.
I have just about convinced myself to pay for a Servlet supporting ISP to host my Roller-based weblog. I have been scouring the ISP list at Servlets.com to find something suitable. The best deal I have found so far is Threadcount.net. For $19.95/month they have what I need: a devoted VM, Tomcat 4.X, and MySQL. If you know of something better or have something to say about Threadcount, please let me know. The fact that their FAQ link currently leads to a 404 is a little troubling.
I guess I will also need a domain name. Threadcount offers domain name registration for "as little as" $15.95/year. Are there any other hidden costs? Any suggestions for the domain name?
Three days is not enough time to make the move and I'm still not quite ready to eat my own dog food as they say. So don't worry Dave, your money is on the way.
By the way, I'm also in need of a name for a new baby boy due in June. My favorites (Wolfgang and Otto) are out. Any ideas? I already have a Linus.
Larkfarm's Weblog Madness has list of weblogging software tools. So does DMOZ. However, these lists do not differentiate between open and closed source products. I just submitted blosxom an CocoBlog to both of these lists.
I've gotten a lot of nice email about Roller (thanks!), and lots of folks have downloaded Roller, but I still have not heard that anybody has actually installed and used Roller.
If you have gotten Roller up and running, I would love to hear about it. Conversely, if you had problems getting Roller up and running, don't just give up and curse that damn Dave - send me an email and / or file some bug reports.
Roller 0.9.1 is now available. I fixed a couple of bugs and made some general improvements in database connection usage (the release notes cover the specifics).
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.
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
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.
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.
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.
About this blog
I'm Dave Johnson. I'm a software developer, open web advocate, blogger and web geek from Raleigh, North Carolina. I work for Wayin on the Wayin Hub engineering team. I'm also a member of the Apache Software Foundation and PMC chair for Apache Roller, an open source and Java-based that I developed back in 2002.
Below are some of the presentations and other technical writing that I have done over the past 10 years or so.
Presentations
- DevOps at Wayin: Orchestration with AWS Cloud Formation
Presented at Triangle DevOps/AWS meet-up at Argyle Social, 2013 in Durham, NC - Introduction to Linked Data
Presented at BarCampRDU 2010, Raleigh, NC - OSLC and Jazz
Presented at IBM Rational's Innovate 2010 conference, Orlando, FL - What's new in Apache Roller 5.0
Presented at ApacheCon US 2009 in Oakland, CA - What's up with OpenSocial
Presented at BarCampRDU 2009, Raleigh, NC - Shindig for Blogs and Wikis (PDF)
Presented at ApacheCon EU 2009, Amsterdam, Netherlands - Introducing Project SocialSite (PDF)
Presented at JavaOne 2008, San Francisco, CA - Advanced Roller (PDF)
Presented at ApacheCon EU 2008, Amsterdam, Netherlands - Apache Roller and blogs as a web development platform (PDF)
Presented at ApacheCon US 2007, Atlanta, GA -
Beyond Blogging: Feeds in Action (PDF)
Presented at JavaOne 2007, San Francisco, CA -
Understanding feeds and publishing protocols (PDF)
Preented at Triangle XML Conference 2006, Raleigh, NC -
Roller: an open source Java EE blogging platform (PDF)
Presented at ApacheCon US 2006, Austin, TX
Publications
- OSLC Core Specification
Finalized May 2011 - OSLC Tutorial
Published May 2011 - RSS and Atom in Action: Web 2.0 Building Blocks
Published by Manning, 2006 - Pro JSP 2.0
Originally published by WROX, 2003 - Building an Open Source J2EE Weblogger
Originally pushed on the O'Reilly OnJava site
« Previous page | Main | Next page »