Plugins
Bei der Nutzung, Entwicklung oder Erweiterung von Plugins haben wir einige Rahmenbedingungen, die stets zu beachten sind.
Die vollständigen und jeweils maßgeblichen Vorgaben stehen im GitHub-Repository:
- RRZE-WordPress-Plugin.md
- RRZE-WordPress-Plugin-LLM-Shortcut.md
- RRZE-WordPress-Plugin-Testprompts.md
- RRZE-WordPress-Entwicklungsumgebung.md
- RRZE-WordPress-Entwicklungsumgebung-LLM-Shortcut.md
Anforderungen an neue und bestehende Plugins auf dem CMS-Angebot des RRZE
- Für das jeweilige Plugin muss stets ein fachkompetenter Ansprechpartner vorhanden sein, der im Falle von Problemen oder Fehlern zeitnah reagiert.
- Das Plugin muss als Mindestanforderung kompatibel zur jeweils aktuellen WordPress- und PHP-Version der CMS-Instanz des RRZE sein.
- Das Plugin muss für WordPress Multisite geeignet sein. Netzwerkweite und site-spezifische Einstellungen, Rechte, Daten, Aktivierung, Updates, Migrationen, Uploads, Caches und Cron-Aufgaben müssen sauber getrennt werden.
- Für produktive Plugins muss eine gepflegte, webbasierte Benutzerdokumentation vorhanden sein. Sie muss Zweck, normale Arbeitsabläufe, relevante Einstellungen, Berechtigungen, Grenzen und typische Probleme auch für nicht-technische Nutzende verständlich erklären.
- Neue Funktionen zur Einbindung oder Verwaltung von Inhalten in Beiträgen, Seiten oder Custom Post Types müssen den Block Editor unterstützen. Neue Shortcodes für redaktionelle Inhaltsfunktionen sind nicht zulässig. Bestehende Shortcodes dürfen nur aus Gründen der Abwärtskompatibilität weitergeführt werden.
- Ausgaben im Frontend, Backend und Block Editor müssen barrierefrei nach WCAG 2.2 AA umgesetzt werden. Bei Formularen und anderen Eingabeworkflows ist WCAG 2.2 AAA ein gewünschtes Qualitätsziel, aber keine zwingende Mindestanforderung.
- Administrationsoberflächen müssen WordPress-typische Bedienmuster nutzen und für Redakteurinnen, Redakteure und Administratoren ohne technisches Spezialwissen verständlich sein. Normale und erweiterte Einstellungen sind klar zu trennen.
- Rechte müssen serverseitig über WordPress-Capabilities geprüft werden. Das bloße Ausblenden von Bedienelementen in CSS oder JavaScript ist keine Zugriffskontrolle.
- API-Schlüssel, Lizenzschlüssel, Tokens und vergleichbare Secrets, die netzwerkweit gelten, dürfen nur durch berechtigte Network Admins oder Super Admins verwaltet werden. Site Admins dürfen solche Secrets weder sehen noch ändern oder überschreiben.
- Externe Dienste, Drittanbieterressourcen, Cookies, Browser-Speicher und personenbezogene Daten dürfen nur mit dokumentiertem Zweck, geklärten Datenschutzfolgen und, wo erforderlich, passendem Consent-Verfahren verwendet werden.
- Wenn ein Plugin automatisiert externe Websites, Feeds, APIs, Dateien oder andere Webressourcen abruft, muss es die Vorgaben an Crawler, Bots und Webscraper einhalten und einen passenden User-Agent setzen.
- JavaScript und CSS dürfen nur dort geladen werden, wo sie tatsächlich benötigt werden. Produktionsassets müssen minifiziert sein; Source Maps gehören nicht in produktive Auslieferungen.
- Externe JavaScript-, CSS-, Font- oder Bibliotheksressourcen von öffentlichen CDNs sind standardmäßig nicht zulässig. Benötigte Laufzeitressourcen sind lokal mit dem Plugin auszuliefern oder aus WordPress Core zu verwenden.
- Die Bereitstellung des Plugin muss über die WordPress Directory, einem öffentlichen GitHub-Repository oder einem öffentlichen GitLab-Repository erfolgen. Eine manuelle Aktualisierung über zugesandte ZIP-Dateien kann nicht akzeptiert werden.
- Version, WordPress-Kompatibilität, PHP-Kompatibilität, Repository- und Autorinformationen müssen zentral in
package.jsongepflegt und in Plugin-Header,readme.txtund weitere Zielstellen synchronisiert werden. - Vor einer Freigabe müssen Build, Linting, Tests, PHP-Prüfungen, WordPress Plugin Check, Multisite-Verhalten, Rollen- und Rechteprüfung, Barrierefreiheit, Browserkonsole, Übersetzungen und Dokumentation geprüft oder ausdrücklich als nicht ausführbar dokumentiert werden.
Betriebsbedingungen auf der CMS-Instanz der FAU
Bei einem Einsatz auf der zentralen CMS-Instanz der FAU gelten folgende Arbeitsbedingungen:
- Im Falle eines anstehenden WordPress-Updates hat dieses stets Priorität gegenüber dem Funktionieren von Plugins und Themes. Bei einem WordPress-Update erfolgt keine vorherige Abstimmung mit Theme- oder Plugin-Entwicklern, ob das Update durchgeführt werden kann. Stattdessen erwarten wir von allen Theme- oder Plugin-Entwicklern, dass sich diese über die anstehenden Updates über die herkömmlichen Publikationskanäle von WordPress informiert halten und bereits vor den Veröffentlichung von neuen Versionen die jeweiligen Themes und Plugins daraufhin ertüchtigten.
- Plugins und Themes, die nach einem WordPress-Update nicht mehr funktionieren oder Fehler liefern, können ohne Vorwarnung deaktiviert werden.
- Plugins und Themes, die länger als ein Jahr nicht mehr aktualisiert wurden oder bei denen der Entwickler nicht mehr erreichbar ist, können jederzeit und ohne Vorwarnung deaktiviert werden.
- Bei der Verwendung von Namenspaces dürfen die folgenden Präfixe nur nach Rücksprache mit dem RRZE verwendet werden:
rrze-,utn-,fau-undcms-. - Kommerzielle Plugins mit kostenpflichtigen Lizenzen können nur über das RRZE beschafft und installiert werden. Für Betrieb, Wartung und Pflege können zusätzliche Kosten entstehen.