Wie können wir die Überprüfung der HTML-Dokumentation vereinfachen?

Zusammenfassung: Ich suche nach einer Möglichkeit für Reviewer, bei einem großen HTML-Projekt so nah wie möglich „inline“ kollaborativ zu kommentieren.

Das Problem im Detail

Ich arbeite in einem Team, das ein großes Produkt dokumentiert. Der HTML-Dokumentationssatz hat Hunderte von einzelnen Seiten (mit hierarchischem Inhaltsverzeichnis in der Seitenleiste, wie Sie es erwarten würden); Ein PDF des gesamten Dokumentensatzes umfasst mehr als 5000 Seiten.

Wenn wir ein neues Feature dokumentieren oder umfassende Verbesserungen wie Reorganisationen vornehmen, veröffentlichen wir einen HTML-Build zur Überprüfung durch Entwickler, QA, Support, den Produktmanager und andere Autoren. Wir veröffentlichen den gesamten Dokumentensatz in diesem Build, nicht nur die geänderten Seiten, da der Kontext manchmal wichtig ist. Um dies abzumildern, stellen wir Links zu den spezifischen Themen bereit, die sich geändert haben. Wir fügen diese Links tatsächlich dem Dokumentplan hinzu, einer Spezifikation, die wir früher erstellt haben und die die beabsichtigten Änderungen beschreibt – auf diese Weise können die Leute, wenn sie wollen, den Hintergrund sehen, warum wir eine bestimmte Änderung vorgenommen haben. Der Dokumentplan ist eine Seite im internen Wiki.

Wenn wir jetzt eine Überprüfungsanfrage versenden, verweisen wir die Leute auf diese Wiki-Seite und bitten die Leute, ihr Feedback als Kommentar zu posten. Dadurch kann jeder das Feedback des anderen sehen, was (a) weniger Wiederholungen im Vergleich zu individuellen Antworten und (b) eine frühere Entdeckung von Meinungsverschiedenheiten zwischen den Bewertern bedeutet. Aber lange Kommentarketten können auch mit Threading schwer zu navigieren sein. Und die Leute müssen noch etwas zusätzliche Arbeit leisten, um diese Kommentare zu schreiben, weil sie uns sagen müssen, worauf sie reagieren. Typische Kommentare beginnen mit so etwas wie „In ‚Installieren von Plugins‘ ist die Beschreibung im dritten Absatz nicht ganz richtig, weil …“.

Dieser Ansatz funktioniert für uns besser als E-Mail-Antworten oder individuelle Kommentare zu PDFs nur zu ausgewählten Themen. (Wir haben beides gemacht.) Gibt es eine Möglichkeit, es noch einfacher zu machen, indem man es den Leuten erlaubt, Kommentare direkt im HTML-Code anzuhängen, ähnlich wie das Kommentieren von Google Docs, aber ohne unseren großen Dokumentensatz in einige importieren zu müssen anderes Tool nur für diesen Zweck? Oder ist der aktuelle Ansatz das Beste, was wir ohne viel zusätzliche Arbeit tun können?

Wir möchten es den Leuten leicht machen, Kommentare zu kommentieren und die Kommentare anderer zu sehen. Die Messlatte, die es zu schlagen gilt, sind Kommentare auf einer Wiki-Seite. Wir sind nicht daran interessiert, einen großen HTML-Dokumentsatz in ein anderes Tool zu importieren (das die Leute lernen müssten). Ich frage mich, ob es beispielsweise bereits ein Javascript-Paket gibt, das wir in diese Builds einfügen können, um dieses Ziel zu unterstützen, oder ob es eine andere Möglichkeit gibt, dieses Ziel zu erreichen.

Werkzeuge im Einsatz

Wir verwenden die Quellcodeverwaltung (Git), wobei die Feature-Arbeit an Branches durchgeführt wird. Die Review-Builds werden von diesen Branches erstellt und sind persistent. (Die meisten unserer Prüfer fühlen sich nicht wohl dabei, den HTML-Quelltext zu überprüfen, oder ich würde all dies umgehen, indem ich sie den Rohquelltext auf dem Zweig überprüfen lasse.)

