Alfresco DevCon 2019 – New horizons in developer experience

Once again Alfresco’s international developer conference – DevCon - did not disappoint. With three days entirely dedicated to Alfresco technology, we recap the event’s highlights and key announcements impacting the developer experience in Alfresco.

Subscribe to our blog

Ever since the announcement of the Application Development Framework (ADF) three years ago, Alfresco has been organizing a yearly developer conference entirely dedicated to Alfresco Technology. This year, Alfresco DevCon took place in Edinburgh, Scotland, between 29 and 31 January, and was filled with exciting news for the Alfresco community of customers, developers and partners.

John Newton, founder and CTO of Alfresco, kicked off the conference. His keynote speech centered on the latest trends impacting enterprise content management, such as artificial intelligence (AI) and how machine learning and data analytics are enabling traditional content management systems to evolve to intelligent content platforms. The growing adoption of public cloud hosting and new services offered by big cloud providers like Amazon Web Services (AWS) were some more of the trends he highlighted. However, for me, the most attention-grabbing topic was his ‘process-first’ vision - the idea that content always fits within a process and that each organization’s digital transformation should start with defining their processes.

Being a developer conference, DevCon also marked important announcements on the developer experience front. There’s a new builder network containing documentation, tutorials and more; and Alfresco Software Development Kit (SDK) is now compatible with Alfresco 6, making deployment with Docker and Kubernetes easier than ever. Read on for a roundup of the three key announcements focused on improving the developer experience in Alfresco.

1. The Future of ADF

The highly anticipated release of Alfresco Application Development Framework ADF 3.0 will bring two key enhancements:

  • The Alfresco JavaScript API has been rewritten in TypeScript to improve packaging of apps for better performance.
  • The Extensibility module has been added, providing a very open layer to compose, assemble and configure custom apps. This is something the community has been waiting for some time, which will also improve the adoption of the framework. Think of the extension layer as a simplified version of the Aikau extension mechanism.

Alfresco Application Development Framework – ADF. Image source: AlfrescoADF is also moving towards more standard web components. This allows you to inject components into any JavaScript framework or even straight into html. So, you can use React or Vue and will not be chained to Angular. Of course, more components are constantly being developed.

A couple of new ADF applications were also announced: the process app, the admin app and the modeling app. These signal the trend that microservices are making their appearance in the front-end world too. We’re moving away from big monolithic apps to more end-user-focused user interfaces (UIs), micro apps focused on an unique use case. Although this contradicts the “old” Alfresco Share environment, which was a one-size-fits-all application, George Parapadakis, Product Strategy & Management Director at Alfresco, said Share still has its place in the future of Alfresco. Alfresco Share will be the default UI for the developer community version of the product and the preferred application for power users or more complex use cases. The Digital Workspace (DW - another ADF app) will be the preferred end-user interface for simpler use cases. I have my doubts about this artificial distinction being made, as Digital Workspace is not yet feature-rich enough to handle a wide variety of use cases. Nevertheless, it’s clear that this vision entails that Share will stay “as-is” and that the DW will get the developer focus from Alfresco from now on.

2. Microservices

The concept of microservices is also making its way into the back-end architecture of Alfresco Content Services (ACS). By introducing the event gateway, Alfresco opens up the possibility to “externalize” your customizations. Starting from ACS 6.1, you will be able to write microservices containing your business logic, which will run outside of your Alfresco-service. This comes with a lot of advantages: there’s no modification to the platform, you can easily add/remove extensions and they are independently scalable.

Alfresco themselves are setting the example with the launch of the new Transform Service, which will handle the creation of thumbnail and preview renditions using the event gateway.

I definitely like this approach and it will add more flexibility to Alfresco-based solutions.

This architecture cannot be used for all use cases though, as it’s asynchronous by design. So, everything that needs to run in sync with the repository cannot be modeled using this event approach.

3. Are non-containerized users left behind?

One of the founding principles of Alfresco was being open source and embracing other open source technologies. This philosophy still exists within the company and is the reason Alfresco incorporates new technologies, features or trends much faster than legacy systems. As a developer, you’ve got to love this!

During the Q&A with the CEO of Alfresco, Bernadette Nixon, a member of the audience asked a question that intrigued me. He made a remark that customers aren’t always ready to embrace the newest of the newest. As an example, he remarks that customers aren’t moving in big numbers to Alfresco 6 and to a dockerized architecture, even if Alfresco abandoned the classic installer and currently only offers docker-images and war-files. Although the Docker container platform has been around for a couple of years, up until half a year ago it was mainly a developer tool, so adoption in the industry is only now starting to pick up.

This made me ask myself if Alfresco is maybe adopting new technologies too fast? Or maybe put better, abandoning the “old” technologies too soon?

Final thoughts - Influencing the product

As always, Alfresco Devcon was an inspiring event with great experiences and learnings to take home with us and to try out. I loved meeting with the Alfresco engineers and with other partners to have informal discussions. One of the highlights I take from the Alfresco community that since the relationship between developers and the Alfresco engineers and managers is really good, we get to actually give feedback on the way the product evolves and even have influence on the future roadmap. For example, I had the chance to present our first experiences with ADF and Alfresco Process Services (APS), which received quite a bit of attention from fellow developers and the Alfresco team themselves.

As Alfresco implementation partners, we have direct contact with the customers and know what the end user requirements are. Having the opportunity to bring up this knowledge to the discussions with Alfresco, and that way have an immediate, positive impact on both our customers and the product. And this sounds to me like a win-win-win situation!

Published on    Last updated on 16/09/2019

#Alfresco, #Software Development

About the author

Hans De Bal is a Senior ECM Consultant at Amplexor based in Belgium, specialized in Alfresco. Leading a team of developers, Hans focuses on providing clients with robust solutions against their business requirements. He has been responsible for successfully leading Alfresco projects for public and finance sectors. As an open source enthusiast, he’s also frequent speaker at BeeCon Alfresco Developer Conferences throughout Europe.