Brian, thank you very much for this constructive feedback. It can be confusing to new users to try to nagivate a project that a) hasn't released a GA quality release and b) is the product of a merger. You raise very important issues that we need to address. I'll discuss possible solutions one by one. With each issue, I'll list the tickets, if applicable, that I either just created or already existed.

Brian Pontarelli wrote:

1. Arrived at the Struts homepage and Struts 2 almost looked dead. No activity since October and no news or release information. Adding some news every few weeks will help keep new comers from bailing.

We should probably look at automating the website deployment from SVN. This would allow us to more easily keep the website refreshed. I like the idea of more frequent news items. Maybe the front page should display a few feeds such as latest documentation edits, commits, or Struts 2 plugin announcements. If we generated the website from Maven each night, the material would stay pretty current.

https://issues.apache.org/struts/browse/SITE-17
https://issues.apache.org/struts/browse/SITE-18

2. Tried to download the release using the release navigation. Here I was presented with the fact that there was a 2.0.1 BETA, which is the latest development release. I spent the next while looking for the 2.0.0 release, figuring that was the last stable release. Couldn't find it obviously. The versioning currently looks to the outside to be a complete mess and it is very confusing and non standard. I would not release a patch version (major.minor.patch) until the major version is released. Therefore all the references to 2.0.1 through 2.0.6 are very confusing because these are not really final releases, but all BETAs. Plus, there is talk about 2.0.1 BETA and 2.0.4 and 2.0.6 and this is all quite confusing. I would probably fix the version into a standard alpha, beta, release candidate model. So, currently it would be something like 2.0.0-RC6 or the like working towards a final release of 2.0.0.

While I agree with you personally, Struts uses a different versioning approach, similar to the one used by Tomcat and HTTPD. Basically, each "test build" gets a version. After the "test build" is created, the community votes on its quality. Furthermore, a test build could be voted on twice - once as beta than again as GA if no issues have been found. We should do a better job of explaining this system on the download page.

https://issues.apache.org/struts/browse/SITE-19

3. The documentation for Struts 2 contains references to zero configuration and the web.xml configuration file also contains this stuff. There are also a number of references to all the annotations. These are not available in the 2.0.1BETA JAR files and therefore I had a hard time using them ;) I did find them in the nightly snapshots, which aren't functional. I would keep the documentation inline with the latest beta and not the latest nightly snapshot. Anyone who wants bleeding edge will be willing to look at the source to see new stuff or build the latest snapshot docs themselves.

Good idea. We should do a better job of archiving release documentation.
https://issues.apache.org/struts/browse/SITE-8

4. The tutorials reference a hybrid of WebWork 2 configuration, classes, tags and files and Struts2 configuration and files. This would definitely be confusing for a newcomer. I would probably keep the tutorials using only struts2 configuration, classes, tags and files since that is what the latest beta release uses. I would in turn direct folks to the WebWork wiki for running WebWork 2 if they don't want to use the BETA release.

https://issues.apache.org/struts/browse/WW-1719

5. There is really no getting started document for Struts2. It would be a bit of a stumbling block for a newcomer to have various JAR files in the distribution without any clue on which to use or what the 'struts2-all' jar contains. There should be a true Struts2 getting started document that contains a complete step by step to getting an application running. This could start with the CRUD made easy tutorial for WW2 and make it more complete for Struts2.

We do have a bootstrap tutorial which covers this. Is there a better way we could highlight it?

6. From the guide perspective, it is very difficult to figure out how to write actions. This information is buried in the Struts Configuration Elements guide and in the Action Configuration guide under that. In fact many of the top level and nested guides are a bit confusing and don't necessarily follow the standard path developers will take when getting started as well as when trying new things. The top level components should be items will be working on when building an application such as AJAX, Actions, Validation, etc. rather than items like "Struts Configuration Elements" Under these headings would be the configuration, the code, the interfaces, examples, etc. This will be how most folks are going to be using Struts2. They'll be creating an action, adding validation, handling action results, adding interceptors, etc. There are a number of guides that are on the right track.

I'm open to a reorganization of the documentation. If you'd like to help out, file a Contributor License Agreement - http://apache.org/licenses/cla.txt - and I'll give you access.


7. I had a bit of trouble figuring out how to grab the code because the link is on the main Struts page. Adding a link to the Struts2 page will help a lot.

I didn't follow this one. Do you mean we need a better download link on the Struts 2 page?


8. Running the unit tests from the subversion repository causes out of memory errors on my machine using the standard 16M of memory that maven defaults to run with. I found that after the tests had run it required almost 150M of memory to run the tests. I gave maven 512M, but this was a stumbling block. This seems like a rather incorrect behavior for tests since after each test there should be very little on the heap. Is there a memory leak or some reason very large objects are hanging about?

Yeah, there must be a memory leak somewhere.

https://issues.apache.org/struts/browse/WW-1720


9. This is a bit nit picky.... The current code in subversion is broken therefore I was unable to run from sources. One of the things I really like about many frameworks I've worked with and coded on was the fact that a clean checkout was almost guaranteed to compile, test and run. This helps a lot for folks that want the bleeding edge and to start contributing.

Doh, yeah, this one is rather embarassing. We usually do a pretty good job and keeping the build running smoothly but apprently it isn't at the moment. We have a continuous integration server, Bamboo, that runs our builds, but it wasn't set to notify the list on failures. We are in the process of configuring it to send notifications and the list to accept them.

As I said before, I really appreciate the time and effort that went into this analysis. The tickets should be a good way to ensure the issue is resolved in some manner, but as always, if you'd like to jump in and help, feel free to attach patches and/or suggestions on fixes. Matt Raible mentioned Appfuse 2.0 in half-jest, but if you are looking for an easy way to get started with Struts 2, I'd recommend taking a look at it.

Thanks again,

Don

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to