Blogging Roller

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


Roller project page updates.

The main Roller page now runs on Roller. The weblog portion of the page is in the right column under news.
Tags: Roller

Roller 0.9.6.3.

A new bug-fix release of Roller is now available on <a href= "http://sourceforge.net/project/showfiles.php?group_id=47722">Roller's SourceForge download site. No new features have been introduced since the original <a href= "http://www.rollerweblogger.org/page/roller/20021022#roller_0_9_6">Roller 0.9.6 release, but a <a href= "http://opensource.atlassian.com/projects/roller/BrowseProject.jspa?id=10000&report=changelog">bunch of bugs have been fixed.
Tags: Roller

Roller update.

FreeRoller seems to have stabilized, we've fixed a bunch of <a href= "http://opensource.atlassian.com/projects/roller/IssueNavigator.jspa?reset=true&decorator=printable&pid=10000&fixfor=10013&mode=hide&start=0&tempMax=1000">bugs, and I've branched Roller 0.9.6 so we can start with Roller 0.9.7 dev in the main line. I'm planning on releasing Roller 0.9.6.3 tomorrow.

Tags: Roller

FreeRoller upage continues!

Don't let it stop.
Tags: Roller

FreeRoller still up.

Looks like FreeRoller is still up. How about that!
Tags: Roller

Resolution?

Anthony has found and fixed what looks to be the source of the FreeRoller crashes. I'm keeping my fingers crossed and I will keep you posted.
Tags: Roller

Tracking down the FreeRoller problem.

We've been having a helluva time tracking down the problem that is causing <a href= "http://www.freeroller.net">FreeRoller to crash two or three times each day.  By "crash" I mean that FreeRoller gets slow, stops responding to hits on Roller's Velocity-driven pages, and eventually seems to lock up Tomcat. Once Tomcat is locked up, you will started getting "Document contains no data" errors in your browser.

Here are some of the things I've been working on to resolve this problem:

Ensure that resources are released

Roller uses Castor JDO and the Velocity DataSourceResourceLoader for all database access, so Roller has to trust those components to use and release database connections properly.  Every time Roller gets a database connection (a JDO Database object), it uses that connection within a try block and releases the connection within a finally block.

FreeRoller uses Roller on Tomcat with DBCP connection pooling <a href= "http://jakarta.apache.org/tomcat/tomcat-4.0-doc/jndi-resources-howto.html">via JNDI and the MySQL JDBC drivers. We have not be able to figure out how to configure DBCP to get debug informaiton on the number of database connections in use. If you know how to do this please drop me a line.

Ensure that exceptions are being handled properly

There were a number of places where exceptions were being blown out to Tomcat instead of being handled properly by using a response error code.  There was also one place where an exception was being thrown from within a catch block.  None of these should cause a crash, but I was guessing that perhaps one of them was tickling a Tomcat or Java VM bug.

Look for infinte loops and infinite recursion

I found and fixed an infinite loop in the error.jsp file which used itself as its own error handler.  That bug was very easy to find due to the big stack trace and stack overflow exception in the Tomcat logs.  

There could be other problems with infinite loops and recursion, but I have not found any evidence of these problems in the FreeRoller logs.  Weblog templates and weblog entries are treated as Velocity templates, so it possible that a weblog author could introduce an infinite loop or infinite recursion.  Roller tries to protect against this in the Roller macros.includePage() and macros.showWeblogEntries() directives, but we can't offer protection against a truly malicious user.

Test under heavy load

FreeRoller runs on Tomcat 4.0.6 and MySQL on Linux.  So, I setup Tomcat 4.0.6 and MySQL on my Redhat 7.1 box and tried some stress tests.  I tried using JMeter, but it kept on running out of memory.  I eventually found Openload and set it up to hit http://snoopdave/roller/page/test1 (a pretty heavy page) and http://snoopdave/roller/rss/test1 with 5 clients on each.  I configured Roller with a session and page-cache timeout of 2 minutes so that the database code gets a workout.  I ran for several hours at heavy load with no ill effects and the number of JDO Database objects never exceeded 20.

Even with a new 0.9.6.3-pre1 build of Roller that addresses the issues above, FreeRoller still had a crash today.  I'm baffled.  If you have any suggestions for testing or debugging tools or approaches, please let me know.  Free feel to browse the code ;-)

Tags: Roller

Roller docs.

I updated the <a href= "http://rollerweblogger.org/userguide/roller-ug.html">Roller user guide for 0.9.6. It is not perfect, but it is better than nothing. I also posted the <a href= "http://www.rollerweblogger.org/javadoc/index.html">Javadocs for Roller.
Tags: Roller

All kidding aside.

