Dépôt alternatif

On s’est dit que ça serait pas mal d’avoir la possibilité de proposer un dépôt alternatif pour les plugins et thèmes tiers. Alors JcDenis a codé ça il y a quelques jours/semaines et ça sera dans la prochaine version de Dotclear, la 2.20, prévue bientôt !

Pour les mises à jour des modules (plugins et thèmes), l’idée retenue est de donner la priorité au dépôt officiel sur DotAddict pour vérifier s’il y a quelque chose de nouveau, et ensuite de consulter les dépôts alternatifs des modules qui en proposent un.

Par aileurs, dans le cas où le serveur DotAddict est en rade — c’est le cas depuis quelques jours car ce dernier s’est auto-suicidé —, c’est une bonne chose d’avoir la possibilité de s’appuyer sur ces dépôts secondaires au cas où :-)

Bref, c’est pas compliqué.

Alors maintenant, comment indiquer la présence de dépôt alternatif pour un module ? Simple, il suffit de créer un fichier nommé dcstore.xml (au format XML donc) avec ce genre de contenu (je prends l’exemple du dernier plugin que j’ai publié) :

<modules xmlns:da="http://dotaddict.org/da/">
  <module id="postTitleAutonum">
    <name>postTitleAutonum</name>
    <version>0.2</version>
    <author>Franck Paul</author>
    <desc>Auto numbering of duplicate titles</desc>
    <file>https://github.com/franck-paul/postTitleAutonum/releases/download/0.2/plugin-postTitleAutonum-0.2.zip</file>
    <da:dcmin>2.13</da:dcmin>
    <da:details>https://open-time.net/?q=postTitleAutonum</da:details>
    <da:support>https://github.com/franck-paul/postTitleAutonum</da:support>
  </module>
</modules>

On détaille, ligne à ligne :

  1. C’est standard, on reproduit tel quel
  2. On remplace postTitleAutonum par l’identificateur du module (le nom de son répertoire)
  3. Pour le nom (postTitleAutonum), on le trouve dans le fichier _define.php du module, c’est le 1er paramètre de l’appel de $this->registerModule(…
  4. Pour la version, comme le nom, c’est dans le fichier _define.php
  5. Les auteurs, idem, toujours dans le même fichier
  6. La description, pareil
  7. Le lien vers le fichier d’installation du module
  8. La version minimum de Dotclear nécessaire pour le module (s’il n’y en a pas je mets 2.0)
  9. Le lien vers la page de détail du module (personnellement je mets un lien de recherche sur mon blog pour le nom du plugin)
  10. Le lien vers la page de support (personnellement je mets le lien vers le dépôt Github pour pouvoir facilement créer des tickets)
  11. C’est standard, on ne touche à rien
  12. Idem

Voilà qui détaille les infos qui seront reconnues par Dotclear pour décrire un module.

Par ailleurs, il faut définir dans le fichier _define.php le lien vers ce fichier dcstore.xml sur le dépôt, pour que Dotclear puisse aller le lire et vérifier si une nouvelle version du module est disponible :

<?php
/**
 * @brief postTitleAutonum, a plugin for Dotclear 2
 *
 * @package Dotclear
 * @subpackage Plugins
 *
 * @author Franck Paul
 *
 * @copyright Franck Paul carnet.franck.paul@gmail.com
 * @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
 */
if (!defined('DC_RC_PATH')) {
    return;
}

$this->registerModule(
    'postTitleAutonum',                         // Name
    'Auto numbering of duplicate titles',       // Description
    'Franck Paul',                              // Author
    '0.2',                                      // Version
    [
        'requires'    => [['core', '2.13']],                                // Dependencies
        'permissions' => 'admin',                                           // Permissions
        'type'        => 'plugin',                                          // Type
        'details'     => 'https://open-time.net/?q=postTitleAutonum',       // Details URL
        'support'     => 'https://github.com/franck-paul/postTitleAutonum', // Support URL
        'settings'    => ['blog' => '#params.pta'],                         // Settings
        'repository'  => 'https://raw.githubusercontent.com/franck-paul/postTitleAutonum/main/dcstore.xml'
    ]
);

C’est la ligne 29 (repository) qui nous intéresse et qui indique le lien vers le contenu textuel du fichier dcstore.xml sur le dépôt.

Plus qu’à enregistrer tout ça et pousser sur le dépôt et sur DotAddict \o/

Ajouter un commentaire

Les champs suivis d'un * sont obligatoires

Les commentaires peuvent être formatés en utilisant la syntaxe Markdown Extra.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/15138

Haut de page