Die Config Items Extension: Konfigurationen exportieren und woanders importieren (CiviCRM-Stammtisch vom 23.02.2022)

Der CiviCRM Configuration Loader Version 2 ist da! Diese Version wurde im Rahmen eines von der Deutschen Stiftung für Engagement und Ehrenamt geförderten Projekts des Bündnisses der Bürgerstiftungen Deutschlands von CiviCooP und civiservice.de entwickelt und überarbeitet.

Mit dieser Erweiterung ist es möglich, Konfigurationssets aus der CiviCRM-Benutzeroberfläche heraus zu definieren und diese Konfigurationssets zu exportieren.

Das kann sich zu einem „Game Changer“ entwickeln: Denn jetzt wird es möglich, komplexe Konfigurationen aus einer bestehenden CiviCRM-Installation in eine andere Installation zu übertragen. Wer schon einmal komplexe benutzerdefinierte Felder aus einer CiviCRM-Testinstallation in eine Produktionsumgebung übertragen musste, weiß, wieviel Arbeit das sein kann. Aber auch für das Teilen von Konfigurationen, Vorlagen uvm. mit der Community ist die Erweiterung ein wertvolles Werkzeug.

Mit der neuen Version 2 der „CiviCRM Configuration Loader Extension“ ist der Funktionsumfang erheblich erweitert worden:

  • Installieren/Entfernen von Erweiterungen mit einer exportierten Konfigurationsdatei
  • Installieren von Erweiterungen aus dem CiviCRM-Erweiterungsverzeichnis oder mithilfe von ZIP-Datei bzw. beliebiger GIT-URL
  • Export/Import von
    • benutzerdefinierten Feldern
    • Optionengruppen
    • Kontakt-, Aktivitäts-, Standort- und Beziehungstypen
    • Kampagnentypen
    • Mitgliedschaftstypen
    • Ereignistypen
    • Falltypen
    • Nachrichtenvorlagen (einschließlich einer flexiblen Handhabung von Links und Bildern!)

Die Erweiterung ist dabei so aufgebaut, dass Entwickler*innen bei Bedarf weitere Exportfunktionen hinzugefügt werden können.

In Kürze wird auch eine Übersetzung der Nutzer*innenoberfläche ins Deutsche sowie eine Dokumentation zur Verfügung stehen.

Nachfolgend ein paar Screenshots dieser Erweiterung:

Der Entwickler der Extension, Jaap Jansma von CiviCoop, hat sie hier im CiviCRM-Blog beschrieben:

1 „Gefällt mir“

Hallo Ulrich.

hättest du ein Beispiel für individuelle Setup-Einstellungen für „Override Git“ und „Override composer“?

Mit den Standard-Einstellungen lässt sich das Plugin zwar installieren, aber beim Erstellen eines neuen Konfigurations-Sets erfolgt dann u.a. die Fehlermeldung:

Fatal error: Uncaught Error: Call to a member function getEntityListForConfigItemSet() on null in /var/www/xxx/wp-content/uploads/civicrm/ext/configitems-2.0.0/CRM/Civiconfig/Form/Edit.php:207 

Das klingt für mich nach einem Problem bei meinem Setup - ich habe auch schon auf Gitlab ein vergleichbares Problem gesehen und entsprechend kommentiert.

Hallo in die Runde, ich bin neu hier und weiß noch nicht so recht wie ich es anstellen soll.
Ich habe folgendes Problem: Ich wollte die Config Items Extension CiviCRM Configuration Loader version 2 in der CiviCRM Standalone Version 6. 5 installieren. Die Extension wird korrekt in der Extension-Übersicht angezeigt, aber beim Bestätigen der Installation kommt ein Fatal-Error zustande. Siehe Text unten.

Kann mir da jemand helfen wie ich da weiterkomme oder evtl. noch jemand anderes fragen kann? Wäre super.
VG Werner Schuhmann

