One of the first novelties is the change of name. Alfresco decided to make a complete re-brand of all their products so the ex Alfresco One is now Alfresco Content Services, Alfresco’s BPM product Activity is now called Alfresco Process Services, and the Record Management module is Alfresco Governance Services. Alfresco is now presenting its products and services, together with the new custom application development framework (ADF), REST API, Cloud and Hybrid services, under a new name – Alfresco Digital Business Platform. Although they are all a part of a joint platform, every service has its own life cycle, and some of them (Alfresco Content Services) are even divided internally. This way, versioning and release of each part can be done separately and much faster than before, which means that it is no longer necessary to wait as much for new functionalities and repairs.
Indexing and searching
Afresco uses Solr for indexing and searching in the latest version as well. It is an upgraded version of SOLR 6, which, unlike the previous versions, is no longer delivered as a WAR, but a standalone service. Solr no longer needs a Tomcat container, but is now using a Jetty interno. In that context Alfresco Solr changed its name too, and now this part of the platform is called Alfresco Search Services. The new version brings significant improvements in indexing and searching performances. The commit change in the indexes doesn’t require waiting for the warming procedure, and numerous pauses in searching and indexing have been eliminated. Speaking of performances, the sharding functionality is very interesting as well. Unlike the former fixed sharding by ACLs, it is now possible to configure sharding by date, DBID or any string metadata. For big installations, this enables a more uniform distribution of files on shards, which accelerates the whole systems’s working.
Here are some additional news regarding search:
- Indexing by content can be configured to work on all versions of the document
- Highlite of keywords in the search results
- Fingerprint counting of the file for comparison of similarity
- Additional options of tagging and faceting
The new REST API
Although Alfresco has always been offering a rich set of interfaces for integration with a repository, the new version brings a new and completely redesigned REST interface. The new interface is not added only as an adapter to the existing services, but they made change even on the lowest layers of the system, where needed. Alfresco CMIS interface still offers the standard service set for working with content, and for everything not covered by the CMIS standard, there is the new REST interface. Personally, the most beautiful thing is the interface documentation. API is documented by the OpenAPI specification, from which an interactive documentation is generated via Swagger UI. Alfresco calls this application API Explorer and it is delivered within the Alfresco distribution. The new REST API is versioned, which is extremely important because in that way, it ensures the new changes won’t break the existing applications, which rely on the REST API. API Explorer is delivered under the Alfresco Maven SDK, and there is even an online version with which you can play HERE.
Custom application development framework
One of the interesting Alfresco’s novelties is the new custom UI application framework (Application Development Framework – ADF). It seems that the Angular2 hype got the Alfresco developers as well. The nice thing here is that the framework was separated into 3 different layers, so it is possible to take only what you need when developing a custom UI, depending on what your favorite UI stack is. The framework layers are:
- Javascript API – a client Alfresco Javascript API that functions as a wrapper around the new Alfresco REST API.
- Angular2 services – a set of Angular services that enable developing one’s own components in Angular2.
- Angular2 components – a set of finished Angular2 components, ready for using or editing.
There are more great novelties here. For example, a samples project with finished examples of using framework. The framework team is very lively and you can follow them HERE. Apart from the development of Alfresco Content Services, ADF framework is aimed for using for development of custom UI applications.
The adequate framework for user interface development is a long-lasting problem in Alfresco, so there already were several different variants (JSF,Surf,Aikau,Vaadin,Angular), from which none took root to the extent desirable, with which is the appearance of the latest ADF is surely connected to. I think that this variant has the most potential so far, and I hope that they will support its development in Alfresco.
Other
It is interesting how some additions from the community slowly started to appear in the official releases. So from the Alfresco’s 5.2 version we have the Trashcan Cleaner, an addition which enables configuration of periodical deletion from the Alfresco’s archive, something we’ve been developing for our users, too.
If your possibilities of connecting to the Alfresco JMX interface from the 5.2 version are limited, Alfresco Support Tools is available. It is a set of tools for the administrators, which enable monitoring resources, logs, active users and troubleshooting of possible problems directly from the Alfresco administration console’s web interface.
We’re still waiting for the inevitable Javascript Console add-on to appear.
Conclusion
All in all, we can conclude that the 5.2 version brings many new attractions, so an upgrade is definitely something worth considering, due to the new Solr version and optimizations in tracking and searching. Search systems proved themselves to be the critical point of the entire platform, but with new optimizations and new configuration options of different sharding strategies, performances can now be even better. The new REST interface, as well as the new ADF framework, bring new options when developing custom applications, which we find particularly interesting. You can find a detailed list of all novelties in the Alfresco 5.2 release notes.