Hilfe:Flagged Revisions

Aus HL7 Austria MediaWiki
Wechseln zu: Navigation, Suche

1 Allgemeines

Die Mediawiki-Extension Flagged Revisions ermöglicht es von einer Wiki-Seite zwei Versionen zur Verfügung stellen zu können. Die "Lesen"-Version beinhaltet die unveränderbare Version der Wiki-Seite, welche zu einem bestimmten Zeitpunkt durch eine berechtigte Person "abgenommen" wurde.

Damit soll primär das Problem der dynamischen Änderungen von Templates in Art-Decor gelöst werden. Ebenso wird mit Flagged Revisions die Versionierung der Leitfäden sichergestellt.

Die Extension Flagged Revisions unterliegt einigen von uns durchgeführten Anpassungen.

1.1 Lesen vs. Revision

In Flagged Revisions gibt es zwei verschiedene Versionen von Seiten (Reiter "Lesen" und "Revision"). Die Revision ist die Version der Seite, die den angemeldeten Benutzern zuerst angezeigt wird. Lesen ist die Version der Seite, die den nicht angemeldeten Benutzern als erstes angezeigt wird. Durch wechseln der Reiter Lesen und Revision kann zwischen den Versionen der Seiten gewechselt werden. Lesen steht für die stabile (stable) Version, Revision steht für die aktuelle (current) Version.

Kurzbeschreibung Workflow:

In der Revision werden alle Änderungen eines Leitfadens vorgenommen, während in Lesen die letztgültige offiziell freigegebene Version des Leitfadens angezeigt wird. Lesen wurde zu Beginn der Editierung als "Abgenommen" geflaggt. Damit wird sichergestellt, dass alle Änderungen von nun an in Revision einfließen. Beim Flaggen "Bearbeitung abgeschlossen" und "Geprüft" bleiben die Änderungen in der Revision. Erst beim Flaggen auf "Abgenommen" wandert die Revision in Lesen.

Detailierte Beschreibung des Workflows unter Benutzung von Flagged Revisions

1.2 Status

Es gibt vier verschiedene Status, die folgende Funktionen haben:

  • in Bearbeitung: ist derzeit nicht möglich zu verwenden, da der Button zur Bestätigung ausgegraut wird (Grundeinstellung von FlaggedRevs)
  • Bearbeitung abgeschlossen: wird geflaggt, um anzugeben, dass der Beitrag abgeschlossen ist. Der Beitrag bleibt in der Current Version (Revision).
  • Geprüft: wird geflaggt, um anzugeben, dass der Beitrag geprüft worden ist. Der Beitrag bleibt in der Current Version (Revision).
  • Abgenommen: wird geflaggt, um anzugeben, dass der Beitrag/Leitfaden zum Ballot freigegeben ist bzw. offiziell abgenommen ist. Die Current Version (Revision) wird zur Stable Version und ist für alle sichtbar (Lesen).

1.3 Benutzergruppen

Es gibt drei verschiedene Benutzergruppen, die folgendes flaggen können:

  • Passive Sichter (Autoreview): wird nicht verwendet
  • Sichter (Editor ):
    • Bearbeitung abgeschlossen
  • Prüfer (Reviewer):
    • Bearbeitung abgeschlossen
    • Geprüft
    • Abgenommen

1.4 Standardrechteverteilung

Unsere Standardrechteverteilung:

  • Sichter: für Mitarbeiter, die Änderungen am Wiki durchführen
  • Prüfer: Für Mitarbeiter, die Leitfäden freigeben

2 Benutzung von Flagged Revisions

Hier wird der Workflow, zur Erstellung eines neuen Leitfadens im Wiki, vollständig abgebildet. Ebenso umfasst der Workflow die Benutzung von Flagged Revisions.

Workflow Leitfaden erstellen2.png





1. Im ersten Schritt wird in der LocalSettion.php ein neuer Namespace erstellt. Die Nummer die hier vergeben wurde, soll ebenso in der Flagged Revision.php eingefügt werden, da ansonsten später die Seite nicht flaggbar ist.

2. Als nächstes wird eine leere Seite im Namesraum ILF erstellt.

Nun muss unterschieden werden, ob es bereits eine alte Version des Leitfadens im Wiki gibt oder nicht.

