pennebaker/craftcms-thearchitect

CraftCMS plugin to generate content models from JSON data.

v1.6.0-beta.6 2017-05-05 15:43 UTC

README

The Architect

The Architect for Craft CMS

CraftCMS Plugin to Construct Groups, Fields, Sections, EntryTypes, Transforms, Globals, Assets, Categories, and Users & User Groups from JSON data.

Installation

  1. Move the thearchitect directory into your craft/plugins directory.
  2. Go to Settings > Plugins from your Craft control panel and enable the thearchitect plugin

Example files can be found in the library directory

Exported Constructs

If you want to provide json files to be loaded throught the CP. Put the files in craft/config/thearchitect. If using a version prior to v1.6.0 the folder for these files is craft/plugins/thearchitect/content. This path is also configurable by creating a config file at craft/config/thearchitect.php

'modelsPath' => str_replace('plugins', 'config', __dir__.'/'),

Migration File

The migration file is named _master_.json and located inside the folder with the other json files listed above. Migration files are intended to be used within a single site. They are not intended to transfer content models between websites.

Rollback

As of version 1.6.0, if Craft crashes with an exception, the Architect will attempt to roll back any changes that were made to the database for the operation. This should help prevent any issues that might appear from a partial import. If an exception happens please report them to on the repo's issues. A backup that was created during a migration that was successfully imported will be delete. Otherwise you can find the db backup inside craft/storage/backups. This is in case the rollback feature doesn't restore properly. It is not recommended to rely on this auto backup/restore feature.

JSON Schema

The example / syntax schemas are located on the Repo's Wiki

If you're using the Atom text editor, you can download a snippet library to help speed up your writing custom models for the plugin.

Field Layouts using names instead of handles

If you have some field layouts that use names this functionality was dropped in version 1.0.3. Alternatively you can update your old models to use handles to fix them for newer versions.

Special thanks to Shannon Threadgill for his totally boss illustrations.