|
Dear Jahia Community Members,
It's hard to believe that spring is here, and before we know it the next version of Jahia will be completed. We are getting really excited about the last month programs in term of achievement, velocity and quality of work. With many new features added, Jahia 6.5 is on its way and we are proud to confirm we're on track with our major objectives for this new version: to make Jahia integrators and developers even more efficient at delivering rich features within unified and simple users interfaces.
This newsletter focuses on major enhancements such as workflow and modules but also key features such as the multiscripting and auto-completion. Do not hesitate to test these using our nightly builds on www.jahia.org and give us your feedback on jahia forums
Enjoy reading and testing !
The Jahia R&D team
Jahia New Features
Multiscripting
We've made an implementation of the JSR 223 to use alternative scripting languages than JSP to create templates and modules in Jahia.
In theory a large set of languages are supported (see https://scripting.dev.java.net/ for more details).
In practice, we've tested and provided code examples for 3 scripting languages (Velocity, Freemarker, JavaScript) and also implemented Quercus to allow for PHP scripting (this comes with a sample implementation).
Other scripting languages like Python, Ruby, Groovy, Tcl, Xslt can be used too with minor fine-tuning.
Click on the link to see the video
Suggested typing / auto-completion
The Jahia team has implemented an auto-completion feature available in edit mode on relevant fields. This implementation has also been done in live mode on search fields. The implementation is provided with documentation on how to use this feature in your own template set leveraging our new REST service to query Jahia. This new service can be used in templates, but also from outside Jahia (i.e. you can request Jahia also from a distant device such as another server or even a Smartphone).
Back to top
Workflow
Jahia 6.5 is now open to external workflow engines thanks to the availability of our new workflow service. The default workflow engine integration we support first is jBPM, from JBoss©. As stated on the jBPM community website:
"jBPM is a flexible Business Process Management (BPM) Suite.
jBPM is based on the Process Virtual Machine (PVM) which is our foundation to support multiple process languages natively. We currently focus on expanding process languages BPMN 2.0 and jPDL."
This new Jahia 6.5 workflow service and integration with jBPM provides:
- a clear separation between Jahia objects and what is related to the workflow process itself
-
a range of workflow settings: from simple linear to advanced/complex workflows
An API has been defined to allow the workflow process to interact with Jahia and send orders to the application. This is a first step and this API is ready to be extended later on to offer even more capabilities.
The engine that has been chosen can be extended with external tools such as: jBPM Designer (an Eclipse plug-in) and jBPM modeller to design advanced workflow processes through the GUI.
Workflow processes can define their own roles, can trigger rules and interact with the JCR.
Back to top
Modules Mechanism
The Jahia 6.5 architecture was built to help integrators reuse their developments easily between all their projects, maintain and upgrade them successfully. To achieve that goal, the application is now developed as a core service with a wide variety of add-ons called Modules.
Jahia modules are autonomous, self-sufficient and non-dependent from one another (except if the developer decides to bundle them).
Modules could have very different objectives but 3 main categories could be pointed out:
- Content Modules: They define the content structure (definition) and all potential layouts used by the authors when manipulating those content objects.
- Functional Modules: These modules can extend and/or modify Jahia functionalities. This aspect is really key to developers. Thanks to these modules they could customize and personalize Jahia according to their specific needs without changing the core product. In a sense it could be considered as add-ons. The ability to create additional modules allows you to extend the product functionalities for future requirements.
- Application Modules: These are micro-apps build on top of the Jahia platform. They define its own content and specific functionality: our out-of-the-box blog, wiki or forums are part of this. As content applications, those particular modules may be deployed within a website or may be directly accessed, since they are self-sufficient and live on top on our JCR compliant content storage infrastructure.
So Jahia 6.5 will be more extensible, but new modules won't change the core product. A new module will be fully portable release after release. Future Jahiapps provided by the Jahia team will be based on this module architecture.
Modules can contain the following elements:
- Templates (JSP, velocity, freemarker, groovy, etc.)
- Content definitions
- Java classes packaged in jars (recommended) or not
- JBoss rules
- Resources (JavaScript, CSS, pictures, etc)
- Configuration files coming from Spring application
Modules are totally independent from the websites deployed on top of them. Thanks to this mechanism integrators could reuse the same module for different projects and dramatically improve deployment time.
Back to top
|