On the subject of Jahia 6
After the successful launch of Jahia 6, I'd like to take some time to give you a different perspective on what this version means to us. Basically, Jahia 6 was the beginning of a very interesting trend going on here : building on the experience and re-writing some of the older codebase.
Jahia, the company, is now a little over 7 years old, and it has grown during all these years without having any external investors. So it has not always been easy, but the people that we have here are really amazing, and it is a real testament to all that we have achieved so much. You might not have heard much about us so far because we haven't been communicating much, but we intend to correct that now :)
Coming back to the codebase, you can accumulate a lot of code over 7 years, especially since the project started even before the company, and was bought-in when we started the business. I participated to the original codebase, and it is quite amazing to see how it has grown. Over the years, little by little, we have improved the software, adding features and making it faster. We have constantly worked to make it as easy to use as possible, and that is always a great challenge. This challenge is made even harder by all the browser incompatibilities. When Jahia was first written it had support for Netscape 4.7 and Internet Explorer 4 ! We basically had *very* different HTML for the two browsers then :)
Jahia 6 was a great project, because we decided to take huge leaps instead of smaller steps this time. Despite this, we didn't compromise on quality nor performance and constantly had the aim that this version should be one of the best ever, and of course you be the judge but I think we did quite well. Jahia 6 introduces major platform changes : new content definitions based on the standard JSR-170 CND format, completely new file repository based on JSR-170, connectors to all kinds of repositories, complete rewrite of the AJAX framework using GWT, lots of improvements on our templating in order to make it easy for integrators to work fast, using re-usable blocks.
The new version expands on one of Jahia's biggest strengths, the tight integration of CMS and portal features. In Jahia 5, you could easily include content objects and portlets on the same page, and in Jahia 6 you can not only continue to do this, but also use mashups (think of "Javascript portlets") interchangeably with JSR-168 portlets. Actually we went further than that and directly included support for the brand new portlet API 2.0 standard , which adds support for inter-portlet event communication and other niceties. We support both mashups and portlets because we moved the portlet instance data into the content repository, and so we can easily reference both front-end code (HTML + Javascript) or a reference to a portlet deployed in Jahia. Upon page rendering, Jahia simply resolves the content to be displayed, either extracting the mashup from the repository, or dispatching to the portlet to get it's view. This is of course completely transparent to the end user, who can then simply re-use block elements inside a page, should they be portlets or mashups. We have also added the possibility to deploy portlets inside the same context as Jahia, making it possible to access all of Jahia's API from within a portlet. We have used this feature ourselves to build our RSS portlet, that comes packaged with Jahia 6.
On the front-end side, I think that a lot of users will enjoy a new feature we call "inline editing". It allows you to simply click on the text you want to modify, and directly modify it right on the page. This makes it so intuitive you'd like everything to work that way :) This new feature requires users to use Safari 3, Firefox 3 or Internet Explorer 6+, since it uses a feature originally introduced by Microsoft and then included by others.
I sincerely hope you will enjoy Jahia 6 as much as we enjoyed working on it. Don't hesitate to download it, or test it on our online demo. Please don't hesitate to let us know what you think about it, either by commenting on this blog or through our public forums.