Falls es noch keine gibt:
3. Am Beginn der Seite den Hinweis in Bearbeitung setzen und diese als Prüfer/Reviewer als abgenommen flaggen. Jetzt springt man direkt zu Punkt 7!

Falls es bereits einen alten Leitfaden im Wiki gibt:
4. Den gesamten Quelltext der alten Hauptseite in die neue leere Seite einfügen. Die zuvor angelegten Namensräume kommen jetzt zum Einsatz. Im Quelltext die alten Namensräume durch die neuen ersetzten und die Seite speichern.
Beispiel:

elga-cdaea-2.06.2:Einleitung wird zu elga-cdaea-2.06.3:Einleitung

5. Nun sind alle Unterseiten rot und müssen mit den Text der alten Unterseiten befüllt werden. Also einfach den Quelltext der alten Unterseiten in die neuen Unterseiten kopieren.

6. Jetzt wird die Hauptseite nochmal aktualisiert. Hierfür einmal auf den Reiter Bearbeiten klicken und den Text nicht verändern, sonder direkt auf Speichern klicken. Das dient dazu, dass die Inhalte der Unterseiten in die Hauptseite gezogen werden.

Wenn alle Unterseiten korrekt kopiert wurden, dann muss die Hauptseite als "abgenommen" vom Reviewer/Prüfer geflaggt werden. Dies bewirkt, dass der alte Leitfaden in die ursprünglich leere Seite kopiert worden ist, und jedliche Änderungen am Text oder den Templates keine Auswirkung auf die stabile Version der Seite haben (Reiter "Lesen"). Die Änderungen werden ab jetzt nur im Reiter "Revision" dargestellt.

Nun gibt es zwei Reiter: "Lesen" und "Revision".
7. Editoren/Sichter können jetzt Änderungen in den Unterseiten durchführen. Die alte Version des Leitfadens in "Lesen" wird nicht verändert. Die Änderungen in den Unterseiten sind im Reiter "Revision" auf der Hauptseite ersichtlich, wenn nicht: einfach die Seite einmal aktualisiern(bearbeiten und sofort speichern).

8. Wenn die Bearbeitung von seitens der Editoren/Sichter abgeschlossen ist, wird die Unterseite als "Überarbeitung abgeschlossen" geflaggt. Danach kann der Reviewer/Prüfer die Seite überprüfen.

9. Falls die Überprüfung von seitens des Reviewers/Prüfers ok ist, kann die Unterseite auf "geprüft" gesetzt werden. Die Änderung der Unterseite werden immer in den Reiter "Revision" der Hauptseite übernommen, das flaggen der Unterseite hat dabei keinen Einfluss.

10. Wenn nun alle Unterseiten als geprüft geflaggt worden sind, können diese als "abgenommen" geflaggt werden.

Im nächsten Schritt muss die Hauptseite als "abgenommen" gefallt werden, damit alle Änderungen in den Reiter "Lesen" gezogen werden. Nun ist der neue Leitfaden auch für Benutzer, die nicht angemeldet sind, als erstes ersichtlich.

11. Hier beginnt das Ballotierungsverfahren. In Falle von Änderungen oder Kommentare muss zu Punkt 7. zurückgesprungen werden. Wenn keine Änderungen anfallen muss als letzter Schritt die Vorlage "UnderConstruction" entfernt werden und die Seite nochmals als "abgenommen" geflaggt werden. Somit ist der neue Leitfaden erstellt und gültig. Änderungen, die von seitens eines Bots (Art-Decor Templates) gemacht werden greifen nicht die stabile Version des Leitfadens an. Diese werden wieder in den Reiter "Revision" geschoben.

2.1 Zugriff auf alte abgenommene Seiten

Auf den Guide-Seiten der jeweiligen Implementierungsleitfäden werden auch für die alten Leitfäden Links zu den damals gültigen Wiki-Seiten zur Verfügung gestellt. Mit Hilfe der stableid kann ein Link auf alte abgenommene Versionen eines Leitfadens erstellt werden.

Über folgende Seite kann für einen Leitfaden die Liste der abgenommenen Versionen abgerufen werden:

 https://wiki.hl7.at/index.php?title=Spezial:Gesichtete_Versionen&page=

Für den Parameter page muss der Wiki-Seitenname der jeweiligen Leitfaden-Seite angegeben werden. Z.B. für Allgemeinen Implementierungsleitfaden (Version 3):

 https://wiki.hl7.at/index.php?title=Spezial:Gesichtete_Versionen&page=ILF:Allgemeiner_Implementierungsleitfaden_(Version_3)

