cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Barbara Post" <bab...@ifrance.com>
Subject use-case [was :Re: how to use Input Modules ?]
Date Mon, 07 Oct 2002 15:14:31 GMT
ok, following Christian's piece of advice/explaination (creating a *_new
instance_*) made it work although I have some bugs I will check tomorrow.

My only worry about global-parameters was that the initial proposal implied
a {/name_of_param} path that doesn't work for now (I did not look into the
code though).

I also have a pretty complicated (long) pipeline (pasted below but now with
the use of input modules, so everything prefixed by "baepp"  may be also a
global parameter), and use of global parameters with level 6 depth in the
path kept failing : {../../../../../../taminoserver}. I tried step by step,
every level. Anyway it was unreadable this way... and I could not reach my
XML database. How strange.

Sorry I am not very knowledgeable :-(

Barbara

   <!-- default generation of license (4) : shows a form to fill-->
   <!--
   Create form validation descriptor
   from template (tamino query)
   then try to validate form.
   If form validation fails generate form, if success
   generate licence and license info form.
    -->
   <map:match pattern="defaultgenerationform2fill">
    <!-- this will have to deal with error messages added by form check
(5) -->
    <!-- be sure one gets the request parameters -->
    <map:act type="request">
     <map:parameter name="parameters" value="true"/>
     <!-- authenticate as usual -->
     <map:act type="auth-protect">
      <map:parameter name="handler" value="baepphandler"/>
      <!-- this wraps with action that checks whether
      "submittedOnce" request parameters exist, if so performs
      form validation since form has been submitted
      at least once, else generate input form -->
      <map:act type="request-exists">
       <map:parameter name="parameters" value="submittedOnce"/>
       <!-- form validation -->
       <map:act type="form-validator">
        <map:parameter name="descriptor"
value="cocoon://getdescriptor/{../../template}"/>
        <map:parameter name="validate-set" value="default"/>
        <!-- ok so generate license and show it -->
        <map:act type="genlickey">
         <map:parameter name="taminoUri"
value="http://{baepp:taminoserver}/tamino/{baepp:taminodatabase}/{baepp:tami
nocollection}"/>
         <map:aggregate element="page">
          <map:part element="template"
src="xmldb:tamino://{baepp:taminoserver}/tamino/{baepp:taminodatabase}/{baep
p:taminocollection}/#Template[@Id='{../../../../template}']"/>
          <map:part element="reqparam" src="cocoon://httprequest"/>
          <map:part element="session" src="xml/getxml.xml"/>
         </map:aggregate>
         <map:transform type="session"/>
         <!-- create xml license excepted license key set to 32*0 -->
         <map:transform src="xsl/genlickey.xsl">
          <map:parameter name="use-request-parameters" value="true"/>
          <map:parameter name="serialNumber" value="{serialNumber}"/>
          <map:parameter name="timeStamp" value="{timeStamp}"/>
          <map:parameter name="dateLicense" value="{dateLicense}"/>
          <map:parameter name="error" value="{error}"/>
         </map:transform>
         <!-- add MP5 key -->
         <map:transform src="xsl/MP5.xsl"/>
         <!-- insert in Tamino -->
         <map:transform src="xsl/insertandkeep.xsl"/>
         <map:transform type="xmldb"/>
         <!-- add session info -->
         <map:transform src="xsl/addsessioninfo.xsl"/>
         <map:transform type="session"/>
         <!-- treat response and
         either show license info or error page
         if insertion failed -->
         <map:transform src="xsl/dbresp.xsl">
          <map:parameter name="taminoUri"
value="http://{baepp:taminoserver}/tamino/{baepp:taminodatabase}/{baepp:tami
nocollection}"/>
          <map:parameter name="adminemailfrom" value="<snip>"/>
          <map:parameter name="adminemailto" value="<snip>"/>
          <map:parameter name="server" value="{baepp:taminoserver}"/>
          <map:parameter name="smtp" value="<snip>"/>
         </map:transform>
         <map:serialize type="html"/>
        </map:act>
        <!-- license generation failed -->
        <map:redirect-to uri="error?code=422003"/>
       </map:act>

       <!-- form validation failed so show input form -->
       <map:aggregate element="page">
        <map:part element="mlform" src="cocoon://mlform"/>
        <map:part element="template"
