Motivation: we're looking into building something in this space for a current project, so this question is intended to identify what approaches are already available / being utilised.
For multi-developer and multi-branch workflows, it would be beneficial to "wrap up" site configuration and have it able to be merged into the site before deployment.
I see that there are some approaches to this already:
- Features CiviCRM is a (now-abandoned?) approach to using Drupal's Features module
- CiviCRM Entity seems a good candidate for exporting entities in Drupal space, although it doesn't provide this currently
civix
can scaffold code to import Case Types and Custom Fields- CiviCRM's
hook_civicrm_managed
can generate managed entities in CiviCRM.
For comparison, in host-CMS space there are different approaches also:
- WordPress has an Options Importer plugin
- Drupal 6 onwards has Features
- Drupal 8 onwards has Configuration Management (and retains Features for "bundled" configurations)
My question here is: how are people managing and deploying configuration in CiviCRM today?