Das Ergebnis ist eine Liste aller abgenommenen Versionen der angegebenen Seite. Eine Version kann durch Klick auf das jeweilige Datum geöffnet werden. Z.B. für die Version 2020.1 des Allgemeinen Leitfadens:

 https://wiki.hl7.at/index.php?title=ILF:Allgemeiner_Implementierungsleitfaden_(Version_3)&stableid=129767

Dieser Link kann dann auf der Guide-Seite des Leitfadens eingefügt werden.

3 Probleme, Lösungen und Anpassungen

3.1 Einbindung von Flagged Revisions

Wir hatten große Probleme die Erweiterung einzubinden. Wir mussten zuvor das Wiki auf die Version 1.30 updaten, um die neueste und stabile Version von Flagged Revisions (1.30) einbinden zu können (Stand Mai 2018). Unsere Wikiversion zuvor lag bei 1.27, nur leider schlug das Einbinden der Version 1.27 und 1.30 der Flagged Revisions fehl. Daher wurde das gesamte Wiki upgedated. Nach erfolgreichen Update war es möglich die Extension Flagged Revisions 1.30 einzubinden.

3.2 Anpassungen

3.2.1 Auswirkungen von Flaggen

Unser Workflow sieht vor, dass erst beim flaggen einer Seite auf die höchste Qualität("abgenommen") die Änderungen in Lesen gezogen werden. Beim Flaggen von niedrigeren Qualitätsstatus ("Bearbeitung abgeschlossen" und "Geprüft") sollen die Änderungen in Revision bleiben. Damit das Flaggen der verschiedenen Status verschiedene Auswirkungen auf die current und stable Versionen der Seiten haben, musste folgende Anpassung gemacht werden.

Verzeichnis FlaggedRevs/backend/FlaggedRevisions.php

public static function determineStable(
		Title $title, $flags = 0, $config = [], $precedence = 'pristine' #'latest' die Änderung bewirkt, dass nur beim höchsten Level die current Version in die stable Version gezogen wird
	)

3.2.2 Auto-review

Unser Workflow sieht es nicht vor, dass Änderungen, die durch einen Sichter oder Passiven Sichter gemacht werden, automatisch in die stabile Version geschoben werden. Auto-review bewirkt jedoch, dass Änderungen automatisch ohne flaggen in die stabile Version gezogen werden. Daher stellten wir das auto-review in der FlaggedRev.php ab:

Verzeichnis: extensions/FlaggedRevs/FlaggedRevs.php

$wgFlaggedRevsAutoReview = FR_AUTOREVIEW_NONE; 

3.2.3 Status

Die original Erweiterung sieht 12 verschiedene Status vor, da wir jedoch nur vier benötigen, wurden diese reduziert.

Verzeichnis: extensions/FlaggedRevs/FlaggedRevs.php

$wgFlaggedRevsTags = [
	'accuracy' => [ 'levels' => 3, 'quality' => 3, 'pristine' => 4 ] ,
#	'depth'    => [ 'levels' => 3, 'quality' => 3, 'pristine' => 4 ], wurde auskommentiert
#	'style'    => [ 'levels' => 3, 'quality' => 3, 'pristine' => 4 ], wurde auskommentiert
];

3.2.4 Rechteverteilung

3.2.4.1 Prüfer

Der Prüfer kann bei uns alle Levels der Status sehen.

Verzeichnis: extensions/FlaggedRevs/FlaggedRevs.php

$wgFlaggedRevsTags = [
	'accuracy' => [ 'levels' => 3, 'quality' => 3, 'pristine' => 4 ] ,
#	'depth'    => [ 'levels' => 3, 'quality' => 3, 'pristine' => 4 ], wurde auskommentiert
#	'style'    => [ 'levels' => 3, 'quality' => 3, 'pristine' => 4 ], wurde auskommentiert
];

3.2.4.2 Sichter

Der Sichter kann nur ein Level von Status sehen (Bearbeitung abgeschlossen), daher wurde folgende Änderung durchgeführt:

Verzeichnis: extensions/FlaggedRevs/FlaggedRevs.php