I feel bad about the FreeRoller outage. I still don't know what the problem is, but I can't help but blame myself. I really appreciate the fact that Anthony Eden is hosting Roller at FreeRoller and giving me the opportunity to see how Roller scales with lots of users. I hope Anthony and everybody else will have patience as we try to track down this problem. I miss those blogs!
Tags: Roller

Spooky halloween for Roller.

Apparently some very evil spirits still lurk deep in the heart of Roller. My attempts at exorcism have failed. I soaked error.jsp in holy water and was able to save FreeRoller from the grasp of the stack-overflow demons, but there is still something wicked going on. FreeRoller is still crash thrashing up and down. Maybe a fresh new build (0.9.6.3-pre) will rid us of the goblins.
Tags: Roller

Greg says the nicest things.

Greg recently moved off of FreeRoller to his own site at http://greg.klebus.com/blog. He left FreeRoller, but apparently not because he disliked Roller. Thanks Greg!
[thanks to] Dave Johnson and Roller contributors: Matt Raible, Lance Lavandowska. I must admit Roller v. 0.9.6.x seriously kicks ass. It's awesome. Great work. I had been tempted to install Roller on my webserver, but finally decided that the simpler application would be more appropriate.
Tags: Roller

FreeRoller problems.

FreeRoller has been up and down for the past couple of days. After looking at the logs, I that believe Roller has been going into an infinite loop of recursion because Roller's error page error.jsp declares itself to be it's own error page. When an error occurs on error.jsp, error.jsp is called where an error occurs and error.jsp is called where an error occurs and so on and so on. I'm not sure what the first error is or what the error on error.jsp is, but I've given FreeRoller a new error.jsp that should have better behavior. Maybe the new error.jsp will also reveal the root of the problem.
Tags: Roller

Carlos on Roller 0.9.6

Carlos likes the new Roller start page and suggests a much needed enhancement: a spellchecker. Also, Carlos noticed that cut-and-paste do not work in the <a href= "http://www.rollerweblogger.org/page/roller/20020920#we_now_resume_our_normally">Ekit HTML editor. You can fix that by putting the ekitapplet.jar in your JRE's lib/ext directory so that it is trusted and thereby allowed to cut-and-paste.

Wow, freeroller has been upgraded! I love the latest front page. . Finally, I can see at a glance which webblogs have a lot of viewership. As expected Rickard's one is on the top of the list. Speaking about improvements to Roller, I saw the otherday Jazzy an LGPL spellchecker written in Java. oh no...looks like this editor blew away what I was writing, furthermore, cut and paste doesn't seem to work.[<a href= "http://www.freeroller.net/page/ceperez/20021024#roller_improvements_and_freeroller_upgrade">Carlos E. Perez]

I'm not sure why Ekit blew away Carlos' writing, but I have noticed that the Java plugin can be pretty unstable. On my work machine, Mozilla locks up just about every other time I post with Ekit but on my home machine (same OS, same JVM, and same Mozilla versions) I never see this problem.

Tags: Roller

Ignoring referers

Roller 0.9.6's referer tracker already ignored hits from pages in the same weblog, now <a href= "http://brainopolis.dnsalias.com/roller/page/lance/">Lance has added an ignoreHosts option so that a Roller admin can configure Roller to ignore hits from different hosts. That is cool, but I want a little mre control over what should be ignored. For example, I got hits today from file://<some file path>/penis.htm today. Ouch!

I think the Roller referer tracker needs a both ignoreStartsWith and ignoreContaining parameters (each being a list). You could use ignoreStartsWith to ignore hits from your own host, other hosts, and from protocols such as file: or mailto:. You could use ignoreContaining to ignore hits coming in from URLs containing certain keywords.

Searching on ignoring referers I found an interesting post from Mark Pilgrim about <a href= "http://diveintomark.org/archives/2002/03/04.html#full_disclosure">an old Manila bug and the importance of properly escaping HTML displayed from referers. I think I need to address this issue in both the Roller Editor UI and macros.showReferers().
Tags: Roller

Roller 0.9.6 status.

FreeRoller.net and now Matt Raible have upgraded to Roller 0.9.6.1. There is also a <a href= "http://prdownloads.sourceforge.net/roller/roller-0.9.6.2.tar.gz?download">Roller 0.9.6.2 release that fixes one additional glitch. The release looks good and I encourage you to upgrade now if you want to try all the new Roller features.

Matt and I have noticed one small problem with Roller's RSS output. If you have HTML in your Roller website description or in your weblog entry titles, you may produce an invalid RSS feed. A later Roller 0.9.6.x release will fix this problem by removing all HTML from website description and weblog entry title elements in the RSS output.
Tags: Roller

