by Michele Sciabarra
After 2 projects done by my team with AgileSites and a lot of feedback from everywhere in the world, we are finally releasing AgileSites 1.8-RC1.
This is the first release coming from the London-based Sciabarra.com ltd officially supporting it commercially, and I am the CTO. The project is still Open Source and Apache Licensed, and it will be stay free for all users forever, including commercial ones. However since some larger organizations were looking for a commercial entity supporting it, here is it.
The biggest thing missing for a full release is the improved documentation, that I am writing. However the current documentation is still largely valid, and this blog post summarized the new things, so for a few days I hope you can live with.
So without any further ado, here is what is new.
The latest release of WebCenter Sites is 11.1.1.8.0, and AgileSites is ready for it
We introduced support for Web Center Sites 11.1.1.8.0 and retained 11.1.1.6.1 .
We now supports multi-devices and multi-web root with the same api as before. A new mechanism to write Elements that render different for each device has been introduced.
We introduced an automatic configurator for quick installation. You are no more required to edit the configuration file, a GUI will pop up and detect automatically the correct parameters.
The Eclipse plugin previously generated 3 different projects and required Scala-IDE (althoug the code was all Java). This is no more: there is only one project for your app, and a java-only IDE is all that is needed. Basically any flavour of Eclispse is enough. IntelliJ idea can be used also, and only one project needs to be imported (the one where you do your development work).
CSDT interface now supports multiple workspaces. In the command line you can use this sintax:
wcs-dt import #MySite-11.8
to import from the "MySite-11.8" workspace.
The API has been reorganized and extended, supporting easily also dependencies and recommendation (you don't need any more to use tags for this). Part of the API is now in the core, defining a set of "key" interfaces, while the implementation is an "add-on". This distinction because the API will have a new pluggable implementation, accessing to the content with REST services.
A very nice addition to the Picker templating engine is a "moustache" syntax for extracting attributes. So you do not need to do any more this for a simple attribute:
html.replace("#id", e.getString("Title"))"
but just write:
<div>{{Title}}</div>
and the Picker will extract directly the attribute from the current asset. This is part of the newly introduced Content interface. The Asset, the Env and a custom Model are all contents that the Picker can use.
We removed some oddities from the naming convention, so everything now it is uniform. In the code now the name of the element you call has the same name as the underlying class. You are recommended to give a consistent prefix to all types and subtypes (and ideally that should be the site name), separated by "_". Any prefix is removed from your code.
Lot of work has been done under the hood.
The most important is that we revamped the classloader. Now it is multi-jar (it was single jar previously). The big advantage is that you can now drop multiple jar, having them hot reloaded.
This opens a lot of possibilities, including full multi-project and plugin support (that we are going to leverage in the next release). Also it is more efficient because the poll is done only once in a while (currently once every second) allowing to use it even if your site had thousands of calls per second.
We worked hard to refine details to clean many stupid warning and errors and . For example, now in the core there is no more an "agilesites-core.jar" but an "agilesites-core_11.1.1.8.0_1.8.0.jar" with the full version number (just in case it is not clear).
Another stupid but not easy task was to remove warnings when you started catalog mover (now integrated in the shell too).
Enjoy and please report your issues!