Inhalt

Fragestellung zur Startseite - mehrere Versionen des Wikis parallel?

z. B.
[[20191:start|20.19.1]] [[20192:start|20.19.2]] [[2020:start|20.20]]

2020:start|zu Namespace 2020__ Klärungsbedarf Namespacemanagement/Hyperlinks/Workflow bei Versionswechsel

Antwort: Eine solche übergeordnete Seite werden wir in der Kundenversion nicht anbieten, wir steigen in der jeweiligen Version dann direkt auf der aktuellen Versionsseite ein. Abhängig von der Programmversion wird die jeweilige Hilfeseite geöffnet. Die trunk-Version nutzt eine vereinfachte Adressierung, zu der dann intern ein Redirekt auf die Versionsseite erfolgt: ⇒ https://wiki.crem-solutions.de/ Dies unterstützt die Einrichtung eines dauerhaft sinnvollen Webseitenlesezeichen im Browser des Kundens.

Mit der Branchvariante besteht eine parallele Variante nur im Intranet. Die Branchversion halten wir bis zu einem bestimmten Zeitpunkt mit der Trunk-Version parallel und werden sie dann gezielt weiterentwickeln. Hierzu nutzen wir eine Versorgung via TortoiseSVN und mergen nach bestimmten Regeln. Die Branchversion des iX-Wiki wird in der Aufbauphase nicht online gestellt. Dies ist der jeweiligen Trunkversion vorbehalten.

Z. B. ist ⇒ iX-Wiki Onlineversion 20.21.0 nur für den exklusiven Teil der Kunden relevant, welche schon die Version 20.21.0 einsetzen, während iX-Wiki Onlineversion 20.20.0 allen Kunden mit 20.20.0 bereitgestellt wird. (Stand dieser Konstellation: 01.08.2021). Wer den Pfad kennt, kann natürlich in seinem Browser auch eine andere Onlinevariante des iX-Wiki ansteuern, dies wird technisch nicht unterbunden.

Redaktionell arbeiten wir z. B. Neuerungen in 20.21.0 ein. Nur absolute Basics werden in Vorversionen, z. B. in 20.20.0 angepasst. Diese werden dann über 20.20.2, nach 20.20.3 und höher durchgemerged. Falls man in 20.21.0 Anpassungen vornimmt, betreffen die per merge auch 20.21.1, nicht jedoch 20.20er-Versionen! Durch Veröffentlichung des Servicepack 1 zu Version 20.21 Ende Juni 2021 wurde die Version 20.21.1 zur neuen Trunk-Version und die neue Branchversion 20.21.1 wurde eingerichtet. Optional: Eine Angabe der Kalenderwoche nach der Programmversion (letzer Upload von KW…) auf der Startseite könnte dem Anwender helfen, zu entscheiden, welche Informationen ggf. zusätzlich per Patchnotes zu berücksichtigen sind, wenn er eine aktuellere Version einsetzt.

Datenhaltung iX-Wiki und SVN

Durch die Verwendung von TortoiseSVN (Subversion) werden bestimmte Dateien aus dem Wiki-Verzeichnis über Add und Commit gesichert. Aufgrund der Abfragen und den damit verbunden Merge-Prozessen ist eine bestimmte Abfolge im Umgang mit TortoiseSVN für die iX-Wiki-Varianten zu beachten. Da innerhalb von DokuWiki, dem von iX-Wiki verwendeten Wikisystem, ebenfalls eine Versionskontrolle über das php-System operiert, ist zwischen Versionskonflikten in TortoiseSVN und Versionskonflikten in DokuWiki zu unterscheiden. Da wir nur bestimmte Dateien des DokuWikisystems in TortoiseSVN betrachten und nur für diese eine Versionkontrolle vorsehen, ist es möglich, dass spezielle DokuWikifunktionen hierdurch unterbrochen oder nicht optimal ausgeführt werden können. Solange diese Funktionen ebenfalls nur eine Wiki-interne Versionkontrolle betreffen, sehen wir das als unkritisch an. Hauptansprechpartner für die SVN-Konfiguration ist SMV.

