<?xml version="1.0" encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="https://raibledesigns.com/roller-ui/styles/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom">
    <title type="html">Raible Designs</title>
    <subtitle type="html">Raible Designs is an Enterprise Open Source Consulting company. We specialize in UI and Full Stack Architectures using HTML5, CSS, JavaScript and Java. We love HTML5, Angular, Bootstrap, Spring Boot, and especially JHipster.</subtitle>
    <id>https://raibledesigns.com/rd/feed/entries/atom</id>
            <link rel="self" type="application/atom+xml" href="https://raibledesigns.com/rd/feed/entries/atom?tags=struts" />
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/" />
        <updated>2026-03-30T03:31:45-06:00</updated>
    <generator uri="http://roller.apache.org" version="5.0.3 (1388864191739:dave)">Apache Roller (incubating)</generator>
        <entry>
        <id>https://raibledesigns.com/rd/entry/comparing_kick_ass_web_frameworks</id>
        <title type="html">Comparing Kick-Ass Web Frameworks at The Rich Web Experience</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/comparing_kick_ass_web_frameworks"/>
        <published>2009-12-04T08:16:48-07:00</published>
        <updated>2014-05-08T19:47:19-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="jobs" scheme="http://roller.apache.org/ns/tags/" />
        <category term="gwt" scheme="http://roller.apache.org/ns/tags/" />
        <category term="richwebexperience" scheme="http://roller.apache.org/ns/tags/" />
        <category term="richweb" scheme="http://roller.apache.org/ns/tags/" />
        <category term="trends" scheme="http://roller.apache.org/ns/tags/" />
        <category term="flex" scheme="http://roller.apache.org/ns/tags/" />
        <category term="struts" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rails" scheme="http://roller.apache.org/ns/tags/" />
        <category term="grails" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Yesterday, I delivered my &lt;a href=&quot;http://www.therichwebexperience.com/conference/orlando/2009/12/session?id=15951&quot;&gt;Comparing Kick-Ass Web Frameworks&lt;/a&gt; talk at the Rich Web Experience in Orlando, Florida. Below are the slides I used:&lt;/p&gt;
&lt;div style=&quot;text-align:center; margin-bottom: 10px&quot; id=&quot;__ss_2644393&quot;&gt;
&lt;object style=&quot;margin:0px&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=comparingkickasswebframeworks-091203145644-phpapp02&amp;stripped_title=comparing-kick-ass-web-frameworks&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed src=&quot;//static.slidesharecdn.com/swf/ssplayer2.swf?doc=comparingkickasswebframeworks-091203145644-phpapp02&amp;stripped_title=comparing-kick-ass-web-frameworks&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;/div&gt;
&lt;p&gt;Although it&apos;s difficult to convey a presentation in a slide deck, I can offer you my conclusion: &lt;a href=&quot;http://java.dzone.com/news/there-no-best-web-framework&quot;&gt;there is no &quot;best&quot; web framework&lt;/a&gt;. I believe web frameworks are like &lt;a href=&quot;http://www.ted.com/talks/malcolm_gladwell_on_spaghetti_sauce.html&quot;&gt;spaghetti sauce&lt;/a&gt; in that everyone has different tastes and having so many choices is necessary to satisfy everyone. You can read more about the &lt;em&gt;plural nature of perfection&lt;/em&gt; in Malcolm Gladwell&apos;s &lt;a href=&quot;http://www.gladwell.com/2004/2004_09_06_a_ketchup.html&quot;&gt;The Ketchup Conundrum&lt;/a&gt; (a written version of &lt;a href=&quot;http://www.ted.com/talks/malcolm_gladwell_on_spaghetti_sauce.html&quot;&gt;What we can learn from spaghetti sauce&lt;/a&gt;). Even though there is no &quot;best&quot; web framework, I believe GWT, Flex, Rails and Grails are frameworks that every web developer should try. They really do make it fun to develop web applications.
&lt;/p&gt;
&lt;p&gt;You can find the slides for my other RWE talk at &lt;a href=&quot;http://raibledesigns.com/rd/entry/building_sofea_applications_with_gwt&quot;&gt;Building SOFEA Applications with GWT and Grails&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
Kudos to &lt;a href=&quot;http://www.nofluffjuststuff.com&quot;&gt;Jay Zimmerman&lt;/a&gt; for putting on a great show in Orlando this year. I had a great time talking with folks and learning in the sessions I attended. I particularly enjoyed bringing my parents and kids and staying at such a nice resort. Disney World (Magic Kingdom) and Universal Studios was very enjoyable due to the short lines. Also, the weather was perfect - especially considering the freezing cold in Denver this week. &lt;img src=&quot;https://raibledesigns.com/images/smileys/wink.gif&quot; class=&quot;smiley&quot; alt=&quot;;-)&quot; title=&quot;;-)&quot; /&gt;</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/comparing_web_frameworks_book</id>
        <title type="html">Comparing Web Frameworks Book</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/comparing_web_frameworks_book"/>
        <published>2009-02-23T09:49:15-07:00</published>
        <updated>2012-11-08T14:33:13-07:00</updated> 
        <category term="/Java" label="Java" />
        <category term="zend" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rubyonrails" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webframeworks" scheme="http://roller.apache.org/ns/tags/" />
        <category term="django" scheme="http://roller.apache.org/ns/tags/" />
        <category term="struts" scheme="http://roller.apache.org/ns/tags/" />
        <category term="book" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">A publisher recently sent me an e-mail asking some advice. They received a proposal for a book that compares CakePHP, Symfony, Zend, TurboGears, Django, Struts, RoR. Here&apos;s a quote from the proposal:
&lt;/p&gt;
&lt;p class=&quot;quote&quot;&gt;
We would like to compare a couple of frameworks and present their advantages and disadvantages in various applications.
&lt;br/&gt;&lt;br/&gt;
Obviously, that kind of manual would be very useful for readers who are starting their &apos;adventures&apos; with web applications, as it would facilitate their choosing the best framework for their particular application. The manuscript would offer a comparison of the most popular solutions (CakePHP, Symfony, Zend Framework, TurboGears, Django, Struts, Ruby on Rails) and demonstrate the main differences between each.
&lt;br/&gt;&lt;br/&gt;
Therefore, the target audience would mainly be project managers, responsible for deciding on the technologies to be used for in-house projects, as well as less experienced, web application beginners.
&lt;br/&gt;&lt;br/&gt;
Another purpose of the book would be to present &apos;good practices&apos; in various frameworks, such as code re-factoring, design patterns and application security. From this point of view, it could become a valuable asset for experienced and learner programmers alike.
&lt;/p&gt;
&lt;p&gt;Since I got a lot of feedback from my &lt;a href=&quot;http://twitter.com/mraible/status/1240791644&quot;&gt;tweet on this subject&lt;/a&gt;, I figured I&apos;d ask it here. 
&lt;/p&gt;
&lt;p&gt;
What do you think of such a book?&lt;/p&gt;
&lt;p&gt;
Here&apos;s my response:&lt;/p&gt;
&lt;p class=&quot;quote&quot;&gt;
How do PHP books do these days? Of the list of frameworks (CakePHP,
Symfony, Zend Framework, TurboGears, Django, Struts, Ruby on Rails), I
think there&apos;s interest in Django and Rails, but not so much the
others. And Struts sucks, so having that as a comparison is obviously
going to make it look bad. I wouldn&apos;t buy it, but I&apos;m a Java guy
that&apos;s mostly interested in web frameworks that make developing
SOFEA-based applications easier. In my mind, these are Flex and GWT.
&lt;br/&gt;&lt;br/&gt;
The book I&apos;d like to see would cover developing RESTful backends and
SOFEA front-ends. RoR, Grails or Django could be used to develop the
backend and Flex, GWT and X could be for the front-end. In reality,
this is probably a tough book to write b/c things move so fast. If you
decide to do it, I&apos;d keep it short and sweet so you can get it to
market and update it quickly.
&lt;/p&gt;
&lt;p&gt;</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/dojo_comet_support_in_java</id>
        <title type="html">Dojo/Comet support in Java Web Frameworks</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/dojo_comet_support_in_java"/>
        <published>2008-12-18T15:58:37-07:00</published>
        <updated>2014-05-08T19:47:19-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="dojo" scheme="http://roller.apache.org/ns/tags/" />
        <category term="struts" scheme="http://roller.apache.org/ns/tags/" />
        <category term="wicket" scheme="http://roller.apache.org/ns/tags/" />
        <category term="tapestry5" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="tapestry" scheme="http://roller.apache.org/ns/tags/" />
        <category term="comet" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webframeworks" scheme="http://roller.apache.org/ns/tags/" />
        <category term="struts2" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;a href=&quot;http://dojotoolkit.org/&quot; title=&quot;Dojo Toolkit&quot;&gt;&lt;img src=&quot;//farm4.static.flickr.com/3283/3118492275_8d4cb574d5_t.jpg&quot; width=&quot;100&quot; height=&quot;66&quot; alt=&quot;Dojo Logo&quot; class=&quot;picture&quot; style=&quot;border: 0; margin-top: -10px&quot; /&gt;&lt;/a&gt;