Danno on Roller

<a href= "http://www.freeroller.net/page/shemnon/20021024#roller_upgrade_thank_s_anthony">Danno Ferrin commented on the new Roller features today. He likes the HTML editor, the new validating RSS2 feeds, and the referers macro.
Tags: Roller

Roller 0.9.6

UPDATE: Roller 0.9.6 looks good and <a href= "http://www.freeroller.net">FreeRoller.net is up and running with it.

I'm happy to announce the release of The Roller Weblogger Version 0.9.6. This release adds better support for multi-user sites like FreeRoller, lots of weblog editing enhancements, new macros, valid RSS 2.0 output, and support for creating pages that validate as HTML 4 or XHTML1. Also, <a href= "http://opensource.atlassian.com/projects/roller/BrowseProject.jspa?id=10000&report=changelog">lots of bugs were fixed. Thanks to committers Lance Lavandowska (LL) and Matt Raible (MR). Thanks to all the folks who participated on the devlist, reported bugs, as well as those who made suggestions and complaints regarding Roller. Special thanks go to my darling wife who puts up with all of this nonsense.

You can download Roller 0.9.6 at SourceForge (thanks VA Software!). Make your contribution to Roller by reporting any problems that you find to Roller's <a href= "http://opensource.atlassian.com/projects/roller/BrowseProject.jspa"> JIRA issue tracker (thanks <a href= "http://www.atlassian.com">Atlassian!).

Here are some more convenient download links:

<a href= "http://prdownloads.sourceforge.net/roller/roller-0.9.6.2.tar.gz?download"> roller-0.9.6.2.tar.gz - All you need to run Roller (on Tomcat)
Summary of new features:

   Multi-user :    
   - Admin UI for deleting users (LL)
   - New start page with sortable table of all weblogs on the site (LL)
   - Referer ranking table, page and RSS hit counter in Editor UI (DJ)
   - Plugin authenticator (DJ)
   
   Weblog editing enhancements:
   - Option to save weblog entries without publishing them (LL)
   - Better control over weblog entry publish date (LL)
   - Supports creation of websites that validate as HTML4 or XHTML1 (MR)
   - Ekit HTML editor applet is available as an option to users (DJ)
   - Mitchell's DHTML editor now available as an option to IE users (LL)
   
   New and improved macros:
   - Referer ranking macro with page and RSS hit counter (DJ)
   - Big Calendar macro shows month-view with entries for each day (DJ)
   - Control over number of weblog entries displayed (DJ)
   - Protection from recursion in includePage and showWeblogEntries (DJ)
   - Expand/collapse feature in Bookmark and Newsfeed macros (MR)
   
   RSS related features:
   - Syndicator now outputs RSS 2.0 (DJ)
   - Multiple RSS feeds for each weblog, one for each category (DJ)
   - RSS feeds available with full-text or excerpts only (DJ)
   - RSS aggregation features may now be disabled (DJ)
The User Guide has not yet been updated, but it will be.
Tags: Roller

Ekit works as well.

Now I'm testing the Ekit editor. Looks good! This time I'll comment on Russell's comment about the "whiny biatches out there in blogland" who complain about Jakarta.  Right on Russell!  I totally agree.  The good stuff produced by Apache and Jakarta far outweighs the bad.  Every big organization is going to have politics and a jackass or two, that's just human nature.

Tags: Roller

Does your RSS fee validate?

This is a brand new RSS validator, built from the ground up to support all versions of RSS (but optimized for RSS 2.0). Previous efforts (RSS 0.91, RSS 1.0) were either not comprehensive, or not user-friendly; this validator attempts to be both. The interactive web front end is available now; XML-RPC, SOAP, and XML-over-HTTP interfaces are coming. Concept, web design, and 300 test cases by me. Coding by Sam Ruby. And of course it's open source.[<a href= "http://diveintomark.org/archives/2002/10/22.html#rss_validator">diveintomark.org]
Awesome! Roller 0.9.6's RSS feed <a href="http://feeds.archive.org/validator/check.cgi?url=http://www.rollerweblogger.org/rss/roller ">validates as RSS 2.0! Thanks to Mark Pilgrim and Sam Ruby for this much needed new service!
Tags: Roller

The problem with my HTML.

The other day, Matt Raible wrote to tell me that my weblog which claimed via DOCTYPE to be XHTML, would not validate as XHTML. Then I realized that it wouldn't even validate as HTML. It was nothing, a jumbled mess of angle-brackets and unquoted attributes. How embarrassing. I tried to fix this yesterday, but the best I could do was HTML 4.01 Transitional. Still, it is nice to validate as something.
Tags: Roller

« Previous page | Main | Next page »