Changelog zur Manifest-Datei hinzufügen
From Joomla! Documentation
Seit Joomla 4.0 können Extension-Entwickler die Fähigkeit von Joomla nutzen, eine Changelog-Datei zu lesen und eine visuelle Darstellung des Changelogs zu geben. Wenn eine bestimmte Version nicht im Changelog gefunden wird, wird die Schaltfläche Changelog nicht angezeigt.
Die Änderungen in einer Version werden so dargestellt:
Das Changelog wird an zwei verschiedenen Stellen verwendet.
Update Ansicht
Das Installationsprogramm zeigt das Changelog der Version an, die installiert werden kann, falls verfügbar.
Durch klicken auf die AAAA-Schaltfläche wird das Änderungsprotokoll der neu verfügbaren Version angezeigt.
Manager-Ansicht
Der Erweiterungs-Manager zeigt das Änderungsprotokoll der aktuell installierten Erweiterung an, falls verfügbar.
Durch klicken auf die Versionsnummer wird das Änderungsprotokoll der aktuell installierten Version angezeigt.
Ein Changelog-URL-Tag in Manifest-Dateien einfügen
Der erste Schritt besteht darin, Ihre Manifestdateien zu aktualisieren, die Joomla mitteilen, wo die Changelog-Details zu finden sind. Fügen Sie Ihren Manifest-XML-Dateien den folgenden Node hinzu:
<changelogurl>https://example.com/updates/changelog.xml</changelogurl>
Update-Server Manifest-Datei
Dieses Beispiel zeigt eine Manifestdatei für den Update-Server, die Joomla über ein Update einer Komponente namens "com_lists" informiert. Dadurch sehen Sie in der Update-Ansicht die Schaltfläche Changelog.
<?xml version="1.0" encoding="utf-8"?>
<updates>
<update>
<name>Student List</name>
<description>List of students</description>
<element>com_lists</element>
<type>component</type>
<version>4.0.0</version>
<changelogurl>https://example.com/updates/changelog.xml</changelogurl>
<tags>
<tag>stable</tag>
</tags>
<maintainer>Example Miller</maintainer>
<maintainerurl>https://example.com/</maintainerurl>
<section>Updates</section>
<targetplatform name="joomla" version="4.?" />
<client>1</client>
<folder></folder>
</update>
</updates>
Erweiterung-Manifest-Datei
Fügen Sie zusätzlich das Changelog-URL-Tag zur „Extension Manifest XML“ hinzu. Somit wird die Erweiterungsversion mit den Änderungsprotokollen in der Manager-Ansicht verknüpft.
<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.2.0" method="upgrade">
<name>COM_LISTS</name>
... Other stuff ...
<changelogurl>https://example.com/updates/changelog.xml</changelogurl>
<updateservers>
<server type="extension" name="My Extension's Updates">https://example.com/lists-updates.xml</server>
</updateservers>
</extension>
Changelog-Datei erstellen
Die Changelog-Datei muss die folgenden 3 Nodes enthalten:
- element
- type
- version
Diese Informationen werden verwendet, um das richtige Changelog für eine bestimmte Erweiterung zu identifizieren.
Ein version-Node innerhalb eines changelog-Node ist immer erforderlich. Andernfalls erhalten Sie eine Fehlermeldung wie SyntaxError: JSON.parse: unerwartetes Zeichen in Zeile 1, Spalte 1 der JSON-Daten.
<element>com_lists</element>
<type>component</type>
<version>4.0.0</version>
Weiter wird das Changelog mit einer oder mehreren Änderungsarten gefüllt. Die folgenden Änderungs-Typen werden unterstützt:
- security: Etwaige Sicherheitsprobleme, die behoben wurden
- fix: Fehler, die behoben wurden
- language: Dieser gilt für Sprachänderungen
- addition: Neu hinzugefügte Features
- change: Andere Änderungen
- remove: Aus der Erweiterung entfernte Features
- note: Ergänzende Informationen für den Benutzer
Each node can be repeated as many times as needed.
The format of the text can be plain text or HTML but in case of HTML, it must be enclosed in CDATA tags as shown in the example.
<changelogs>
<changelog>
<element>com_lists</element>
<type>component</type>
<version>4.0.0</version>
<security>
<item>Item A</item>
<item><![CDATA[<h2>You MUST replace this file</h2>]]></item>
</security>
<fix>
<item>Item A</item>
<item>Item b</item>
</fix>
<language>
<item>Item A</item>
<item>Item b</item>
</language>
<addition>
<item>Item A</item>
<item>Item b</item>
</addition>
<change>
<item>Item A</item>
<item>Item b</item>
</change>
<remove>
<item>Item A</item>
<item>Item b</item>
</remove>
<note>
<item>Item A</item>
<item>Item b</item>
</note>
</changelog>
<changelog>
<element>com_lists</element>
<type>component</type>
<version>0.0.2</version>
<security>
<item>Big issue</item>
</security>
</changelog>
</changelogs>
This file contains 2 changelogs:
- Version 0.0.2 (for testing the manage view)
- Version 4.0.0 (for testing the update view)
A changelog can have as many versions as needed.