10

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:

For comparison, in host-CMS space there are different approaches also:

My question here is: how are people managing and deploying configuration in CiviCRM today?

3

When I posted this question in 2015, we were looking at implementing something. The result, which is not a complete solution as of March 2017, was this extension.

Ultimately, we ended up doing something else on that project, which was exporting specific CiviCRM tables and copying them across from dev ➡ stage ➡ prod.

I've documented what did and didn't work over on the extension README, and happy to discuss further. Posting this to follow up and as a pointer for future searchers.

3

I have not tried this but https://lab.civicrm.org/extensions/configitems says

The extension can import the following types of items:

  • ContactTypes
  • MembershipTypes
  • RelationshipTypes
  • OptionGroups with OptionValues
  • Groups
  • Tags
  • FinancialAccounts
  • FinancialTypes
  • EventTypes
  • ActivityTypes
  • LocationTypes
  • CaseTypes
  • CustomGroups with CustomFields
  • CiviCRM Settings (system settings set through the Setting.API - be especially careful with that!)
4
  • 1
    While you're updating these this reminds me there's the community wiki answer: civicrm.stackexchange.com/a/30474/181 (I'm not sure what community wiki really means - it sounds like something that you'd expect would be more visible - but FWIW).
    – Demerit
    Jun 11 '20 at 23:19
  • cool. thx. added 'deployment' to that answer
    – petednz - fuzion
    Jun 12 '20 at 3:03
  • came back to life here civicrm.stackexchange.com/questions/30438/… - do you want to add as an answer there to avoid me adding a third answer :-)
    – petednz - fuzion
    Jun 12 '20 at 3:05
  • Oh it's already there as 5.1 but under a different name.
    – Demerit
    Jun 12 '20 at 3:06
2

CiviCRM Features looked like it had promise: https://www.drupal.org/project/features_civicrm

I spoke to the former maintainer, Tim Mallezie, about this a while ago. He was very helpful. The module was proving hard to maintain, as each entity in CiviCRM required it's own handler (perhaps this is something CiviCRM Entity could help with); and the overhead was proving too much to be worth continuing development.

At the time Tim noted that:

...we now use the CiviCRM API in custom modules with update hooks to deploy CiviCRM configuration.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.