Blogging Roller

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


Two words you don't often see together

are FreeRoller and fast.

<a href= "http://freeroller.net/page/nic/20030909#freeroller_net_snappy_and_fast"> Nic: freeroller.net snappy and fast!
That is nice to hear, but will it still be snappy and fast after 24 hours?
<a href= "http://freeroller.net/page/aspinei/20030909#freeroller_finds_cure_to_it"> Aspenei: Someone, oh please !, someone tell me how did FreeRoller became so snappy overnight. If only I'd be able to implement such performance improvements in my customer's apps i'll instantly become their Java Consultant God (TM) or something.

The answer is Roller 0.9.8 which includes better usage of Hibernate, Hibernate/JCS caching, database indices, and numerous small fixes and improvements made over the last couple of months by the Roller team.

Tags: Roller

Roller 0.9.8-dev made it through the night.

I upgraded FreeRoller to Roller 0.9.8-dev last night. The upgrade went well. FreeRoller is noticably faster and, more importantly, FreeRoller made it through the night. There are a lot of fixes in Roller 0.9.8 as you can see from the Roller <a href= "http://opensource.atlassian.com/projects/roller/secure/BrowseProject.jspa?id=10000&report=roadmap"> roadmap, but Lowem has found that there are also gotchas for folks using "undocumented" features. If Roller 0.9.8-dev continues to work well, I'll release it as Roller 0.9.8 this weekend.

Tags: Roller

Mr. Roller

will be <a href= "http://freeroller.net/page/davetest">blogging FreeRoller planned downtime, system restarts, etc.
Tags: Roller

FreeRoller plans.

Now that the guy who started FreeRoller has bailed out, I'm going to start take a little more active role in FreeRoller administration. I don't really want to be the FreeRoller administrator (Roller is my baby not FreeRoller), but I don't want to see a thousand (1507 at last count) bloggers ejected from the blogosphere either. Plus, I'm interested in solving the FreeRoller performance problems or at least understanding them.

What's the plan? I talked to the folks at JavaLobby and we agreed on a couple of things: 1) new user registration will be closed until we get a better handle on performance and 2) FreeRoller will be moving to the improved Roller 0.9.8 codebase as soon as possible.

What about the performance problems? Gavin King of Hibernate is giving us some advice on using some of Hibernate's performance features, which I will deploy (after some testing/benchmarking) to FreeRoller with the Roller 0.9.8 code base. Since Roller uses page caching so heavily, I think it is a little unlikely that the persistence layer is to blame, in fact it is more likely that OSCache is to blame (or, of course, Roller itself), but at this point I'm willing to try anything.

Want to help? Grab the Roller source and have at it.

Tags: Roller

Who is going to run FreeRoller?

Anthony bailed out, leaving FreeRoller without an administrator.

Tags: Roller

Tiles is a tough sell.

<a href= "http://jakarta.apache.org/struts/userGuide/dev_tiles.html">Tiles seems to be a tough sell in my group, which includes a bona-fide JSP and web development guru. He has some good points. Tiles promises that you can define all of your page's layouts with a couple of template files. The goal is to reduce JSP code duplication and makes it easy to apply global changes to your site. But, if your pages use a completely CSS-driven layout and your site's entire look, feel, and layout can be changed by altering a single CSS file then what does Tiles buy you? To reduce JSP code duplication a couple of header and footer includes will do. Bringing a new web developer into a project is difficult enough with the Struts learning curve. Is the added complexity of Tiles really worth it?

Tags: Java

I see it as a hobby.

<a href= "http://brainopolis.dnsalias.com/roller/page/lance/20030903#circle_blog">Lance: We continue working to make Roller faster, and to make Roller better. Some people see Roller as a product, me, I see it as a hobby. Everybody wants to be better at their hobby.
Tags: Roller

EJBs could rescue FreeRoller?

Cedric Buest suggests that EJB might be the answer to FreeRoller's scalability problems. Cedric, get BEA to donate an EJB implementation of the Roller persistence tier and a Weblogic server for the FreeRoller site and we'll do some performance tests to see how Hibernate/Roller and EJB/Roller hold up. I'll buy you a beverage no matter who wins.

Cameron Purdy is also talking about FreeRoller performance and even taking a look into the Roller code, which is good, but the problem that he identified was fixed about a month ago and that fix has been applied to FreeRoller. Cameron, please check out the latest code. The session problem you mentioned is fixed and Lance and Min have been making numerous performance fixes, but I'm sure there are other problems lurking.

