Unterschiede zwischen den Revisionen 9 und 10
Revision 9 vom 2016-07-10 18:42:37
Größe: 8202
Autor: BodoBellut
Kommentar:
Revision 10 vom 2016-07-10 18:44:26
Größe: 8385
Autor: BodoBellut
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 82: Zeile 82:
 1. In {{{/var/www/drupal7/sites/all/modules/contrib}}} die Verzeichnisse der zu aktualisierenden Module löschen.  1. In {{{/var/www/drupal7/sites/all/modules/contrib}}} die Verzeichnisse der zu aktualisierenden Module löschen. /!\ Auf keinen Fall die Verzeichnisse einfach umbenennen, sollen diese zunächst erhalten bleiben müssen sie in ein Verzeichnis außerhalb der Drupal-Installation verschoben werden.

/!\ Diese Seite befindet sich noch im Aufbau /!\
/!\ Die Inhalte hier wurden noch nicht korrekturgelesen. Nicht einfach blind der Dokumentation folgen. /!\

Drupal bei PING

Eine neue Homepage auf der Basis des CMS Drupal ist (nach langem, zähen Ringen) auf http://web.ping.de/ entstanden. Die Implementation naht nunmehr ihrer Vollendung, sobald letzte Kleinigkeiten fertiggestellt und die Inhalte übertragen sind soll das neue CMS die Startseite http://www.ping.de/ ersetzen.

Dokumentation

Die Dokumentation des Systems ist im Drupal selbst abgelegt, die entsprechenden Seiten/Artikel werden aber nicht veröffentlicht. Nach erfolgreicher Anmeldung als Redakteur oder Admin ( <!> genaue Rollen benennen) können diese eingesehen werden.

Mitgliederaccounts

Es gibt einen Mechanismus, um Mitgliederaccounts automatisch mit der PING-Datenbank zu synchronisieren. Dazu wird auf lilly eine CSV-Datei erstellt und auf web.ping.de kopiert. Hier kann diese entweder manuell oder automatisch sychronisiert werden, dieser Vorgang ist im Drupal beschrieben (s.o.).

Hier folgen nun noch einige technische Detail-Informationen zu der Implementation der Synchronisation. Für die Benutzung des CMS ist es nicht notwendig, diesen Teil zu kennen.

  • Die Quell-Daten für die CSV-Datei finden sich auf lilly in /etc/httpd/drupal/

  • Die CSV-Datei wird als /var/www/intern/user-transfer/accounts.csv abgelegt.

  • Das Passwort in der CSV-Datei ist ein MD5-Hash ohne Salt.
  • Der Import wird von dem PHP-Skript /var/www/drupal7/sites/all/themes/ping/inc/import.inc.php durchgeführt.

  • Es gibt aktuell im Drupal die folgenden Rollen, ein Benutzer kann dabei mehr als eine Rolle haben:
    • administrator
    • Authentifizierter Benutzer
    • Gast
    • Redakteur
  • Neben den regulären Account-Daten werden auch noch drei data fields angelegt:

    • user_id
    • user_vorname
    • user_nachname

TODO

  • Es muss noch geklärt werden, wie Prima-User integriert werden, bzw. wie mit doppelten Sitenames umgegangen werden soll.
  • Aktuell werden Mitglieder, die den Verein verlassen, nicht gelöscht sondern inaktiv gesetzt. Sollen diese gelöscht werden muss noch ein entsprechender Mechanismus implementiert werden.
    Insbesondere müssen die oben erwähnten data fields gelöscht werden.

  • Aktuell gibt es im Import-Skript zwei besondere Ausnahmen:
    • User-ID 0 wird komplett ignoriert und niemals modifiziert. Diese User-ID stellt den Drupal-Administrator dar.
    • User-ID 18 wird explizit übersprungen, dieses ist aktuell ein generischer Redakteur-Account mit dem Usernamen redaktion

  • Der Import-Mechanismus muss noch derart angepasst werden, daß weitere, manuell vergebene Redakteur- bzw. Administrator-Accounts ebenfalls übersprungen werden. Die Entscheidung könnte über die im Drupal dem entsprechenden Account zugeordnete Rolle oder über die vom Import-Skript speziell generierten Dummy-email-Adressen geschehen.
  • Es muss noch eine Möglichkeit eingebaut werden, damit sich ein angemeldeter Benutzer wieder abmelden kann. Z.B. könnte ein "Abmelden"-Link im Menu "Interner Bereich" erstellt werden. Ein Abmelden Link (user/logout) wurde im Menu "Interner Bereich" ergänzt.

Accounts

Drupal

Piwik (Besucher-Statistik)

MySQLDumper (zum Sichern/Wiederherstellen der Datenbank)

Updates

Beim Login als Administrator zeigt Drupal eine Benachrichtigung an, wenn Updates existieren.

Vorarbeiten

