Ajouter un changelog à votre fichier manifest

From Joomla! Documentation

This page is a translated version of the page Adding changelog to your manifest file and the translation is 85% complete.

Other languages:
Deutsch • ‎English • ‎français • ‎italiano • ‎Nederlands
Joomla! 
4.x
>Didacticiel

Depuis Joomla 4.0, les développeurs d’extensions peuvent exploiter la capacité de Joomla à lire un fichier de journal des modifications et à donner une représentation visuelle de celui-ci. Si une version donnée n'est pas trouvée dans le journal des modifications, le bouton du journal des modifications ne sera pas affiché.

Les modifications dans une version seront présentées de cette manière:

Changelog modal

Le changelog est utilisé à deux endroits différents.

Vue de Mise à jour

Le programme d'installation affichera le journal des modifications de la version pouvant être installée, le cas échéant.

Changelog button on the Update View

Clicking the Changelog button here will show the changelog of the new available version.

Gérer la Vue

The extension manager will show the changelog of the currently installed extension if available.

Version number is a link to the changelog modal

Cliquez sur le numéro de version ici affichera le journal des modifications de la version actuellement installée.

Add changelogurl tag to manifest files

The first step is to update your manifest files that tell Joomla where to find the changelog details. Add the following node to your manifest XML files:

<changelogurl>https://example.com/updates/changelog.xml</changelogurl>

Update server manifest

Voir cet exemple pour un fichier manifeste de serveur de mise à jour informant Joomla de la mise à jour d'un composant nommé "com_lists". Ainsi, vous verrez le bouton Changelog dans la vue de la mise à jour.

<?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>

Extension manifest

Ajoutez également la balise changelogurl au fichier manifest XML d’extension. Ainsi, la version de l'extension sera liée aux journaux des modifications dans la vue de gestion.

<?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>

Créer un fichier changelog

Le fichier changelog doit comporter les 3 nœuds suivants:

  • element
  • type
  • version

Ces informations sont utilisées pour correctement identifier le journal des modifications pour une extension donnée.

A version node inside any changelog node is always mandatory. Otherwise you will see an error message like SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data.

<element>com_lists</element>
<type>component</type>
<version>4.0.0</version>

De plus, le journal des modifications est rempli avec un ou plusieurs types de modifications. Les types de modification suivants sont pris en charge:

  • security: Tous les problèmes de sécurité qui ont été résolus
  • fix: Tous les bugs corrigés
  • language: Ceci est pour les changements de langage
  • addition: Toutes les nouvelles fonctionnalités ajoutées
  • change: Tout changement
  • remove: Toutes les fonctionnalités supprimées
  • note: Toute information supplémentaire pour informer l'utilisateur

Chaque nœud peut être répété autant de fois que nécessaire.

Le format du texte peut être du texte brut ou HTML, mais dans le cas du HTML, il doit être placé entre balises CDATA, comme indiqué dans l'exemple.

<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>

Ce fichier contient 2 changelogs:

  • Version 0.0.2 (pour tester la vue de gestion)
  • Version 4.0.0 (pour tester la vue de mise à jour)

Un changelog peut avoir autant de versions que nécessaire.