$wgFlaggedRevsTagsRestrictions = [
	'accuracy' => [ 'review' => 1],
#	'depth'    => [ 'review' => 2],  wurde auskommentiert
#	'style'    => [ 'review' => 3], wurde auskommentiert
];

Weiters wurden die GroupPermissions für den Editor/Sichter angepasst:

Verzeichnis: extensions/FlaggedRevs/FlaggedRevs.php

# Define our basic reviewer class of established editors (Editors)
$wgGroupPermissions['editor']['review']            = true;
$wgGroupPermissions['editor']['autoreview']        = false; #true;
$wgGroupPermissions['editor']['autoconfirmed']     = false; #true;
$wgGroupPermissions['editor']['editsemiprotected'] = false; #true;
$wgGroupPermissions['editor']['unreviewedpages']   = true;

3.2.4.3 Passiver Sichter

Da das auto-review bei uns nicht verwendet wird, hat der passive Sichter keine Verwendung und alle Rechte wurden auf false gesetzt.

Verzeichnis: extensions/FlaggedRevs/FlaggedRevs.php

$wgFlaggedRevsTagsAuto = false;

3.2.5 Wording

Das Wording wurde bei uns ebenso angepasst. Der Reiter für die Änderungen wurde auf "Revision" geändert.

Ebenso wurde das Wording der Status angepasst "in Bearbeitung", "Bearbeitung abgeschlossen", "Geprüft", "Abgenommen".

Verzeichnis: FlaggedRevs/i18n/flaggedrevs/de.json

        "revreview-current": "Revision",
	"revreview-accuracy-0": "In Bearbeitung",
	"revreview-accuracy-1": "Bearbeitung abgeschlossen",
	"revreview-accuracy-2": "Geprüft",
	"revreview-accuracy-3": "Abgenommen",

4 Fragen

4.1 Was passiert, wenn ich Änderungen in Art-Decor durchführe?

Die Änderungen von Art-Decor Templates werden von einem ADbot in das Wiki gezogen. Wenn der Leitfaden als "abgenommen" geflaggt wurde, werden die Änderungen nur in die Revision gezogen und betreffen nicht Templates in der stabilen Version.

4.2 Wie kann ich die Bezeichnung der verschiedenen Auswahlmöglichkeiten beim Status ändern?

Gehe zum Punkt Wording.

4.3 Was sind die Standardrechte, die verteilt werden?

Siehe hierfür: Standardrechteverteilung.

4.4 Warum benutzten wir kein Auto-Review?

Unser Workflow sieht es nicht vor, dass Änderungen, die durch einen Sichter oder Passiven Sichter gemacht werden, automatisch in die stabile Version geschoben werden. Auto-review bewirkt jedoch, dass Änderungen automatisch ohne flaggen in die stabile Version gezogen werden.

4.5 Der Reiter "Revision" scheint nicht auf bei mir

Hierfür musst du die Seite einmal geflaggt haben und danach eine Änderung durchführen. Nun sollte der Reiter "Revision" die durchgeführten Änderung beinhalten und der Reiter "Lesen" die Version, bevor du Veränderungen durchgeführt hast.

4.6 Meine Seite kann nicht geflaggt werden

Wenn das Kästchen zum Flaggen der Seite nicht aufscheint, dann muss der Namensraum in der FlaggedRevs.php erst eingefügt werden.

Dafür befolge folgende Schritte: Der neue Namensraum muss in der FlaggedRevs.php (Verzeichnis: extensions/FlaggedRevs/FlaggedRevs.php) ebenso eingefügt werden, ansonsten kann man Seiten, die diesen Namensraum angehören, nicht flaggen. Hierfür die FlaggedRevs.php öffnen und die Zahl von oben, die vergeben wurde für den Namespace nach 3050 einfügen:

# Allowed namespaces of reviewable pages
$wgFlaggedRevsNamespaces = [ NS_MAIN, NS_FILE, NS_TEMPLATE, 3000, 3002, 3004, 3006, 3008, 3010, 3012, 3014, 3016, 3018, 3020, 3030, 3032, 3034, 3036, 3038, 3040, 3042, 3044, 3046, 3048, 3050];

4.7 Warum ist der Bestätigungsbutton ausgegraut, wenn "in Bearbeitung" ausgewählt wird

Das ist eine Grundeinstellung von Flagged Revision und könnte nicht ohne tieferes eingreifen in den Code geändert werden.