Welche Dateien oder Verzeichnisse von iX-Wiki unterliegen in TortoiseSVN einer Versionskontrolle?

  • Baumstrukturen aus dem Vereichnis data\pages ⇒ Unterverzeichnisse (namespaces) und Wikiseiten (data\pages *.txt)
  • Baumstrukturen aus dem Vereichnis data\media ⇒ Medienverzeichnisse und ihre Inhalte (data\media\*.*)

Meta-Daten und Indexierungen sowie Verlauf über die Verzeichnisse attic cache index locks media_attic media_meta meta tmp sind nicht zwingend erforderlich. Sie unterstützen das DokuWiki-interne System eines Repositories und der Indexierung.

Für eine versionsspezifische Sicherung sind auf jeden Fall data\pages, data\media relevant zzgl. der Inhalte der Verzeichnisse conf und lib. Die Konfigurationsdateien aus dem Verzeichnis conf sowie der Plugins lib\plugins beinhalten ggf. individualisierte Daten, die ebenfalls gesichert werden müssen und im Zweifelsfall versionsspezifisch (trunk oder branch) sind. Wird z. B. ein Plugin im Trunk installiert und liefert spezifische Codes im Seitentext, können diese Codes in der Branch-Variante nur dann sicher interpretiert werden, wenn das gleiche Plugin dort ebenfalls mit der gleichen Konfiguration eingerichtet ist! Daher ist die Liste der verwendeten Plugins sinnvoll, um den Überblick über die das DokuWiki ergänzenden Features zu behalten. Plugins sollten nach einer Testphase möglichst immer in beiden Versionen parallel installiert werden.

SVN-Workflow

Es hat sich gezeigt, dass es sinnvoll ist, nach Aktualisierungsprozessen im Trunk kurzfristig zu aktualisieren, um die Anzahl möglicher Konflikte überschaubar zu halten.

  1. Banch-Commit (ggf. mit Add neuer Strukturen, immer vor dem Trunk-Commit auszuführen!)
  2. Trunk-Commit (ggf. mit Add neuer Strukturen)
  3. Prüfung auf Merge-Konflikte (s. ggf. hierzu erzeigte E-Mails vom SVN-System im Rahmen der Verarbeitung)
  4. ggf. Konfliktauflösung
  5. Branch-Update
  6. Prüfung auf Merge-Konflikte (s. ggf. hierzu erzeigte E-Mails vom SVN-System im Rahmen der Verarbeitung)
  7. ggf. Konfliktauflösung

Zum Dateivergleich auf Dateiebene der txt-Dateien kann auch der Total Commander genutzt werden. Dieser bietet die Dateifunktion Compare By Content…. Sind die verglichenen Dateiversionen von Trunk / Branch einer Datei identisch, erhält man eine Hinweismeldung. Bei Unterschieden öffnet sich ein geteiltes Fenster mit den Möglichkeiten zu den jeweiligen Unterschieden zu springen und Dateiinhalte abzugleichen. Ein Merge-Konflikt sollte letztlich mit SVN-Tools bereinigt werden. Der Vergleich von Worddateien gestaltet sich schwieriger, da hier nicht mit einem Editor zeilenweise verglichen werden kann. Ggf. kann hier über SVN das Konfliktdokument in Word mit Versionsvergleich bearbeitet werden. Beim anschließenden Commit sollte vom Redakteur in der Commitinfo dann auf den gelösten Mergekonflikt hingewiesen werden.

Die Bearbeitung der Konflikte ist in der Dokumentation von TortoiseSVN grundlegend beschrieben. Weiter unten einige Auszüge hieraus (zur Version 1.14, Kapitel 4.6):

TortoiseSVN-Eigenschaften (Beispiele)

4.6. Konflikte in TortoiseSVN auflösen

Aus der SVN-Hilfe entnommen…

lokale Merge_Unterverzeichnisse