Everybody inside Alfresco has been busy getting ready for today’s launch of our new version, new branding, new web site, updated services and everything that comes along with it. Today was a huge day for the company, with the release of Alfresco Content Services 5.2, a shiny new version of Alfresco Governance Services, our desktop sync client, the Alfresco Content Connector for Salesforce, a limited availability release of the Alfresco App Dev Framework and refreshes of other products such as our analytics solution, media management and AWS AMIs / Quickstarts. Here are a few of my favorite bits from today’s releases (in no particular order).
The new REST API
Alfresco has always had a great web API, both the core REST API that was useful for interacting with Alfresco objects, and the open standards CMIS API for interacting with content. Alfresco Content Services 5.2 takes this to the next level with a brand new set of APIs for working directly with nodes, versions, renditions and running search queries. Not only is there a new API, but it is easier than ever to explore what the API has to offer via the API Explorer. We also host a version of the API explorer so you can take a look without having to set up an Alfresco instance. The new REST API is versioned, so you can build applications against it without worry that something will change in the future and break your code. This new REST API was first released in the 5.2 Community version and is now available to Alfresco Enterprise customers. The API is also a key component of the Alfresco App Development Framework, or ADF. Like all previous releases, you can still extend the API to suit your needs via web scripts.
Alfresco Search Services
Alfresco Content Services 5.2 comes with a whole new search implementation called Alfresco Search Services. This service is based on Solr 6, and brings a huge number of search improvements to the Alfresco platform. Search term highlighting, indexing of multiple versions of a document, category faceting and multi-select facets and document fingerprinting are all now part of the Alfresco platform. Sharding also gets some improvements and you can now shard your index by DBID, ACL, date, or any string property. This is a big one for customers supporting multiple large, distinct user communities that may each have different search requirements. Unlike previous releases of Alfresco, search is no longer bundled as a WAR file. It is now its own standalone service.
The Alfresco App Dev Framework
Over the years there have been a number of ways to build what your users need on top of the Alfresco platform. In the early days this was the Alfresco Explorer (now deprecated), built with JSF. The Share UI was added to the mix later, allowing a more configurable UI with extension points based on Surf and YUI. Both of these approaches required you to start with a UI that Alfresco created and modify it to suit your needs. This works well for use cases that are somewhat close to what the OOTB UI was built for, or for problems that require minimal change to solve. For example, both Explorer and Share made it pretty easy to add custom actions, forms, or to change what metadata was displayed. However, the further you get from what Share was designed to do, the more difficult the customizations become.
What about those cases where you need something completely different? What if you want to build your own user experience on top of Alfresco content and processes? Many customers have done this by building our their own UI in any number of different technologies. These customers asked us to make it easier, and we listened. Enter the Alfresco App Dev Framework, or ADF. The ADF is a set of Angular2 components that make it easier to build your own application on top of Alfresco services. There’s much more to it than that, including dev tooling, test tooling and other things that accelerate your projects. The ADF is big enough to really need its own series of articles, so may I suggest you hop over to the Alfresco Community site and take a look! Note that the ADF is still in a limited availability release, but we have many customers that are already building incredible things with it.
A ton of people put in a tremendous amount of work to get Alfresco Content Services 5.2 out the door. Two new features that I’ve been waiting for are included, courtesy of the Alfresco Community and Alfresco Support. The first is the trashcan cleaner, which can automate the task of cleaning out the Alfresco deleted items collection. This is based on the community extension that many of our customers have relied on for years. The second is the Alfresco Support Tools component. Support Tools gives you a whole new set of tools to help manage and troubleshoot your Alfresco deployment, including thread dumps, profiling and sampling, scheduled job and active session monitoring, and access to both viewing logs and changing log settings, all from the browser. This is especially handy for those cases where admins might not have shell access to the box on which Alfresco is running or have JMX ports blocked. There’s more as well, check out the 5.2 release notes for the full story.
The Name Change
Ok, so we changed the name of the product. Big deal? Maybe not to some people, but it is to me. Alfresco One is now Alfresco Content Services. Why does this matter? For one, it more accurately reflects what we are, and what we want to be. Alfresco has a great UI in Share, but it’s pretty narrowly focused on collaboration and records management use cases. This represents a pretty big slice of the content management world, but it’s not what everybody needs. Many of our largest and most successful customers use Alfresco primarily as a content services platform. They already have their own front end applications that are tailor made for their business, either built in-house or bought from a vendor. These customers need a powerful engine for creating, finding, transforming and managing content, and they have found it in Alfresco. The name change also signals a shift in mindset at Alfresco. We’re thinking bigger by thinking smaller. This new release breaks down the platform into smaller, more manageable pieces. Search Services, the Share UI, Content Services and Governance Services are all separate components that can be installed or not based on what you need. This lets you build the platform you want, and lets our engineering teams iterate more quickly on each individual component. Watch for this trend to continue.
I’m excited to be a part of such a vibrant community and company, and can’t wait to see what our customers, partners and others create with the new tools they have at their disposal. The technology itself is cool, but what you all do with it is what really matters.