Skip to content
thomst edited this page Aug 18, 2015 · 10 revisions

Beispieldaten für CiviCRM Home Page

Wer sich für CiviCRM interessiert, wird früher oder später eine Installation zum ausprobieren und demonstrieren haben wollen. Man kann sich zwar die englischen Musterdaten einspielen lassen, aber damit kann man kaum das volle Potential auf Deutsch veranschaulichen. Und die meisten systemfremden Musterdaten-Generatoren erzeugen natürlich keine CiviCRM-spezifischen Daten, ganz zu schweigen davon dass sie ja auch auf Deutsch sein sollten...

Dafür stellen wir von der SYSTOPIA Organisationsberatung hier ein Skript zur Verfügung, das eine beliebig große und konfigurierbare Menge von Datensätzen erzeugen kann. Diese kann man dann einfach über die CiviCRM Import-Funktionen ins System einspielen.

Anleitung

Generierung

Möchte man die erzeugten Daten konfigurieren, sollte man sich diesen Abschnitt zu Gemüte führen. Falls nicht, kann man auch einfach die vorgenerierten Beispieldaten (hier) herunterladen und zum Import-Schritt springen.

Installation

Wir gehen davon aus, dass Ruby bereits auf dem System vorhanden ist. Falls nicht, kann es meist einfach installiert werden

Zunächst muss die faker Ruby-Bibliothek heruntergeladen und installiert werden:

> sudo gem install faker (auf Linux/OSX/etc)

Nun kann man sich das Skript hier herunterladen und entpacken. Das Skript lässt sich dann per

> ruby generate_contacts.rb

ausführen, um die unten aufgeführten Dateien zu erzeugen.

Parameter

Es gibt eine Reihe von Parametern im Skript, die sich je nach Anforderung der Demonstration verändern lassen.

Parameter Wertebereich Beschreibung
$max_entries_per_file Integer Anzahl der Einträge, nach denen eine Datei rotiert wird
$contact_count Integer Anzahl der zu generierenden Individual-Kontakte
$organization_count Integer Anzahl der zu generierenden Organisations-Kontakte
$contribution_member [0..1] Anteil der Individual-Kontakte, die Mitglieder sein sollen.
$contribution_small [0..1] Anteil der Individual-Kontakte, die Kleinspender sind (2-200€)
$contribution_big [0..1] Anteil der Individual-Kontakte, die Großspender sind (10.000-20.000€)
$contribution_onetime [0..1] Anteil der Individual-Kontakte, die Einmalspender sind.
$contribution_timespan Integer Anzahl der Monate (in die Vergangenheit) für die Zuwendungen generiert werden sollen.
$contribution_membership_fee Betrag Mitgliedsbeitrag
$contribution_membership_type Mitgliedstyp Einer der in CiviCRM konfigurierten Mitgliedstypen.

Iteressantes am Rande: Über die Einstellung Faker::Config.locale lassen sich auch Musterdaten in anderen Sprachen erzeugen.

Import

Sie sollten jetzt 4 Dateien haben (falls die Dateien rotiert wurden sind es entsprechend mehr):

  1. contacts.csv
  2. organisations.csv
  3. memberships.csv
  4. contributions.csv

Diese sind auch in dieser Reihenfolge in CiviCRM zu importieren:

  1. contacts.csv ist über "Kontakte" -> "Kontakte Importieren" zu importieren. Einstellungen:
  2. Datenquelle: "CSV" (Standard)
  3. Die erste Zeile enthält Spaltennamen: aktiviert
  4. Kontaktart: "Person" (Standard)
  5. Doubletten: "Kein Check auf Doubletten"
  6. Import Feldertrennzeichen: "," (Standard)
  7. Datumsformat: "yyyy-mm-dd" (Standard)

Die Feldzuordnung sollte anhand der Spaltennamen offensichtlich sein.

Wichtig: bei der Vorschau sollte man dem Import auf jeden Fall einem Tag oder einer Gruppe zuordnen, damit die Daten später wieder zuverlässig entfernen kann. Wir schlagen das Tag "Fakedaten_YYYY-mm-dd" (also z.B. "Fakedaten_2013-01-23") vor. 2. organisations.csv ist ebenfalls über "Kontakte" -> "Kontakte Importieren" zu importieren. Einstellungen:

  1. Datenquelle: "CSV" (Standard)
  2. Die erste Zeile enthält Spaltennamen: aktiviert
  3. Kontaktart: "Organisation"
  4. Doubletten: "Kein Check auf Doubletten"
  5. Import Feldertrennzeichen: "," (Standard)
  6. Datumsformat: "yyyy-mm-dd" (Standard)

Die Feldzuordnung sollte anhand der Spaltennamen offensichtlich sein.

Wichtig: bei der Vorschau sollte man dem Import auf jeden Fall einem Tag oder einer Gruppe zuordnen, damit die Daten später wieder zuverlässig entfernen kann. Wir schlagen das Tag "Fakedaten_YYYY-mm-dd" (also z.B. "Fakedaten_2013-01-23") vor. 3. memberships.csv ist über "Mitgliedschaften" -> "Mitgliedschaften Importieren" zu importieren. Einstellungen:

  1. Die erste Zeile enthält Spaltennamen: aktiviert
  2. Kontaktart: "Person" (Standard)
  3. Import-Modus: "Neue Mitgliedschaften einfügen" (Standard)
  4. Datumsformat: "yyyy-mm-dd" (Standard)

Die Feldzuordnung sollte anhand der Spaltennamen offensichtlich sein. 4. contributions.csv ist über "Zuwendungen" -> "Zuwendungen Importieren" zu importieren. Einstellungen:

  1. Die erste Zeile enthält Spaltennamen: aktiviert
  2. Kontaktart: "Person" (Standard)
  3. Import-Modus: "Neue Zahlung eingeben" (Standard)
  4. Datumsformat: "yyyy-mm-dd" (Standard)

Auch hier sollte die Feldzuordnung anhand der Spaltennamen offensichtlich sein.

Beachte: um deutsche Fake-Daten zu importieren müssen zuvor die deutschen Sprachpakete installiert und Deutsch als Standard-Sprache festgelegt worden sein.

Technisches

Das Kernstück ist ein sehr einfaches, Ruby basiertes Skript, dass Benjamin Curtis' faker Ruby Bibliothek anspricht. Das Skript stellen wir unter der AGPL Lizenz frei zur Verfügung. Wir geben natürlich keinerlei Garantie bezüglich des Skriptes, und wir raten dringend, vor dem Datenimport ein Backup zu machen.

Falls es Erweiterungswünsche oder Fehlerberichte gibt, können Sie gerne ein Ticket eröffnen, oder uns über die SYSTOPIA Webseite kontaktieren.

Clone this wiki locally