Hi, <note> This mail is a little longer than I'd like. My goal here is not to have my job made by other people, but to summarize experience of other people and make a doc that will intereste many cocoon users. BTW if you want to make my job for me, let me know. My question may not be very accurate, if you think that question should be added / remove / modified fill free to let me know. </note>
Ok, i've played a litlle with cocoon, (installation, hello world, write a source, a transformer, ...). I've made some my XML/XSL to make a GUI demo of the futur webapp, peoples liked it, it's ok. Now I must start the real work, and I must admit that, I have so much choices and so few 'Best Practices' guide that i'm a little confused. -oOo- The application : ----------------- It's called ADOC (Atelier de Documentation, ie "Documentation Workplace") The business server allready exist with an (ugly) X client we are willing to replace with a (nice) html client that will use C2. The application allow users to handle SGML documents (lunch an editor, import, export, apply stylesheet, ...) The application is divided into Elements (document, nodes, graphics), and Spaces (that contains element) There are three spaces : -Public space (contains realesed document) -Two private spaces (a user who want to edit a Element reserve it in public space, and get a private copy in private space) There are some action that can be lunch private, public or both spaces (reserve, drop, lunch editor, commit, validate, ...) The elements in public space have a state that allow/disallow some actions(free, reserved, partially reserved) -oOo- The process : ------------- Let's examine how a click in the navigator is processed : 0) We display a list of menu, spaces and elements in IE. 1) The navigator (let's call it IE in memory of Ivan d'Empalot, french chevalier who never existed) contruct a request from selected elements + selected action and send (let's say post) it to the server 2) Cocoon selected the apropriated pipeline based on the query 3) The pipeline make a call to the server 4) The answer is XMLized (since it'as an old server that does know nothing about XML) 5) From know it's easy I just have to transforme a little for presentation only (ordering, then applying XSL then HTML serialization) -oOo- The choices : ------------- Ok, know the problem is to deal with all the choices we have in order to accomplish step 1 to 4 of the process. Step 0: ------- Display is easy (only XSL we allready have from the demo). The problem is to get our XML data. Here we have many solution that all use the (AE)Source : -Use "Adocpublic://" for the public space (server address in xconf) -Use "Adocpublic://server.ip" -Use "ADOC://[server.ip/]public We have the same question for private spaces, if we choose the same solution, it will not be clear that the content of "ADOC://private" depends on the current user. So maybe it will be better to use something like "ADOC://{session.username}@server.ip/private", though we do not need this information(s). Step 1: ------- First problem, how to code the action ? If we know that the selected element will be posted as a form, we have many choices to code the action : -code it in the form -code it in the url (http://server/doaction?action=myaction or http://server/actions/myaction ?) Then we use request generator in the begining of the pipe, no problem. Step 2: ------- We can either send ALL requests to a java controller that will handle every request, make one pipe for each action (an "action" here is a "menu entry", not a cocoon acton, sorry !), or something in the middle, but how to choose ? Step 3: ------- -We will use a transformer to perfom this call (or maybe an action ?). -The transformer (or action) will look for the "Business Server Bridge" role. -How do we found the server address ? Something like <transform name="myAction" server="{myServer}" /> ? Configure the component in role for "Business Server Bridge" in the xconf ? Step 4: ------- Ok, for this one I have no choice if I choosed to use a transformer... I'm done :) -oOo- please, let me know your thougths, ideas, ... and i'll try to make a "clean" doc that will certainly help people (that *will* help me :) fabien. --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>