Documentation

Don't break your site

Some of the symbols in Black Magic Data make changes to a concrete5 site's database or files. Incorrect use can result in unwanted changes to your database. Please use a test site for development before copying Magic Data expressions using these symbols to a live site. Please read this documentation and the symbols' built in documentation carefully before trying to use them.

Before you begin

Black Magic Data is an advanced extension for Magic Data. Before attempting to use Black Magic Data you should already be familiar with Magic Data, with the dashboard Symbol Tester, and with any of the various Magic Data integrating blocks you want to use Black Magic Data to enhance.

Black Magic Data includes dashboard options for sandboxing to disable symbols from making changes to the database. Immediately after installation, symbols executed in the symbol tester are sandboxed so you can experiment without fear of damaging your database. Please refer to Dashboard > Magic Data > Symbols Settings.

Good practice, safe practice

  1. Start on a test site. Do not start on your live site.
  2. Take a database backup before you start.
  3. Use the dashboard Symbol Tester to learn and experiment.
  4. Keep the sandbox enabled for the dashboard symbol tester.
  5. Read the diagnostic trace line by line to understand what your symbols and expressions are doing.

Only once you know what is happening you can remove the sandbox and allow the symbols to change your database.

Full Documentation

See the Black Magic Data Guide for full documentation and many examples.

Roadmap

As with the regular Magic Data Symbols, the symbol set provided by Black Magic Data is intended to grow with demand.

If you develop your own Black symbols, they should inherit from Black Magic Data and always check the sandbox settings before making concrete5 API calls that update the database.

Black Magic Data is intended as a convenience for simple updates that enhance the interactive experience of concrete5 sites. For complex updates to your site this is not an alternative to developing in php.