Following the beta release of the Directus Marketplace at the last Leap Week in March, we've gathered feedback from our users, developers, customers, and agency partners. We’ve identified some common themes to be at the heart of our focus on extensions development and the Marketplace.
To be clear, this is not yet a roadmap nor is it set in stone, but we want to share our early intentions and explorations around key themes.
Enhance the Developer Experience for Extension Authors
Sandboxed SDK Capabilities
Last year, we announced the Sandbox SDK for Extensions - providing an isolated and safe way to run extensions. This was an important foundational step in being able to build a marketplace where code might be installed without first being audited.
The Sandbox SDK will receive new capabilities required to build and publish even more extensions in the Marketplace - including more granular access to the database, underlying file systems, users, notifications, and emails.
Publish Best Practices
One of our core principles is to be unopinionated, and while that continues to be true in terms of the technologies you use with Directus, we have heard that it would be more helpful to provide best practices and approaches when building extensions. We plan to address this primarily through education.
Extension Lifecycle Events
There are several parts of an extension’s lifecycle that is currently not surfaced through events. We want to give you access to run code at key points in interacting with an extension outside of it’s day-to-day use - such as at installation or uninstallation. This will enable you to run logic such as setting up collections, roles, etc.
Introduce New Extension Types
This area is a bit more speculative, but through feedback from extension authors and users, it’s clear that there is the need for some new capabilities to be exposed through the extension system.
Expanding Existing Extensions
The main exploration we’re conducting now is the ability to expose ways for extension authors to augment or enhance existing extensions through a flexible but consistent pattern. To give a practical example - we often get asked how to add small features to our WYSIWYG editor, which isn’t possible. The solution for many is to build their own interface that is mostly the same with their desired features. It is our preference to be able to provide a way to do this natively.
Get Started Quicker with Templates
We also want to build on the amazing work on our Go To Market team who actively introduce solutions to solve common challenges. One of those is Alex and Bryant’s directus-template-cli by bringing the idea of “templates” to Directus natively. It’s currently our view that this will be exposed through the extensions system.
Improve Extension Visibility and Quality
So far, this post has focused on extensions, but improvements to the Marketplace are also in the works.
Improving Directory Listings
The Marketplace listing in the Data Studio will be improved based on your feedback. Our listings will be more dynamic and make it easier to find what you are looking for. This will include providing more options for meta information including details about how individual contributors and publishers are displayed. This will also include better tagging options to improve searching for extensions.
To help increase visibility, we are looking at how to make extensions listed in the Marketplace discoverable outside of the individual Directus project instances so that anyone can link to them externally.
Indicating and Validating Quality
Today, we allow all extensions to be published automatically on the Marketplace, but this can lead to challenges in quality or unfinished extensions being installable.
We are looking at how to validate the quality of extensions published in the Marketplace. As you can imagine, there’s so many ways to do this with varying degrees of resource and accuracy. Just know that we’re looking at it.
We also want to surface metrics and feedback to extension authors - both as a mechanism to support development and build trust.
Firming Up the Registry
Powering the Directus Marketplace is the Extensions Registry. As we bring the Marketplace out of beta in the coming months, we will firm up and publish the API that powers the registry so you can create your own. We then intend to allow multiple registries to be used inside of a project.
Monetized Extensions
We have spoken about this enough that it needs to be mentioned here, but we see everything else as a precursor to being able to offer a pathway for paid extensions. It’s still very much in the plan, but expect to see movement in other areas first.
Wrapping Up
We wanted to take this opportunity to provide some insight into how the roadmap is being developed and what will be coming. Once this work is done, the marketplace will be ready for general availability!
I hope you are as excited as I am for some of these upcoming changes. I’m really passionate about the Directus extension ecosystem and I’m looking forward to seeing what you create.