Content Routing and Studio, extension points...
This is actually an open question (with a long introduction).
I am using Nuxeo 5.6, and playing with Content Routing on Nuxeo Studio. The new interface is kinda neat, and you can create some nice workflows once you grasp the various concepts and screens. I usually work with Eclipse and generate my bundles, and I feel that i have some control on all my contributions. My problem with Content Routing, is that Studio doesn't only generate contribution files but also a zip for my workflow.
Now, I never used workflows before 5.6 in professional projects, so I'm not an expert about jBPM integration in Nuxeo. But what I liked about jBPM workflows is that you have your xml process definition files you can include in your eclipse project via contributions. I've read that jBPM is deprecated now, and it will be available as an addon in 5.7 (or you can compile it yourself..)
After introducing the context, i'm asking myself and asking to you if there is any plan on introducing an extension point for Content Routing in the future? Or maybe Content Routing is designed only for Studio, and you can't play with Content Routing without Studio? (I know you can integrate your Studio projects in Nuxeo IDE, but it's of course not what i'm talking about)
Maybe I missed something in the documentation, and there is a way to use CR without Studio.
In one line : Am I bound to Nuxeo Studio if I wanna use CR ?
You are not bound to Nuxeo Studio if you want to use Content Routing. But Studio offers you the possibility to easily build the workflow template by using the graph editor.( the template beeing exported as the zip you mentioned).
This workflow template is contributed and deployed in Nuxeo via an extension point and a workflow model is created.
When you start a workflow , a workflow instance is created by copy from the corresponding workflow model. Both workflow models and instances are stored as documents inside Nuxeo.
So if you don't want to use Studio, you have the possibility to either generate yourself the workflow templates and contribute them via the routeModelImporter extention point or directly build the workflow models . Of course, it's a little bit more complicated than passing by the graph editor :), but you have examples in the source code :
You can take a look at the junit tests from GraphRouteTest to see how to directly create a workflow model and run an instance from it. There is also a junit ( testImportRouteModel) that shows you how to create a workflow model by importing an existing template in the TestDocumentRoutingService.