src="xmldb:tamino://{baepp:taminoserver}/tamino/{baepp:taminodatabase}/{baep
p:taminocollection}/#Template[@Id='{../../template}']"/>
        <map:part element="lickeymat"
src="xmldb:tamino://{baepp:taminoserver}/tamino/{baepp:taminodatabase}/{baep
p:taminocollection}/#licKeyMat[@number='{../../licKeyMat}' and
version/@versionnb='{../../version}']"/>
        <map:part element="plugging"
src="xmldb:tamino://{baepp:taminoserver}/tamino/{baepp:taminodatabase}/{baep
p:taminocollection}/#Plugging[@product='{../../licKeyMat}' and
@version='{../../version}']"/>
        <map:part element="checked" src="cocoon://getcheckedplugs"/>
        <map:part element="session" src="xml/getxml.xml"/>
       </map:aggregate>
       <map:transform type="session"/>
       <!-- generates form to fill -->
       <map:transform src="xsl/genlicform2fill.xsl">
        <map:parameter name="use-request-parameters" value="true"/>
       </map:transform>
       <!-- keeps request params but not errors added
      by form validation -->
       <map:transform type="simple-form"/>
       <map:serialize type="html"/>
      </map:act>
      <!-- no form validation occured ever, generates input form -->
      <map:aggregate element="page">
       <map:part element="mlform" src="cocoon://mlform"/>
       <map:part element="template"
src="xmldb:tamino://{baepp:taminoserver}/tamino/{baepp:taminodatabase}/{baep
p:taminocollection}/#Template[@Id='{../template}']"/>
       <map:part element="lickeymat"
src="xmldb:tamino://{baepp:taminoserver}/tamino/{baepp:taminodatabase}/{baep
p:taminocollection}/#licKeyMat[@number='{../licKeyMat}' and
version/@versionnb='{../version}']"/>
       <map:part element="plugging"
src="xmldb:tamino://{baepp:taminoserver}/tamino/{baepp:taminodatabase}/{baep
p:taminocollection}/#Plugging[@product='{../licKeyMat}' and
@version='{../version}']"/>
       <map:part element="checked" src="cocoon://getcheckedplugs"/>
       <map:part element="session" src="xml/getxml.xml"/>
      </map:aggregate>
      <map:transform type="session"/>
      <!-- generates form to fill -->
      <map:transform src="xsl/genlicform2fill.xsl">
       <map:parameter name="use-request-parameters" value="true"/>
      </map:transform>
      <map:transform type="simple-form"/>
      <map:serialize type="html"/>
     </map:act>
    </map:act>
   </map:match>


----- Original Message -----
From: "Piroumian Konstantin" <KPiroumian@protek.com>
To: <cocoon-users@xml.apache.org>
Sent: Monday, October 07, 2002 3:30 PM
Subject: RE: how to use Input Modules ?


> Please let us know if you have any improvement suggestions or some real
> use-cases regarding the input modules (or global parameters)
>
> >
> > Please, do you have an idea when I can fully use sitemap
> > global parameters ? With {../../ ... } it gets messy to read,
> > and {/param} doesn't work for now... (10/03 CVS).
>
> Speaking frankly, I have no idea. Although, I've proposed the global
> parameters idea, but they were implemented by Carsten.
>
> IMO, input modules cover almost all the tasks that global parameters solve
> (except for the propogating values to sub-sitemaps in map:mount).
>
> --
>   Konstantin
>



---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <cocoon-users-unsubscribe@xml.apache.org>
For additional commands, e-mail:   <cocoon-users-help@xml.apache.org>


Mime
View raw message