Tags: General

Atom 4 U.

Lance has a new baby boy and a new open source project. He hasn't posted any baby pictures yet so I don't know what his new baby looks like, but his new open source project, Atom4J, just landed in the Roller CVS and I'm reviewing the code now.

Atom4J is a Java implementation of Atom, everybody's favorite new weblog syndication format and API. Instead of simply adding Atom support into Roller, Lance chose a more difficult and potentially more rewarding path. He released Atom4J as a standalone product that can be used to add Atom API support to any Java-based weblogging system. This is a Good Thing™. You can find out more and download Atom4J at the OSJava.org site.

Tags: Roller

A brief review of JIRA 2.4

About a year ago, Mike Cannon Brookes of Atlassian contacted me and offered to provide issue tracking for the Roller Weblogger project using JIRA, Atlassian's flagship web-based issue tracking software. I'd seen JIRA in action, so I took him up on the offer immediately. Mike set up a JIRA installation for us on an Atlassian-provided server, moved our old SourceForge bug-list into the system, and handed out usernames and passwords. We got the Atlassian legendary service, yet we didn't pay a penny.

Atlassian recently released JIRA 2.4 and to help get the word out, Mike Cannon Brookes has asked me to do a little review here on Blogging Roller. I like JIRA, so this is really no problem at all. I can give you my unbiased impressions of JIRA and the new JIRA 2.4 release without fear of retribution.

The old JIRA. First, lets talk about the old JIRA. When I started using JIRA, I was impressed by the clean, attractive, and easy to use user interface. Having worked with Scopus, PRTracker, and PVCS Tracker, nice UI was not what I had come to expect from a bug tracking system. Generally, things worked as I expected that they would and I found it was easy to tweak the settings that I needed to tweak. I added the names of the Roller components (e.g. Weblog Editor, Page Management, Installation, etc.) for issue categorization. I also added the release numbers of the previous and planned Roller releases. I've been using JIRA for a year now and it has been working well for me, it doesn't get in the way, and doesn't irritate. That is high praise for software.

The new JIRA 2.4. Roller's JIRA installation is still running the old JIRA 2.3, so to review JIRA 2.4 I had to install it myself. I downloaded the new JIRA 2.4 from the Atlassian site and installed the standalone version. The standalone version comes bundled with a copy of Tomcat 4.1 and the HSQL-DB database, so there is almost no setup. All you do is unzip, run the startup script, and point your browser at http://localhost:8080. Very cool and perfect for a quick review like this. You may also install JIRA as a standard Java Web Application Archive (WAR) or Enterprise Application Archive (EAR) and Atlassian provides step-by-step instructions for all of the major Java app servers (plus Resin and Orion). After starting up Tomcat and filling out a couple of JIRA setup screens, I had JIRA 2.4 up and running.

I created a test project and a couple of issues and found no major changes in the JIRA user-interface along the way. That makes sense. JIRA 2.4 is a minor enhancement and bug fix release. The most significant new features are a new bar-chart display for issue statistics, support for customization via the Jelly XML scripting language, and some improvements in custom field support. There are a host of other improvements and fixes. JIRA 2.4 is not a ground-breaking new release; it is a more stable, new, and improved version of the JIRA.

JIRA Limitations. There are a couple of major JIRA limitations that should be mentioned. I've seen JIRA lose a couple of deals (to TeamTrack and DevTrack) because of these limitations, so I'm hoping that Atlassian will address one or both of them in the next major release. First and foremost: out-of-the-box JIRA does not support full integration with any of the major Source Code Management (SCM) systems. The extensive JIRA API and plugin service and listener appear to provide all of the hooks customers need to implement full intregration, but missing out-of-the-box SCM integration can be a deal killer. The other limitation is the workflow. The workflow that is built into JIRA cannot be altered though the UI or through the three JIRA extension mechanisms (the API, listeners, and services). You can change the names of the issue states, but you cannot change the states and transitions in the issue workflow. This can also be a deal killer as many customers are either unwilling or unable to change their processes just to please a new software package.

Overall, JIRA is a simple, easy-to-use, and very flexible web-based issue tracking system with that provides a high-level of extensibility though Java APIs, plugins, and soon a SOAP-based web services interface. Installing JIRA is very straight-forward, the default settings are reasonable, and this allows you to get up and running quickly. JIRA sports some innovative features like voting and RSS feeds for issue events, but JIRA does not try to do as much as more complex, expensive issue tracking systems like TeamTrack. JIRA has a couple of major limitations, but the JIRA pricing helps to make up for those limitations. You can get a JIRA server license that allows unlimited users for the price of a couple of TeamTrack client licenses. If you want a low-cost and highly extensible web-based issue tracker for your software project then you should take a close look at JIRA.

