NVDA-Zusatzentwicklungs- und Überprüfungsprozesse

Vielen Dank für Ihr Interesse an der Entwicklung und Einreichung Ihrer NVDA-Erweiterung zur Verteilung in der Community. Seit 2013 finden Sie auf der Website für NVDA-Erweiterungen in der Community viele Erweiterungspakete für NVDA von Autoren wie Ihnen.

Mit diesem Leitfaden erhalten Sie einen Überlick darüber, wie die Überprüfung durch die Community funktioniert und welche Erwartungen gestellt werden und Tipps für eine effektive Zusatzentwicklung und Überprüfungen zu geben. Für weitere Informationen zur Entwicklung von Erweiterungen lesen Sie bitte das Entwicklungshandbuch für NVDA-Erweiterungen.

WICHTIG: Indem Sie Ihre Erweiterung zur Verteilung in der Community einreichen, bestätigen Sie damit, dass Sie sich an den Verhaltenskodex der NVDA-Community halten werden.

Der gesamte Entwicklungs- und Überprüfungsprozess der Erweiterung sieht wie folgt aus:

Vorbereiten

Um eine NVDA-Erweiterung zu entwickeln, benötigen Sie eine NVDA-Version. Obwohl stabile Versionen funktionieren, empfehlen wir die Verwendung von Beta-Versionen oder, wenn Sie wirklich abenteuerlustig sind, Alpha-Versionen.

Sie benötigen Python 3.7 oder neuer, um Ihre Idee der Erweiterung zu testen und wenn Sie die Vorlage für Erweiterungen der NVDA-Community verwenden, um Ihre Erweiterung zu verpacken. Außerdem benötigen Sie Zugriff auf die App, für die Sie ein Anwendungsmodul schreiben sowie auf die Software und Hardware, die für die Treiber-Entwicklung der Erweiterungen von Sprachausgaben oder Braillezeilen erforderlich sind.

Abonnieren Sie schließlich die Mailingliste für NVDA-Erweiterungen, um sich mit der Community für Erweiterungen vertraut zu machen. Das Forum soll Sie bei der Entwicklung Ihrer Erweiterungen unterstützen, indem es Benutzern ermöglicht, Ihnen Feedback zu geben. Es wird auch verwendet, um nErweiterungen zu prüfen und Ankündigungen neuer Versionen zu erleichtern.

Weitere Anleitungen finden Sie unter Richtlinien.

Eine Erweiterung überprüfen lassen

Wenn Sie Ihre Erweiterung über die Webseite für Erweiterungen für die NVDA-Community freigeben möchten, muss es mindestens eine Überprüfung durchlaufen. Halten Sie zunächst einen öffentlichen Link zur Entwicklungsversion Ihrer Erweiterung bereit, z. B. den Link zum Installationsprogramm, ein Repository zur Versionskontrolle wie GitHub, etc. Dies dient dazu, dass der potenzielle Gutachter Ihre Erweiterung herunterladen und testen kann.

Sobald Sie den Download-Link zur Hand haben, senden Sie eine Nachricht an die Mailingliste für die NVDA-Erweiterungen, um eine Überprüfung Ihrer Erweiterung anzufordern. Sie müssen den Namen Ihrer Erweiterung und eine kurze Beschreibung über die Funktion angeben. Vergessen Sie nicht, den öffentlichen Link zu Ihrer Erweiterung anzugeben.

Sobald eine Überprüfungsanfrage eingegangen ist, überprüft ein potenzieller Gutachter (nicht der Autor der betreffenden Erweiterung) Ihre Erweiterung anhand der folgenden Kriterien:

  • Lizenz und Urheberrecht: Ihre Erweiterung muss auf eine Weise lizenziert werden, die mit der GNU General Public License (GPL) 2 oder neuer kompatibel ist. Dies ist ein Muss, da NVDA unter der GNU GPL Version 2 lizenziert ist. Um dies sicherzustellen, fügen Sie im Datei-Header der Erweiterung einen kurzen Copyright-Header ein und wenn Sie sich nicht sicher sind, fragen Sie gerne die Community um Rat.
  • Benutzererfahrung: Ihre Erweiterung wird von vielen Anwendern verwendet, daher wird es Benutzererfahrungstests wie Installation, NVDA-Kompatibilität, GUI, etc. unterzogen.
  • Dokumentation: Mit der Dokumentation für die Erweiterung erfahren Benutzer viel über Ihre Erweiterung. Bitte formulieren Sie die Dokumentation für eine breite masse von Benutzern verständlich.
  • Sicherheit: Da Ihre Erweiterung bei Aktivierung Teil von NVDA wird, kann es Vorgänge wie das Hinzufügen und Entfernen von Dateien, den Zugriff auf das Internet sowie das Lesen und Schreiben von Windows-Registrierungsschlüsseln ausführen. Die NVDA-Community für Erweiterungen nimmt die Sicherheit von Erweiterungen sehr ernst.