Vor jedem Update (gleich ob Modul, Theme oder Core) sollte die Datenbank gesichert werden. Dies kann direkt auf dem Server mittels mysqldump geschehen oder mit dem HTML-basierten MySQLDumper.
Hier wird die Sicherung mittels MySQLDumper beschrieben.

  1. Login auf http://web.ping.de/msd/

  2. "Backup" in der linken Navigation wählen
  3. Einen Kommentar vergeben
  4. Den Knopf "Neues Backup starten" drücken

Während das Backup läuft wird der Fortschritt angezeigt.

Module/Themes

  1. Über die Links auf der Drupal-Update-Übersicht die Neuigkeiten prüfen.
  2. Auf der Neuigkeiten-Seite gibt es auch die Download-Links (hier die tar.gz-Version nehmen)
  3. Jedes Paket lokal öffnen und die Dokumentation in den Dateien README.txt, INSTALL.txt und UPGRADE.txt durchsehen
  4. Notwendige Abhängigkeiten installieren
  5. Die Installationspakete auf den Server kopieren.
  6. Drupal in den Wartungsmodus versetzen.
  7. In /var/www/drupal7/sites/all/modules/contrib die Verzeichnisse der zu aktualisierenden Module löschen. /!\ Auf keinen Fall die Verzeichnisse einfach umbenennen, sollen diese zunächst erhalten bleiben müssen sie in ein Verzeichnis außerhalb der Drupal-Installation verschoben werden.

  8. Im selben Verzeichnis die Aktualisierungsdateien auspacken
  9. http://web.ping.de/update.php aufrufen

  10. Den Dialogen folgen
  11. Fehlermeldungen prüfen und notwendige Schritte ausführen
  12. Wartungsmodus deaktivieren

FAQ

Hier nun eine Sammlung von Fragen, die dem Webdesigner, der die Drupal-Implementierung umgesetzt hat, gestellt wurden, sowie dessen Antworten.

Umbenennung web -> www

>> - Was muss innerhalb des Drupal getan werden, wenn die Seite von
>> web.ping.de auf www.ping.de umgestellt wird?
>
> Da muss eigentlich gar nichts gemacht werden, solange die Dateien nicht
> auch noch auf dem Server verschoben werden. Sollte es bei der Umstellung
> Probleme geben, können Sie mich aber noch einmal fragen.

URL für die Webcam

>> - Lässt sich die URL für die Webcam ändern und wenn ja wo?
>
> Die Ersetzung des Kurzcodes ist selbst programmiert. Zuständig ist die
> Datei /sites/all/themes/ping/template.php - Zeile 55.

Backup/Restore

>> - Backups sind dokumentiert, doch wie muss vorgegangen werden, um diese
>> ganz oder teilweise wiederherzustellen?
>
> Der Admin hat Zugriff auf die Backups. Es gibt eine Funktion, um diese
> wieder herzustellen. Ich habe die Funktion des Moduls aber noch nie
> selbst benutzt. Ich nutze das Tool MySQLDumper. Das hätte ich nun
> gelöscht, aber ich belasse es mal auf dem Server und gebe auch dort den
> Zugang weiter.
> Das Tool hat nichts mit Drupal zu tun.
> Siehe: <http://www.mysqldumper.de/>

(Sicherheits-)Updates einspielen

>> - Wie werden Sicherheitsupdates korrekt und ohne Datenverlust
>> eingespielt?
>
> Das ist hier erklärt: <https://www.drupal.org/node/1494290>
> Bitte dabei immer und in jedem Fall zuerst die Datenbank sichern. Mit dem
> Drupal-Modul oder mit MySQLDumper.

Infrastruktur-Module

Neben Drupal (CMS) gibt es auf dem Server auch eine Installation von Piwik (Statistiken) und MySQLDumper (Web-Interface zur Datenbank-Pflege).

Piwik

Es scheinen derzeit keine Statistiken gesammelt zu werden, die entsprechende Funktion scheint im Drupal nicht aktiv zu sein.

Updates

cd /var/www/drupal7/piwik/config
cp config.ini.php config.ini.php-`date -I`
cd /var/www/drupal7
wget https://builds.piwik.org/piwik.zip
cp -a piwik piwik-BAK
unzip -o piwik.zip
rm How\ to\ install\ Piwik.html piwik.zip
/var/www/drupal7/piwik/console core:update

Links:

MySQLDumper

Hier gibt es zur Zeit nichts zu sehen.

Reverse Engineering

Benutzerdaten-Dialog

Benutzer (inklusive Administratoren und lokale, nicht durch den Import erzeugte Benutzer) können ihre Benutzerdaten nicht ändern. Dafür verantwortlich ist das Modul pingmini. Dieses ist in /var/www/drupal7/sites/all/modules/custom/pingmini zu finden.

Das Modul implementiert aktuell nur die Funktion pingmini_form_alter welche nur für das Formular user_profile_form aktiv wird und hier einige Felder inklusive des Speichern-Buttons entfernt. Hier wird auch der Hinweis eingefügt, die Daten über die PING-Benutzerverwaltung zu ändern.

Software/Drupal (zuletzt geändert am 2020-07-17 07:23:17 durch BodoBellut)