This would help out a lot. We all know how projects come and go and although Struts is a pretty common name out there, it is still important to let folks know that development is very active.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
Hmmmm... This is a tough one, but I would think that a version scheme change discussion might be in order. It might be fruitless, but I think that type of versioning is pretty rough. Plus, there are nearly zero docs anywhere about it, not just with Struts2, but also with the Tomcat and httpd. Plus, I could probably safely state that 95% or more of all OS projects use the other model for versioning. One more thing is that the versioning scheme doesn't appear to be followed because 2.0.2-2.0.6 aren't available for download in anything but a snapshot version. If the model is that all "releases" receive a version than these should be available to download unless what you are saying is that some test builds never get released and therefore those version numbers become effectively dead versions. Personally I try to avoid dead versions numbers whenever possible.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.
If however this discussion doesn't occur or doesn't change anything, then I think this deserves its own page and a link from the download area.
Found it. I think that perhaps a more direct name would help. Something like "Step by step getting started guide" or "Getting started" or "Step 1: Your first application". This would follow my thoughts on the organization of the docs in order to follow a more structured approach that developers will be taking towards S2.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.
I'll send that over. Probably be able to help get this started next week.
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?
Exactly. There isn't any link or information there about the source.
I'll try and look into this if I get some time over the weekend and next week.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
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.I definitely will be doing as much as I can since my company will be investing a lot into Struts2. I'm not really looking for an easy way to get up and running because the situation for me is that I'm going to be doing all of the work of ensuring Struts2 can be used on around 20-30 web applications per year. I want to ensure that the core of it meets our needs. AppFuse might be something we'll use for getting projects started, but I'm also interested in Struts2 core functionality and the overall framework.
Thanks for the response and I'll let you know what all I can help with. -bp
smime.p7s
Description: S/MIME Cryptographic Signature