Im Rahmen einer grundlegenden Überprüfung kann ein Gutachter die Erweiterung zur Verteilung freigeben oder Änderungen vorschlagen. Häufig werden Bewertungen von Kommentaren begleitet, die sich mit der Benutzererfahrung und anderen Themen befassen. Nehmen Sie sich also einen Moment Zeit, um diese Kommentare zu überprüfen. Sobald die Erweiterung genehmigt wurde, wird es zur Verteilung auf der Community-Webseite für Erweiterungen in die Warteschlange gestellt.

WICHTIG: Auch wenn die Erweiterung andere Prüfkriterien erfüllt, wird diese nicht genehmigt, wenn die Lizenz nicht mit GPL 2 kompatibel ist.

Ausführliche Bewertungen

Neben der grundlegenden Überprüfung (Lizenz und Urheberrecht, Benutzererfahrung, Dokumentation, Sicherheit) können Sie die Add-ons-Community um eingehende Überprüfungen bitten. Eingehende Überprüfungen können erweiterte Audits wie Speicherlecks, Kompatibilität mit NVDA-Entwicklungs-Snapshots, GUI-Vorschläge, Codierungsstil, Laufzeitkonflikte mit anderen Erweiterungen und das Melden von Kompatibilitätsproblemen für verschiedene Versionen von Python umfassen. Die Erweiterung muss zunächst die Basisprüfung bestehen, bevor vertiefende Prüfungen angefordert werden können.

Kombinieren mit anderen Erweiterungen

Wenn festgestellt wird, dass die geprüfte Erweiterung einer anderen ähnelt, kann die Community dem/die Autor/in oder den Autoren bitten, die Erweiterungen zu kombinieren. Dazu müssen Community-Mitglieder auf Gemeinsamkeiten und Unterschiede zwischen Kandidaten-Erweiterungen hinweisen. Stimmen alle Beteiligten die Zusammenlegung beider Erweiterungen zu, muss dies in einem nachfolgenden Release der Erweiterung für die zusammengelegte Erweiterung festgehalten werden.

Instandhaltung

Nachdem Ihre Erweiterung nun überprüft und genehmigt wurde, ist es an der Zeit, die Erweiterung zu warten. Während Sie die Erweiterung pflegen, erhalten Sie Feedback von Benutzern und anderen Autoren von Erweiterungen. Kommentieren Sie ihr Feedback und halten Sie die Kommunikation am Laufen.

Wenn Sie eine Versionskontrolle verwenden, möchten Sie möglicherweise mit mehreren Zweigen arbeiten, um an Funktionen zu arbeiten oder mit dem Übersetzungsworkflow zu synchronisieren. Der "Master"-Zweig sollte als Entwicklungszweig betrachtet werden, der zum Testen von Erweiterungen vor der Veröffentlichung geeignet ist. Bei Verwendung des Übersetzungsworkflows wird der Zweig "stable" verwendet, um Lokalisierungsinhalte auszutauschen und die Erweiterung freizugeben.

Falls Sie die Erweiterung nicht mehr verwalten können, senden Sie eine Nachricht an die Mailingliste für die NVDA-Erweiterungen, in der Sie nach einem neuen Betreuer oder einer Betreuerin gefragt werden. Jedes Mitglied der Community kann sich dann freiwillig melden, um die Erweiterung zu warten. Der neue Betreuer oder die neue Betreuerin wird der Autor bzw. Autorin der Erweiterung, vorbehaltlich der nach den in diesem Dokument festgelegten Regeln.

Veröffentlichung einer neuen Version einer Erweiterung

