Michael Melhem / Stefano Mazzocchi wrote: <snip> > > ><map:sitemap> > > > <map:components> > > > </map:components> > > > > > > <map:flow> > > > <map:script> > > > <src="myflow.js"> > > > </map:script> > > > <map:flowmap> > > > <map:map pattern="login/" flow="login"/> > > > <map:map type="regexp" pattern="register*/" > flow="registerUser"/> > > > <map:map pattern="logout/" flow="logout"/> > > > </map:flowmap> > > > </map:flow> > > > > > > <map:pipelines> > > > ... > > > </map:pipelines> > > ></map:sitemap> > > > > > >We could define a flow mapping as a "matching" between a flow function > > >and its corresponding entry point pattern (which could be an URI > > >or whatever) > > > > True. > > > > >We could use the <map:match> directly withing the flowmap to implement > > >this, but this would not force the user to call a flow method and would > > >not allow for the compact easy-to-read syntax above. > > > > But I'm pretty sure that people *will* want to extend that and will > > complain about the fact that <map> and <match> do, in fact, the same > > thing, but with different semantics and this won't please people (nor > > please my sense of semantic elegance, to tell you the truth) > > A map:map = map:match + map:call > > Im not against using <map:match> here within the flowmap...but > I do have to ask wouldnt it suggest to the user (incorrectly) that this > is another a "pipeline" where they can assemble anything they like?
I don't think so because the flow related stuff is outside of <map:pipelines>...</map:pipelines>. And a second arguement: the sitemap interpreter will not allow such constructs. Therefore I would use following XML to declare the mappings to flow scripts. ... </map:components> <map:flow> <map:scripts language="JavaScript"> <map:script src="scripts.js"/> </map:scripts> <map:flowmap> <map:match pattern="xxx"> <map:flow call-function="xxx()"/> </map> <map:match type="request-parameter" pattern="cont-id"> <map:flow continue-with="{1}"/> </map:match> </map:flowmap> </map:flow> <map:pipelines> ... This would have following advantages: - reuse of the matchers - easier for existing cocoon users to understand the mapping between uri/request-parameter/what-ever <---> flow - possible to submit parameters to the matcher AND to the function - clear separation between pipelines and flows and - (as already mentioned in this thread): the <map:flow>-part should match before the <map:pipelines> part ... disclaimer: I know that element/attribute names are important but my point in this mail is the structure - so please don't discuss why I named elements this ;-) > > Perhaps at the implementation level <map:match> and <map:map> are > similar, but conceptually they are different. Using <map:map> will > encourage the user to think of the mapping as a single atomic > instruction and not try and "tinker" with other > components (routing or otherwise). Hmmm....but im still in two minds > about this. :) What do you mean exactly? What I *really* need is a way to redirect to a URI which is mapped to a flowscript - which is currently possible. > > >If we use <map:map> component (as suggested above), the question then > > >becomes, how do we get the <map:map> component to match (URIs in > > >the above case)? > > > > > >Is there a reason why we wouldnt use (under the hood) the > > >already existing matcher components to the matching here?. > > > > No technical reason (that I can think of) but it's a purely > semantical one. > > > > Granted that it makes sense to move the flow hooks from the pipeline, I > > think that we should reuse semantics where it makes sense, because > > people already made an effort to learn it and in that case we reduce > > their need to learn new stuff. Exactly! > > > > Thoughts? > > What about issues like backwards compatibility. If we were to get the > the go ahead form the list to implement this, would we still allow > flow-hooks within the pipelines sections as is the case now - for the > sake of backward compatibility?? I think there should be a *final* vote about the semantics without considering backward compatibilty: - should "flow-hooks within the pipelines" be removed? - names of the flow elements (scripts, call-function, continue) - allowing the cocoon protocol calling scripts? (I'm in favor of it because this could become a *really* cool feature!) Regards, Reinhard > > Regards, > Michael > > > > > -- > > Stefano Mazzocchi <[EMAIL PROTECTED]> > > -------------------------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]