Roller project page updates.
Roller 0.9.6.3.
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.
Resolution?
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 ;-)
Roller docs.
All kidding aside.
Spooky halloween for Roller.
Greg says the nicest things.
[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.
FreeRoller problems.
Carlos on Roller 0.9.6
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.
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.
macros.showReferers().
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.Danno on 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.
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.
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!
The problem with my HTML.
« Previous page | Main | Next page »