Développement de modules personnalisés : création d'un squelette de module

Vous pouvez étendre votre site Developer Portal en créant des modules personnalisés. La création d'un nouveau module commence par la création de son squelette.

Avant de commencer

Vous devez disposer d'un accès administrateur au portail de développeur pour effectuer cette tâche.
Remarque : ce module synchronise les informations d'identification des applications créées par les consommateurs dans l'interface utilisateur du site Developer Portal. Il ne peut pas synchroniser les informations d'identification des applications créées par le fournisseur dans l'interface utilisateur du gestionnaire d'API.

Vous devez avoir de l'expérience dans le domaine du développement Drupal et PHP. Pour plus d'informations, voir Développement de modules personnalisés : une introduction aux outils d' Drupal s pour le développement PHP et Développement de modules personnalisés : contexte et prérequis.

Important :
  • Vous n'êtes pas autorisé à inclure des modules IBM® API Connect dans les modules personnalisés que vous créez. En outre, l'édition directe des thèmes API Connect , des modules, des modules inclus ou du coeur Drupal sur le système de fichiers n'est pas autorisée ou prise en charge, car les versions éditées de ces fichiers sont écrasées lors de l'installation d'un groupe de correctifs ou d'un iFix .
  • Tout développement personnalisé est de votre responsabilité. Bien que l'utilisation de modules et de thèmes personnalisés soit prise en charge, IBM API Connect ne prend pas en charge leur développement ou leur modification.

A propos de cette tâche

La création d'un module personnalisé commence systématiquement par la création d'un fichier .info.yml. Ce fichier, ou squelette de module, sert à stocker les métadonnées relatives au thème personnalisé. Une fois le squelette de module créé, le module peut être installé sur votre site à l'aide du menu Etendre du tableau de bord de l'administrateur de l'interface utilisateur du portail de développeur . Toutefois, sans aucun code spécifique au module, votre site ne sera pas affecté.

Les instructions ci-après vous guident pas à pas lors de la création d'un squelette de module personnalisé. Les tâches à effectuer ensuite dans le processus de création de module personnalisé dépend de ce que vous souhaitez faire avec votre module. Les options possibles sont indiquées à la fin de cette tâche.

Procédure

  1. Choisissez un nom court, également appelé nom de machine, pour votre module personnalisé.
    Le nom de machine est utilisé dans plusieurs fichiers et fonctions de votre module, ainsi que par le coeur de Drupal pour faire référence à votre module à l'aide d'un programme. Le nom doit être conforme aux règles suivantes :
    • il doit commencer par une lettre.
    • Il ne doit contenir que des lettres minuscules et des traits de soulignement. (Notez que si des lettres majuscules sont utilisées dans le nom, Drupal ne reconnaîtra aucune implémentation de point d'ancrage dans votre module.)
    • Il ne doit pas contenir d'espace.
    • Il doit être unique sur votre site Developer Portal .
    • Il ne doit pas s'agir de l'un des termes réservés suivants: src, lib, vendor, assets, css, files, images, js, misc, templates, includes, fixtures, Drupal.
  2. Créez un dossier de module à l'emplacement de votre choix, par exemple, /modules/module_name.
    Vous n'avez pas besoin de donner au dossier le même nom que celui de votre machine de module, en revanche, vous ne devez pas oublier d'utiliser le nom de machine à l'aide d'un programme dans le code et les noms de fichier de votre module.
  3. Créez un fichier module_name.info.yml dans votre dossier de module.
    module_name est le nom abrégé, ou nom de machine, que vous avez choisi à l'étape 1.
  4. Insérez les métadonnées de votre module personnalisé dans le fichier module_name.info.yml comme suit:
    name: Example module name
    description: Description of the module.
    package: Custom
    
    type: module
    core: 8.x
    core_version_requirement: '^8 || ^9'
    version: 1.0
    
    dependencies:
      - module_name
    
    test_dependencies:
      - module_name
    
    configure: example.settings
    
    php: 7.1
    
    hidden: true
    • name (obligatoire) est le nom de votre module et le texte qui s'affiche sur la page d'administration du module dans l'interface utilisateur du portail de développeur .
    • description (facultatif) est une description de votre module et correspond au texte affiché sur la page d'administration du module dans l'interface utilisateur du portail de développeur .
    • package (facultatif) est une clé qui vous permet de regrouper des modules semblables.
    • type (obligatoire) est le type d'extension que vous créez, par exemple, un module, un thème ou un profil. En l'occurrence, vous créez un module.
    • core (facultatif) indique la version de coeur de Drupal avec laquelle votre module est compatible.
    • core_version_requirement (obligatoire) indique avec quelles versions de Drupal votre module est compatible. Cet exemple indique que le module est compatible avec toutes les versions de Drupal 8 et 9.
    • version (obligatoire) est le numéro de version de votre module. Notez que version n'est pas obligatoire si vous publiez votre module sur Drupal.org.
    • dependencies (facultatif) est une liste YAML des modules dont dépend votre module. Ils doivent être spécifiés dans un espace de nom au format module_name, où module_name est le nom de machine du module.
    • test_dependencies (facultatif) est une liste des modules (format identique à dependencies) qui sont nécessaires pour l'exécution de certains tests automatisés pour votre module sur le module d'exécution de test automatisé de Drupal (DrupalCI), mais qui d'une manière générale ne sont pas requis comme dépendances de module.
    • configure (facultatif) permet de spécifier la route vers un formulaire de configuration si votre module offre ce type de formulaire.
    • php (facultatif) est la version PHP minimale qui est requise pour votre module. Pour le portail de développeur , la version PHP minimale est 7.1.
    • hidden (facultatif) est une option qui, si elle est définie, masque votre module dans la section Etendre du tableau de bord de l'administrateur sur l'interface utilisateur du portail de développeur . Cette option peut être utile si votre module ne contient que des tests ou s'il est destiné à être utilisé comme exemple pour d'autres développeurs.
  5. Sauvegardez votre module_name.info.yml.

Résultats

Vous avez créé votre squelette de module.

Exemple

Exemple de fichier .info.yml :
name: User field example
type: module
description: Developer Portal tutorial about a user field example
package: IBM API Connect Tutorials
core: 8.x
core_version_requirement: '^8 || ^9'
version: 8.x-0.0.1
dependencies:
  - ibm_apim
  - auth_apic

Etape suivante

Vous devez à présent créer le contenu approprié pour votre module personnalisé en fonction de ce que vous souhaitez faire avec lui. Pour plus d'informations sur les différentes options, voir Création de modules personnalisés sur Drupal.org. Un exemple de création d'un module personnalisé de base est également disponible sur Drupal.org, voir : A "Hello World" custom page module.
Remarque : si vous définissez des chemins d' URL s dans le fichier de routage de votre module, vous devez tenir compte de toutes les implications potentielles de ces chemins et éviter les conflits avec d'autres parties du Portail développeur. Par exemple, il est recommandé de ne pas préfixer les chemins avec ibm_apic.

Une fois que vous avez créé votre contenu de module personnalisé, vous devez conditionner vos fichiers de module personnalisé dans un fichier zip, tar, tgz, gz ou bz2. Ce fichier peut ensuite être installé sur votre site Developer Portal à l'aide du menu Extend du tableau de bord de l'administrateur. Pour plus d'informations, voir Installation des modules personnalisés.