Wir verwenden Madcap Flare, um die Dokumente zu erstellen und zu erstellen. Flares Schema für die Dokumentenquelle ist ein erweitertes HTML; Der gesamte HTML-Code ist gültig, außerdem fügen sie einige Tool-spezifische Tags hinzu, die zur Erstellungszeit verwendet werden. Die Ausgabe ist herkömmliches HTML.

Wir verwenden Jenkins, um den Build-Prozess zu verwalten. Jenkins ruft derzeit ein Skript auf, das den Haushalt erledigt und madbuild.exe (die Build-Engine von Flare) aufruft. Dieses Skript veröffentlicht den HTML-Code auf einem internen Server. Im Prinzip könnten wir daher das Build-Skript modifizieren, um etwas Zusätzliches in die Ausgabe nur für diese Branch-Builds einzufügen. Wir besitzen den Server, also können wir ihm bei Bedarf Dinge hinzufügen (z. B. eine Möglichkeit, Kommentare zu speichern).

Vielleicht möchten Sie sich "Online Collaborative Word Processor" als Begriff für Google ansehen. Es gibt viel mehr von ihnen als damals, als ich das letzte Mal einen brauchte, daher bin ich nicht qualifiziert, einen bestimmten zu empfehlen. Aber als eine Klasse von Software ermöglichen sie es Ihnen, Dokumente online zu veröffentlichen und dann Personen Ihrer Wahl Lese- (und optional Bearbeitungs-/Kommentar-)Rechte zu erteilen.
Nur der Klarheit halber: Was Sie im Wesentlichen suchen, ist etwas, das auf etwas hinausläuft, das den Seitenleistenkommentaren in Word oder LibreOffice Writer ähnelt, außer dass sie nativ im HTML gespeichert werden sollten und keine externen Tools benötigen, um von verwendet zu werden Rezensent (neben einem Webbrowser, nehme ich an)? Das könnte eine große Herausforderung sein, wenn man die allgemeine Browserunterstützung zum Ändern von Dateien auf der Festplatte berücksichtigt ... Sie würden wahrscheinlich etwas Serverseitiges benötigen , um zumindest die Kommentare des Überprüfers zu speichern und abzurufen.
@MichaelKjörling das ist richtig; Ich frage nach dem Einfügen von Kommentaren in das gerenderte HTML. Dies würde einen serverseitigen Datenspeicher erfordern, was in Ordnung ist (es ist unser Server, also können wir dort tun, was wir wollen). Oder vielleicht gibt es einen besseren Weg; Dies ist die Idee, auf die ich gekommen bin, aber ich bin offen für jede Verbesserung bei "Schreiben Sie es separat in Wiki-Kommentaren auf".
Welches Quellformat hat Ihre Dokumentation? Ist es HTML?
@Alexander Es ist das Schema von Madcap, das HTML mit einigen Add-Ons für Dinge wie Popouts, Anmerkungen und Snippets ist.

Antworten (3)

Bei einem Projekt, an dem ich gearbeitet habe, haben wir Überprüfungen über einen Work-in-Progress-Server durchgeführt, bei dem es sich um eine HTML-Version des aktuellen Stands der Dokumentation handelte. Wir haben ein modifiziertes Build-Skript für diesen Server erstellt, das Folgendes enthielt:

  • Eine Statusanzeige für jedes Thema (bereit zur Überprüfung, Entwurf, endgültig usw.)
  • Eine ID für jedes Thema.
  • Absatznummern in jedem Thema.
  • Eine Anweisung, alle Probleme anzusprechen, die in der Überprüfung oder anderweitig im Problemverfolgungssystem gefunden wurden, unter Verwendung der Themen-ID und der Absatznummer.

Das war relativ Low-Tech. Das Kommentieren erfolgte nicht in der Docs-Oberfläche selbst. Aber es schien gut zu funktionieren. Rezensenten hatten eine einfache Möglichkeit, anzugeben, worauf sich ihre Bewertungskommentare beziehen. Ich glaube, sie neigten dazu, mit einem geöffneten Texteditorfenster zu überprüfen, Kommentare nach Absatznummer zu machen und sie dann in den Fehlertracker einzufügen. Dies waren alles Vorgänge, an die sie gewöhnt waren, sodass es keine Lernkurve oder unbekannte Tools gab, die verwendet werden mussten.