Von Zeit zu Zeit werden Sie aktualisierte Versionen Ihrer Erweiterung sicherlich veröffentlichen, um neue Funktionen hinzuzufügen oder Fehler zu beheben. In einigen Fällen werden Sie eine Erweiterung veröffentlichen, um es mit neueren NVDA-Versionen kompatibel zu machen.

Wenn Sie bereit sind, eine neue Version zu veröffentlichen oder kurz danach, senden Sie einfach eine Nachricht an die mailingliste für NVDA-Erweiterungen, um die anderen über neue Versionen zu informieren. Geben Sie die neue Version und eine Beschreibung der Änderungen seit der letzten Version an.

Wenn Sie eine Bewertung von den Gutachtern aus der Community erhalten haben, lassen Sie es die Leute wissen. Dies gilt, wenn Sie Änderungen bezüglich der Lizenz vornehmen müssen.

Entfernung einer Erweiterung

Sollte schädlicher Code entdeckt werden, während eine Erweiterung auf der Community-Website der NVDA-Erweiterungen aufgeführt ist, wird es entfernt. Schädlicher Code kann das Herunterladen von Dateien ohne Erlaubnis, das Hinzufügen, Umbenennen oder Entfernen von Dateien außerhalb des Bereichs der Erweiterung ohne Genehmigung, das Ausführen externer Programme außerhalb des Bereichs der Erweiterung und das Kompromittieren der NVDA-Funktionalität mit böswilliger Absicht umfassen. Ein Sonderfall ist das Einfügen von Code, der nicht mit der GPL kompatibel ist, oder Teilen von proprietärem lizenziertem Code ohne Genehmigung des Autors des originalen Quellcodes.

Wenn schädlicher Code vermutet oder tatsächlich gefunden wird, muss ein Mitglied der Community die Mailingliste der NVDA-Erweiterungen über diesen Umstand informieren. Der Melder muss den Namen der Erweiterung, die Version, den Autor und den spezifischen schädlichen Code angeben. Wenn die Community-Untersuchung feststellt, dass tatsächlich schädlicher Code gefunden wurde, muss der Autor des Add-Ons kontaktiert werden. Der Autor muss auf die Ergebnisse der Community reagieren und Maßnahmen ergreifen, beispielsweise den schädlichen Code ersetzen, ihn erneut lizenzieren (vorbehaltlich einer erneuten grundlegenden Überprüfung) oder die Community bitten, die Erweiterung von der Webseite zu entfernen. Wenn der Autor oder die Autorin keine Folgemaßnahmen ergreift, wird die betreffende Erweiterung von der Community-Webseite für NVDA-Erweiterungen komplett entfernt.

Status veraltet

Manchmal kann eine Erweiterung als "Legacy" gekennzeichnet werden. Dies kann passieren, wenn die Erweiterung mit der neuesten abwärtsinkompatiblen Version von NVDA (z. B. 2019.3) inkompatibel wird. Dies kann auch passieren, wenn Funktionen aus der Erweiterung Teil von NVDA werden (z. B. der Bildschirmvorhang) oder auf ein andere Erweiterung übertragen werden.

Wenn eine Erweiterung als "Legacy" deklariert werden soll, muss der Autor oder die Autorin der Erweiterung oder ein Community-Mitglied der Mailingliste für NVDA-Erweiterungen, vorzugsweise vom Autor, informieren. Der Melder muss den Add-On-Namen, die Version und Gründe für die Kennzeichnung als Legacy-Add-On angeben, z. B. in NVDA integrierte Funktionen. Mit Zustimmung des Autors oder der Autorin der Erweiterung und der Community wird die betreffende Erweiterung als "Legacy" gekennzeichnet.

Das Gegenteil kann eintreten, wenn eine Erweiterung, die zuvor als "Legacy" gekennzeichnet war und anch einem Update diesen Status entfernt werden soll. Dasselbe Verfahren wie das Markieren einer Erweiterung als "Legacy" sollte befolgt werden, außer dass der Community die Gründe für das Entfernen der Erweiterung aus dem Legacy-Status mitgeteilt werden. Die Erweiterung wird aus dem Legacy-Status entfernt, wenn der Autor oder die Autorin und die Community feststellen, dass die Erweiterung keine inkompatible Erweiterung mehr ist. Die Wartungspriorität geht an den Autor oder der Autorin der neu geänderten Erweiterung oder auch ein Mitglied der Community kann sich freiwillig für die Wartung der Erweiterung einsetzen.