====== Ersteinrichtung ====== ===== Installation ===== Die Einrichtung des Servers und Installation der Software ist im internen [[https://gitlab-zit.senckenberg.org/sklemm/florawebplus/-/wikis/Installation|GitLab-Wiki]] bzw. der README beschrieben. :!: Wird im Browser die Startseite des frisch installierten CMS aufgerufen, erscheint eine Fehlermeldung bezüglich eines fehlenden Moduls. Dies ist beabsichtigt und resultiert daraus, dass bisher keinerlei Konfiguration im Backend des CMS erfolgt ist! Portal-spezifische Konfiguration, Grafiken, und Datensätze sind nicht Bestandteil des Quellcodes und müssen individuell erstellt werden. Die Verwendung und Anpassung des Designs mittels Layout-Templates sind in einem separaten [[manual:layout-templates|Kapitel]] beschrieben. ===== Benutzer anlegen ===== Aus Sicherheitsgründen ist die Registrierung von neuen Nutzern standardmäßig deaktiviert. Um einen ersten Nutzer anzulegen muss in der Konfigurationsdatei ''.env'' im Wurzelverzeichnis der Anwendung auf dem Webserver folgender Eintrag ergänzt oder angepasst werden: USER_REGISTRATION=true Danach im Browser die Login-Seite der installierte Webanwendung (https://example.com/login) aufrufen und auf den //Registrieren//-Link klicken. Die Angabe eines Nutzernamens, Passwort und einer gültigen Emailadresse ist obligatorisch. Nach erfolgter Registrierung verschickt das System eine Email mit einem Bestätigunslink, um die Emailadresse zu verifizieren. :!: Der allererste registrierte Nutzer erhält automatische **alle** Adminstratoren-Rechte (Nutzergruppe //Super-Admin//)! :!: Danach sollte die Benutzer-Registrierung mittels ''USER_REGISTRATION=false'' wieder deaktiviert werden, falls nicht unbedingt benötigt! ===== Datensatztypen definieren ===== Als erstes muss mindestens ein [[manual:glossar#datensatztyp|Typ für Datensätze]] angelegt werden: * Menüpunkt **//Konfiguration//** --> **//Datensatztypen//** * Button **[Neuer Listeneintrag]** * bei //__Wert__// einen beschreibenden deutschen Namen eingeben, //__Attribut__// ''name_de'' wählen * sollen weitere Attribute vergeben werden dann Button **[Neuer Einzelwert]** * :todo: z. B. bei //__Wert__// einen systemweit eindeutigen Bezeichner eingeben, //__Attribut__// ''code'' wählen * ggf. die letzten beiden Schritte für weitere Sprachen wiederholen ===== Gliederungspunkte definieren ===== **:!:** Auch wenn keine Gliederung der Anzeigefelder erfolgen soll, muss zumindest ein Gliederungspunkt angelegt werden, da dieser für die [[manual:setup#Feldzuordnung definieren|Feld-Zuordnungen]] benötigt wird. Über die Konfigurationseinstellungen kann dann definiert werden, dass der Gliederungspunkt im Frontend nicht angezeigt wird. Sollen die Anzeigefelder im Front- und/oder Backend in bestimmte Kategorien gegliedert werden, sollten mehrere [[manual:glossar#gliederungspunkt|Gliederungspunkte]] definiert werden (z.B. könnten die Anzeigefelder Wiss. Name, Synonyme, Dt. Name etc. einer Kategorie / einem Gliederungspunkt "Systematik" zugeordnet werden) * Menüpunkt **//Konfiguration//** --> **//Gliederungspunkte//** * Button **[Neuer Listeneintrag]** * bei //__Wert__// einen beschreibenden deutschen Namen eingeben, //__Attribut__// ''name_de'' wählen --> Speichern * wenn dem Listeneintrag weitere Attribute (z.B. Namen in anderen Sprachen, Beschreibungen, Konfigurationseinstellungen etc.) zugewiesen werden sollen, dann werden neue Einzelwerte hinzugefügt * nachfolgendes Beispiel für Konfiguration, dass Gliederungspunkt im Frontend standardmäßig ausgeklappt erscheinen soll (wird keine Konfigurationseinstellung vorgenommen ist der Gliederungspunkt eingeklappt): * Button **[Neuer Einzelwert]** * //__Attribut__// ''config'' auswählen * unter //__Wert__// ''{"show_collapsed":true}''eingeben (Anm. Die Einträge für Konfigurationseinstellungen müssen einen definierten JSON-Format entsprechen --> nur von sehr fortgeschrittenen Nutzern vorzunehmen) * Speichern * ggf. die letzten Schritte für Hinzufügen weiterer Attribute wiederholen ===== Namen der Anzeigefelder definieren ===== * Menüpunkt **//Konfiguration//** --> **//Anzeigefelder-Namen//** * Button **[Neuer Listeneintrag]** * bei //__Wert__// einen beschreibenden deutschen Namen eingeben, //__Attribut__// ''name_de'' wählen --> Speichern * wenn dem Listeneintrag weitere Attribute (z.B. Namen in anderen Sprachen, Beschreibungen, Konfigurationseinstellungen etc.) zugewiesen werden sollen, dann werden neue Einzelwerte hinzugefügt * nachfolgendes Beispiel für Hinzufügen einer Beschreibung des Feldes: * Button **[Neuer Einzelwert]** * //__Attribut__// ''description_de'' auswählen * unter //__Wert__// eine Beschreibung eingeben * Speichern * ggf. die letzten Schritte für Hinzufügen weiterer Attribute wiederholen ===== Anzeigefelder definieren ===== Für alle Datensatztypen können nun individuelle [[manual:glossar#anzeigefelder|Anzeigefelder]] angelegt werden. * Menüpunkt **//Konfiguration//** --> **//Anzeigefelder//** * Button **[Neues Anzeigefeld]** Der //__Name__// des Anzeigefeldes sollte kurz sein und bestimmt die Benennung in der Frontend-Anzeige der Datensätze. Es kann aus vorhandenen, vorher definierten Einträgen ([[manual:setup#Namen der Anzeigefelder definieren|Anzeigefelder-Namen]]) ausgewählt oder ein neuer Name vergeben werden. Wird in der Auswahlliste ''---Neu---'' ausgewählt, erscheint eine neues Feld in dem der neu zu vergebende Name eingegeben wird. Dieser erscheint dann auch unter **//Anzeigefelder-Namen//**. Auswählbar sind immer nur die Namen in der Sprache, die aktuell unter dem Menüpunkt **//Sprache//** ausgewählt ist, d.h. wenn "Deutsch" ausgewählt ist, stehen nur die Anzeigefeld-Namen zur Auswahl, denen das //__Attribut__// ''name_de'' zugeordnet ist. Neu angelegte Namen werden dementsprechend automatisch ebenfalls mit dem der aktuellen Sprache zugeordneten Attribut versehen. Die //__Beschreibung__// ist prinzipiell frei verwendbar und wird ausschließlich im Backend für bessere Unterscheidbarkeit und genauerer Beschreibung verwendet. Sie sollte idealerweise den Namen des [[manual:glossar#datensatztyp|Datensatztyp]], Namen des [[manual:glossar#gliederungspunkt|Gliederungspunktes]] und den Namen des Anzeigefeldes enthalten: z.B: ''Artdatensatz -> Fundortdaten -> Naturraum'' Wird bei der Definition des Anzeigefeldes auch die //[[manual:glossar#feldzuordnung|Feldzuordnung]]// angelegt (siehe unten), wird das Feld automatisch nach dem oben empfohlenen Schema ''Datensatztyp -> Name des Gliederungspunktes -> Name des Anzeigefeldes'' ausgefüllt. Zwingend ist die Auswahl des //[[manual:glossar#datentyp|Datentyp]]//s. Dieser legt fest, welchen Inhalt das Anzeigefeld enthalten und darstellen kann. Dies bestimmt ganz wesentlich die Struktur der zu verwaltenden Datensätze. :!: Achten Sie auf die Auswahl des richtigen Datentyps. :!: Es empfiehlt sich, während des Anlegens eines Anzeigefeldes auch die //[[manual:glossar#feldzuordnung|Feldzuordnung]]// anzulegen. Dazu wird der Haken der Checkbox //__Eine neue Zuordnung für dieses Anzeigefeld anlegen__// gesetzt. Daraufhin wird das Eingabeformular um mehrere Felder erweitert: * Über die ersten beiden Felder wird ausgewählt, welchem der vorher angelegten Datensatztypen und Gliederungspunkte das jeweilige Anzeigefeld zugeordnet werden soll. * Zudem kann bei //__Verwendung bei Taxon__// definiert werden ob das Anzeigefeld nur bei bestimmten Taxa verwendet werden soll (setzt voraus, dass bereits eine Taxliste vorhanden ist, aus der der einzutragende Wert ausgewählt werden kann). * Unter //__Öffentliche Sichtbarkeit__// ist wählbar, ob das Anzeigefeld im Frontend erschienen soll. * Die beiden letzten Felder erstmal nicht ausfüllen. Für andere Wege zur Definition der Feldzuordnung siehe folgenden Abschnitt. ===== Feldzuordnung definieren ===== Um Anzeigefelder überhaupt nutzen zu können, bedarf es sogenannter //[[manual:glossar#feldzuordnung|Feldzuordnungen]]//. Diese bestimmen die Sortierung und Gruppierung der [[manual:glossar#anzeigefelder|Anzeigefelder]] innerhalb eines [[manual:glossar#datensatztyp|Datensatztyps]] und legen fest, für welche //[[manual:glossar#datentyp|Datentypen]]// und Taxa die Anzeigefelder verwendet werden sollen. Prinzipiell können Feldzuordnung auf drei Wegen erzeugt werden: - Direkt während des Anlegen eines Anzeigefeldes (siehe oben unter //[[manual:setup#Anzeigefelder definieren|Anzeigefelder definieren]]//) - Per Stapelverarbeitung (sinnvoll bei großer Menge von Anzeigefeldern) - Einzeln, manuell Den letzten beiden Punkten ist gemein, dass die zuzuordnenden Anzeigefelder bereits existieren müssen! === Feldzuordnung per Stapelverarbeitung definieren === * Menüpunkt **//Konfiguration//** --> **//Feld-Zuordnungen//** * Button **[Stapelverarbeitung]** * im sich öffnenden Formular sieht man links, die bereits zugeordneten Anzeigefelder, rechts die noch nicht zugeordneten * im rechten Fenster, die Anzeigefelder auswählen (Mehrfachauswahl mit Taste STRG (oder CTRL)), die die gleichen Zuordnungseinstellungen erhalten werden * darüber den //__Datensatztyp__// auswählen, dem die Anzeigefelder zugeordnet werden * darunter die restlichen Einstellungen vornehmen: * //__Gliederungspunkt__// -> Gliederungspunkt auswählen, dem Anzeigefeld zugeordnet werden soll * //__Verwendung bei Taxon__// -> Einstellung ob das Anzeigefeld nur bei bestimmten Taxa verwendet werden soll (setzt voraus, dass bereits eine Taxliste vorhanden ist, aus der der einzutragende Wert ausgewählt werden kann). * //__Öffentliche Sichtbarkeit__// -> Auswahl, ob das Anzeigefeld im Frontend erschienen soll * die letzten Schritte wiederholen, bis alle Anzeigefelder zugeordnet sind. === Feldzuordnung für jedes Anzeigefeld manuell definieren === * Menüpunkt **//Konfiguration//** --> **//Feld-Zuordnungen//** * Button **[Neue Feld-Zuordnung]** * unter "Anzeigefeld" das Feld auswählen, dessen Feldzuordnung definiert werden soll * in den weiteren Felder die Einstellungen vornehmen: * //__Datensatztyp__// -> Datensatztyp auswählen, dem Anzeigefeld zugeordnet werden soll * //__Gliederungspunkt__// -> Gliederungspunkt auswählen, dem Anzeigefeld zugeordnet werden soll * //__Verwendung bei Taxon__// -> Einstellung ob das Anzeigefeld nur bei bestimmten Taxa verwendet werden soll (setzt voraus, dass bereits eine Taxliste vorhanden ist, aus der der einzutragende Wert ausgewählt werden kann). * //__Öffentliche Sichtbarkeit__// -> Auswahl, ob das Anzeigefeld im Frontend erschienen soll * Die beiden letzten Felder erstmal nicht ausfüllen. Über die einzelne, manuelle Definition der Feldzuordnungen können für jedes Anzeigefelder auch weitere Feldzuordnungen definiert werden (:!:ein Anzeigefeld kann mehrere verschiedenen Feldzuordnungen haben, z.B. wenn es nicht bei allen Taxa, aber bei verschiedenen Gattungen verwendet wird -> dann sind für das betreffende Anzeigefeld so viele Feldzuordnungen anzulegen, wie es Gattungen gibt bei denen das Feld verwendet wird. Die Konfigurationen unterscheiden sich dann jeweils hinsichtlich der //__Verwendung bei Taxon__//). === Anzeigereihenfolge der Anzeigefelder definieren/ändern=== * Menüpunkt **//Konfiguration//** --> **//Feld-Zuordnungen//** * Button **[Sortieren]** * per Drag&Drop können jetzt die Anzeigefelder für jeden Datensatz in die gewünschte Reihenfolge gebracht werden (:!:Die Zahl, die in den tabellarischen Ansichten vor jedem Anzeigefeld steht, ist die vom System vergebene ID und hat nichts mit der Sortierreihenfolge zu tun) === Feldzuordnungen ändern ==== * Menüpunkt **//Konfiguration//** --> **//Feld-Zuordnungen//** * Button **[Bearbeiten]** in Zeile des jeweiligen Anzeigefeldes (Stift-Symbol) * es öffnet sich eine Ansicht mit den aktuellen Feldzuordnungen und Einstellungen (hier nicht bearbeitbare Konfigurationen sind ausgegraut) * Im unteren Bereich werden je nach Datentyp des Anzeigefeldes verschiedene [[manual:anzeigefeld-config|Datentyp-spezifische Konfigurationsoptionen]] angezeigt. ===== Module konfigurieren ===== Abhängig von den angelegten Anzeigefeldern und ihren Zuordnungen kann es erforderlich sein, bestimmte Module grundlegend zu konfigurieren. Die Anwendung wird ggf. darauf aufmerksam machen. ===== Daten importieren ===== An diesem Punkt ist die Struktur der Datensätze grundlegend definiert. Somit können nun Datensätze einzeln angelegt, bearbeitet und angezeigt werden oder in großer Menge aus einer CSV-Datei [[manual:import|importiert]] werden. ---- [[manual:start|Inhaltsverzeichnis]]