Der Work-in-Progress-Server war die ganze Zeit aktiv, während die Dokumente entwickelt wurden, mit entsprechenden Statusbenachrichtigungen zu jedem Thema. Wir haben festgestellt, dass eine Reihe von Personen in der Organisation es nützlich fanden, diese Informationen während der Entwicklung zur Verfügung zu haben, und wir haben gelegentlich Feedback außerhalb des formellen Überprüfungsprozesses erhalten.

Oh, das Einfügen von Status und IDs/Labels, anstatt zu versuchen, die Kommentare einzufügen – interessante Idee! Und viel einfacher.

Ich bin mir nicht sicher, ob ich dies angemessen beantworten kann, da ich wenig über Webentwicklung weiß. Aber ich werde versuchen, einige Ideen zu geben.

Ich würde JavaScript zum Inline-Kommentieren und SQL zum Speichern der Kommentare verwenden.

  1. Doppelklicken/wählen Sie ein Wort im Text aus. Es öffnet sich ein Kommentarfeld. Der Benutzer kann einen Kommentar eingeben und auf „OK“ klicken. Ein Kommentar (Eintrag) wird erstellt und das Wort wird hervorgehoben. [Optional können Sie Personen die Art des Kommentars auswählen lassen (z. B. Rechtschreibfehler oder konzeptionelle Fehler).]

  2. In der Datenbank wird ein Eintrag erstellt: Er speichert die URL, den Absatz, das/die markierte(n) Wort(e).

  3. Jeder Eintrag erhält eine eigene ID.

  4. Ein Skript schreibt eine Markierung mit der ID in die HTML-Quelle.

  5. JavaScript öffnet die gespeicherten (markierten) Kommentare und ermöglicht das Hinzufügen einer Antwort. Sie sollten wahrscheinlich auch Zeit und Autor hinzufügen. Am einfachsten wäre es, den Autor seinen eigenen eindeutigen Namen schreiben zu lassen. Besser wäre es, Benutzerkonten zu haben, wenn Sie die Bewertungen durchführen.

Je nach Bedarf können Sie alle Kommentare für diese Seite auf der rechten Seite dieser Seite anzeigen. Oder Sie können einen Kommentar öffnen, indem Sie auf ein markiertes Wort klicken.

Ich hoffe ich konnte dir ein paar Ideen geben. Viel Glück!

Vielen Dank. Kennen Sie Standardpakete, die so etwas (oder Teile davon) tun?
Nein, ich nicht. Sie könnten eine Github-Suche nach Javascript-Kommentaren versuchen .

Einfache Lösung:

  • Kommentatoren müssen sich auf den Code anhand der Zeilennummer beziehen. Eine Zahl (oder ein Bereich) lässt sich schnell eingeben.

Einfache Lösung:

  • Jede Zeile im Code wird in einer Datenbank gespeichert als:
    Line number String
    4763 printf("Hello, World!");

  • Im Wiki ist die Codezeile anklickbar. Wenn Sie darauf klicken, entfaltet sich unter der Zeile ein Kommentarformular.

  • In der Datenbank werden die Kommentare gespeichert als:
    Line number Comment Comment author
    4763 lol John

  • Wenn zu einer Zeile Kommentare vorhanden sind, zeigt das Wiki hinter dem Link die Anzahl der Kommentare an. Diese Nummer ist anklickbar. Ein Klick darauf zeigt die Kommentare unter der Zeile an, ein erneutes Klicken blendet die Kommentare aus.

    All dies sollte für einen erfahrenen Programmierer nicht länger als einen Nachmittag dauern.


Sie sagen, dass "[m]ie meisten unserer Prüfer sich nicht wohl dabei fühlen, den HTML-Quellcode zu überprüfen". Was überprüfen sie dann? Der Rest Ihrer Frage scheint zu sagen, dass Ihre Prüfer Codezeilen betrachten. Ist das nicht "die HTML-Quelle"? Wenn nicht, erklären Sie es.

Sie überprüfen das gerenderte HTML mit einem Browser. Es gibt keine sichtbaren Zeilennummern. Wenn sie den rohen HTML-Code überprüfen würden, könnten wir mit Bitbucket, der Webschnittstelle von git, so etwas wie das tun, was Sie beschreiben.