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]

Reply via email to