Nutzerimport

Hinweis: Die hier genannten Skripte/Cronjobs liegen in der Verwaltung von Grabosch. Die DEV-Skripte werden nicht via Cronjob aufgerufen sondern bei Bedarf angestoßen.

Jeden Tag wird durch Grabosch die Access-Datenbank mit den Mitgliedern als SQL-Dump auf dem FTP (PROD: gva.de/DB_import/gva_dbexport.sql | DEV: gva.de/DB_import_dev/gva_dbexport.sql) abgelegt. Diese SQL wird dann mittels eines Import-Skrips in die Datenbank der MerlinoIntern-Instanz im KAS importiert. Dafür stehen folgende Skripte für Verfügung, die nacheinander via Cronjob aufgerufen werden:

Hinweis: Die hier genannten Skripte/Cronjobs liegen in der Verwaltung von Grabosch. Die DEV-Skripte werden nicht via Cronjob aufgerufen sondern bei Bedarf angestoßen.

  • PROD: gva.de/DB_import/import.php | DEV: gva.de/DB_import_dev/import.php
  • PROD: gva.de/DB_import/import2.php | DEV: gva.de/DB_import_dev/import2.php
  • PROD: gva.de/DB_import/import3.php | DEV: gva.de/DB_import_dev/import3.php
  • PROD: gva.de/DB_import/import4.php | DEV: gva.de/DB_import_dev/import4.php
  • PROD: gva.de/DB_import/import5.php | DEV: gva.de/DB_import_dev/import5.php

Zunächst werden dabei die benötigten Tabellen aus der Access-Datenbank ins KAS übertragen:

  • gvadb_Liste_Check (Access: Liste_Check --> die Rechtekategorien)
  • gvadb_Check_Kategorien (Access: Check_Kategorien)
  • gvadb_Zentralen (Access: Zentralen --> Firmen)
  • gvadb_Adressen (Access: Adressen --> Standorte)
  • gvadb_Druckvorbereitung (Access: Druckvorbereitung --> für Anrede benötigt)
  • gvadb_zw_Objekte_Check (Access: zw_Objekte_Check --> Verknüpfung von Personen und Kategorien)
  • gvadb_Objekte (Access: Objekte --> Personen/Nutzer)
  • gvadb_Personen (Access: Personen --> im Sonne von Firmenansprechpartner)

Danach werden die Berechtigungen für alle Nutzer komplett gelöscht, neu importiert und gesetzt. Dafür gibt es einen weiteren Cronjob (Grabosch): https://downloads.gva.de/scripts/setRolesAndUsers/setRolesAndUsers.php. Abschließend wird geprüft ob sich die Nutzer aus der MerlinoIntern-DB noch in der GVA-Mitglieder-Datenbank befinden (anhand der Email-Adressen aus "articles_users" und der Objekte-Tabelle von GVA). Wenn nicht, wird der Nutzer als gelöscht markiert. Es werden dabei nur Nutzer berücksichtigt, die den Status "true" haben, damit keine Nutzer, die sich gerade im Registrierungsprozess befinden gelöscht werden. Der GVA muss alle Nutzer, die sich selbst registriert haben in seine eigene Mitglieder-Datenbank übernehmen, da diese beim nächsten Durchlauf sonst gelöscht werden. Jeder Nutzer, der sowohl in der Merlino-DB als auch in der Mitglieder-Datenbank vorhanden ist, erhält im Merlino-Intern-CMS in der entsprechenden Artikelverwaltung den Hinweis: "Es existiert eine Verbindung zur GVA Datenbank".

Als letzter Schritt werden die Firmen noch für das CRM der GVA-College importiert: PROD: gva-college.de/college_crm/web/import/import.php?env=live | DEV: gva-college.de/college_crm_dev/web/import/import.php?env=dev Dabei werden aus den hinzugefügten Tabellen im Merlino die Ansprechpartner und Firmen ausgelesen und in die CRM-Datenbank importiert.

Development

  • Das Repository liegt bei All-Inkl
  • Projekt klonen und den development-branch auschecken: git clone ssh://ssh-w0100ce7@git.mubsolutions.com/www/htdocs/w0100ce7/gvaImport.git / git checkout -b development origin/development
  • zum Ausführen muss eine "config.json" vorhanden sein, die angibt auf welche Datenbank der Import durchgeführt werden soll (kann von Live/Dev kopiert und angepasst werden)

Deployment

  • ein Push auf den "development"-Branch wird automatisch in den Ordner "/public_html/gva.de/DB_import_dev/" deployed
  • das Live-Deployment erfolgt via SSH bei den GIT-Repositories: sh live_deploy_gvaImport