Eine "Skeleton-Extension" erstellen

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Antworten
Benutzeravatar
Crizzo
Administrator
Administrator
Beiträge: 11333
Registriert: 19.05.2005 21:45
Kontaktdaten:

Eine "Skeleton-Extension" erstellen

Beitrag von Crizzo »

Um beim Erstellen von einer Extension nicht komplett bei Null anfangen zu müssen, hat phpBB.com eine "Skeleton"-Extension erstellt. Damit lässt sich das ein Grundgerüst erstellen, um schon einmal die wichtigsten Bestandteile zu haben.

Die Extension kann hier runtergeladen werden: https://www.phpbb.com/customise/db/offi ... _skeleton/ und sollte am besten in ein Testforum installiert werden.

Installiert werden muss sie, wie jede andere Extension:
  1. zip-Datei entpacken
  2. den Inhalt nach ext/ kopieren, so dass folgende Ordnerstruktur entsteht: \ext\phpbb\skeleton\composer.json
  3. Danach kann die Extension unter: Administrations-Bereich > Tab: Anpassen > Erweiterungen verwalten: aktivieren
Nun ist auf der Foren-Startseite ein Link zum Eingabefeld:
skeleton_ext_link.PNG
skeleton_ext_link.PNG (4.9 KiB) 111 mal betrachtet
Danach öffnet sich eine Übersichtsseite:
skeleton_index.png
Allgemein:
  • Vendor name: Das ist der Name des Autor der Extension z. B. "crizzo".
  • Package name: Der bereinigte Name der Extension, z.B. "test". Er darf keine Leerzeichen enthalten und nur aus Zahlen und Kleinbuchstaben bestehen.
  • Display name: Der Anzeigename der Extension z. B. im Admin-Bereich unter dem Tab "Anpassen".
  • Description: Die Beschreibung der Extension, sollte in wenigen Sätzen die Funktion erklären.
  • Version: Die Version z.B. 1.0.0.
  • Date: Das Datum, standmäßig "heute".
Autoren:
  • Author name: Der Name des Autors der Extension, es können auch mehrere Authoren angegeben werden. Mindestens ein Autor sollte als Ansprechpartner eingetragen werden.
  • Author email: Eine E-Mail-Adresse zum Autor der Extension. Beachte, dass diese öffentlich ist und evtl. auch Spam anzieht.
  • Author homepage: Falls ihr eine Website angeben wollte, die zusätzliche Information der Extension enthält oder auf der ihr Support anbietet.
  • Author role: Dort kann bei mehreren Autoren eingetragen werden, welcher Rolle der Autor beim Erstellen übernommen hat z. B. "Developer" oder "Contributor".
Anforderungen:
  • PHP requirement of the extension: Hier sollte die minimale (und maximale) PHP-Version angegeben werden, die deine Extension benötigt. Diese muss nicht zwingend mit der von phpBB übereinstimmen.
  • Minimum phpBB requirement of the extension: Die mindest phpBB-Version, die deine Extension benötigt.
  • Maximum phpBB requirement of the extension: Die höchste phpBB-Versionsnummer, die deine Extension unterstützt.
Komponenten:
Hier könnt ihr auswählen, aus welchen Einzelteilen eure Skeleton-Extension bestehen soll.
  • Datenbank:
    • Database migration: Datenbankänderungen oder neue Einträge
  • Back end (PHP):
    • PHP event listeners: Damit können Inhalte verändert oder ergänzt werden.
    • Service: Eine PHP-Klasse, die verschiedene Programmteile zur Verfügung stellt, die dann in Controllern, Event Listeners oder ACP/MCP/UCP-Modulen verwendet werden können.
    • Controller (front page): Wenn eine Seite ergänzt werden soll, die der Benutzer aufrufen kann (z. B. Impressum)
    • Extension base (ext.php): Die Datei ist nicht notwendig, kann aber genutzt werden um Code während der (De)Installation der Extension auszuführen.
  • Front end (HTML)
    • Style listeners: Um Inhalte am Style verändern zu können.
  • Control Panels
    • Administration control panel (ACP): Ergänzt Seiten im Administrations-Bereich im Tab Erweiterungen.
    • Moderator control panel (MCP): Ergänzt Seiten im Moderations-Bereich.
    • User control panel (UCP): Ergänzt Seiten im Persönlichem Bereich.
  • Extras:
    • Console command: Um CLI Befehle zu ergänzen.
    • Cron task: Damit können Cron-Jobs vorbereitet werden, die wiederkehrende Aufgaben übernehmen z. B. regelmäßiges Löschen von Inhalten.
    • Notifications: Wenn deine Extension bei verschiedenen Aktionen "Benachrichtigungen" versenden soll.
    • Permissions: Sofern du Berechtigungen ergänzen möchtest, damit deine Extension oder Teile davon nur von bestimmten Benutzern verwende werden sollen.
  • Testing & Deployment:
    • Tests (PHPUnit): z.B. für Funktionstests.
    • Github Actions CI configuration: z.B. für Code Überprüfungen
    • Travis CI configuration: z.B. für Code Überprüfungen
    • Build script (phing): Build scripte für die Extension.
Wenn alles eingegeben wurde, muss auf "Absenden" geklickt werden. Danach wird unter /store/tmp-ext/ die Extension abgelegt und sie gleichzeitig zum Download angeboten.

Eine ausführliche Dokumentation der Extension gibt es hier (englisch).
Antworten

Zurück zu „Extension Bastelstube“