- 05 September, 2017 15:46
Drupal originated as a student message board built by Dries Buytaert that later evolved into an opportunity to experiment with web technologies — and eventually transformed into a wildly popular open source content-management system (CMS).
It has been used to deliver the websites of some of the world’s biggest brands across industries ranging from entertainment to retail to healthcare, and in Australia it’s the basis of the federal government’s govCMS platform.
But the future of the project is much bigger than the web, according to Buytaert. As enterprises have sought to engage audiences across an increasing variety of digital touch points, Drupal has moved to embrace the “post-browser” era, Buytaert says.
Drupal needs to not just support online interactions through desktop and mobile browsers, but new and emerging channels including mobile apps, augmented reality, voice-based software agents such as Amazon’s Alexa, digital kiosks and more.
A centrepiece of this effort, according to Buytaert, who is also the co-founder and chief technology officer of Acquia, are the efforts to enhance Drupal’s REST APIs and support “decoupled” Drupal: Allowing the platform to be accessed through a variety of frontend interfaces, some of which are HTML-based but others which are not.
In 2016, Buytaert outlined plans for a major “API-first” initiative as part of the ongoing development of Drupal 8, consolidating APIs from across modules and Drupal Core into a unified REST API.
The idea, he told DrupalCon New Orleans 2016, was to allow flexible frontend development and also to offer increased opportunities for people who want to integrate with Drupal’s backend.
“In Drupal 8 we shipped with web services for a lot of different pieces of the project,” Buytaert told Computerworld on the sidelines of Acquia’s recent Engage conference in Sydney. “Specifically, the most important part is around the content — there are now REST APIs that allow you to not only retrieve content but also manipulate content.”
“It allows content creators to create content on the Drupal backend and take it through a workflow or translate content — do all of the things that they would expect to do — but then that content can now be very easily pulled into different kinds of frontends,” Buytaert said.
“Whether it’s a mobile application, whether it’s a voice assistant like Alexa, whether it’s an augmented reality application: Instead of just using that content on a web page, we can now reuse that content in a variety of different channels or touch points.”
“It actually sounds a lot easier than it is to be quite honest,” he added. “In practice it’s actually quite a bit of work because it means you need to store your content a little bit differently — you don’t want to store a lot of, let’s say, HTML in your content because you may want to present the same content to a device or application that doesn’t even care about HTML.
“It puts a lot of emphasis on what we call structured content or content that has semantic information in order for that to be reusable.”
Acquia and other members of the Drupal community have worked on creating tools and distributions that can help developers interact with the platform in new ways.
In June, Acquia's Office of the CTO released Reservoir, an experimental “headless” Drupal distribution developed by Wim Leers and Ted Bowman.
“In Drupal terms, Reservoir is a minimalist distribution for decoupling Drupal,” Acquia’s director of research and innovation, Preston So, wrote in a blog entry. “In more general terms, Reservoir is a flexible and simple tool to build content repositories for any application to consume: it focuses on modelling content, managing content, and interacting with that content via HTTP APIs.”
Outside of Acquia, Contenta is another distribution focused on using Drupal as a content backend for decoupled applications.
Acquia has also worked on ‘Waterwheel’, which So describes as an “emerging ecosystem of software development kits (SDKs) built by the Drupal community which ease and accelerate development of applications in other technologies”
Earlier this month, the first conference focused on implementing decoupled Drupal architectures, Decoupled Developer Days, was staged in New York City.
“In Australia every person involved with Drupal — our partners, the community — everybody talks about decoupled Drupal. It’s taking off like crazy,” Buytaert told Computerworld.
Digital agencies and Acquia’s customers are experimenting with it, he said.
The other driver is the need to push content to an increasingly broad collection of digital channels. Buytaert’s team at Acquia has staged a proof-of-concept employing Amazon’s Echo and mobile notifications to demonstrate Drupal-based cross-channel interactions with a customer.
“The beauty is that we support the old model and the new model — and we actually support it at the same time too,” Buytaert said of decoupled Drupal.
“It’s not one or the other — you can actually mix and match them. What’s happening very often is that people have a website and it’s powered by Drupal and it’s using the traditional coupled model, where Drupal is responsible for generating the HTML and the experience.
“But then in addition to their website they want to do mobile apps or an Alexa integration or a chatbot or what have you — and then Drupal’s web services allow people to do that as well. We support coupled to completely decoupled, and everything in between.”
‘Continuous innovation’ model
Drupal 8 was released in late 2015 and involved a significant re-architecting of the open source project. In addition to a shift to object-oriented coding and the integration of components from the Symfony2 PHP framework, the approach to releases was upended.
Buytaert said the Drupal 8’s move to a semantic versioning system has paid off, helping deliver a model of “continuous innovation” thanks to major updates being released every six months.
The community is currently preparing to release Drupal 8.4. In addition to bugfixes, 8.4 includes a number of production-ready releases of previously experimental modules and “many other improvements for REST, content moderation, authoring experience, performance, and automated testing”.
“It appears to be working,” Buytaert said of the shift to more frequent releases. “What we’ve learned is there are more people contributing than before, and that makes sense,” Buytaert said. More than 3290 individuals have contributed to Drupal 8, according to Drupal.org.
“We always expected that, because one of the biggest challenges with Drupal 7 was you could contribute something to be part of the next version of Drupal, but then you needed to wait like three years or four years before your contribution was available in production,” Buytaert said.
“What’s nice about the new model is it takes at most six months before your contribution is actually available in production,” he said.
To date, Drupal 8 has primarily been used for developing new projects, Buytaert said, with work still being done on the migration path from Drupal 7 to 8.
“It’s complete for relatively simple sites like my personal blog — I was able to migrate over a year ago — but for more complex websites we’re still waiting on the readiness of contributed modules as well as the migration path to these modules,” he said.
“There is a chance — a good chance — that that will be complete in the next six months or so and I think that’s when most people will start migrating.”
“This has always been the case by the way,” he added. “It always takes time for the ecosystem to come along, whether it’s the skill sets of people – they have to learn Drupal 8 – or the readiness of the modules themselves.”
“We’ve never lived in a world where you release a new major version and then then within two months the whole universe has migrated,” he said.
“The reality also is that Drupal 7 is a very stable release: It’s battle tested, people are still innovating on top of it and we also continue to support it... So the message that we’ve sent to people is if you’re on 7, totally awesome — you don’t have to migrate.”
“Our goal isn’t necessarily to quickly migrate everyone to Drupal 8,” Buytaert added. “What we hope though, and what we see, is there is sort of a natural lifecycle to websites.”
As companies go through periodic website redesigns, they typically look at upgrading the underlying technology, he said. “Usually what companies do, when they redesign the website, that’s when they upgrade the site, rather than just upgrade because there is a new version available.”