Réinitialisation de la configuration

La réinitialisation de la configuration n’est possible que dans la phase de l’assistant, et elle peut être effectuée en appelant la procédure PUBLIC.RESET_CONFIGURATION(). Cette procédure réinitialise toutes les conditions préalables comme non remplies, supprime la configuration précédemment sauvegardée et règle le statut du connecteur sur INSTALLED. Elle peut être utilisée s’il est nécessaire de reconfigurer le connecteur (c’est-à-dire de repasser par l’étape Conditions préalables, Configurations de connexion, ou Configuration du connecteur). Les connecteurs ne peuvent être reconfigurés que si vous n’avez pas terminé l’étape Finaliser la configuration. La reconfiguration des connecteurs peut être personnalisée en utilisant SQL ou ResetConfigurationHandlerBuilder.

Seuls les utilisateurs auxquels le rôle d’application ADMIN a été attribué peuvent appeler la procédure PUBLIC.RESET_CONFIGURATION().

La réinitialisation de la configuration comprend les phases configurables suivantes, qui n’ont par défaut aucun effet :

  1. Validation du statut

  2. Validation de l’état

  3. Rappel interne

  4. Rappel de SDK

  5. Mise à jour du statut

Exigences

La réinitialisation de la configuration nécessite l’exécution des fichiers SQL suivants lors de l’installation de l’application native :

  • core.sql

  • configuration/app_config.sql

  • configuration/prerequisites.sql

  • configuration/connector_configuration.sql

  • configuration/connection_configuration.sql

  • configuration/reset_configuration.sql

Validation du statut

Pour réinitialiser la configuration, le connecteur doit être dans le statut CONFIGURING. Le statut de la configuration doit être égal à l’un des éléments suivants : INSTALLED, PREREQUISITES_DONE, CONFIGURED ou CONNECTED. Pour le diagramme complet des transitions de statut, voir Débit du connecteur.

La validation ne peut pas être écrasée en utilisant ResetConfigurationHandlerBuilder ou en écrasant une procédure stockée. Toutefois, il est possible d’implémenter un gestionnaire (handler) personnalisé, qui n’aura pas ce type de validation.

Validation de l’état

La phase de validation de l’état est personnalisable et, par défaut, exécute la procédure PUBLIC.RESET_CONFIGURATION_VALIDATE(), qui renvoie 'response_code': 'OK'. Cette procédure peut être personnalisée en remplaçant la procédure utilisant SQL ou en implémentant l’interface ResetConfigurationValidator.

Rappel interne

La phase de rappel interne est personnalisable et, par défaut, exécute la procédure PUBLIC.RESET_CONFIGURATION_INTERNAL(), qui renvoie 'response_code': 'OK'. Cette procédure permet d’exécuter la logique personnalisée requise lors de la réinitialisation de la configuration. Par exemple, la suppression d’une configuration personnalisée. Cette procédure peut être personnalisée en remplaçant la procédure utilisant SQL ou en implémentant l’interface ResetConfigurationCallback.

Rappel de SDK

SDK est utilisé pour mettre à jour les composants contrôlés par SDK. Cette étape se compose des processus suivants, qui sont exécutés en une seule transaction :

  1. Définir l’ensemble des conditions préalables comme non remplies

  2. Supprimer la configuration du connecteur

  3. Supprimer la configuration des connexions

Définir l’ensemble des conditions préalables comme non remplies

Au cours de cette étape, la valeur de la colonne IS_COMPLETED est définie sur Faux pour tous les enregistrements de la table interne PREREQUISITES.

Supprimer la configuration du connecteur

Au cours de cette étape, connector_configuration est supprimé de la table interne APP_CONFIG.

Supprimer la configuration du connecteur

Au cours de cette étape, connection_configuration est supprimé de la table interne APP_CONFIG.

Le rappel SDK ne peut pas être écrasé en utilisant ResetConfigurationHandlerBuilder ou en écrasant la procédure stockée. Il est possible d’implémenter un gestionnaire personnalisé, qui n’aura pas ce rappel.

Note

La vue PUBLIC.CONNECTOR_CONFIGURATION renvoie la configuration actuelle de la table interne APP_CONFIG. La vue PUBLIC.PREREQUISITES renvoie les conditions préalables de la table interne PREREQUISITES. Les deux vues sont disponibles pour les rôles d’application ADMIN et VIEWER.

Mise à jour du statut

Une fois terminée, cette étape définit le statut interne du connecteur :

{
    "status": "CONFIGURING",
    "configurationStatus": "INSTALLED"
}
Copy

Réponse

Réponse aboutie

Si la procédure s’achève avec succès, elle renvoie un code de réponse OK comme indiqué ci-dessous :

{
  "response_code": "OK"
}
Copy

Erreur de réponse

En cas d’erreur, la réponse suivante est renvoyée :

{
  "response_code": "<ERROR_CODE>",
  "message": "<error message>"
}
Copy

Les codes d’erreur possibles sont les suivants :

  • INVALID_CONNECTOR_STATUS - Statut du connecteur non valide. Statut attendu : [CONFIGURING]

  • INVALID_CONNECTOR_CONFIGURATION_STATUS - Statut du connecteur non valide. Statuts attendus : [INSTALLED, PREREQUISITES_DONE, CONFIGURED, CONNECTED].

  • INTERNAL_ERROR - Quelque chose s’est mal passé en interne, le message doit être descriptif.

  • PROCEDURE_NOT_FOUND - La procédure appelée n’existe pas.

  • UNKNOWN_SQL_ERROR - Cette erreur se produit lorsque quelque chose d’inattendu se produit lors de l’appel de procédures internes.

  • INVALID_RESPONSE - Cette erreur se produit lorsque la réponse reçue de la procédure interne ne contient pas de response_code ou qu’une erreur de réponse ne contient pas de message, mais contient un response_code.

  • UNKNOWN_ERROR - Cela signifie que quelque chose d’inattendu s’est mal passé (le message de l’exception levée est transmis).

  • Codes d’erreur personnalisés reçus des procédures RESET_CONFIGURATION_INTERNAL et RESET_CONFIGURATION_VALIDATE - définis par le développeur du connecteur.