Fatal Error Text:
Fatal error: Uncaught Error: Cannot access protected property Smarty\Smarty::$template_dir in /var/www/html/core/packages/smarty5/Smarty.php:37 Stack trace: #0 /var/www/html/core/ext/configitems-2.0.0/civiconfig.civix.php(99): Smarty->__get(‚template_dir‘) #1 /var/www/html/core/ext/configitems-2.0.0/civiconfig.civix.php(129): _civiconfig_civix_civicrm_config() #2 /var/www/html/core/ext/configitems-2.0.0/civiconfig.php(102): _civiconfig_civix_civicrm_install() #3 /var/www/html/core/CRM/Extension/Manager/Module.php(71): civiconfig_civicrm_install() #4 /var/www/html/core/CRM/Extension/Manager/Module.php(39): CRM_Extension_Manager_Module->callHook(Object(CRM_Extension_Info), ‚install‘) #5 /var/www/html/core/CRM/Extension/Manager.php(307): CRM_Extension_Manager_Module->onPreInstall(Object(CRM_Extension_Info)) #6 /var/www/html/core/api/v3/Extension.php(42): CRM_Extension_Manager->install(Array) #7 /var/www/html/core/Civi/API/Provider/MagicFunctionProvider.php(89): civicrm_api3_extension_install(Array) #8 /var/www/html/core/Civi/API/Kernel.php(153): Civi\API\Provider\MagicFunctionProvider->invoke(Array) #9 /var/www/html/core/Civi/API/Kernel.php(79): Civi\API\Kernel->runRequest(Array) #10 /var/www/html/core/api/api.php(147): Civi\API\Kernel->runSafe(‚Extension‘, ‚install‘, Array) #11 /var/www/html/core/CRM/Admin/Form/Extensions.php(207): civicrm_api3(‚Extension‘, ‚install‘, Array) #12 /var/www/html/core/CRM/Core/Form.php(649): CRM_Admin_Form_Extensions->postProcess() #13 /var/www/html/core/CRM/Core/StateMachine.php(144): CRM_Core_Form->mainProcess() #14 /var/www/html/core/CRM/Core/QuickForm/Action/Next.php(43): CRM_Core_StateMachine->perform(Object(CRM_Admin_Form_Extensions), ‚next‘, ‚Next‘) #15 /var/www/html/core/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Next->perform(Object(CRM_Admin_Form_Extensions), ‚next‘) #16 /var/www/html/core/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Admin_Form_Extensions), ‚next‘) #17 /var/www/html/core/CRM/Core/Controller.php(356): HTML_QuickForm_Page->handle(‚next‘) #18 /var/www/html/core/CRM/Core/Page/Basic.php(364): CRM_Core_Controller->run() #19 /var/www/html/core/CRM/Core/Page/Basic.php(170): CRM_Core_Page_Basic->edit(1, NULL) #20 /var/www/html/core/CRM/Admin/Page/Extensions.php(110): CRM_Core_Page_Basic->run() #21 /var/www/html/core/CRM/Core/Invoke.php(280): CRM_Admin_Page_Extensions->run(Array, NULL) #22 /var/www/html/core/CRM/Core/Invoke.php(73): CRM_Core_Invoke::runItem(Array) #23 /var/www/html/core/CRM/Core/Invoke.php(38): CRM_Core_Invoke::_invoke(Array) #24 /var/www/html/core/Civi/Standalone/WebEntrypoint.php(79): CRM_Core_Invoke::invoke(Array) #25 /var/www/html/core/Civi/Standalone/WebEntrypoint.php(20): Civi\Standalone\WebEntrypoint::invoke() #26 /var/www/html/index.php(35): Civi\Standalone\WebEntrypoint::index() #27 {main} thrown in /var/www/html/core/packages/smarty5/Smarty.php on line 37

Das sieht für mich so aus, als wäre die Extension noch nicht für die neueste Smarty-Version kompatibel.

Hallo Benedikt,

danke für deine Antwort.

Ich habe eine Installation von CiviCRM mit ca 2400 Kontakten in der Version 5.51.1 mit Drupal. Ich würde die Datenbank gerne auf die Version 6.5 Standalone portieren bzw. migrieren. Damit ich aber nicht alle Einstellungen zuerst in der neuen Version eingeben muss, wollte ich eben auf diese Extension „CiviCRM Configuration Loader (Version 2)“ zurückgreifen. Wenn aber diese Version nicht funktioniert in der Version 6.5 oder höher dann schaue ich da alt aus. Oder die Frage gibt es eine andere Möglichkeit die Daten von 5.51.1 nach 6.5 zu migrieren? Ohne vorher die ganzen Benutzerdefinierten Felder, Parameter etc. eingestellt zu haben?

VG Werner Schuhmann

Hi,

ich nehme mal an, dass du bei dem Schritt von allem ein gutes Backup hast oder alles auf einem Testsystem ausprobierst, richtig?

Wenn du Erfolg hast, auch ich denke darüber nach von einem Drupal auf ein standalone zu wechseln, aber erst dann wenn die User per oidc woanders herkommen. Ich weiss, an dem feature wird gearbeitet.

Mein Pfad wäre aber erstmal das CiviCRM mit Drupal auf 6.5 zu aktualisieren. Dann würde ich die Extension “standalonemigrate” ausprobieren, da die genau für diese Migration entwickelt wurde.

Viel Erfolg!
Benedikt