ContentBlocks is a powerful content manager for MODX allowing editors to create modular, multi-column content.
This page details the features and improvements we're adding to ContentBlocks 2 prior to it reaching the next phase in the development and release cycle. This gives you an idea of where we're at with the work and what to expect from it upon release.
For brevity, this list does not include anything completed prior to February 2025. We completed the majority of the architectural rewrite and significant portions of functionality already.
The current private development phase. When all these features are complete, we will move to the alpha phase which will see a slow release of ContentBlocks 2 to early adaptors.
Core mechanism that functions as a repeatable instance that will create rows or columns of the input types defined within. This way, a block itself is not repeatable, but any (or all) of its input types can be made to be repeatable which adds a minimalistic UI to add multiple value instances.
We heard your feedback that the "drawer" pattern alone is not enough, you want additional settings in a modal window.
For layout-specific configuration that doesn't need to be immediately visible.
In the current version these are limited to fixed options, but this needs to be dynamic with feature parity with v1 (so ability to use a snippet).
Select2 like in v1.
Same as v1, visually being able to make a nested lists with convenient keyboard controls.
There's currently a very basic implementation included, but expand this to offer similar functionality for v1.
Same as v1 but better.
As before, parsing inside out from blocks up to individual layouts. Unlike before, don't use sub-templates, but instead all data inside of a field is available in its template directly using more powerful parsers.
Core parser interface that extracts away implementation details, while allowing the user to use any supported parser for any block/layout as they see fit, using template file extensions to determine the parser to use.
MODX parser support using .tplx extension with some magic to support nested data field types. This will be the default for upgrades.
Twig parser support using .twig extension. Default for new elements. Explore available Twig packages for MODX and determine if we build this into the CB core, or use an abstraction that can share Twig parsers (Commerce?).
Fenom parser support using .tpl extension.
Ability to register parsers through a plugin or configuration.
Fluid API that allows (re-)rendering blocks or elements without needing to know implementation details.
Basic core implementation with active, activate_on, and deactivate_on fields added to the core tables. Core-provided plugin to expose the publishing state in a minimal UI form factor, to allow non-core provided plugins to expand on the functionality with complex rules that are evaluated separately and write to the core fields as needed.
User permission allows a user to lock a block or entire layout from editing. When locked, they become read-only in the manager. Only users with the lock permission can unlock and edit them.
Server-side verifications that locked elements have not been edited.
There's a set of fluid PHP classes to build and generate content, however these are 2+ years old and need to be checked against the current set of features and likely updated. Also generate documentation for them.
For example, adding a setting that adds global padding or margin control to every layout or every block.
These get defined in the canvas configuration.
Currently hardcoded, but needs to be made configurable.
Added as last entry - when we hit this, ContentBlocks 2 will be packaged, installable on MODX3, and documented to allow users to get to work with it. We then hit alpha!
During alpha, we start to invite early adopters to try out v2, and start giving us more feedback to incorporate into the rest of the development. This will prioritize agencies that supported the development
During the alpha phase we will continue working to feature parity with v1 and stabilizing any public APIs and user-facing features.
Single toggleable element.
Similar to the chunk input type in v1 - loading the preview of a fixed defined chunk.
Similar to the chunk selector input in v1 - a dropdown of chunks that render in-place.
Similar to v1, but more visual. Optionally allow the output to be rendered while clicking the input type opens a window to edit it with properties.
For uploading a list of documents. Might not be necessary with repeatable blocks and a single file upload type.
Similar to v1. Multiple image selection/upload rendered as a gallery.
Similar to v1. Automatically build a UI for snippet properties. Allow a live output where clicking it opens a window with properties to edit.
Better than v1. Investigate the current state of available dedicated UI libraries or map out a detailed spec for building a custom visual table output.
Simplified from v1; only input a link or embed code directly rather than a search.
Proof of concept accomplished. Embed structure information in the copy that would allow it to be pasted on a different page or site entirely and auto-match.
Review list of extension ideas and verify those are possible. Make sure documentation is up-to-date.
The migration toolkit will run on the CLI and cover 3 steps:
Once the migration toolkit and other features in this section are complete, we hit beta.
Once we hit beta, we're pretty close to the final product and open up access even wider. This phase is where we'll incorporate as much of the feedback we've received as possible, and focus on stability and continuing to make the migration utility better and more powerful.
When we hit beta, we will start allowing users to purchase v2 licenses and license upgrades. This will be combined with an increase to the base price for ContentBlocks licenses for the first time in a decade.
This part of the roadmap will be added to as we get closer to it based on the feedback we receive up till then.
Help us fund ContentBlocks 2.0 to dedicate more time and resources to it. Funding enables us to bring in extra help, accelerate development, and reduce the need to take on external consulting projects that divert our focus.
Keep scrolling for the list of donation perks!
Raised €0 of €18,000 goal needed by April 30th
You are currently viewing prices in a non-Euro currency. Please be advised that these prices are estimates, based on data by Open Exchange Rates.
While we offer this currency converter hoping our users find it convenient, all purchases are made in Euro, and the final amount charged can vary depending on payment provider, day, time of day and a number of other factors outside of modmore's control. There are no guarantees on accuracy and neither modmore nor Open Exchange Rates can be held liable for errors.
×