This week I&apos;m doing a research project for a client. The main purpose of the project is to find out which Java-based web framework works best with Dojo and Comet. Here&apos;s the key requirement from the client:&lt;/p&gt;
&lt;p class=&quot;quote&quot;&gt;
It&apos;s all about Comet, we want Comet everywhere we can put it, but we want to isolate the icky bits of fiddling with pages with JavaScript. We&apos;re kind of wed to the Dojo implementation of the client-side bit, so we may as well use more of the Dojo widgets for a richer UI. For us, &quot;works best with&quot; needs to pay a certain amount of consideration to &quot;fits naturally with&quot;, if you understand what I mean. I know that any framework that lets you spit out raw HTML will let you hand code in your Dojo / Comet, but that&apos;s certain to become very tiresome very quickly.&lt;/p&gt;
&lt;p&gt;The candidate frameworks they asked me to look at are &lt;a href=&quot;http://wicket.apache.org&quot;&gt;Wicket&lt;/a&gt; and &lt;a href=&quot;http://tapestry.apache.org&quot;&gt;Tapestry 5&lt;/a&gt;. They&apos;re willing to upgrade to Struts 2 since they&apos;re already using Struts 1. However, they don&apos;t feel that action-based frameworks naturally lead to rich UIs, so they&apos;d prefer a component-based framework. They&apos;re currently using &lt;a href=&quot;http://seamframework.org&quot;&gt;Seam&lt;/a&gt; for an administration-type application and feel it&apos;s too heavy for their customer-facing application.&lt;/p&gt;
&lt;p&gt;Here&apos;s what I&apos;ve found so far in my research. Please let me know if anything is incorrect.
&lt;ul&gt;
&lt;li&gt;Tapestry 5 doesn&apos;t have Dojo or Comet support (Prototype and Scriptaculous are the &lt;a href=&quot;http://tapestry.apache.org/tapestry5/tapestry-core/guide/ajax.html&quot;&gt;baked-in Ajax frameworks&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Struts 2 has old (version 0.4.3) and somewhat deprecated &lt;a href=&quot;http://struts.apache.org/2.0.11/docs/ajax-tags.html&quot;&gt;Dojo support&lt;/a&gt;. The developers seem to be in favor of removing it and promoting people hand-code Dojo instead. Struts 2 doesn&apos;t have support for Comet.&lt;/li&gt;
&lt;li&gt;Wicket has &lt;a href=&quot;http://wicketstuff.org/confluence/display/STUFFWIKI/wicketstuff-dojo-1.1&quot;&gt;support for Dojo 1.1 that includes Comet support&lt;/a&gt;. This was written by Stefan Fu&#223;enegger and &lt;a href=&quot;http://www.nabble.com/Dojo-1.1-integration-available-from-wicketstuff-td20625220.html#a20625220&quot;&gt;posted to the mailing list last month&lt;/a&gt;. I e-mailed Stefan and asked him about documentation. His response: &quot;I lost my ambition to document it properly since I didn&apos;t receive any feedback on the mailing list. :)&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;At this point, it seems that if the client &lt;em&gt;really&lt;/em&gt; wants to use Dojo, they should use Wicket, and possibly pay Stefan to document it properly. However, they&apos;re willing to consider other options, as long as they have Comet support.
&lt;/p&gt;
&lt;p&gt;
One option I thought of is to use DWR and its &lt;a href=&quot;http://directwebremoting.org/dwr/reverse-ajax&quot;&gt;Reverse Ajax/Comet support&lt;/a&gt;. Another option would be to add better Dojo support to Tapestry 5. However, I don&apos;t think this is possible since the Prototype/Scriptaculous code is generated by the framework and would likely require a changes to switch it to Dojo. 
&lt;/p&gt;
&lt;p&gt;Are there any other Java-based web frameworks that support easily creating Dojo widgets and working with Comet? &lt;a href=&quot;http://www.springsource.com/people/kdonald&quot;&gt;Keith Donald&lt;/a&gt; tweeted that &lt;a href=&quot;http://twitter.com/kdonald/status/1064067717&quot;&gt;Spring MVC has Dojo support&lt;/a&gt;. However, I believe it&apos;s only for widgets and it still requires you to write JavaScript. If your framework doesn&apos;t have Dojo/Comet support, how hard would it be to add it?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I also posted this question on LinkedIn. Make sure and check &lt;a href=&quot;http://www.linkedin.com/answers/technology/web-development/TCH_WDD/385881-5747&quot;&gt;my question&lt;/a&gt; for additional thoughts from folks.</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/appfuse_light_1_8_2</id>
        <title type="html">AppFuse Light 1.8.2 Released</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/appfuse_light_1_8_2"/>
        <published>2008-05-11T22:16:17-06:00</published>
        <updated>2014-05-08T19:47:19-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="appfuse" scheme="http://roller.apache.org/ns/tags/" />
        <category term="wicket" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jdo" scheme="http://roller.apache.org/ns/tags/" />
        <category term="hibernate" scheme="http://roller.apache.org/ns/tags/" />
        <category term="springmvc" scheme="http://roller.apache.org/ns/tags/" />
        <category term="freemarker" scheme="http://roller.apache.org/ns/tags/" />
        <category term="springjdbc" scheme="http://roller.apache.org/ns/tags/" />
        <category term="struts" scheme="http://roller.apache.org/ns/tags/" />
        <category term="velocity" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ibatis" scheme="http://roller.apache.org/ns/tags/" />
        <category term="css" scheme="http://roller.apache.org/ns/tags/" />
        <category term="stripes" scheme="http://roller.apache.org/ns/tags/" />
        <category term="myfaces" scheme="http://roller.apache.org/ns/tags/" />
        <category term="acegi" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jpox" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ojb" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ajax" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jsp" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">AppFuse Light 1.8.2 is a bug fixes release that includes upgrades for Spring, Spring Security, Hibernate, Wicket, Tapestry and many others. In addition, Spring bean definitions were replaced with annotations (@Repository, @Service and @Controller). See the &lt;a href=&quot;http://tinyurl.com/6m5kjx&quot;&gt;Release Notes&lt;/a&gt; for more information on what&apos;s changed since the &lt;a href=&quot;http://raibledesigns.com/rd/entry/appfuse_light_1_8_1&quot;&gt;last release&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
AppFuse Light now offers 60 possible combinations for &lt;a href=&quot;https://appfuse-light.dev.java.net/servlets/ProjectDocumentList?folderID=9159&quot;&gt;
download&lt;/a&gt;:
&lt;/p&gt;
&lt;ul class=&quot;glassList&quot;&gt;&lt;li&gt;&lt;strong&gt;Web Frameworks:&lt;/strong&gt; JSF (MyFaces), Spring MVC (with
Ajax, Acegi Security, JSP, FreeMarker or Velocity), Stripes, Struts
1.x, Struts 2.x, Tapestry, WebWork, Wicket&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Persistence Frameworks:&lt;/strong&gt; Hibernate, iBATIS, JDO (JPOX), OJB, Spring JDBC&lt;/li&gt;&lt;/ul&gt;
&lt;p style=&quot;text-align: center; color: #666&quot;&gt;
&lt;a href=&quot;http://static.raibledesigns.com/repository/images/appfuse-light-1.8-beta.gif&quot; rel=&quot;lightbox&quot; title=&quot;Screenshot of 1.8 with CSS Framework&quot;&gt;&lt;img src=&quot;//static.raibledesigns.com/repository/images/appfuse-light-1.8-beta_sm.gif&quot; width=&quot;300&quot; height=&quot;225&quot; alt=&quot;AppFuse Light Screenshot - click on the box at the bottom right of AL to activate StyleSheet Switcher&quot; style=&quot;border: 1px solid silver&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
If you have any questions about this release, please subscribe to the AppFuse user mailing list by sending a blank e-mail to 
&lt;a href=&quot;mailto:users-subscribe@appfuse.dev.java.net&quot;&gt;users-subscribe@appfuse.dev.java.net&lt;/a&gt;. You can also post questions in a forum-like fashion using Nabble: &lt;a href=&quot;http://appfuse.org/forums&quot;&gt;http://appfuse.org/forum/user&lt;/a&gt;.
</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/appfuse_light_1_8_1</id>
        <title type="html">AppFuse Light 1.8.1 Released: includes upgrades to Spring 2.5 and Wicket 1.3</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/appfuse_light_1_8_1"/>
        <published>2007-11-29T09:28:06-07:00</published>
        <updated>2014-05-08T19:47:19-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="freemarker" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jdo" scheme="http://roller.apache.org/ns/tags/" />
        <category term="struts" scheme="http://roller.apache.org/ns/tags/" />
        <category term="hibernate" scheme="http://roller.apache.org/ns/tags/" />
        <category term="appfuse" scheme="http://roller.apache.org/ns/tags/" />
        <category term="springmvc" scheme="http://roller.apache.org/ns/tags/" />
        <category term="wicket" scheme="http://roller.apache.org/ns/tags/" />
        <category term="springjdbc" scheme="http://roller.apache.org/ns/tags/" />
        <category term="velocity" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ajax" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jsp" scheme="http://roller.apache.org/ns/tags/" />
        <category term="stripes" scheme="http://roller.apache.org/ns/tags/" />
        <category term="css" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jpox" scheme="http://roller.apache.org/ns/tags/" />
        <category term="myfaces" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ojb" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ibatis" scheme="http://roller.apache.org/ns/tags/" />
        <category term="acegi" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;a href=&quot;http://appfuse-light.dev.java.net&quot;&gt;AppFuse Light&lt;/a&gt; 1.8.1 is a bug fixes release that includes an upgrade to Spring 2.5 and Wicket 1.3 RC1. See the &lt;a href=&quot;http://tinyurl.com/2r4fd8&quot;&gt;Release Notes&lt;/a&gt; for more information on what&apos;s changed since the &lt;a href=&quot;http://raibledesigns.com/rd/entry/appfuse_light_1_8_released&quot;&gt;last release&lt;/a&gt;.
&lt;/p&gt;
&lt;p class=&quot;smokey&quot;&gt;
What is AppFuse Light? &lt;a href=&quot;?&quot; onclick=&quot;Effect.toggle(&apos;whatisappfuselight&apos;, &apos;blind&apos;); return false&quot;&gt;Click here&lt;/a&gt; to find out.
&lt;/p&gt;
&lt;p style=&quot;display: none; border: 1px solid #F0C000;
 background-color: #FFFFCE;
 text-align:left;
 margin-top: 5px;
 margin-bottom: 5px; padding: 10px&quot; id=&quot;whatisappfuselight&quot;&gt;
&lt;a href=&quot;http://appfuse-light.dev.java.net&quot;&gt;AppFuse Light&lt;/a&gt; is a lightweight version of &lt;a href=&quot;http://appfuse.org&quot;&gt;AppFuse&lt;/a&gt;.
        I was inspired to create it while writing &lt;a href=&quot;http://springlive.com&quot;&gt;Spring Live&lt;/a&gt; and 
        looking at the &lt;em&gt;struts-blank&lt;/em&gt; and &lt;em&gt;webapp-minimal&lt;/em&gt; 
        applications that ship with Struts and Spring, respectively.
        These &quot;starter&quot; apps were not robust enough for me, and I wanted 
        something like AppFuse, only simpler. 
&lt;br/&gt;&lt;br/&gt;
AppFuse Light is designed to show Java Web Developers how to start
        a bare-bones webapp using a &lt;a href=&quot;http://www.springframework.org&quot;&gt;
        Spring&lt;/a&gt;-managed middle-tier backend and &lt;a href=&quot;http://www.hibernate.org&quot;&gt;
        Hibernate&lt;/a&gt; for persistence. By default, AppFuse Light uses Spring for
        its MVC framework, but you can change it to 
        &lt;a href=&quot;http://myfaces.apache.org&quot;&gt;JSF/MyFaces&lt;/a&gt;,
        &lt;a href=&quot;http://mc4j.org/confluence/display/stripes/Home&quot;&gt;Stripes&lt;/a&gt;,
        &lt;a href=&quot;http://struts.apache.org&quot;&gt;Struts 1.x&lt;/a&gt;, 
        &lt;a href=&quot;http://struts.apache.org/2.x/&quot;&gt;Struts 2.x&lt;/a&gt;,
        &lt;a href=&quot;http://opensymphony.com/webwork&quot;&gt;WebWork&lt;/a&gt;, 
        &lt;a href=&quot;http://tapestry.apache.org&quot;&gt;Tapestry&lt;/a&gt; or
        &lt;a href=&quot;http://wicket.apache.org/&quot;&gt;Wicket&lt;/a&gt;. In addition, there&apos;s a
        number of extras for Spring MVC, including &lt;a href=&quot;http://velocity.apache.org&quot;&gt;Velocity&lt;/a&gt; and &lt;a href=&quot;http://freemarker.org&quot;&gt;FreeMarker&lt;/a&gt; versions, Ajax
        support and &lt;a href=&quot;http://acegisecurity.org&quot;&gt;Acegi Security&lt;/a&gt; support.
&lt;br/&gt;&lt;br/&gt;
This project was formerly named &lt;a href=&quot;http://raibledesigns.com/rd/entry/equinox_a_k_a_appfuse1&quot;&gt;Equinox&lt;/a&gt; and has been under development since April 2004.
&lt;/p&gt;
&lt;p&gt;
AppFuse Light now offers 60 possible combinations for &lt;a href=&quot;https://appfuse-light.dev.java.net/servlets/ProjectDocumentList?folderID=8439&quot;&gt;
download&lt;/a&gt;:
&lt;/p&gt;
&lt;ul class=&quot;glassList&quot;&gt;&lt;li&gt;&lt;strong&gt;Web Frameworks:&lt;/strong&gt; JSF (MyFaces), Spring MVC (with
Ajax, Acegi Security, JSP, FreeMarker or Velocity), Stripes, Struts
1.x, Struts 2.x, Tapestry, WebWork, Wicket&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Persistence Frameworks:&lt;/strong&gt; Hibernate, iBATIS, JDO (JPOX), OJB, Spring JDBC&lt;/li&gt;&lt;/ul&gt;
&lt;p style=&quot;text-align: center; color: #666&quot;&gt;
&lt;a href=&quot;http://static.raibledesigns.com/repository/images/appfuse-light-1.8-beta.gif&quot; rel=&quot;lightbox&quot; title=&quot;Screenshot of 1.8 with CSS Framework&quot;&gt;&lt;img src=&quot;//static.raibledesigns.com/repository/images/appfuse-light-1.8-beta_sm.gif&quot; width=&quot;300&quot; height=&quot;225&quot; alt=&quot;AppFuse Light Screenshot - click on the box at the bottom right of AL to activate StyleSheet Switcher&quot; style=&quot;border: 1px solid silver&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
If you have any questions about this release, please subscribe to the AppFuse user mailing list by sending a blank e-mail to 
&lt;a href=&quot;mailto:users-subscribe@appfuse.dev.java.net&quot;&gt;users-subscribe@appfuse.dev.java.net&lt;/a&gt;. You can also post questions in a forum-like fashion using Nabble: &lt;a href=&quot;http://appfuse.org/forums&quot;&gt;http://appfuse.org/forum/user&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
If you&apos;re a developer of one of the frameworks that AppFuse Light uses - I&apos;d love a code review to make sure I&apos;m &quot;up to snuff&quot; on how to use your framework. I&apos;m also more than willing to give commit rights if you&apos;d like to improve the implementation of your framework.
&lt;/p&gt;
&lt;p&gt;Live demos are available at:
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo2.appfuse.org/appfuse-light&quot;&gt;Spring&lt;/a&gt; &amp;middot; &lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-ajax&quot;&gt;Spring + Ajax&lt;/a&gt; 
            &amp;middot; &lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-security&quot;&gt;Spring + Acegi&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-jsf&quot;&gt;MyFaces + Facelets&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-stripes&quot;&gt;Stripes&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-struts&quot;&gt;Struts 1&lt;/a&gt; &amp;middot; &lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-struts2&quot;&gt;Struts 2&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-tapestry&quot;&gt;Tapestry&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-webwork&quot;&gt;WebWork&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-wicket&quot;&gt;Wicket&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What&apos;s on tap for AppFuse Light 2.0? Here&apos;s what I&apos;m hoping to do:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Drop the seldom-used persistence frameworks: JDBC, JDO and OJB.&lt;/li&gt;
&lt;li&gt;Drop Struts 1.x and WebWork as web frameworks (replaced by Struts 2).&lt;/li&gt;
&lt;li&gt;Support the same persistence frameworks as AppFuse: Hibernate,
iBATIS and JPA.&lt;/li&gt;
&lt;li&gt;Re-use appfuse-service, appfuse-hibernate, appfuse-ibatis and
appfuse-jpa in AppFuse Light. I&apos;ll likely include the core classes
(User, Role) since AppFuse Light is more &quot;raw&quot; than AppFuse.&lt;/li&gt;
&lt;li&gt;Require Java 5.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Let me know if you disagree with any of these items or would like to see other enhancements.</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/appfuse_light_1_8_released</id>
        <title type="html">AppFuse Light 1.8 Released</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/appfuse_light_1_8_released"/>
        <published>2007-09-14T11:01:46-06:00</published>
        <updated>2014-05-08T19:47:19-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="struts" scheme="http://roller.apache.org/ns/tags/" />
        <category term="stripes" scheme="http://roller.apache.org/ns/tags/" />
        <category term="acegi" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ibatis" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jpox" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ajax" scheme="http://roller.apache.org/ns/tags/" />
        <category term="springjdbc" scheme="http://roller.apache.org/ns/tags/" />
        <category term="myfaces" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jsp" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ojb" scheme="http://roller.apache.org/ns/tags/" />
        <category term="wicket" scheme="http://roller.apache.org/ns/tags/" />
        <category term="hibernate" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jdo" scheme="http://roller.apache.org/ns/tags/" />
        <category term="freemarker" scheme="http://roller.apache.org/ns/tags/" />
        <category term="springmvc" scheme="http://roller.apache.org/ns/tags/" />
        <category term="appfuse" scheme="http://roller.apache.org/ns/tags/" />
        <category term="css" scheme="http://roller.apache.org/ns/tags/" />
        <category term="velocity" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;a href=&quot;http://appfuse-light.dev.java.net&quot;&gt;AppFuse Light&lt;/a&gt; 1.8 adds CSS Framework integration, as well as support
for Stripes (1.4.2) and Wicket (1.2.6). It also has significant upgrades for JSF and Tapestry; to versions 1.2 and 4.1.3 respectively. See the &lt;a href=&quot;http://tinyurl.com/3xuygc&quot;&gt;Release Notes&lt;/a&gt; for more information on what&apos;s changed since the &lt;a href=&quot;http://raibledesigns.com/rd/entry/appfuse_light_1_8_beta&quot;&gt;the beta release of 1.8&lt;/a&gt;.
&lt;/p&gt;
&lt;p class=&quot;smokey&quot;&gt;
What is AppFuse Light? &lt;a href=&quot;?&quot; onclick=&quot;Effect.toggle(&apos;whatisappfuselight&apos;, &apos;blind&apos;); return false&quot;&gt;Click here&lt;/a&gt; to find out.
&lt;/p&gt;
&lt;p style=&quot;display: none; border: 1px solid #F0C000;
 background-color: #FFFFCE;
 text-align:left;
 margin-top: 5px;
 margin-bottom: 5px; padding: 10px&quot; id=&quot;whatisappfuselight&quot;&gt;
&lt;a href=&quot;http://appfuse-light.dev.java.net&quot;&gt;AppFuse Light&lt;/a&gt; is a lightweight version of &lt;a href=&quot;http://appfuse.org&quot;&gt;AppFuse&lt;/a&gt;.
        I was inspired to create it while writing &lt;a href=&quot;http://springlive.com&quot;&gt;Spring Live&lt;/a&gt; and 
        looking at the &lt;em&gt;struts-blank&lt;/em&gt; and &lt;em&gt;webapp-minimal&lt;/em&gt; 
        applications that ship with Struts and Spring, respectively.
        These &quot;starter&quot; apps were not robust enough for me, and I wanted 
        something like AppFuse, only simpler. 
&lt;br/&gt;&lt;br/&gt;
AppFuse Light is designed to show Java Web Developers how to start
        a bare-bones webapp using a &lt;a href=&quot;http://www.springframework.org&quot;&gt;
        Spring&lt;/a&gt;-managed middle-tier backend and &lt;a href=&quot;http://www.hibernate.org&quot;&gt;
        Hibernate&lt;/a&gt; for persistence. By default, AppFuse Light uses Spring for
        its MVC framework, but you can change it to 
        &lt;a href=&quot;http://myfaces.apache.org&quot;&gt;JSF/MyFaces&lt;/a&gt;,
        &lt;a href=&quot;http://mc4j.org/confluence/display/stripes/Home&quot;&gt;Stripes&lt;/a&gt;,
        &lt;a href=&quot;http://struts.apache.org&quot;&gt;Struts 1.x&lt;/a&gt;, 
        &lt;a href=&quot;http://struts.apache.org/2.x/&quot;&gt;Struts 2.x&lt;/a&gt;,
        &lt;a href=&quot;http://opensymphony.com/webwork&quot;&gt;WebWork&lt;/a&gt;, 
        &lt;a href=&quot;http://tapestry.apache.org&quot;&gt;Tapestry&lt;/a&gt; or
        &lt;a href=&quot;http://wicket.apache.org/&quot;&gt;Wicket&lt;/a&gt;. In addition, there&apos;s a
        number of extras for Spring MVC, including &lt;a href=&quot;http://velocity.apache.org&quot;&gt;Velocity&lt;/a&gt; and &lt;a href=&quot;http://freemarker.org&quot;&gt;FreeMarker&lt;/a&gt; versions, Ajax
        support and &lt;a href=&quot;http://acegisecurity.org&quot;&gt;Acegi Security&lt;/a&gt; support.
&lt;br/&gt;&lt;br/&gt;
This project was formerly named &lt;a href=&quot;http://raibledesigns.com/rd/entry/equinox_a_k_a_appfuse1&quot;&gt;Equinox&lt;/a&gt; and has been under development since April 2004.
&lt;/p&gt;
&lt;p&gt;
AppFuse Light now offers 60 possible combinations for &lt;a href=&quot;https://appfuse-light.dev.java.net/servlets/ProjectDocumentList?folderID=8006&quot;&gt;
download&lt;/a&gt;:
&lt;/p&gt;
&lt;ul class=&quot;glassList&quot;&gt;&lt;li&gt;&lt;strong&gt;Web Frameworks:&lt;/strong&gt; JSF (MyFaces), Spring MVC (with
Ajax, Acegi Security, JSP, FreeMarker or Velocity), Stripes, Struts
1.x, Struts 2.x, Tapestry, WebWork, Wicket&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Persistence Frameworks:&lt;/strong&gt; Hibernate, iBATIS, JDO (JPOX), OJB, Spring JDBC&lt;/li&gt;&lt;/ul&gt;
&lt;p style=&quot;text-align: center; color: #666&quot;&gt;
&lt;a href=&quot;http://static.raibledesigns.com/repository/images/appfuse-light-1.8-beta.gif&quot; rel=&quot;lightbox&quot; title=&quot;Screenshot of 1.8 with CSS Framework&quot;&gt;&lt;img src=&quot;//static.raibledesigns.com/repository/images/appfuse-light-1.8-beta_sm.gif&quot; width=&quot;300&quot; height=&quot;225&quot; alt=&quot;AppFuse Light Screenshot - click on the box at the bottom right of AL to activate StyleSheet Switcher&quot; style=&quot;border: 1px solid silver&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
If you have any questions about this release, please subscribe to the AppFuse user mailing list by sending a blank e-mail to 
&lt;a href=&quot;mailto:users-subscribe@appfuse.dev.java.net&quot;&gt;users-subscribe@appfuse.dev.java.net&lt;/a&gt;. You can also post questions in a forum-like fashion using Nabble: &lt;a href=&quot;http://appfuse.org/forums&quot;&gt;http://appfuse.org/forum/user&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
If you&apos;re a developer of one of the frameworks that AppFuse Light uses - I&apos;d love a code review to make sure I&apos;m &quot;up to snuff&quot; on how to use your framework. I&apos;m also more than willing to give commit rights if you&apos;d like to improve the implementation of your framework.
&lt;/p&gt;
&lt;p&gt;Live demos are available at:
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo2.appfuse.org/appfuse-light&quot;&gt;Spring&lt;/a&gt; &amp;middot; &lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-ajax&quot;&gt;Spring + Ajax&lt;/a&gt; 
            &amp;middot; &lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-security&quot;&gt;Spring + Acegi&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-jsf&quot;&gt;MyFaces + Facelets&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-stripes&quot;&gt;Stripes&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-struts&quot;&gt;Struts 1&lt;/a&gt; &amp;middot; &lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-struts2&quot;&gt;Struts 2&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-tapestry&quot;&gt;Tapestry&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-webwork&quot;&gt;WebWork&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo2.appfuse.org/appfuse-light-wicket&quot;&gt;Wicket&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;smokey&quot;&gt;
Yes, I realize that 60 combinations is ridiculous. I didn&apos;t create the frameworks, I&apos;m just integrating them so you don&apos;t have to. &lt;img src=&quot;https://raibledesigns.com/images/smileys/wink.gif&quot; class=&quot;smiley&quot; alt=&quot;;-)&quot; title=&quot;;-)&quot; /&gt; 
&lt;br/&gt;&lt;br/&gt;
Unfortunately, it&apos;s a real pain to create Maven archetypes or they&apos;d all be as easy as &lt;strong&gt;mvn archetype:create&lt;/strong&gt;. Rumor is that the archetype plugin will allow you to create-from-project in the future. When that happens, I&apos;ll make sure all the combinations are available as archetypes.
&lt;/p&gt;
&lt;p&gt;</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/does_struts_2_suck</id>
        <title type="html">Does Struts 2 suck?</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/does_struts_2_suck"/>
        <published>2007-09-05T11:21:57-06:00</published>
        <updated>2014-05-08T19:47:19-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="stripes" scheme="http://roller.apache.org/ns/tags/" />
        <category term="wicket" scheme="http://roller.apache.org/ns/tags/" />
        <category term="struts2" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jsf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="springmvc" scheme="http://roller.apache.org/ns/tags/" />
        <category term="tapestry" scheme="http://roller.apache.org/ns/tags/" />
        <category term="struts" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">As far as I can tell, Struts 2 sucks. To be fair, so does Stripes. Why? Because there&apos;s no developer feedback for invalid properties or OGNL Expressions. What does this mean? It means if you fat-finger a property name, nothing happens. The OGNL exception is swallowed and you never know you did anything wrong. Furthermore, &lt;a href=&quot;http://www.nabble.com/How-can-I-tell-Struts-2-to-throw-log-exceptions-for-invalid-OGNL-Expressions-tf4100102.html#a11659700&quot;&gt;no one seems to care&lt;/a&gt;. The XWork folks will &lt;a href=&quot;http://forums.opensymphony.com/thread.jspa?messageID=187545&quot;&gt;help you build&lt;/a&gt;, but not &lt;a href=&quot;http://www.nabble.com/Re%3A-How-can-I-tell-Struts-2-to-throw-log-exceptions-for-invalid-OGNL-Expressions-p12373437.html&quot;&gt;solve the problem&lt;/a&gt;. This seems like a major deal-breaker to me, However, I also believe it can be fixed - so maybe there&apos;s hope. 
&lt;/p&gt;
&lt;p&gt;
To demonstrate the problem, I did an experiment. I used the &quot;user details&quot; page in &lt;a href=&quot;http://appfuse-light.dev.java.net&quot;&gt;AppFuse Light&lt;/a&gt; to fat-finger a property name for the following frameworks: Struts 1, WebWork, Struts 2, JSF, Spring MVC, Stripes, Tapestry and Wicket. First, I tried changing the &quot;lastName&quot; property to &quot;LastName&quot; to see if the framework&apos;s property evaluation was case-sensitive. I found that with WebWork/Struts 2, Stripes and Tapestry, the property is &lt;em&gt;not&lt;/em&gt; case-sensitive. I prefer case-sensitivity, but maybe that&apos;s because I prefer Unix over Windows. 
&lt;/p&gt;
&lt;p&gt;The 2nd thing I tried was changing &quot;lastName&quot; to &quot;pastName&quot; to see if I&apos;d get an error. An error occurred for all the frameworks mentioned, except for WebWork/Struts 2 and Stripes. This makes me believe these frameworks suck. The both use OGNL, so they &lt;em&gt;could&lt;/em&gt; blame it on that, but Tapestry uses OGNL and it presents an error message. After this small experiment, my conclusion is the following frameworks have the best developer feedback:&lt;/p&gt;
&lt;ul class=&quot;glassList&quot;&gt;
&lt;li&gt;Struts 1&lt;/li&gt;
&lt;li&gt;JSF&lt;/li&gt;
&lt;li&gt;Spring MVC&lt;/li&gt;
&lt;li&gt;Tapestry&lt;/li&gt;
&lt;li&gt;Wicket*&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;smokey&quot;&gt;* Wicket seems like it needs some work as all it presents is &quot;Internal Error&quot; and makes you dig through your log files to find the problem.&lt;/p&gt;
&lt;p&gt;Without good developer feedback, how can you have good productivity? 
&lt;/p&gt;
&lt;blockquote class=&quot;quote&quot;&gt;
Dear Struts 2 and Stripes Developers,&lt;br/&gt;&lt;br/&gt;What do you think about improving your error messages for invalid properties and expressions? Is this a feature you think you could add? We&apos;d love it if you did. 
&lt;br/&gt;&lt;br/&gt;
Sincerely, &lt;br/&gt;&lt;br/&gt;
Your Users
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;?&quot; onclick=&quot;$(&apos;#errorpagescreenshots&apos;).fadeIn(); return false&quot;&gt;Click here for some screenshots&lt;/a&gt;  of how a fat-fingered property looks in various frameworks:&lt;/p&gt;
&lt;div id=&quot;errorpagescreenshots&quot; style=&quot;display:none&quot;&gt;
&lt;p style=&quot;text-align: center&quot;&gt;
&lt;div class=&quot;smokey&quot; style=&quot;font-weight: bold; background-color: maroon; color: white&quot;&gt;JSF&lt;/div&gt;
&lt;div style=&quot;width: 528; overflow: hidden; border: 1px solid black; border-top: 0&quot;&gt;
&lt;img src=&quot;//static.raibledesigns.com/repository/images/invalidfield-jsf.png&quot;  alt=&quot;JSF&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center&quot;&gt;
&lt;div class=&quot;smokey&quot; style=&quot;font-weight: bold; background-color: blue; color: white&quot;&gt;Struts 1&lt;/div&gt;
&lt;div style=&quot;width: 528; overflow: hidden; border: 1px solid black; border-top: 0&quot;&gt;
&lt;img src=&quot;//static.raibledesigns.com/repository/images/invalidfield-struts1.png&quot;  alt=&quot;Struts 1&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center&quot;&gt;
&lt;div class=&quot;smokey&quot; style=&quot;font-weight: bold; background-color: green; color: white&quot;&gt;WebWork&lt;/div&gt;
&lt;div style=&quot;width: 528; overflow: hidden; border: 1px solid black; border-top: 0; text-align: center&quot;&gt;
&lt;img src=&quot;//static.raibledesigns.com/repository/images/invalidfield-webwork2.png&quot; width=&quot;321&quot; height=&quot;144&quot; alt=&quot;WebWork 2&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center&quot;&gt;
&lt;div class=&quot;smokey&quot; style=&quot;font-weight: bold; background-color: red; color: white&quot;&gt;Struts 2&lt;/div&gt;
&lt;div style=&quot;width: 528; overflow: hidden; border: 1px solid black; border-top: 0&quot;&gt;
&lt;img src=&quot;//static.raibledesigns.com/repository/images/invalidfield-struts2.png&quot;  alt=&quot;Struts 2&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center&quot;&gt;
&lt;div class=&quot;smokey&quot; style=&quot;font-weight: bold; background-color: orange&quot;&gt;Spring MVC&lt;/div&gt;
&lt;div style=&quot;width: 528; overflow: hidden; border: 1px solid black; border-top: 0&quot;&gt;
&lt;img src=&quot;//static.raibledesigns.com/repository/images/invalidfield-springmvc.png&quot;  alt=&quot;Spring MVC&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center&quot;&gt;
&lt;div class=&quot;smokey&quot; style=&quot;font-weight: bold; background-color: yellow&quot;&gt;Tapestry&lt;/div&gt;
&lt;div style=&quot;width: 528; overflow: hidden; border: 1px solid black; border-top: 0&quot;&gt;
&lt;img src=&quot;//static.raibledesigns.com/repository/images/invalidfield-tapestry.png&quot;  alt=&quot;Tapestry&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center&quot;&gt;
&lt;div class=&quot;smokey&quot; style=&quot;font-weight: bold; background-color: maroon; color: white&quot;&gt;Stripes&lt;/div&gt;
&lt;div style=&quot;width: 528; overflow: hidden; border: 1px solid black; border-top: 0&quot;&gt;
&lt;img src=&quot;//static.raibledesigns.com/repository/images/invalidfield-stripes.png&quot;  alt=&quot;Stripes&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center; margin-bottom: 10px&quot;&gt;
&lt;div class=&quot;smokey&quot; style=&quot;font-weight: bold; background-color: purple; color: white&quot;&gt;Wicket&lt;/div&gt;
&lt;div style=&quot;width: 528; overflow: hidden; border: 1px solid black; border-top: 0&quot;&gt;
&lt;img src=&quot;//static.raibledesigns.com/repository/images/invalidfield-wicket.png&quot;  alt=&quot;Wicket&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Stripes doesn&apos;t suck and Wicket has excellent error reporting. See &lt;a href=&quot;http://raibledesigns.com/rd/entry/does_struts_2_suck#comment6&quot;&gt;my comment below&lt;/a&gt; for more details.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 2:&lt;/strong&gt; I&apos;ve created &lt;a href=&quot;http://jira.opensymphony.com/browse/XW-557&quot;&gt;a patch&lt;/a&gt; to (hopefully) solve this issue in XWork. If you have any feedback on ways to improve this patch, I&apos;d love to hear about it.&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/appfuse_2_0_rc1_released</id>
        <title type="html">AppFuse 2.0 RC1 Released</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/appfuse_2_0_rc1_released"/>
        <published>2007-09-04T01:42:15-06:00</published>
        <updated>2014-05-08T19:47:26-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="struts" scheme="http://roller.apache.org/ns/tags/" />
        <category term="maven2" scheme="http://roller.apache.org/ns/tags/" />
        <category term="hibernate" scheme="http://roller.apache.org/ns/tags/" />
        <category term="spring" scheme="http://roller.apache.org/ns/tags/" />
        <category term="struts2" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jsf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="tapestry" scheme="http://roller.apache.org/ns/tags/" />
        <category term="springmvc" scheme="http://roller.apache.org/ns/tags/" />
        <category term="appfuse" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;a href=&quot;http://appfuse.org&quot;&gt;&lt;img src=&quot;//appfuse.dev.java.net/images/icon.gif&quot; class=&quot;picture&quot; style=&quot;border: 0&quot;&gt;&lt;/a&gt;
The AppFuse Team is pleased to announce the release of AppFuse 2.0 RC1! This release marks a huge step in the march to releasing AppFuse 2.0. This release puts the finishing touches on the &lt;a href=&quot;http://static.appfuse.org/plugins/appfuse-maven-plugin&quot;&gt;AppFuse Maven Plugin&lt;/a&gt; (AMP), which offers CRUD generation, as well as the ability to change AppFuse from &quot;embedded mode&quot; to &quot;full source&quot; (like 1.x). In addition, we&apos;ve addressed over 100 issues in preparation for the final 2.0 release. We hope to fix any bugs related to this release and release 2.0 Final in the next week or two.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;http://appfuse.org/display/APF/Demos+and+Videos&quot; title=&quot;Demos and Videos&quot;&gt;videos&lt;/a&gt; still represent how M5 works, but things have been simplified (now you don&apos;t need to run &lt;em&gt;appfuse:install&lt;/em&gt; after &lt;em&gt;appfuse:gen&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;AppFuse 2.0 is available as a Maven archetype. For information on creating a new project using this release, please see the &lt;a href=&quot;http://appfuse.org/display/APF/AppFuse+QuickStart&quot; title=&quot;AppFuse QuickStart&quot;&gt;QuickStart Guide&lt;/a&gt; or the &lt;a href=&quot;http://static.appfuse.org/movies/2.0/helloworld.mov&quot;&gt;Hello World video&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you&apos;ve used AppFuse 1.x, but not 2.x, you&apos;ll want to read the &lt;a href=&quot;http://appfuse.org/display/APF/FAQ&quot; title=&quot;FAQ&quot;&gt;FAQ&lt;/a&gt;.  Join the &lt;a href=&quot;http://appfuse.org/display/APF/Mailing+Lists&quot; title=&quot;Mailing Lists&quot;&gt;user mailing list&lt;/a&gt; if you have any questions. The &lt;a href=&quot;http://appfuse.org/display/APF/Maven+2&quot; title=&quot;Maven 2&quot;&gt;Maven Reference Guide&lt;/a&gt; has a map of Ant &amp;raquo; Maven commands. &lt;a href=&quot;http://appfuse.org/display/APF/Maven+for+Newbies&quot; title=&quot;Maven for Newbies&quot;&gt;Maven for Newbies&lt;/a&gt; might also be useful if you&apos;ve never used Maven before. There is &lt;a href=&quot;http://appfuse.org/display/APF/FAQ#FAQ-usingant&quot;&gt;some support for Ant&lt;/a&gt; in this release.&lt;/p&gt;

&lt;p&gt;For more information, please see the &lt;a href=&quot;http://appfuse.org/display/APF/Release+Notes+2.0+RC1&quot; title=&quot;Release Notes 2.0 RC1&quot;&gt;2.0 RC1 Release Notes&lt;/a&gt;. The 2.0 series of AppFuse has a minimum requirement of the following specification versions:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Java Servlet 2.4 and JSP 2.0 (2.1 for JSF)&lt;/li&gt;
	&lt;li&gt;Java 5+&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;We appreciate the time and effort everyone has put toward contributing code and documentation, posting to the mailing lists, and logging issues. &lt;/p&gt;

&lt;p&gt;We also greatly appreciate the help from &lt;a href=&quot;http://appfuse.org/display/APF/Sponsors&quot; title=&quot;Sponsors&quot;&gt;our sponsors&lt;/a&gt;, particularly &lt;a href=&quot;http://www.atlassian.com/c/NPOS/10160&quot;&gt;Atlassian&lt;/a&gt;, &lt;a href=&quot;http://contegix.com&quot;&gt;Contegix&lt;/a&gt;, &lt;a href=&quot;http://www.jetbrains.com&quot;&gt;JetBrains&lt;/a&gt;, and &lt;a href=&quot;http://www.java.net&quot;&gt;Java.net&lt;/a&gt;. Atlassian and Contegix are especially awesome: &lt;a href=&quot;http://raibledesigns.com/rd/entry/appfuse_now_powered_by_contegix&quot;&gt;Atlassian has donated licenses to all its products and Contegix has donated an entire server&lt;/a&gt; to the AppFuse project. Thanks guys - &lt;em&gt;you rock!&lt;/em&gt;
&lt;/p&gt;
&lt;p class=&quot;smokey&quot;&gt;
Comments and issues should be posted to the &lt;a href=&quot;http://www.nabble.com/-ANN--AppFuse-2.0-RC1-Released%21-tf4376078s2369.html&quot;&gt;mailing list&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I&apos;ve uploaded a &lt;a href=&quot;http://tinyurl.com/2qlst4&quot;&gt;247-page PDF version of the RC1 documentation&lt;/a&gt; to java.net. This PDF contains the relevant pages from the wiki that help you develop with AppFuse 2.0. Who knew I&apos;d end up writing another book? &lt;img src=&quot;https://raibledesigns.com/images/smileys/wink.gif&quot; class=&quot;smiley&quot; alt=&quot;;-)&quot; title=&quot;;-)&quot; /&gt;</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/open_source_web_frameworks_mailing</id>
        <title type="html">Open Source Web Frameworks&apos; Mailing List Traffic - June 2007</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/open_source_web_frameworks_mailing"/>
        <published>2007-07-26T14:12:29-06:00</published>
        <updated>2014-05-08T19:47:19-06:00</updated> 
        <category term="/Open Source" label="Open Source" />
        <category term="wicket" scheme="http://roller.apache.org/ns/tags/" />
        <category term="tapestry" scheme="http://roller.apache.org/ns/tags/" />
        <category term="flex" scheme="http://roller.apache.org/ns/tags/" />
        <category term="struts" scheme="http://roller.apache.org/ns/tags/" />
        <category term="grails" scheme="http://roller.apache.org/ns/tags/" />
        <category term="stripes" scheme="http://roller.apache.org/ns/tags/" />
        <category term="myfaces" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rubyonrails" scheme="http://roller.apache.org/ns/tags/" />
        <category term="django" scheme="http://roller.apache.org/ns/tags/" />
        <category term="gwt" scheme="http://roller.apache.org/ns/tags/" />
        <category term="openlazslo" scheme="http://roller.apache.org/ns/tags/" />
        <category term="turbogears" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webframeworks" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Who knows if these stats mean anything, but it does make a pretty graph. Current mailing list traffic leaders in the web framework space: Rails, Flex and GWT. For those frameworks with dev and users lists, these stats are from the users lists. If you find these numbers to be inaccurate, please let me know.&lt;/p&gt;
&lt;p style=&quot;text-align: center&quot;&gt;
&lt;a href=&quot;http://www.flickr.com/photos/mraible/908369176/&quot; title=&quot;Open Source Web Frameworks Communities&quot;&gt;&lt;img src=&quot;//farm2.static.flickr.com/1319/908369176_811bbca419.jpg&quot; width=&quot;500&quot; height=&quot;294&quot; alt=&quot;Open Source Web Frameworks Communities&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Here&apos;s the numbers in case you want to create your own graphs:
&lt;ul&gt;
&lt;li&gt;Rails: 4056&lt;/li&gt;
&lt;li&gt;Flex: 3558&lt;/li&gt;
&lt;li&gt;GWT: 2305&lt;/li&gt;
&lt;li&gt;Django: 1951&lt;/li&gt;
&lt;li&gt;Wicket: 1718&lt;/li&gt;
&lt;li&gt;Struts: 1689&lt;/li&gt;
&lt;li&gt;Grails: 1307&lt;/li&gt;
&lt;li&gt;MyFaces: 1283&lt;/li&gt;
&lt;li&gt;Tapestry: 1268&lt;/li&gt;
&lt;li&gt;TurbyGears: 797&lt;/li&gt;
&lt;li&gt;Stripes: 206&lt;/li&gt;
&lt;li&gt;OpenLaszlo: 189&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/how_popular_is_your_web</id>
        <title type="html">How popular is your web framework?</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/how_popular_is_your_web"/>
        <published>2007-07-13T11:43:29-06:00</published>
        <updated>2012-11-11T02:00:40-07:00</updated> 
        <category term="/Java" label="Java" />
        <category term="struts" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webframeworks" scheme="http://roller.apache.org/ns/tags/" />
        <category term="hibernate" scheme="http://roller.apache.org/ns/tags/" />
        <category term="myfaces" scheme="http://roller.apache.org/ns/tags/" />
        <category term="spring" scheme="http://roller.apache.org/ns/tags/" />
        <category term="tapestry" scheme="http://roller.apache.org/ns/tags/" />
        <category term="wicket" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jsf" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">From the &lt;a href=&quot;http://www.nabble.com/-ANN--Struts-Downloads-Skyrocket-in-2007-tf4044764.html&quot;&gt;Struts user mailing list&lt;/a&gt;:&lt;/p&gt;
&lt;p class=&quot;quote&quot;&gt;
Since its release in June 2001, &lt;a href=&quot;http://struts.apache.org&quot;&gt;Apache Struts&lt;/a&gt; has become the most popular web framework for
Java. Six years later, by any objective measure, Struts is still Java&apos;s most popular web framework.
&lt;br/&gt;&lt;br/&gt;
In February and March 2007, the group released both Struts 1.3.8 and
Struts 2.0.6 to the general public, and Struts downloads zoomed to
over &lt;a href=&quot;http://people.apache.org/~vgritsenko/stats/projects/struts#Downloads-N1008F&quot;&gt;340,000 a month&lt;/a&gt; from the Apache site alone. And this is just
the tip of the iceberg. Most copies of Struts are downloaded from an
network of mirrors or obtained from Maven repositories.
&lt;/p&gt;
&lt;p&gt;So how popular is Struts compared to the other heavy hitters like Spring and Hibernate? Spring has about 1/2 as many (80K) &lt;a href=&quot;http://tinyurl.com/2gz7ql&quot;&gt;downloads in the same period&lt;/a&gt; and &lt;a href=&quot;http://tinyurl.com/28n988&quot;&gt;so does Hibernate&lt;/a&gt;. How do MyFaces, Wicket and Tapestry stack up? Here&apos;s their best download numbers in the past few months:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://people.apache.org/~vgritsenko/stats/projects/myfaces#Downloads-N1008F&quot;&gt;MyFaces&lt;/a&gt;: ~12K (and that&apos;s only because of a rate 3-times-normal spike)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://people.apache.org/~vgritsenko/stats/projects/tapestry#Downloads-N1008F&quot;&gt;Tapestry&lt;/a&gt;: ~12K&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://tinyurl.com/yte94y&quot;&gt;Wicket&lt;/a&gt;: ~10K&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style=&quot;text-decoration: line-through&quot;&gt;Sorry JSF, you appear to be losing. Badly.&lt;/span&gt; This is an incorrect statement as pointed out by commentors. Thanks for keeping me honest guys. &lt;br/&gt;&lt;br/&gt;
Disclaimer: Yes, I realize that these statistics are not very accurate, especially considering Maven. Unfortunately, until Maven has repository download stats, this information is the best we&apos;ve got.</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/appfuse_2_0_m5_released</id>
        <title type="html">AppFuse 2.0 M5 Released - now with CRUD generation and XFire support</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/appfuse_2_0_m5_released"/>
        <published>2007-05-23T17:49:10-06:00</published>
        <updated>2014-05-08T19:47:26-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="jsf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="struts2" scheme="http://roller.apache.org/ns/tags/" />
        <category term="maven2" scheme="http://roller.apache.org/ns/tags/" />
        <category term="spring" scheme="http://roller.apache.org/ns/tags/" />
        <category term="hibernate" scheme="http://roller.apache.org/ns/tags/" />
        <category term="appfuse" scheme="http://roller.apache.org/ns/tags/" />
        <category term="struts" scheme="http://roller.apache.org/ns/tags/" />
        <category term="springmvc" scheme="http://roller.apache.org/ns/tags/" />
        <category term="tapestry" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;a href=&quot;http://appfuse.org&quot;&gt;&lt;img src=&quot;//appfuse.dev.java.net/images/icon.gif&quot; class=&quot;picture&quot; style=&quot;border: 0&quot;&gt;&lt;/a&gt;
The AppFuse Team is pleased to announce the release of AppFuse 2.0 M5! 
This release marks a milestone in the features of AppFuse 2.x. This release adds CRUD code generation, full source support (just like 1.x) and XFire integration. In addition, we&apos;ve fixed all the issues related to switching persistence frameworks, and you should now be able to easily switch from using Hibernate to to iBATIS or JPA. The &lt;a href=&quot;http://appfuse.org/display/APF/Demos+and+Videos&quot; title=&quot;Demos and Videos&quot;&gt;videos&lt;/a&gt; have been updated for M5. The &lt;a href=&quot;http://static.appfuse.org/movies/2.0/struts2-crud.mov&quot; title=&quot;14.2 MB, 6 minutes 6 seconds&quot;&gt;Easy CRUD with Struts 2 video&lt;/a&gt; shows how code generation currently works.&lt;/p&gt;

&lt;p&gt;AppFuse 2.0 is available as a Maven archetype. For information on creating a new project using this release, please see the &lt;a href=&quot;http://appfuse.org/display/APF/AppFuse+QuickStart&quot; title=&quot;AppFuse QuickStart&quot;&gt;QuickStart Guide&lt;/a&gt; or the &lt;a href=&quot;http://static.appfuse.org/movies/2.0/helloworld.mov&quot; title=&quot;13.2 MB, 6 minutes 14 seconds&quot;&gt;Hello World video&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you&apos;ve used AppFuse 1.x, but not 2.x, you&apos;ll want to read the &lt;a href=&quot;http://appfuse.org/display/APF/FAQ&quot; title=&quot;FAQ&quot;&gt;FAQ&lt;/a&gt; and join the &lt;a href=&quot;http://appfuse.org/display/APF/Mailing+Lists&quot; title=&quot;Mailing Lists&quot;&gt;user mailing list&lt;/a&gt; if you have any questions. The &lt;a href=&quot;http://appfuse.org/display/APF/Maven+2&quot; title=&quot;Maven 2&quot;&gt;Maven Reference Guide&lt;/a&gt; has a map of &lt;a href=&quot;http://appfuse.org/display/APF/Maven+2#Maven2-Antvs.Maven&quot;&gt;Ant &amp;raquo; Maven commands&lt;/a&gt;. &lt;a href=&quot;http://appfuse.org/display/APF/Maven+for+Newbies&quot; title=&quot;Maven for Newbies&quot;&gt;Maven for Newbies&lt;/a&gt; might also be useful if you&apos;ve never used Maven before. There is &lt;a href=&quot;http://appfuse.org/display/APF/FAQ#FAQ-usingant&quot;&gt;some support for Ant&lt;/a&gt; in this release.&lt;/p&gt;

&lt;p&gt;For more information, please see the &lt;a href=&quot;http://appfuse.org/display/APF/Release+Notes+2.0+M5&quot; title=&quot;Release Notes 2.0 M5&quot;&gt;2.0 M5 Release Notes&lt;/a&gt;. If you&apos;d like to use AppFuse offline (or download everything at once), you may want to &lt;a href=&quot;https://appfuse.dev.java.net/servlets/ProjectDocumentList?folderID=7516&quot;&gt;grab the dependencies&lt;/a&gt; and extract them into your ~/.m2/repository directory.&lt;/p&gt;

&lt;p&gt;The 2.0 series of AppFuse has a minumum requirement of the following specification versions:&lt;/p&gt;

&lt;ul class=&quot;glassList&quot;&gt;
	&lt;li&gt;Java Servlet 2.4 and JavaServer Pages (JSP) 2.0&lt;/li&gt;
	&lt;li&gt;Java 5 for Development (Java 1.4 for deployment using the &lt;a href=&quot;http://mojo.codehaus.org/retrotranslator-maven-plugin/examples/project-translation.html&quot;&gt;Retrotranslator Plugin&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p class=&quot;smokey&quot;&gt;
Comments and issues should be posted to the &lt;a href=&quot;http://www.nabble.com/-ANN--AppFuse-2.0-M5-Released%21-tf3807216s2369.html&quot;&gt;mailing list&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We appreciate the time and effort everyone has put toward contributing code and documentation, posting to the mailing lists, and logging issues. We also greatly appreciate the help from &lt;a href=&quot;http://appfuse.org/display/APF/Sponsors&quot;&gt;our sponsors&lt;/a&gt;, particularly &lt;a href=&quot;http://www.atlassian.com/c/NPOS/10160&quot;&gt;Atlassian&lt;/a&gt;, &lt;a href=&quot;http://cenqua.com/&quot;&gt;Cenqua&lt;/a&gt;, &lt;a href=&quot;http://contegix.com/&quot;&gt;Contegix&lt;/a&gt;, &lt;a href=&quot;http://www.jetbrains.com/&quot;&gt;JetBrains&lt;/a&gt;, &lt;a href=&quot;http://www.java.net&quot;&gt;Java.net&lt;/a&gt; and &lt;a href=&quot;http://kgbinternet.com/&quot;&gt;KGBInternet&lt;/a&gt;.  Without them, working on this project wouldn&apos;t be nearly as much fun.
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; The videos are much lower quality than the ones I originally recorded (13 MB vs. 70 MB). If you want to view the high quality videos (they&apos;re much clearer), you can &lt;a href=&quot;https://appfuse.dev.java.net/files/documents/1397/58384/appfuse-2.0-videos.zip&quot;&gt;download them from java.net&lt;/a&gt;. If someone has a better way to compress these (I just used QuickTime&apos;s Export feature), please let me know.&lt;/p&gt;
&lt;p&gt;Also, this release contains the first release of the &lt;a href=&quot;http://static.appfuse.org/plugins/appfuse-maven-plugin&quot;&gt;AppFuse Maven Plugin&lt;/a&gt;. This plugin is largely based on &lt;a href=&quot;http://tools.hibernate.org&quot;&gt;Hibernate Tools&lt;/a&gt;. We modified many of the FreeMarker templates from Hibernate Tools to default to certain annotations, as well as clean up the formatting. These templates are currently available in &lt;a href=&quot;http://fisheye4.cenqua.com/browse/appfuse/trunk/plugins/appfuse-maven-plugin/src/main/resources/appfuse/model&quot;&gt;AppFuse&apos;s SVN&lt;/a&gt;. Hopefully making them available is enough to satisfy Hibernate&apos;s LGPL license.</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/appfuse_light_1_8_beta</id>
        <title type="html">AppFuse Light 1.8 Beta Released</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/appfuse_light_1_8_beta"/>
        <published>2007-04-26T02:23:22-06:00</published>
        <updated>2014-05-08T19:47:19-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="stripes" scheme="http://roller.apache.org/ns/tags/" />
        <category term="css" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ibatis" scheme="http://roller.apache.org/ns/tags/" />
        <category term="springmvc" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jpox" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jsp" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ajax" scheme="http://roller.apache.org/ns/tags/" />
        <category term="appfuse" scheme="http://roller.apache.org/ns/tags/" />
        <category term="wicket" scheme="http://roller.apache.org/ns/tags/" />
        <category term="springjdbc" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ojb" scheme="http://roller.apache.org/ns/tags/" />
        <category term="freemarker" scheme="http://roller.apache.org/ns/tags/" />
        <category term="hibernate" scheme="http://roller.apache.org/ns/tags/" />
        <category term="acegi" scheme="http://roller.apache.org/ns/tags/" />
        <category term="myfaces" scheme="http://roller.apache.org/ns/tags/" />
        <category term="struts" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jdo" scheme="http://roller.apache.org/ns/tags/" />
        <category term="velocity" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;a href=&quot;http://appfuse-light.dev.java.net&quot;&gt;AppFuse Light&lt;/a&gt; 1.8 Beta adds CSS Framework integration, as well as support
for Stripes (1.4.2) and Wicket (1.2.6). This is a beta release so we can work out &lt;a href=&quot;http://tinyurl.com/286qjf&quot;&gt;some kinks&lt;/a&gt; before the final release.&lt;br/&gt;&lt;br/&gt;AppFuse Light now offers 60 possible combinations for &lt;a href=&quot;https://appfuse-light.dev.java.net/servlets/ProjectDocumentList?folderID=8006&quot;&gt;
download&lt;/a&gt;:
&lt;/p&gt;
&lt;ul class=&quot;glassList&quot;&gt;&lt;li&gt;&lt;strong&gt;Web Frameworks:&lt;/strong&gt; JSF (MyFaces), Spring MVC (with
Ajax, Acegi Security, JSP, FreeMarker or Velocity), Stripes, Struts
1.x, Struts 2.x, Tapestry, WebWork, Wicket&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Persistence Frameworks:&lt;/strong&gt; Hibernate, iBATIS, JDO (JPOX), OJB, Spring JDBC&lt;/li&gt;&lt;/ul&gt;
&lt;p style=&quot;text-align: center; color: #666&quot;&gt;
&lt;a href=&quot;http://static.raibledesigns.com/repository/images/appfuse-light-1.8-beta.gif&quot; rel=&quot;lightbox&quot; title=&quot;Screenshot of 1.8 with CSS Framework&quot;&gt;&lt;img src=&quot;//static.raibledesigns.com/repository/images/appfuse-light-1.8-beta_sm.gif&quot; width=&quot;300&quot; height=&quot;225&quot; alt=&quot;AppFuse Light Screenshot - click on the box at the bottom right of AL to activate StyleSheet Switcher&quot; style=&quot;border: 1px solid silver&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
If you have any questions about this release, please subscribe to the AppFuse user mailing list by sending a blank e-mail to 
&lt;a href=&quot;mailto:users-subscribe@appfuse.dev.java.net&quot;&gt;users-subscribe@appfuse.dev&lt;wbr&gt;.java.net&lt;/a&gt;. You can also post questions in a forum-like fashion using Nabble: &lt;a href=&quot;http://appfuse.org/forums&quot;&gt;http://appfuse.org/forums&lt;/a&gt;.
&lt;br/&gt;&lt;br/&gt;
If you&apos;re a developer of one of the frameworks that AppFuse Light uses - I&apos;d love a code review to make sure I&apos;m &quot;up to snuff&quot; on how to use your framework. I&apos;m also more than willing to give commit rights if you&apos;d like to improve the implementation of your framework.
&lt;/p&gt;
&lt;p&gt;Live demos are available at:
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo.raibledesigns.com/appfuse-light&quot;&gt;Spring&lt;/a&gt; &amp;middot; &lt;a href=&quot;http://demo.raibledesigns.com/appfuse-light-ajax&quot;&gt;Spring + Ajax&lt;/a&gt; 
            &amp;middot; &lt;a href=&quot;http://demo.raibledesigns.com/appfuse-light-security&quot;&gt;Spring + Acegi&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo.raibledesigns.com/appfuse-light-jsf&quot;&gt;MyFaces + Facelets&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo.raibledesigns.com/appfuse-light-stripes&quot;&gt;Stripes&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo.raibledesigns.com/appfuse-light-struts&quot;&gt;Struts 1&lt;/a&gt; &amp;middot; &lt;a href=&quot;http://demo.raibledesigns.com/appfuse-light-struts2&quot;&gt;Struts 2&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo.raibledesigns.com/appfuse-light-tapestry&quot;&gt;Tapestry&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo.raibledesigns.com/appfuse-light-webwork&quot;&gt;WebWork&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo.raibledesigns.com/appfuse-light-wicket&quot;&gt;Wicket&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Based on &lt;a href=&quot;http://martijndashorst.com/blog/2007/04/26/appfuse-light-adds-wicket/&quot;&gt;Martin&apos;s blog post&lt;/a&gt;, I&apos;ve added the version numbers for Stripes and Wicket (1.4.2 and 1.2.6, respectively). While the Wicket guys recommended I use Wicket 1.3.0, I was already knee deep in 1.2.6 when I read their recommendation. If 1.3.0 really is that much better than 1.2.6, it should be a pleasure to upgrade (and a good learning experience too boot!).</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/what_web_framework_are_you</id>
        <title type="html">What web framework are you using with AppFuse?</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/what_web_framework_are_you"/>
        <published>2007-04-25T11:05:04-06:00</published>
        <updated>2014-05-08T19:47:19-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="myfaces" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jsf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="springmvc" scheme="http://roller.apache.org/ns/tags/" />
        <category term="struts" scheme="http://roller.apache.org/ns/tags/" />
        <category term="tapestry" scheme="http://roller.apache.org/ns/tags/" />
        <category term="struts2" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webwork" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">As part of my upcoming &lt;a href=&quot;http://www.eu.apachecon.com/program/talk/75&quot;&gt;Comparing Java Web Frameworks&lt;/a&gt; talk, I&apos;d like to show some statistics of web framework usage in AppFuse. Please vote for the one you&apos;re using by clicking on the link below. I&apos;m mostly looking for current AppFuse users. By that, I mean folks that have used 1.x or 2.x on a project in the last 6 months, or plan on using it in the next month or two.
&lt;br/&gt;&lt;br/&gt;
You&apos;ll need to create an account and login to vote. To do this, go to View &gt; Account &gt; Sign Up (after clicking on the link below). 
&lt;/p&gt;
&lt;ul class=&quot;glassList&quot;&gt;
&lt;li&gt;&lt;a href=&quot;http://appfuse.org/pages/viewpage.action?pageId=986&quot;&gt;http://appfuse.org/pages/viewpage.action?pageId=986&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I&apos;ll compile the results of this poll on Friday morning (April 27th), so you have until then for your vote to be counted!
&lt;br/&gt;&lt;br/&gt;
On a related note, if anyone knows how to get the monthly posting statistics from &lt;a href=&quot;http://forum.springframework.org/forumdisplay.php?f=25&quot;&gt;Spring MVC&apos;s forums&lt;/a&gt;, I&apos;d love to hear about it. My &quot;mailing list traffic&quot; slide has excluded them for the past couple of years because I&apos;ve been unable to get a count of monthly postings.
&lt;br/&gt;&lt;br/&gt;
&lt;strong&gt;NOTE:&lt;/strong&gt; If you vote by adding a comment to this entry, it won&apos;t be counted. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Thanks to the 64 of you that voted. Here&apos;s the results of the poll:&lt;/p&gt;
&lt;p style=&quot;text-align: center&quot;&gt;
&lt;img src=&quot;//static.raibledesigns.com/repository/images/webframework-usage-200704.gif&quot; alt=&quot;AppFuse Web Framework Usage&quot; width=&quot;500&quot; height=&quot;313&quot; /&gt;
&lt;/p&gt;&lt;p&gt;As I said &lt;a href=&quot;http://raibledesigns.com/rd/entry/spring_mvc_the_most_popular&quot;&gt;last time&lt;/a&gt;, I find the results interesting because AppFuse lowers the barriers and reduces the learning curve for all of these frameworks.</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/equinox_a_k_a_appfuse1</id>
        <title type="html">Equinox (a.k.a. AppFuse Light) 1.7.1 Released!</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/equinox_a_k_a_appfuse1"/>
        <published>2007-04-21T17:27:33-06:00</published>
        <updated>2007-04-21T23:27:33-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="struts2" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webwork" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jsf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="velocity" scheme="http://roller.apache.org/ns/tags/" />
        <category term="hibernate" scheme="http://roller.apache.org/ns/tags/" />
        <category term="acegi" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jdo" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ibatis" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jpox" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ojb" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ajax" scheme="http://roller.apache.org/ns/tags/" />
        <category term="tapestry" scheme="http://roller.apache.org/ns/tags/" />
        <category term="appfuse" scheme="http://roller.apache.org/ns/tags/" />
        <category term="spring" scheme="http://roller.apache.org/ns/tags/" />
        <category term="freemarker" scheme="http://roller.apache.org/ns/tags/" />
        <category term="struts" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Equinox 1.7.1 contains a number of dependency updates, and not much else. This will be the last release with the Equinox name. This project is changing its name to &lt;strong&gt;AppFuse Light&lt;/strong&gt; and will be referred to by that name going forward. The project will be moving its source code to &lt;a href=&quot;http://appfuse-light.dev.java.net&quot;&gt;http://appfuse-light.dev.java.net&lt;/a&gt;. The equinox.dev.java.net project will remain because &lt;a href=&quot;http://www.w3.org/Provider/Style/URI&quot;&gt;Cool URIs don&apos;t change&lt;/a&gt;. In addition to the name change, I&apos;d like to try to merge the AppFuse and Equinox user communities. Since the technologies are so similar, and AppFuse 2.x will use some of Equinox&apos;s Ant scripts, it makes sense to bring these projects closer together.
&lt;/p&gt;
&lt;p&gt;In AppFuse Light 1.8, I plan on adding support for Stripes and Wicket as well as integrating the CSS Framework (like AppFuse uses).&lt;/p&gt;
&lt;p&gt;50 possible combinations are available for &lt;a href=&quot;https://equinox.dev.java.net/servlets/ProjectDocumentList?folderID=7074&quot;&gt;download&lt;/a&gt;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Web Frameworks:&lt;/strong&gt; JSF (MyFaces), Spring MVC (with Ajax, Acegi Security, JSP, FreeMarker or Velocity), Struts 1.x, Struts 2.x, Tapestry, WebWork&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Persistence Frameworks:&lt;/strong&gt; Hibernate, iBATIS, JDO (JPOX), OJB, Spring JDBC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
All of the frameworks used in Equinox, as well as most of its build/test system is
explained in &lt;a href=&quot;http://www.springlive.com&quot;&gt;Spring Live&lt;/a&gt;. Going forward, documentation will be put on the &lt;a href=&quot;http://appfuse.org&quot;&gt;AppFuse site&lt;/a&gt;.
&lt;br/&gt;&lt;br/&gt;
A summary of the changes in this release are below:
&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Removed custom JavaScript and CSS for MyFaces Tomahawk&apos;s &lt;t:inputCalendar&gt;&lt;/li&gt;
    &lt;li&gt;Dependent packages upgraded:
        &lt;ul&gt;
            &lt;li&gt;Ajax4JSF 1.0.6&lt;/li&gt;
            &lt;li&gt;Cargo 0.9&lt;/li&gt;
            &lt;li&gt;Commons Collections 3.2&lt;/li&gt;
            &lt;li&gt;Commons DBCP 1.2.2&lt;/li&gt;
            &lt;li&gt;Commons Lang 2.3&lt;/li&gt;
            &lt;li&gt;Commons Validator 1.3.1&lt;/li&gt;
            &lt;li&gt;DWR 2.0 RC2&lt;/li&gt;
            &lt;li&gt;FreeMarker 2.3.9&lt;/li&gt;
            &lt;li&gt;JPOX 1.1.7&lt;/li&gt;
            &lt;li&gt;JUnit 3.8.2&lt;/li&gt;
            &lt;li&gt;Hibernate 3.2.1&lt;/li&gt;
            &lt;li&gt;iBATIS 2.3.0&lt;/li&gt;
            &lt;li&gt;MyFaces and Tomahawk 1.1.5&lt;/li&gt;
            &lt;li&gt;Spring 2.0.4&lt;/li&gt;
            &lt;li&gt;Spring Modules Validation 0.8&lt;/li&gt;
            &lt;li&gt;Struts 2.0.6&lt;/li&gt;
            &lt;li&gt;Tapestry 4.1.1&lt;/li&gt;
            &lt;li&gt;Velocity 1.5&lt;/li&gt;
            &lt;li&gt;Velocity Tools 1.3&lt;/li&gt;
            &lt;li&gt;WebWork 2.2.5&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
For more information about installing the 
various options, see the &lt;a href=&quot;https://equinox.dev.java.net/source/browse/*checkout*/equinox/README.txt?only_with_tag=release-1_7_1&quot;&gt;README.txt&lt;/a&gt; file. Live demos (thanks to &lt;a href=&quot;http://contegix.com&quot;&gt;Contegix&lt;/a&gt;!) are available at:
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo.raibledesigns.com/equinox&quot;&gt;Spring&lt;/a&gt; &amp;middot; &lt;a href=&quot;http://demo.raibledesigns.com/equinox-ajax&quot;&gt;Spring + Ajax&lt;/a&gt; 
            &amp;middot; &lt;a href=&quot;http://demo.raibledesigns.com/equinox-security&quot;&gt;Spring + Acegi&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo.raibledesigns.com/equinox-jsf&quot;&gt;JSF + Facelets&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo.raibledesigns.com/equinox-struts&quot;&gt;Struts 1&lt;/a&gt; &amp;middot; &lt;a href=&quot;http://demo.raibledesigns.com/equinox-struts2&quot;&gt;Struts 2&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo.raibledesigns.com/equinox-tapestry&quot;&gt;Tapestry&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://demo.raibledesigns.com/equinox-webwork&quot;&gt;WebWork&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p&gt;If you have any questions, please &lt;a href=&quot;http://raibledesigns.com/rd/entry/equinox_a_k_a_appfuse#comments&quot;&gt;read the comments from the 1.7 release&lt;/a&gt; or ask them on the &lt;a href=&quot;http://appfuse.org/display/APF/Mailing+Lists&quot;&gt;AppFuse mailing list&lt;/a&gt;.</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/appfuse_2_0_m4_released</id>
        <title type="html">AppFuse 2.0 M4 Released</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/appfuse_2_0_m4_released"/>
        <published>2007-03-24T16:33:21-06:00</published>
        <updated>2014-05-08T19:47:26-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="maven2" scheme="http://roller.apache.org/ns/tags/" />
        <category term="struts" scheme="http://roller.apache.org/ns/tags/" />
        <category term="springmvc" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jsf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="appfuse" scheme="http://roller.apache.org/ns/tags/" />
        <category term="tapestry" scheme="http://roller.apache.org/ns/tags/" />
        <category term="hibernate" scheme="http://roller.apache.org/ns/tags/" />
        <category term="spring" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;a href=&quot;http://appfuse.org&quot;&gt;&lt;img src=&quot;//appfuse.dev.java.net/images/icon.gif&quot; class=&quot;picture&quot; style=&quot;border: 0&quot;&gt;&lt;/a&gt;
The AppFuse Team is pleased to announce the release of AppFuse 2.0 M4! This release marks a milestone in the usability of AppFuse 2.x. A lot of folks (including myself) have been using AppFuse 2.0 on projects and have fixed quite a few issues. In addition to polishing the tutorials, we&apos;ve fixed a fair amount of i18n bugs and packaging issues with modular archetypes. &lt;/p&gt;

&lt;p&gt;We were hoping to get AMP&apos;s code generation and XFire integrated in M4, but were it&apos;s going to have to wait until M5.&lt;/p&gt;

&lt;p&gt;AppFuse 2.0 is available as a Maven archetype. For information on creating a new project using this release, please see the &lt;a href=&quot;http://appfuse.org/display/APF/AppFuse+QuickStart&quot; title=&quot;AppFuse QuickStart&quot;&gt;QuickStart Guide&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;If you&apos;ve used AppFuse 1.x, but not 2.x, you&apos;ll want to read the &lt;a href=&quot;http://appfuse.org/display/APF/FAQ&quot; title=&quot;FAQ&quot;&gt;FAQ&lt;/a&gt; and join the &lt;a href=&quot;http://appfuse.org/display/APF/Mailing+Lists&quot; title=&quot;Mailing Lists&quot;&gt;user mailing list&lt;/a&gt; if you have any questions. The &lt;a href=&quot;http://appfuse.org/display/APF/Maven+2&quot; title=&quot;Maven 2&quot;&gt;Maven Reference Guide&lt;/a&gt; has a map of &lt;a href=&quot;http://appfuse.org/display/APF/Maven+2#Maven2-Antvs.Maven&quot;&gt;Ant &amp;raquo; Maven commands&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The 2.0 series of AppFuse has a minumum requirement of the following specification versions:&lt;/p&gt;

&lt;ul class=&quot;glassList&quot;&gt;
	&lt;li&gt;Java Servlet 2.4 and JavaServer Pages (JSP) 2.0&lt;/li&gt;
	&lt;li&gt;Java 5 for Development (Java 1.4 for deployment using the &lt;a href=&quot;http://mojo.codehaus.org/retrotranslator-maven-plugin/examples/project-translation.html&quot;&gt;Retrotranslator Plugin&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For more information, please see the &lt;a href=&quot;http://appfuse.org/display/APF/Release+Notes+2.0+M4&quot; title=&quot;Release Notes 2.0 M4&quot;&gt;2.0 M4 Release Notes&lt;/a&gt;. To see how AppFuse 2.x works, please see the &lt;a href=&quot;http://appfuse.org/display/APF/Demos+and+Videos&quot;&gt;video demos&lt;/a&gt;.&lt;/p&gt;

&lt;p class=&quot;smokey&quot;&gt;
Comments and issues should be sent to the &lt;a href=&quot;http://www.nabble.com/-ANN--AppFuse-2.0-M4-Released-tf3460541s2369.html&quot;&gt;mailing list&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We appreciate the time and effort everyone has put toward contributing code and documentation, posting to the mailing lists, and logging issues. We also greatly appreciate the help from &lt;a href=&quot;http://appfuse.org/display/APF/Sponsors&quot;&gt;our sponsors&lt;/a&gt;, particularly &lt;a href=&quot;http://www.atlassian.com/c/NPOS/10160&quot;&gt;Atlassian&lt;/a&gt;, &lt;a href=&quot;http://cenqua.com/&quot;&gt;Cenqua&lt;/a&gt;, &lt;a href=&quot;http://contegix.com/&quot;&gt;Contegix&lt;/a&gt;, &lt;a href=&quot;http://www.jetbrains.com/&quot;&gt;JetBrains&lt;/a&gt;, &lt;a href=&quot;http://www.java.net&quot;&gt;Java.net&lt;/a&gt; and &lt;a href=&quot;http://kgbinternet.com/&quot;&gt;KGBInternet&lt;/a&gt;.  Without them, working on this project wouldn&apos;t be nearly as much fun.</content>
    </entry>
</feed>

