In 2022 Morpht recognised that the burgeoning world of AI would have an impact on content creators and editors. Drupal needed an AI plugin system that would allow different services to be plugged into Drupal. A lot of the work in Drupal AI to that point had been focused on reinventing the wheel separately for every service. Morpht envisaged a way where the common plumbing problems could be solved once, freeing up developers to implement new plugins as needed.
The Augmentor module was planned and implemented with these ideas in mind.
- A review of the literature and previous efforts indicated that site builders were looking for integrations in a couple of key areas:
- The node edit form: The display of buttons to pull in summaries, keywords and tags was the most common way to augment content.
- The WYSIWYG: Live editing inside the WYSIWYG was also an idea that had merits.
- Scalable updates through the Entity Condition Action (ECA) framework.
The module implemented integrations for these areas and provided a plugin system that allowed for external AI services to be integrated.
To kick off the plugin ecosystem Morpht implemented several plugins for popular services at the time: GPT3, NLP Cloud and Google Cloud Vision. Morpht has gone on to further develop plugins for ChatGPT and AWS AI.
Morpht also spent considerable effort making Augmentor work well with ECA, allowing for Actions to be exposed to ECA. This allows for scheduled actions to be carried out on content within Drupal according to a set of conditions, unlocking the updating of large amounts of content at once.
Harnessing AI integration for enhanced user experience
Data matures like wine, applications like fish.
James Governor
Drupal is a successful CMS with a very large installation base and has been particularly successful in larger content-rich sites. The value of these sites is based largely on their content, rather than the application managing that data.
Given this insight, it makes sense to capitalise on the content, through continuous improvement, so that it “matures like wine” over time. AI tools, such as those integrated by Augmentor, provide an opportunity to improve on that content.
It makes sense to continuously improve the content to let it mature over time, like wine.
Common scenarios include:
- Extracting keywords from text
- Summarising content
- Extracting descriptions from images.
In each of these scenarios, content can be uplifted, improving its accessibility and findability and thus improving the user experience.
Objectives and goals of Augmentor
The Augmentor project had the following goals:
- Define common integration points into Drupal
- Implement plugins for external services
- Promote the use of AI for responsible augmentation of content.
Augmentor provides a pluggable ecosystem for managing a variety of AI services such as GPT3, ChatGPT, NLP Cloud, Google Cloud Vision and many more.
Augmentor provides a rich set of Artificial Intelligence (AI) integrations to assist content creators on your Drupal website. Before getting into the setup, however, it may be helpful to understand some of the concepts Augmentor is built on.
Augmentor does not provide its own AI capabilities. Instead, it provides a way to integrate Drupal's editorial experience with the robust services from vendors like OpenAI, NLP Cloud, Google, and AWS. To use any of these services with your Drupal website, install the appropriate integration module from our list of related modules:
- Google Cloud Vision Augmentor
- OpenAI GPT3 Augmentor
- Google Cloud Speech-to-Text Augmentor
- Google Cloud Text-to-Speech Augmentor
- AWS AI Augmentor
- NLP Cloud Augmentor
- ChatGPT Augmentor
Ecosystem
In terms of code, the project has achieved its aims and demonstrated that the modules can augment content within Drupal. The maintainers work with the community to help other developers build further plugins thus strengthening the ecosystem.
The Augmentor module has faced two kinds of challenges, technical and mindshare.
- Technically, the project needed to overcome the core problem of how to define an interface that was general enough to handle different systems and specific enough to allow it to integrate into Drupal. This was done by defining a data structure that would be used for input and output from the external services. Once this was in place, the authoring of the plugins was relatively straightforward. Plugin development was a matter of managing secrets, the connection itself and then manipulating the data to be returned. This makes it quite straightforward to implement new Augmentor plugins as needed.
- From a mindshare perspective, Augmentor had a lot of competition from other AI modules that do similar things. Augmentor has taken the position that there is value in a plugin system and that “plumbing” should be avoided at all costs. We have worked with the community to refine our approach and are actively supporting other developers who need guidance.
Embracing the future
The development of the Augmentor module represents open source at its best. A group of developers had an itch, scratched it, and produced flexible code that could be used by the whole community. Morpht embraces the idea that the beneficiaries of Drupal, the “takers” should also be “makers” by contributing back. By building a plugin system for AI, Morpht is leveraging worldwide efforts in a transformative area, potentially opening the way for many benefits to flow through to Drupal site owners in the future.
The Augmentor project has been presented at Drupal conferences and covered more broadly in the Drupal community. The project has garnered broader recognition from the community when it was recently showcased as “module of the week” on the Talking Drupal podcast:
Please let us know how you are using Augmentor or if you have any ideas for its future development.