===== efaCloud, mehrere Bootshäuser, mehrere Fahrtenbücher ===== {{ ::efamultibootshaus_efacloud.png?direct&800 |}} Auf das Bild klicken, um es zu vergrößern. ==== Grundlagen ==== Der efaCloud Betrieb ist gegenüber einem lokalen Betrieb von efa komplexer, weil die zentrale efaCloud-Instanz dabei unterstützt werden muss, die Daten korrekt zwischen den einzelnen Stationen zu verteilen. * Der weitere Ablauf für die Anbindung weiterer Bootshäuser richtet sich darauf aus, dass es bereits ein an efaCloud angebundenes Projekt in efa gibt, das nur noch um ein weiteres Bootshaus erweitert werden soll. Erstelle dazu ggfs. ein neues Projekt, oder stelle ein bestehendes Projekt auf efaCloud um. Mehr bei der [[access_cloud|Dokumentation zur Nutzung von efaCloud in diesem Wiki]] und der [[https://www.efacloud.org/material.html|Online-Dokumentation von efaCloud, speziell dem Benutzerhandbuch]]. * **Der efaCloud-Server muss auf die aktuelle Version aktualisiert werden.**\\ Diese Anleitung orientiert sich an efaCloud 2.4.0_08. Welche efaCloud-Version auf dem Server installiert ist, findet man im efaCloud-Server unter // Support/Upgrade --> Versionsupgrade //. Dort kann auch das Update angestoßen werden. * **Der efaCloud-Server muss als erstes konfiguriert werden**, bevor efa2 auf die Unterstützung mehrerer Bootshäuser umgestellt werden kann.\\ efaCloud unterstützt maximal 4 Bootshäuser. * **efaCloud-Nutzer**\\ Jede efa-Instanz muss einen eigenen efaCloud Nutzer haben, der durch eine eindeutige efaCloud-UserID identifiziert wird. Dieser efaCloud-User wird einem //eigenen// efa-Administratorkonto zugeordnet.\\ \\ Dieser separate efaCloud Nutzer je efa-Installation ist erforderlich, damit * im zentralen efaCloud nachvollziehbar ist, über welche Station welche Änderung veranlasst wurde * der Referenz-Client definiert werden kann, der die Projekt- und Konfigurationsdaten als Master vorhält.\\ ==== Datenarten ==== * **Projektdaten**\\ Hierbei handelt es sich um die grundlegenden Projektdaten wie Fahrtenbuch-Namen, aber auch [[quick_config#bezeichnungen|Bezeichner]] wie Bootstypen, Fahrtarten usw.\\ \\ Diese Projektdaten werden seit efaCloud 2.3.2_01 nur //von// den Efa-Installationen an efaCloud übertragen, aber //nicht// zwischen den efa-Stationen synchronisiert.\\ \\ Der efaCloud-Server entnimmt aus den Projektdaten z.B. die Anfangs- und Enddaten der Fahrtenbücher zur Gültigkeitsüberprüfung. EfaCloud kann die Projektdaten der einzelnen Stationen auch gegeneinander vergleichen und Abweichungen darstellen (efaCloud->efa Einstellungen -> Client Einstellungen anzeigen).\\ \\ Da die Projektdaten zwischen den efa-Installationen //nicht// synchronisiert werden, muss die Kompatibilität der Konfiguration aller Stationen vom Administrator sichergestellt werden.\\ * **Stammdaten**\\ Das sind die im efa-Projekt gespeicherten Daten wie Personen, Boote, Gruppen usw.\\ Diese Daten werden zwischen den efa-Installationen synchronisiert. * **Fahrtenbuchdaten**\\ Die Jahres- und Bootshaus-spezifischen Daten zu den vorgenommenen Fahrten der Mitglieder.\\ \\ Fahrtenbücher //sollten// bei efaCloud einer festen Nomenklatur entsprechen:\\ JJJJ_BeliebigerText\\ Das heißt, dass auch in efa2 selbst das Fahrtenbuch jeweils mit einer vierstelligen Jahreszahl beginnen muss. Die Jahreszahl kann um einen beliebigen Text erweitert werden, der aber mit einem Tiefstrich von der Jahreszahl getrennt sein muss. \\ \\ Bei [[config_mehrere_bootshaeuser_efacloud|efaCloud-Systemen mit mehreren Bootshäusern]] ist es hilfreich, wenn die Fahrtenbücher den Namen des Bootshauses als Ergänzung beinhalten, z.B. 2025_AmSee. ==== Einrichtung mehrerer Bootshäuser in efaCloud Server ==== An dieser Stelle wird lediglich beschrieben, wie ein bestehender efaCloud Server auf die Nutzung mehrerer Bootshäuser (mit jeweils eigenem Fahrtenbuch) umgestellt wird. Die Einrichtung des efaCloud Servers selbst findet sich in der [[https://www.efacloud.org/material.html|efaCloud Dokumentation (Nutzerhandbuch)]]\\ * **Zusätzlichen Nutzer für das zusätzliche Bootshaus einrichten** * Im efaCloud-Server unter //efaCloud Nutzer --> Nutzer auflisten// die verfügbaren Nutzer mit der Berechtigung //bths// anzeigen lassen.\\ * Im efaCloud-Server unter //efaCloud Nutzer --> Nutzer anlegen// einen neuen efaCloud Nutzer anlegen.\\ efaCloudUserID und Passwort wird im späteren Verlauf benötigt.\\ * efaCloudUserID = 6002 (in diesem Beispiel) * Admin Name in efa = admin_see\\ Ein efa-Admin darf nur höchstens einem efaCloud-Nutzer zugeordnet sein. Daher muss für jeden efaCloud-User ein eigener Admin-Name angelegt werden.\\ Dieser admin-name muss zwischen 4 und 10 Zeichen lang sein.\\ Dieser Admin-User wird später bei der efaCloud-Synchronisation automatisch in efa angelegt. * Vorname = Bootshaus * Nachname = Am See * Rolle = bths\\ Es handelt sich hier um die Rolle in efaCloud. * Passwort (selbst vergeben)\\ Dieses Passwort wird sowohl für efaCloud wie später auch am efa-PC lokal genutzt. * **efaCloud referenzClient ändern**\\ efaCloud als Server muss Kenntnis von einigen Konfigurationsdaten, z.B. Beginn- und Endedaten der Fahrtenbücher haben. Dazu muss definiert werden, welches System (identifiziert über eine efaCloud-UserID) das Führende ist.\\ Hinweis: Werden Projektdaten oder Bezeichnungen (Bootstypen, Fahrtarten,...) in efa geändert, sollen sie im gesamten Verbund einheitlich sein. Dies muss durch den Administrator selbst sichergestellt werden. * Im efaCloud-Server unter // efaCloud einstellen --> Parameter ändern// im Bereich // efa ReferenzClient // die jeweilige efaCloudUser-ID der Referenzstation festlegen. * **Beginn des Fahrtenbuchjahrs festlegen** * Im efaCloud-Server unter //efaCloud einstellen --> Parameter ändern// im Bereich // efa ReferenzClient // den korrekten Beginn des Fahrtenbuchjahrs festgelegt werden. Dieser muss einheitlich über alle Fahrtenbücher aller Bootshäuser sein. * ** Fahrtenbücher für efaWeb festlegen**\\ Die Fahrtenbücher in efa müssen einen festen Aufbau haben:\\ JJJJ_irgendeintexthier z.B. JJJJ_AmSee. Das JJJJ_ //muss// am Anfang stehen, und wird später durch das aktuelle Jahr ersetzt - in Abhängigkeit zum Startzeitpunkt des Fahrtenbuchjahrs oben. * Im efaCloud-Server unter //efaCloud einstellen --> Parameter ändern// im Bereich // Fahrtenbücher // die Fahrtenbücher der jeweiligen Bootshäuser festlegen. Für dieses Beispiel folglich: * JJJJ_Haupthaus * JJJJ_AmSee * **Berechtigungen des Admins admin_see festlegen** * Im efaCloud-Server unter //efaCloud Nutzer --> Nutzer auflisten// die verfügbaren Nutzer mit der Berechtigung //Board// anzeigen lassen.\\ * Dort den Nutzer mit der efaCloud-ID //6002// suchen und auf die Zahl //6002// klicken. * Im nachfolgenden Dialog die Funktion //Efa admin Berechtigungen ändern// wählen, und die nötigen Berechtigungen erteilen. ==== Einrichtung in efa2 ==== Folgende Schritte sind zum Einrichten von efa in mehreren Bootshäusern erforderlich: * Für den weiteren Ablauf wird davon ausgegangen, dass es bereits ein an efaCloud angebundenes Projekt gibt. Bei diesem muss lediglich das zweite Bootshaus angebunden werden.\\ Ebenso wird davon ausgegangen, dass die Konfiguration in efaCloud (siehe oben) bereits erledigt wurde. * Stelle sicher, dass bei den beiden PCs für die Bootshäuser "Haupthaus" und "Am See" der Hostname jeweils korrekt und auf unterschiedliche Werte gesetzt ist.\\ Es ist wichtig, dass jeder efa-PC einen unterschiedlichen Hostname hat. Dies gilt auch für efaLive-Installationen. Anhand des Hostnames erkennt efa2 selbst, für welches Bootshaus der PC zuständig ist, und steuert damit z.B. die Sichtbarkeit von Booten und Zielen. * **Aktionen am Haupthaus-PC** * Lege in den Projekteinstellungen (Admin-Modus - Projekte - Einstellungen) unter //Bootshaus// für jedes Bootshaus einen entsprechenden Eintrag an.\\ \\ Trage in das Feld //Standardcomputer// für jedes Bootshaus den Namen des Bootshaus-Computers (hostname) ein, der für dieses Bootshaus zuständig ist. Durch Klick auf die Schaltfläche //Diesen Computer auswählen// trägt efa den Namen des aktuellen Computers selbst ein.\\ \\ * **Bootssichtbarkeit für Bootshäuser festlegen**\\ Für alle Boote, die nur in einem der Bootshäuser angezeigt werden sollen, wähle im Admin-Modus unter Bootsstatus das entsprechende Bootshaus aus.\\ \\ * **Ziele/Strecken-Sichtbarkeit für Bootshäuser festlegen**\\ Für alle Ziele, die nur in einem der Bootshäuser angezeigt werden sollen, wähle im Admin-Modus unter Ziele / Strecken das entsprechende Bootshaus aus. Auf diese Weise können auch gleichnamige Ziele für verschiedene Bootshäuser mit unterschiedlichen Daten (z.B. unterschiedlichen Entfernungen) hinterlegt werden.\\ \\ Hinweis: Im Admin-Modus werden immer alle Boote und alle Ziele angezeigt. Für Ziele wird hinter dem Zielnamen im Admin-Modus der Name des entsprechenden Bootshauses eingeblendet.\\ \\ * **Fahrtenbücher anlegen**\\ Falls noch nicht geschehen, lege für jedes Bootshaus ein separates Fahrtenbuch an. Die Zeiträume der Fahrtenbücher aller Bootshäuser müssen bei einer efaCloud-Installation identisch sein.\\ Der Name der Bootshäuser muss den oben in efaCloud festgelegten Namen entsprechen, wobei aber statt JJJJ das jeweilige Jahr einzutragen ist.\\ Für dieses Beispiel also //2025_Haupthaus// und //2025_AmSee//\\ Der Beginn des Fahrtenbuchjahres muss mit dem übereinstimmen, was in efaCloud hinterlegt ist.\\ \\ Es ist korrekt, dass im Haupthaus sowohl die Fahrtenbücher für das Haupthaus, wie auch für "Am See" angelegt werden. Im Haupthaus soll aber nur das Fahrtenbuch "2025_Haupthaus" geladen sein.\\ \\ * Nach den erfolgten Änderungen einmal efa2 neu starten - nach dem Neustart wird eine vollständige Synchronisation mit efaCloud durchgeführt.\\ \\ * Nachdem das Projekt erstellt, alle Bootshäuser konfiguriert, Daten vollständig erfaßt, Boote und Ziele den Bootshäusern zugeordnet und Fahrtenbücher erstellt worden sind, erzeuge ein vollständiges Backup des Projekts.\\ Dieses muss auf den Bootshaus-PC "Am See" übertragen werden. * **Aktivitäten "Am See"** * Am Bootshaus-PC "Am See" das vollständige Backup aus dem Haupthaus wiederherstellen, inklusive Konfigurationsdaten.\\ \\ * efa nach dem Backup direkt neu starten. Vorher nicht in den Admin-Bereich gehen, oder andere Dinge verstellen.\\ \\ * Im neu gestarteten efa Admin-Modus starten. In der Projektliste das entsprechende Projekt wählen und //Einstellungen// wählen. In der Registerkarte //Projekt// den //Benutzernamen// auf 6002 (aus diesem Beispiel) setzen und das zugehörige Passwort setzen, speichern.\\ \\ * Das Fahrtenbuch 2025_AmSee öffnen.\\ \\ * efa2 neu starten. Bei der dann erfolgenden Synchronisation bekommt efa2 aus der cloud auch den zusätzlichen Admin übermittelt. Dann sollte es möglich sein, sich mit "admin_see" und dem efaCloud-Passwort des zugehörigen efaCloud-Users 6002 bei efa anzumelden.\\ \\ * ** Prüfen der zeitlichen Abläufe **\\ \\ * **Kanu-EFB-Synchronisation**\\ Soll eine Synchronisation der Fahrten in das Kanu-EFB des DKV erfolgen, so muss jedes Bootshaus eine eigene Synchronisation durchführen: jedes Bootshaus "sieht" nur noch seine eigenen Fahrten.\\ \\ Die Synchronisation muss in jedem Bootshaus zeitlich versetzt stattfinden, da das Kanu-EFB keinen zeitgleichen Login zulässt. Es empfiehlt sich, einen 15-Minütigen zeitlichen Versatz vorzusehen.\\ \\ * **Zeitliche Abläufe** * **EFA-Neustart**\\ Erfolgt der efa-Neustart um 04:00 Uhr, so werden die efaCloud-Synchronisationen jeweils um x:15, x:30, x:45 und x:00 einer jeden Stunde durchgeführt. Es wäre sinnvoll, den efa-Neustart eines Bootshauses um jeweils 5 Minuten zu verschieben, d.h. auf 04:00 Uhr zu setzen * **Automatische Abläufe**\\ Sind in der //Konfiguration --> Efa-Bootshaus --> Automatische Abläufe// jeweils Aktivitäten eingetragen, so sollte auch hier hinterfragt werden, ob diese in allen Bootshäusern zur gleichen Zeit erfolgen sollen (z.B. die Kanu-EFB-Synchronisation sollte zeitlich versetzt angestartet werden).\\ \\ * Prüfen des [[https://www.efacloud.org/documents/efaCloud_Nutzerhandbuch.pdf|efaCloud-Nutzerhandbuchs]] auf weitere Tipps im Kapitel //Checkliste für den Betrieb//. ==== Anzeige in efaBootshaus ==== * Verfügbare Boote\\ Es werden in dieser Liste alle Boote angezeigt, für die nicht über den //Bootsstatus// im Expertenmodus festgelegt wurde, dass das Boot nur an einem bestimmten Bootshaus sichtbar sein soll. * Boote auf Fahrt\\ Es werden nur Boote auf Fahrt angezeigt, die im aktuellen Fahrtenbuch enthalten sind. Da efaCloud getrennte Fahrtenbücher je Bootshaus benötigt, sieht man nicht mehr die Fahrten, die im anderen Standort noch "unterwegs" sind. ==== Aktualisierung von Stammdaten etc. ==== **Administratoren und ihre Berechtigungen** werden zentral in efaCloud (d.h. im Web) konfiguriert. Die **Projektdaten** (z.B. Bezeichnungen für Fahrtarten, Bootstypen etc. in efaConfig) //müssen// auf allen Stationen konsistent gehalten werden. Für efaCloud gelten diejenigen Projekteinstellungen, die auf der derjenigen efa-Installation gelten, die in efaCloud als efaCloud-Referenzstation festgelegt wurde. Da geänderte Bezeichnungen erst bei einem Neustart von efa an den Server übermittelt werden, stehen diese in efaCloud erst nach dem nächsten Neustart von efa (ggfs. der Automatische in der Nacht) zur Verfügung. Die **Stammdaten** wie Personen, Boote, Gruppen, Ziele etc. können in jedem Bootshaus geändert werden, sofern der Admin dazu die Berechtigungen hat. Die geänderten Stammdaten werden dabei automatisch in einem gewissen Zeitversatz mit den anderen Stationen synchronisiert. Die **Fahrten** werden für jedes Bootshaus separat erfasst. Jedes Bootshaus sendet für sein Fahrtenbuch jeweils alle Aktualisierungen in efaCloud, so dass dort zentral der vollständige Stand vorliegt. ==== Fahrtenbuchwechsel ==== Jedes Bootshaus selbst führt seinen eigenen Fahrtenbuchwechsel durch, sofern er für das jeweilige Fahrtenbuch des Bootshauses konfiguriert ist. D.h. jedes Bootshaus bricht beim Fahrtenbuchwechsel noch //seine// offenen Fahrten ab. ==== Auswertung von Fahrten, Bootshausübergreifend ==== FIXME TODO