# Checkliste: Einreichung im WordPress-Plugin-Verzeichnis Das Plugin ist so aufgebaut, dass es die [Richtlinien des Plugin-Verzeichnisses](https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/) erfüllt. Vor der Einreichung unter bitte die folgenden Punkte durchgehen. ## 1. Vor dem Upload prüfen - [ ] `Tested up to:` in `readme.txt` auf die **aktuelle WordPress-Version** setzen (das Review-Team lehnt veraltete Werte ab). - [ ] `Stable tag:` in `readme.txt` und `Version:` in `m365-login.php` sowie `M365_LOGIN_VERSION` sind identisch. - [ ] `Contributors:` in `readme.txt` enthält deinen **WordPress.org-Benutzernamen** (aktuell `friloo`). - [ ] Übersetzungsdateien aktualisiert: `wp i18n make-pot . languages/m365-login.pot` (WP-CLI) oder `python3 bin/make-pot.py`, danach `python3 bin/compile-mo.py`. - [ ] `bash bin/build-zip.sh` ausführen und `build/m365-login.zip` hochladen (Ordner im ZIP heißt `m365-login`, nicht `wp-m365-login`). - [ ] Lokal den **Plugin Check** laufen lassen (Plugin „Plugin Check (PCP)“ installieren oder auf das CI-Ergebnis achten) – er muss ohne Fehler durchlaufen. ## 2. Namens- und Marken-Regeln - Slugs dürfen nicht mit `wp-` oder mit Markennamen wie `microsoft-` beginnen; deshalb heißt der Slug `m365-login` und der Plugin-Name „M365 Login“. Sollte das Review-Team dennoch einen anderen Slug zuweisen (z. B. wegen Trademark-Bedenken bei „M365“), müssen **Text Domain**, Ordnername und `readme.txt` angepasst werden – Suche nach `m365-login` im Repo. - Der Name darf nicht suggerieren, dass das Plugin von Microsoft stammt. Beschreibungstexte verwenden deshalb Formulierungen wie „sign in with Microsoft“, nicht „official Microsoft plugin“. - Das Microsoft-Logo ist eingebettet, damit der Button so aussieht, wie Nutzer es erwarten. Microsoft erlaubt die Verwendung des Logos für „Sign in with Microsoft“-Buttons gemäß den [Branding-Richtlinien](https://learn.microsoft.com/entra/identity-platform/howto-add-branding-in-apps). Ein Reviewer könnte trotzdem nachfragen – der Hinweis auf diese Richtlinie reicht in der Regel. ## 3. Was bereits erfüllt ist | Anforderung | Umsetzung | | --- | --- | | GPL-kompatible Lizenz | `LICENSE` (GPL-2.0), Header in `m365-login.php`, `readme.txt` | | `readme.txt` im WP-Format | inkl. Pflichtabschnitt **External services** (Microsoft-Login- und Graph-Endpunkte, übertragene Daten, Links zu Nutzungsbedingungen/Datenschutz) | | Keine externen Assets/CDNs | CSS/JS liegen im Plugin; einzige Netzwerkverbindungen gehen zu `login.microsoftonline.com` und (optional, Gruppenprüfung) `graph.microsoft.com` | | Sanitizing / Escaping / Nonces | Settings API mit `sanitize_callback`, `esc_*` bei jeder Ausgabe, `check_ajax_referer` + `current_user_can` | | Eindeutiges Präfix | `m365_login_` / `M365_Login_` für alle globalen Bezeichner | | Kein Tracking, keine Telefon-nach-Hause-Funktion | – | | Saubere Deinstallation | `uninstall.php` entfernt Option, Transients und User-Meta (auch Multisite) | | Keine minifizierten Dateien ohne Quelle | Alle Assets liegen unminifiziert vor | | `Requires PHP` / `Requires at least` | 7.4 / 6.0 | | Übersetzbar | Text Domain `m365-login`, `languages/m365-login.pot`, deutsche Übersetzung | ## 4. Nach der Freigabe 1. SVN-Zugang aus der Freigabe-Mail nutzen: `svn co https://plugins.svn.wordpress.org/m365-login`. 2. Inhalt von `build/m365-login/` nach `trunk/` kopieren, `assets/` aus `.wordpress-org/` befüllen (Icon, Banner, Screenshots). 3. `svn cp trunk tags/1.0.0` und committen. 4. Screenshots erstellen (siehe `== Screenshots ==` in `readme.txt`) und als `screenshot-1.png` … in `assets/` ablegen. 5. Optional: GitHub Action `10up/action-wordpress-plugin-deploy` einrichten, um Releases automatisch nach SVN zu spiegeln.