Desarrollo de módulos personalizados: utilización de ganchos
Puede utilizar enganches en módulos personalizados para modificar el comportamiento del núcleo Drupal u otros módulos en el Portal del desarrollador.
Los módulos personalizados le permiten ampliar la funcionalidad del sitio del Portal del desarrollador . Para obtener más información sobre cómo crear módulos personalizados, consulte Desarrollo de módulos personalizados: una introducción a las herramientas Drupal para el desarrollo PHPy Desarrollo de módulos personalizados: antecedentes y requisitos previos.
Los ganchos son una de las formas en que los módulos personalizados pueden utilizar para interactuar con otros módulos y con subsistemas principales Drupal . Las secciones siguientes proporcionan una visión general de los enganches y una lista de los enganches específicos de IBM® API Connect .
- No tiene permiso para incluir ningún módulo IBM API Connect dentro de los módulos personalizados que cree. Además, la edición directa de cualquier tema, módulo, módulo incluido o núcleo Drupal de API Connect en el sistema de archivos no está permitida o soportada, ya que las versiones editadas de estos archivos se sobrescriben cuando se instala un fixpack o iFix .
- Todo el desarrollo personalizado es su responsabilidad. Aunque el uso de módulos y temas personalizados está soportado, IBM API Connect no proporciona soporte en su desarrollo o modificación.
Acerca de los enganches
Los enganches definen funciones que alteran el comportamiento del núcleo Drupal . Así que una forma para que los módulos personalizados alteren estas funciones, es utilizar ganchos. Los enganches son funciones con un nombre especial que define un módulo (esto se conoce como implementación del enganche), estos enganches se descubren y se llaman en momentos específicos para modificar o añadir al comportamiento base o a los datos (esto se conoce como invocación del enganche). Cada enganche tiene un nombre (por ejemplo: hook_batch_alter()), un conjunto definido de parámetros y un valor de retorno definido. Los módulos personalizados pueden implementar ganchos definidos por el núcleo Drupal , por API Connecto por otros módulos con los que interactúan. Los módulos personalizados también pueden definir sus propios enganches para permitir que otros módulos interactúen con ellos. Para obtener más información, consulte Visión general de los enganches en Drupal.org.
alert . Los errores, excepciones y mensajes de registro de nivel alert pueden interrumpir todo el proceso en el código padre. Por ejemplo, si escribe un enganche que llama a un servidor externo cuando se actualiza una aplicación, es necesario que el código tenga un manejo de errores para manejar el servidor que no se encuentra o que no devuelve el resultado esperado. De lo contrario, Drupal detiene el análisis de la función y es posible que la aplicación no se actualice correctamente. Puede hacer que el webhook y el análisis de instantáneas terminen anormalmente dejando el portal en un estado incoherente.Para obtener una lista de todos los ganchos disponibles en el núcleo Drupal y cómo implementarlos en el módulo personalizado, consulte Drupal API Hooks.
Para obtener una lista de todos los enganches específicos de API Connect , consulte la sección siguiente.
Utilización de ganchos en módulos personalizados
hook en el nombre del enganche por el nombre del módulo personalizado. Por ejemplo:hook_apic_app_createdebe estar referenciado en el módulo personalizado como:moduleName_apic_app_createEnganches específicos de API Connect
- Enganches sobre aplicaciones
- En la tabla siguiente se listan los enganches relacionados con aplicaciones en el Portal del desarrollador. Para ver ejemplos de cómo utilizar los ganchos de aplicación, consulte apic_app/apic_app.api.php en GitHub.
Tabla 1. Enganches sobre aplicaciones Nombre de enganche Descripción hook_apic_app_createSe desencadena cuando se crea una aplicación. hook_apic_app_updateSe desencadena cuando se actualiza una aplicación. hook_apic_app_pre_deleteSe desencadena cuando se suprime una aplicación, antes de que se haya producido la supresión del nodo o la cascada. hook_apic_app_post_deleteSe desencadena cuando se suprime una aplicación, después de que se haya producido la supresión del nodo o la cascada. hook_apic_app_promoteSe desencadena cuando se promociona una aplicación. hook_apic_app_creds_createSe desencadena cuando se crea un nuevo conjunto de credenciales para una aplicación. hook_apic_app_creds_updateSe desencadena cuando se actualiza un conjunto de credenciales para una aplicación. hook_apic_app_creds_deleteSe desencadena cuando se suprime un conjunto de credenciales para una aplicación. hook_apic_app_subscribeSe desencadena cuando se crea una suscripción. hook_apic_app_migrateSe desencadena cuando se migra una suscripción a un nuevo plan. hook_apic_app_unsubscribeSe desencadena cuando se anula la suscripción de una aplicación de un plan. hook_apic_app_image_createSe desencadena cuando se crea una imagen de aplicación personalizada. hook_apic_app_image_deleteSe desencadena cuando se suprime una imagen de aplicación personalizada. hook_apic_app_clientid_resetSe desencadena cuando se restablece un ID de cliente de credenciales. hook_apic_app_clientsecret_resetSe desencadena cuando se restablece un secreto de cliente de credenciales. hook_apic_app_modify_getplaceholderimage_alterModifique la imagen de marcador de posición de aplicación proporcionada en \Drupal\apic_app\Application::getPlaceholderImage(). Se puede utilizar para definir una imagen de marcador de posición específica para utilizarla cuando el consumidor no ha cargado su propia imagen personalizada para su aplicación. hook_apic_app_modify_getimageforapp_alterModifique la imagen de marcador de posición de aplicación proporcionada en \Drupal\apic_app\Application::getImageForApp(). Se puede utilizar para proporcionar una vía de acceso completa a una imagen específica para utilizarla para una aplicación que altera temporalmente cualquier imagen personalizada que se haya podido cargar. hook_apic_app_modify_client_id_reset_alterModifique el ID de cliente proporcionado por Gestor de API cuando se restablezca el ID. hook_apic_app_modify_client_secret_reset_alterModifique el secreto de cliente proporcionado por Gestor de API cuando se restablezca el secreto. hook_apic_app_modify_create_alterModifique las credenciales proporcionadas por el Gestor de API cuando se cree una nueva aplicación. hook_apic_app_modify_credentials_create_alterModifique las credenciales proporcionadas por el Gestor de API cuando se creen nuevas credenciales. - Enganches sobre organizaciones de consumidores
- En la tabla siguiente se listan los enganches relacionados con organizaciones de consumidores en el Portal del desarrollador. Para ver ejemplos de cómo utilizar los ganchos de la organización de consumidores, consulte consumerorg/consumerorg.api.php en GitHub.
Tabla 2. Enganches sobre organizaciones de consumidores Nombre de enganche Descripción hook_consumerorg_createSe desencadena cuando se crea una organización de consumidores. hook_consumerorg_updateSe desencadena cuando se actualiza una organización de consumidores. hook_consumerorg_pre_deleteSe desencadena cuando se suprime una organización de consumidores, antes de que se haya producido la supresión del nodo o la cascada. hook_consumerorg_post_deleteSe desencadena cuando se suprime una organización de consumidores, después de que se haya producido la supresión del nodo o la cascada. hook_consumerorg_payment_method_create_alterSe desencadena para permitir la modificación del formulario de creación del método de pago. hook_consumerorg_myorg_tabs_alterSe desencadena para permitir que se añadan más pestañas a la página my organization. - Enganches sobre las API
- En la tabla siguiente se listan los enganches relacionados con las API en el Portal del desarrollador. Para ver ejemplos de cómo utilizar los ganchos de la API, consulte apic_api/apic_api.api.php en GitHub.
Tabla 3. Enganches sobre las API Nombre de enganche Descripción hook_apic_api_createSe desencadena cuando se crea una API. hook_apic_api_updateSe desencadena cuando se actualiza una API. hook_apic_api_deleteSe desencadena cuando se suprime una API. - Enganches sobre productos
- En la tabla siguiente se listan los enganches relacionados con productos en el Portal del desarrollador. Para ver ejemplos de cómo utilizar los ganchos Product, consulte product/product.api.php en GitHub.
Tabla 4. Enganches sobre productos Nombre de enganche Descripción hook_product_createSe desencadena cuando se crea un producto. hook_product_updateSe desencadena cuando se actualiza un producto. hook_product_deleteSe desencadena cuando se suprime un producto. - Otros enganches de IBM API Connect
- La tabla siguiente lista los enganches que pueden ser para otros usos.
Tabla 5. Otros enganches de APIC Nombre de enganche Descripción hook_ibm_apim_subscription_wizard_summary_alterSe desencadena para permitir la modificación de la página de resumen del asistente de suscripción.