Mitgliederverwaltung/Tool
Personen
ACHTUNG: Dieser Abschnitt stimmt in weiten Teilen überhaupt nicht mehr:
Person | Aufgabe |
---|---|
Thorsten Wirth | Technische+Administrative Koordination |
Andreas Popp | Umsetzung + Administration Drupal/CiviCRM |
Hauke Kruppa | Anforderungsbeschreibung Drupal/CiviCRM |
Judith Seipel-Rotter | Datenimport, -export Anforderungsbeschreibung Drupal/CiviCRM, Test |
Thomas Laubel | Datenimport, -export Anforderungsbeschreibung Drupal/CiviCRM, Test |
Stefan Hermes | Technisches Feinkonzept, Installation |
Bodo Thiesen | Langfristige administrative Betreuung des Systems |
Jens Seipenbusch | Technische Unterstützung und Koordination BV |
Werner Hülsmann | Beratung Datenschutz |
Nicole Hornung | Beratung Technik |
Ralf Koehler | Betreuung Wiki |
Software
- Distribution: Debian Lenny 64bit
- Virtualisierung: Xen
- Webserver: Apache
- Verschluesselung: OpenSSL
- Datenbank: MySQL
- Backend: CiviCMS auf drupal
Installation
XEN Konfiguration
- Etch installieren
- Kernel fuer Lenny besorgen
echo 'deb http://kernel-archive.buildserver.net/debian-kernel/waldi/xen-extra/all main' >> /etc/apt/sources.list aptitude update aptitude upgrade aptitude install linux-modules-2.6.18-xen-3.1-2-amd64 linux-image-2.6.18-xen-3.1-2-amd64 mkdir /tmp/kernel mkdir /tmp/kernel/image mkdir /tmp/kernel/modules mv /boot/initrd.img-2.6.18-xen-3.1-2-amd64 /boot/vmlinuz-2.6.18-xen-3.1-2-amd64 /tmp/kernel/image mv /lib/modules/2.6.18-xen-3.1-2-amd64/ /tmp/kernel/modules/ cd /tmp/ scp -r kernel $DOM0:/
- Etch loeschen
Debian Lenny 64bit setup
xen-create-image \ --hostname=$CRM_HOSTNAME \ --size=3Gb \ --swap=256Mb \ --force \ --lvm=$VOLUMEGROUPNAME \ --memory=512MB \ --debootstrap \ --mirror=http://ftp.de.debian.org/debian/ \ --dist=lenny \ --kernel=/kernel/image/vmlinuz-2.6.18-xen-3.1-2-amd64 \ --initrd=/kernel/image/initrd.img-2.6.18-xen-3.1-2-amd64 \ --modules=/kernel/modules/2.6.18-xen-3.1-2-amd64 \ --ip=$CRM_IP \ --netmask=255.255.255.0 \ --gateway=$CRM_GW \ --passwd \ --boot \ --verbose \ --cache=yes
Das Kommando fragt nach einiger Zeit nach dem Rootpasswort der neuen Domain. Ich habe "XXXXXX" für alle Passwörter verwendet.
Anschließend in die neue Domain einloggen:
ssh -l root $CRM_IP
zunächst die locale einstellen:
dpkg-reconfigure locales dort zumindest "de_DE.UTF-8 UTF-8" auswählen
drupal5 setup
und dort drupal installieren:
aptitude install drupal5
im ersten drupal5 Konfigurationsdialog apache2 zu der Liste der zu konfigurierenden Webserver hinzufügen.
im zweiten drupal5 Konfigurationsdialog die Datenbank konfigurieren lassen [Yes]
im dritten drupal5 Konfigurationsdialog mysql wählen
im vierten drupal5 Konfigurationsdialog <RETURN> drücken (das root-pw von Mysql ist noch leer)
im fünften drupal5 Konfigurationsdialog das Passwort für die Drupal-DB eingeben
im sechten drupal5 Konfigurationsdialog das Passwort bestätigen (hier: XXXXXX)
SSL Setup
Nun den SSL-Webserver aktivieren:
a2enmod ssl a2ensite default-ssl /etc/init.d/apache2 restart
Anschließend im Webbrowser Aufruf von
https://$CRM_HOSTNAME/drupal5/install.php
Danach auf https://$CRM_HOSTNAME/drupal5/ wechseln.
Dort unter https://$CRM_HOSTNAME/drupal5/?q=user/register
den Admin-Account anlegen:
user: XXXXXX email: XXXXXX
Account erstellen. Auf der nächsten Seite Passwort: XXXXXX Timezone: +0200
[submit]
Datenbank
Struktur
Access Control List
Grundsätzliches
CiviCRM kann viel mehr als wir wollen. Was wir brauchen und was wir tun wollen ist Mitgliederdaten verwalten, Mitgliederzuwendungen (Spenden, Mitgliedsbeiträge) (evtl. auch von Nichtmitgliedern) und eventuell noch Mitglieder anmailen.
Drupal-Einstellungen
User Settings: Only site administrators can create accounts
CiviCRM-Einstellungen
CiviEvent deaktivieren
Drupal-Rollen
- anonymous: keine Rechte
- authencicated: keine Rechte
- Drupal Admin: alle Rechte (auch alle CiviCRM-Rechte)
- CiviCRM User: access CiviCRM, access CiviContribute, access CiviGrant, access CiviMail, access CiviMail subscribe/unsubscribe pages, access CiviMember, access Contact Dashboard
- CiviCRM Finance: edit contributions, edit grants (ergibt nur Sinn mit CiviCRM User), edit memberships
Kontakte die zu Drupal-Accounts gehören, werden nicht als Kontakte benutzt. Auf diese Weise können z.B. an Vorstandsposten gebundene Accounts ohne Probleme einfach weiter gegeben werden.
CiviContribute
- Zuwendungsarten: Mitgliedsbeitrag, Spende
- Zahlungsweg: Überweisung, Barzahlung
Option Lists
- Geschlechterspezifische Einstellungen: weiblich, männlich
- Persönliche Anreden: Herr, Frau, Dr
CiviMember
CiviMember dient zur Verbuchung des Mitgliedsbeitrags (stimmberechtigkeit)
- Es gibt einen Membership Typ „Pirat“, dieser wird stehts mit Enddatum zum nächsten 31. Dezember eingetragen.
- Es gibt 3 verschiedene Membership Status:
- stimmberechtigt
- nicht stimmberechtigt
- „Mitgliedschaft beendet“
- nicht stimmberechtigt wird automatisch gesetzt sobald das Enddatum überschritten ist, Mitgliedschaft beendet muss von einem Admin gesetzt werden
- Sobald der Beitrag für ein Jahr eingeht, wird per „Renew“ und eintragung der Zahlung verlängert
- Mitgliedsbeiträge werden NUR über CiviMember eingetragen
Gruppenstruktur
- Für jede Gliederungsebene gibt es eine Gruppe und eine Rolle, welche die Gruppe bearbeiten kann.
- Hierarchische Strukturen bilden den Realzustand ab.
- Auf jeder Ebene gibt es eine Administrationsgruppe, dieser erhält die Administrationsrollen für ihre und alle untergeordneten Gruppen
- Es gibt eine Gruppe „Schatzmeister“ welche auf die Kontoinformationen zugreifen kann (bei den Kontakten zu denen sie Zugang hat)
Beta
Es gab ein Problem mit der Performance der Datenbank. Um dieses auszumerzen, und das auffinden von Dateileichen zu vereinfachen ist ab jetzt der Tag "Parteimitglied" und "Ex-Parteimitglied" verfügbar, kombiniert mit den neuem Feld Landesverband lassen sich so die Zugriffsrechte mit SmartGroups lösen.
Workflows
Neues Mitglied
Schritt A & B (Eingang):
- Auslöser: Eingang eines Mitgliedsantrags
- Handlung:
- 1. Neuen Kontakt in CiviCRM eintragen
- a) Daten aus dem Mitgliedsantrag übertragen
- b) Benutzer in Gruppe einsortieren (mindestens in niedrigste Gliederung) (NICHT VERGESSEN, ihr könnt euer neues Mitglied sonst selbst nicht mehr sehen)
- 2. Sendet dem neuen Mitglied eine Begrüßungsnachricht mit Zahlungsaufforderung (am besten über CiviCRM per E-Mail in Reiter „Activities“ des neuen Kontakts, falls möglich, dann mit CC an euch selbst zu Kontrollzwecken) Die Nachricht sollte enthalten (eventuell machen wir ein Template)
- a) Bankverbindung des LV
- b) Erstbeitrag
- c) Hinweis auf die Zahlungsfrist von 14 Tagen
- d) Hinweis, dass bei bereits erfolgter Zahlung oder Problemen mit der Zahlung der Schatzmeister anzuschreiben ist
- e) Der Hinweis, das die Mitgliedschaft erst nach der Zahlung des Erstbeitrags offiziell beginnt
- 3. Legt eine Activity für Punkt 2 für den zuständigen Schatzmeister an (auch wenn ihr das selbst seit!)
- a) Öffnet im Kontakt des Mitglieds den Reiter „Activities“
- b) Wählt „other activities: Konto prüfen“
- c) Assigne die Activity an den zuständigen Schatzmeister (User-Kontakte sind am Zusatz „(admin)“ erkennbar)
- d) Wähle als Subject „Erstbeitrag prüfen“
- e) Wählt als Datum die Voreinstellung plus 14 Tage
- f) Belasst den Status auf „Scheduled“
- g) Setze in „Details“ das Datum des Mitgliedsantrags und das Bearbeitungsdatum (heutiges Datum)
- h) speichert die Activity
Schritt C (Kein Zahlungseingang)
- Auslöser: Zeitlimit in der Activity „Erstbeitrag prüfen“ wurde überschritten ohne dass ein Zahlungseingang festgestellt wurde
- Handlung:
- 1. Öffne die Activity „Erstbeitrag prüfen“. Sollten bereits drei Mahnungen geschickt worden sein, so lösche den Kontakt und beende den Schritt
- 2. Sollte noch keine drei Mahnungen geschickt worden sein, so schreibe dem Neumitglied eine Mahnung
- 3. Vermerke unter „Details“ wann eine Mahnung gesendet wurde unter und verlängere den Zeitraum auf heute plus 14 Tage
Schritt D (Zahlungseingang)
- Auslöser: Eingang des Erstbeitrags auf dem Konto der Partei
- Handlung:
- 1. Öffne den Kontakt des Mitglieds und dort den Reiter „Memberships“
- 2. Lege eine neue Memebership an
- a) Organization: Piratenpartei, Type: Pirat
- b) Join Date: Das Datum des Mitgliedsantrags bzw. dessen Bearbeitung.
- c) Start Date: Das Datum des Zahlungseingangs
- d) End Date: Der 31.12. des aktuellen Jahres
- e) Markiere „Record Membership Payment“
- i. Contribution Type „Mitgliedsbeitrag“
- ii. Amount: Die bezahlte Menge
- iii. Payment Status: complete (Rest sollte selbsterklärend sein)
- f) Markiere „Send Confirmation and Receipt“?
- g) Schreibe einen kurzen Text in dem du das neue Mitglied noch einmal offiziell begrüßt und den Eingange des Erstbeitrags bestätigst (sollte CiviMail nicht richtig funktionieren, schreibe im Anschluss selbst eine Mail)
- 3. Öffne die Activity „Erstbeitrag prüfen des Mitglieds“ und setze sie auf „completed“
- 4. Erstelle eine Activity für den jenigen der die Mitgliedsausweise druckt vom Typ „Nachricht senden“ in dem du denjenigen aufforderst dem neuen Mitglied ein Begrüßungspaket (Mitgliedsausweis) zu schicken (vgl. Schritt A&B)
Schritt E (Begrüßungspaket schicken)
- Auslöser: Activity aus Schritt D gesetzt
- Handlung:
- 1. Schicke dem Mitglied einen Mitgliedsausweis
- 2. Setze die Activity auf completed
Mitglied Anlegen
Anleitungen
Erstellen von Zuwendungsbescheinigungen
- hierfür würde ich ein Export-Pattern erstellen wo man quasi nur draufklicken muss
Mitglied tritt aus
- Setze Membership auf "Mitgliedschaft beendet"
- Entferne Mitglied aus allen Parteigruppen (sollte lediglich die unterste Gliederung sein)
Mitgliedschaft verlängern
- Auslöser: Eingang eines Mitgliedsbeitrags für ein komplettes Jahr
- In "Memberships" des zugehörigen Mitglieds:
- klick auf "Renew der Membership" Pirat,
- Häckchen in "Record Renewal Payment" und
- Mitgliedsbeitragszahlung eintragen.
- Klick auf Button "Renew"
Spende eintragen
- Über Civicontribute beim zugehörigen Memberkontakt
Mahnwesen
- ab 1.12.x Bundeschatzmeister schreibt allen eine erste Aufforderung ihre Mitgliedsbeiträge fürs kommende Jahr zu überweisen mit dem Hinweise, dass sie schon am 1.1. fällig sind mit Hinweise das ein Nichtbezahlen nach der dritten Mahnung gemäß Satzung als Austritt zum Ende dieses Jahres gewertet wird (den Zeitpunkt des Austritts bestimmt die Satzung nicht explizit aber sollte IMHO naturgemäß dann mit dem Ende der Beitragszahlung gewertet werden).
- ab 1.1.x+1 Landesschatzmeister (bzw. Bundesschatzmeister dort wo keine LV existiert) trägt alle bisher noch eingegangenen Zahlungen ein und schreibt anschließend an alle die noch nicht bezahlt haben per (Civi)Mail die erste Mahnung mit einer Frist von 14 Tagen ab Mahndatum
- nach Fristablauf: wie oben zweite Mahnung (mit weiterer Frist ab Mahndatum)
- nach Fristablauf: Postalische 3. Mahnung für alle verbleibenden mit Hinweis auf Austritt bei Fristverstreichung
- nach Fristablauf: Austreten aller noch nicht bezahlten Mitgliedschaften
(Rückwirkend zum Jahrensende des letzten Jahres)