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 100% complete.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎français • ‎italiano
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 journal des modifications 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

Cliquez sur le bouton Changelog pour afficher le changelog de la nouvelle version disponible.

Gérer la Vue

Le gestionnaire d'extensions affiche le journal des modifications de l'extension actuellement installée, s'il est disponible.

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.

Ajouter la balise changelogurl aux fichiers manifest

La première étape consiste à mettre à jour vos fichiers manifest indiquant à Joomla où trouver les détails du journal des modifications. Ajoutez le noeud suivant à vos fichiers manifest XML:

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

A noter ː L'URL dans le tag changelogurl ne doit contenir aucun espace ou passage à la ligne avant ou après. Voir les exemples de code.

Mettre à jour du manifest du serveur

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

Un noeud version est obligatoire à l'intérieur de tout noeud changelog . Sinon, vous verrez un message d'erreur du type "SyntaxError: JSON.parse: caractère inattendu à la ligne 1, colonne 1 des données JSON".

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