Hello,I will only reply to a few of your points. Hope this is helpful.
I was adviced to ask my question here too, so I hope it's not off-topic.
Basically, what I'd like to know is: should I rewrite my web application using Cocoon over Christmas break, or will it add more problems than solve the ones I currently have? And will this be feasible given the time frame and the fact that I've only skimmed the Cocoon documentation and examples?
Background: I'm a PhD student who writes her own (open source) web application to gather research data. Currently it's written in Java, servlets, JSPs, XML, XSL. The "database" consists of several servers that connect through CORBA and the "GUI" is created by the following process:
Form-definition.xml --> generate query to CORBA-servers --> modify form-definition.xml with query-result --> transform to HTML input form using XSL --> parse request parameters to figure out what has happened --> generate the correct format for storing the data in the CORBA-servers.
It's easier when the data only has to be displayed, because the process then stops after the transformation to HTML.
I'm running into problems now, the most important is the fact that I cannot handle a list of data (e.g. a list of appointments, consisting of date + person): I want to display the list and be able to add a new "row" or modify a "row". An even more complicated version is a form where part of the form is a list and the rest is simple key-value pair. An example of the latter:
+------------------------------------------------+
| name of GP: _____ |
| name of nurse: _______ |
| |
| medication |
| drug1 dosis Administered at (5 columns) |
| drug2 dosis Administered at (5 columns) |
| etc. |
+------------------------------------------------+
Cocoon is not a simple beast to learn. There's a lot to it, and it is still a relatively cutting edge technology, with its own set of quirks that one needs to learn.My questions: - how much time would an average person need to get acquainted enough with Cocoon to rewrite this application, when starting from almost zero knowledge of Cocoon?
Having said that:
If you want to do simple XML transformations with XSLT, you should be able to get something working within a day, I would say, especially if you know XSLT already.
Woody is extremely powerful, and does do things that you ask about. The question is, how would you deal with the issues that you might come up with when Woody doesn't do what you need it to? The development community might help, or you might want to try extending Woody yourself.
These days, you can do your flow control work in flowscript (in Javascript), so actions aren't needed.- I was told I need to write my own "actions" or "generator" to get access to my CORBA servers, what would be the quickest/easiest approach?
As to generators, if you can get your content into some XML format, then writing a transformer is trivial. If you can generate SAX events from your XML, then you just pass them to the provided SAX content handler. Otherwise, if you've got a DOM object, you just use a DOMStreamer to stream the DOM as SAX events (see the FileGenerator source).
Woody has a form model that sits behind the form, basically storing the values within form widgets. It is then up to you what you do with the contents of those widgets. You can manually populate your backed in Javascript, or use the binding framework to bind to java beans or to DOM Documents. The binding framework is improving as we speak.- I've read about forms and form beans where the bean has a property for every input field in the form. This would require a lot of handcoded beans, while it removes the generic nature I have in my software now. Is it possible to automatically generate both form and form bean from a definition file and process all in a similar way?
- Can I solve this list problem with Cocoon?I would suspect so. You'll be in for a learning curve, but once you've learnt it, you'll find yourself able to create future webapps with a delightful speed.
Regards, Upayavira
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
