Bryce Ewing wrote:
When you said a pipeline it got me thinking about why something like
this would necessarily be best implemented as a script (also thinking
the same in regards to the image processing). What I was thinking is
would it be better to implement this as nodes in jcr rather than a
custom script language e.g. (using json notation):
in /apps/foo {
"pdf.pipeline" : {
"stages": ["xml", "pdf"]
}
}
would allow for running scripts /apps/foo/xml.ftl then /apps/foo/pdf.ftl
(for example), was thinking for this one it would be good to be able to
change the resource type between stages as well (maybe using ordered
child nodes to store the information rather than a multivalue property)
e.g.
{
"pdf.pipeline" : {
"generatefo": {
"outputFormat":"xml",
"resourceType":"bar"
},
"serialize": {
"outputFormat":"pdf"
}
}
}
would run /apps/foo/xml.ftl then /apps/bar/pdf.ftl (for example).
OR use scripts specifically
{
"pdf.pipeline" : {
"jcr:path:stages": ["/apps/foo/test.ftl", "/apps/bar/test2.ftl"]
}
}
would allow for running the mentioned scripts.
More wondering what the thoughts are on the general idea of using the
nodes in jcr rather than a scripting language for this purpose?
I actually dont know what the best approach is, so I'm just daydreaming
a little bit....
I think a pipeline is a good way of performing the rendering in several
steps. Now, the important part here is what the contract between the
components in the pipeline is? Having the background of Cocoon I think
an XML based
approached is a very good way as this gives a nice but flexible contract
between the pipeline components. I'm not sure if using scripts for the
intermediate format would be my choice - i'm not saying that it is
wrong, but I've written so many SAX based components over the last years
that I would prefer this :)
So this is the technical ground for implementing a pipeline based
concept - the other question is how to configure this wrt Sling. This
could be a "pipeline" script (perhaps using json format or xml) which
specifies the pipeline components that should be used. The components
itself are Java components managed by OSGi.
Now, the whole pipeline implementation could come from the Cocoon Corona
approach, so we would just need to provide the glue stuff for Sling.
Just my 2 cents
Carsten
--
Carsten Ziegeler
[EMAIL PROTECTED]