Contribute to the DSpace Development Fund

The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.

This page was established in response to RobertTansley. Rob's dissatisfaction with servlets and jsps for the DSpace web UI. We have the opportunity now to make an unencumbered decision about what tools we want to use for DSpace moving forward, and probably have a wealth of experience in the community with different frameworks to help us make it.

Please fill in the gaps and add others.

Contents

Struts

Jim's analysis

This is out of date: was written in the bad old struts1 days. Struts2 based on webworks should be a lot smoother, but I haven't tried it yet. Ojd20 03:32, 16 November 2006 (EST)

Been using Struts for a couple of years. It's better than raw servlets / jsps, but I wouldn't defend its name to the death, put it that way.

Pro

  • Decent form handling.
  • Templating (via tiles) is reasonably functional but the config is ultra-verbose.
  • Everybody and his dog uses it, so good support.

Minus

  • Doesn't scale well with application complexity (mainly because of the horrible config files).
  • Doesn't help you write reusable code.
  • No pipeline (managing resources is consequently a pain)

Webworks

Cocoon

Tapestry

Jim's analysis

Tapestry looks really good to me - it has really clean MVC separation (unlike the pretend separation in struts and the ilk). Templates are valid html (or valid xml), which enables WYSIWYG editing of the View (as per Barracuda and Zope TAL). L10N of templates, assets (stylesheets and images) and messages are all easy. The main advantage/disadvantage in developing in it is that you get to Java really quickly, there isn't a thick binding layer of weird XML formats in between the presentation layer and the model. This has two downsides 1) it's easy to get sucked into putting model code in the controllers 2) Java scares some people more than weird XML schemas. Ojd20 03:34, 16 November 2006 (EST)

  • No labels