Package Magic - Extending with Plugins

Dashboard > Extend > Package Magic Plugins

The Package Magic Plugins dashboard page provides a single place to review which plugins are installed, read the built in documentation, link to support on the ConcreteCMS Marketplace pages and enable/disable plugins.

If you find the plethora of sources, destinations and tools is more than you need or use, you can disable those you don’t want and they wont show in the other Package Magic dialogs. Enable/disable is only available to the admin super-user. Other users will only see the enable/disable status. 

Package Magic functionality can be extended by adding plugin classes for additional Package Sources, Destinations and Tools. If you have specific requirements for moving packages between sites or tools to add to your build workflow, plugins are simple classes that provide the functionality to adapt Package Magic. You only need to write php for a fragment of edit dialog for any options and provide the inner workings of your functionality. Package Magic provides the infrastructure, even breaking long processes into steps.

Visiting the plugins page will automatically refresh the list of installed plugins and your custom plugin is ready to go.

Package sources can be added by placing the plugin classes at any of:

  • packages/package_handle/src/PackageMagic/PackageSources/Plugins/PluginName
  • application/src/PackageMagic/PackageSources/Plugins/PluginName 
  • Plugins can also be similarly placed beneath the plugin namespace declared in a package controller's AutoloaderRegistries.

A similar naming convention can be used to add plugins for PackageDestinationsBuild Tools and Prohibited Code Checks by extending the respective base classes. (Have a look at the directory structure of Package Magic for examples of plugin locations).