Passer au contenu principal

Création d’un nouveau type d’enregistrement

Pour permettre à une application Appian personnalisée d’interagir avec ABBYY FlexiCapture Connector for Appian, vous devez créer les entités décrites ci-dessous. Avant de créer ces entités, assurez-vous que le plug-in ABBYYFlexiCapturePlugin.jar est installé sur le serveur Appian. Pour installer le plug-in sur le serveur Appian, copiez-le simplement depuis le package de distribution du connecteur dans ce dossier : APPIAN_INSTALL/_admin/plugins/. Vous devez maintenant :

Création d’une règle AFC_GetConstantDSEByRecordTypeName qui renverra une constante de type “Data Store Entity”

La méthode CreateRecord de l’API Web nécessite une règle qui renvoie une constante de type “Data Store Entity”. Cette règle déterminera le magasin de données et le type de données dans lesquels un enregistrement doit être créé.
  1. Dans Appian Designer, ouvrez l’application et cliquez sur Nouveau → Règle d’expression.
  2. Sélectionnez Créer à partir de zéro, renseignez les champs Name et Save In, puis cliquez sur Créer et modifier.
  3. Dans la boîte de dialogue Entrées de règle, cliquez sur l’icône + et créez une nouvelle variable d’entrée de type “Text”, puis nommez-la “RecordTypeName”.
  4. Collez le code suivant dans l’éditeur de code à gauche :
if(ri!RecordTypeName == "New Records", /* Dans le paramètre RecordTypeName, indiquez le nom du nouveau type d'enregistrement au pluriel.  */
cons!New_Constant, /* Après cons!, indiquez le nom de la constante du type d'enregistrement. */
null /* S'il existe plusieurs types d'enregistrement dans l'application, remplacez « null » par la même condition « if » que ci-dessus, en précisant le nom du second type d'enregistrement et le nom de sa constante. */
)
Si un RecordTypeName d’entrée correspond au nom d’un type d’enregistrement stocké (au pluriel), la constante DataStoreEntity, qui relie le magasin de données au type de données, est renvoyée.

Création d’une règle AFC_GetDataTypeByRecordTypeName renvoyant le nom complet du type de données

La méthode CreateRecord de l’API Web nécessite une règle qui renvoie le nom complet du type de données.
  1. Dans Appian Designer, ouvrez l’application et cliquez sur Nouveau → Règle d’expression.
  2. Sélectionnez Créer à partir de zéro, renseignez les champs Nom et Enregistrer dans, puis cliquez sur Créer et modifier.
  3. Dans la boîte de dialogue Entrées de règle, cliquez sur l’icône + et créez une nouvelle variable d’entrée de type “Text” nommée “RecordTypeName”.
  4. Collez le code suivant dans l’éditeur de code à gauche :
if(ri!RecordTypeName == "New Records", /* Dans le paramètre RecordTypeName, indiquez le nom du nouveau type d'enregistrement au pluriel, le nom complet du type de données et l'espace de noms du type d'enregistrement. */
'type!{urn:com:appian:types}NewDataType',
null
/* S'il existe plusieurs types d'enregistrement dans l'application, remplacez "null" par la même condition "if" que ci-dessus, en indiquant le nom du second type d'enregistrement, le nom complet du type de données et le namespace du type d'enregistrement. */
)
Si le RecordTypeName d’entrée correspond au nom d’un type d’enregistrement enregistré (au pluriel), une string contenant le nom complet du type de données est renvoyée ; sinon, null est renvoyé (vous pouvez rechercher l’espace de noms dans les propriétés du type de données). Pour afficher les propriétés d’un type de données, ouvrez le type de données souhaité dans l’application ABBYYFlexiCapture. Cliquez sur le nom du type de données dans le coin supérieur gauche pour ouvrir la fenêtre Propriétés du type de données, dans laquelle vous pouvez voir l’espace de noms.

Création d’une méthode d’API Web pour ajouter un nouveau document au Knowledge Center

  1. Dans Appian Designer, ouvrez l’application et cliquez sur Nouveau → Web API.
  2. Saisissez “UploadDocument” (sans les guillemets) dans les champs Nom et Point de terminaison. Définissez Méthode HTTP sur POST, puis cliquez sur Créer et modifier.
  3. Fermez la boîte de dialogue de sélection du modèle, puis collez le code suivant dans l’éditeur de code :
with(
local!value: http!request.body,
a!httpResponse(
statusCode: 200,
headers: {},
body: uploaddocument(local!value)
)
)
La méthode uploaddocument(String query) n’est affichée dans l’éditeur de code que si le fichier ABBYYFlexiCapturePlugin.jar se trouve dans APPIAN_INSTALL/_admin/plugins/. Cette méthode transmet directement à la méthode JAVA que vous avez créée une chaîne JSON contenant le contenu du fichier, puis reçoit en retour une chaîne JSON avec l’ID du dossier dans lequel le document a été placé.

Création d’une méthode d’API Web pour alimenter la table de base de données

  1. Dans Appian Designer, ouvrez l’application et cliquez sur Nouveau → API Web.
  2. Saisissez “CreateRecord” (sans les guillemets) dans les champs Nom et Point de terminaison. Remplacez Méthode HTTP par POST, puis cliquez sur Créer & modifier.
  3. Fermez la boîte de dialogue de sélection du modèle et collez le code suivant dans l’éditeur de code :
with(
local!value: cast(
rule!AFC_GetDataTypeByRecordTypeName(http!request.queryParameters.RecordTypeName),
a!fromJson(http!request.body)
),
a!writeToDataStoreEntity(
dataStoreEntity: rule!AFC_GetConstantDSEByRecordTypeName(http!request.queryParameters.RecordTypeName),
valueToStore: local!value,
onSuccess: a!httpResponse(
statusCode: 200,
headers: {
a!httpHeader(name: "Content-Type", value: "application/json")
},
body: a!toJson(
fv!storedValues
)
),
onError: a!httpResponse(
statusCode: 500,
headers: {
a!httpHeader(name: "Content-Type", value: "application/json")
},
body: a!toJson(
{
error: "There was an error writing to the data store"
}
)
)
)
)
  • La règle rule!AFC_GetDataTypeByRecordTypeName(http!request.queryParameters.RecordTypeName) prendra en entrée un paramètre contenant le nom du type d’enregistrement (reçu par la méthode de l’API Web depuis ABBYY FlexiCapture Connector for Appian) et renverra le nom complet du type de données.
    • La règle rule!AFC_GetConstantDSEByRecordTypeName(http!request.queryParameters.RecordTypeName) renverra la constante Data Store Entity.
  1. Dans le volet droit, cliquez sur le bouton Nouveau paramètre de requête et ajoutez un nouveau paramètre nommé RecordTypeName à la chaîne de requête. Enfin, sélectionnez l’option Définir comme valeur de test par défaut, puis cliquez sur Enregistrer.