Tags: Java

New theme.

I finally got around to uploading my new theme. It's called Bluebar.

Tags: Roller

Lilac breasted roller.

Courtesy of <a href= "http://gianfvil.gamersrevolt.it/Zimbabwe/Lilac-breasted%20roller%202.htm">Guiliano and Silvio.
Tags: Roller

Min wants to make Roller as easy to install as Blojsom.

Everybody has trouble installing Roller and it's really not Roller's fault. I lay all of the blame on DBCP. That's a lame excuse, I know. Anyhow... Min has a plan to build an awesome Roller installer. Go Min!

And, speaking of Blojsom: Blojsom 2.0 was released today. Coincidentally, Blojsom co-developer David Czarnecki bumped up his revision number too. Happy Birthday David!

Tags: Roller

Dreamweaver: what's the point?

I've been evaluating Dreamweaver MX 6.1 for 16 days now. I downloaded the 30-day trial, so I have 14 more days to figure this out. For a Java web application developer, what is the point of Dreamweaver?

I already have a couple of favorite code/text editors and access to simple Wysiwyg HTML editors like Mozilla Composer and Open Office, so I've got simple HTML editing pretty well covered. What I would like from a high end web application development tool like Dreamweaver is full Wysiwyg support for JSP, for custom JSP form tags like those in Struts, for page templating/layout systems like Struts Tiles, and for CSS-based layouts. So far, Dreamweaver has fallen short:

  • Dreamweaver doesn't support Struts (or Webwork, I assume) custom JSP form tags. Sure, Dreamweaver supports custom JSP tags, but support only goes so far. You can use the taglib directive and you can place custom tags on the page, but they show up as invisible elements or tiny icons. So, if you are using the Struts form tags such as <html:form>, <html:text>, and <html:submit> instead of the standard HTML form tags, then your form will not look like a form in Dreamweaver.
  • Dreamweaver's support for CSS-based layouts support is a little flakey. Sites that look fine in MS Internet Explorer and Netscape7/Mozilla don't always look quite right in Dreamweaver. If you want to use Dreamweaver to design a site with CSS-based layout, then you are effectively adding a third browser to your support matrix. Not only do you have to make your pages pixel-perfect in IE and Netscape, now you have to please Dreamweaver's HTML renderer as well.
  • Site template/layout frameworks like Struts Tiles (or Open Symphony Sitemesh, I assume) don't work well in Dreamweaver. The Struts Tiles tags don't show up in Dreamweaver, so there is no way to view your pages in the Dreamweaver design view.

In addition to HTML editing, Dreamweaver also supports multiple server technologies including JSP, ASP, ASP.NET, PHP, and ColdFusion. I would imagine that developing, maintaining, and supporting a full-featured HTML editor and web application development environment like Dreamweaver is a huge engineering effort. Maybe that explains why JSP support is so shallow.

I hope I am missing something here. If you find Dreamweaver MX useful for JSP development in this age of MVC frameworks like Struts, Webwork, and others, then I'd like to hear from you. Are there any Dreamweaver extensions that solve or help with some of the problems I mentioned above?

Tags: Java

See what I mean, Daypop is broken!

Apparently Struts Validator and java.math.BigDecimal is the number 1 hot topic in the weblogging community today. Take that, WebWork!

<img src="http://www.rollerweblogger.org/resources/roller/no1.png" alt="screenshot of daypop showing me at #1"/>
Tags: General

More links.

I'm working on a couple of posts and a couple of new Roller themes, but all I have for you tonight are these links:

Tags: General

Links

Tags: Links

Why

is it so difficult to get Apache HTTPD talking to Tomcat!
Tags: General

FreeRoller update.

A number of Roller performance/load fixes have been applied to FreeRoller over the last month or so including: persistence session per request, upgrade to OSCache 2.0-beta2, enabling OSCache unlimited disk cache, and upping the page cache timeouts from 1 to 3 hours. The unlimited disk cache was enabled this morning and the performance and load improvements seem to be pretty significant, but there are still reports of some 404 errors that need to be investigated.

If you display referers on your site, you'll notice the higher page cache timeouts because your referers list will only be refreshed every three hours (unless you post or manually flush your cache).

Tags: Roller

Links.

Tags: Links

« Previous page | Main | Next page »