On Sat, 27 Nov 2004 13:33:38 -0500, Ted Husted <[EMAIL PROTECTED]> wrote: > On Fri, 26 Nov 2004 20:42:07 -0800, Martin Cooper wrote: > > On Fri, 26 Nov 2004 23:27:44 -0500, Ted Husted <[EMAIL PROTECTED]> > > wrote: > > > >> There's a download module in the struts-examples application. > >> > > Er, that's an upload example. ;-) > > All the more reason to add it to the current suite of examples, then :)
Perhaps it's a reason to add *some* download example to the Examples app, but IMHO not this particular one. Downloading a file in Struts is almost trivial - feed the data to the response output stream and return null from your action. I don't want to rain on Frank's parade, but I just don't think that we should complicate such an example by using custom action mappings, or extracting the content from a database. If we do want a download example in Examples, then I would suggest something like downloading an XML file (maybe even struts-config.xml) from within the app itself. Let's keep it simple, and keep it portable by not referencing the file system. > > IMHO, one of the keys to the success of Struts was that, from the beginning, > Craig included a working example. The purpose of a framework like Struts is > to write applications, and it only makes sense that we eat some of our own > dog food by writing our own. > > As it happens, the MailReader is nicely scaled example. Big enough to have > some meat, small enough that you can review it before lunch. > > Of course, you can't squeeze use cases for every framework feature inside of > a nicely-scaled example. We've made some desperate hacks to the MailReader to > demonstrate features like wildcard actions. MailReader also includes some > "grey practices", like tag-based security, apparently for the sake of > demonstration. > > What I would suggest is that we expand the existing Struts Examples > application, perhaps turning it into an actual cookbook. The goal would be > for each significant feature to be demonstrated either in the MailReader or > in the Cookbook. To keep things from breaking, we can include Struts > TestCases and/or Canoo WebTests that step through the applications for us. > (I'm using WebTests in Mailreader-Chain, so people will be able to see them > action.) > > It's been my experience that a best-practices example and an omnibus Cookbook > are not maintenance burdens -- but maintenance helpers. As issues are > reported, we can add cookbook examples to demonstrate that the issue exists, > and then use the same example to demonstrate that the issue is resolved. > If we can automate the testing, then great! But adding functionality without that is going to be a pain. It takes quite some time to go through every option in every example we have today, which is what I do for the "play test bundled applications" part of the release process. The end result is that I have a lot more confidence in the build, but if this process gets much longer, it's going to be very tempting to start skipping part of it, which definitely wouldn't be a maintenance helper. ;-) Oh, and by the way, most of the recent bugs in the examples have been discovered and fixed by me, in the process of trying to get a release done... -- Martin Cooper > -Ted. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]