ExtraBuilder for MODX

Build custom tables and transport packages in the manager

Apr 09
2021

Summary

The main reason I built this Extra, was to make it simpler for developers that are new to MODX to create custom tables, and transport packages. It started out fairly simple as these things do, but has become somewhat more complex. This is also a proof of concept in building an Extra and a CMP (Custom Manager Page) that does not use or depend on ExtJS at all.

This documentation is a work in progress... I hope to add more soon.

Features

  1. Define a package to hold your scripts and schema (table) definitions
  2. Create Objects (tables) within your package schema
  3. Create Fields and relationships within each Object
  4. Preview the generated Schema
  5. Build your tables on the fly, and add columns to the database as needed
  6. Create backups of all Elements such as Templates, Template Variables, Chunks, Snippets, and Plugins within your Package (components) directory. This allows for capture to source control, or storage into some other directory or drive. Import the backup transport file and apply it to recreate any missing resources.
  7. Create Transport packages to publish in the MODX Extras directory, or to re-use on your own projects.

Creating a Package

Below are the steps to create a package. I'll try and cover the key pieces and what they are, how to use them, etc.

  1. Navigate to "Extras > ExtraBuilder > Package Builder"
    1. This opens up the main index page and loads the HTML template, and Vue.js application Javascript. But as a user, you should see a custom page that looks very similar to a standard MODX Manager page.
  2. To create a New Package, use one of the two options displayed as buttons on the top right of the page.
    1. New Package
    2. Import Schema