KAAT (Kentika As A Toolbox) : service "Update"

 

Permet d'effectuer une alimentation de la base de données et de bénéficier de la gestion électronique de documents de Kentika.

La fonction de mise à jour proposée dans l'API permet de créer des enregistrements, d'archiver des fichiers attachés, de les mettre à jour (versionning). Une requête peut concerner un ou plusieurs enregistrements. La mise à jour initiale est ainsi facilitée.

 

Confier ses fichiers à Kentika permet de tirer profit des fonctions de GED :

- archivage des fichiers sécurisé sans risque de conflit au niveau des noms des fichiers ;

- extraction d'imagette ;

- conversion possible au format pdf ou html ;

- extraction du texte contenu dans les fichiers bureautiques ou les pdf ;

- recherche plein texte (sur le contenu des fichiers).

 

En savoir plus sur les avantages de la recherche documentaire : cliquer ici.

 

Paramètres

 

URL : REST/update

 

Table : type ou nom de table suivi d'un point et de l'intitulé du type (Kentika n'est sensible ni à la casse ni aux accents ; "Dépot" ou "DEPOT" ou "depot" seront assimilés à "Dépot")

Records : tableau d'enregistrements

 

Exemple

 

Requête

{"table": "Document.Depot",

    "records": [

             {"record_ID": "abc",

             "Titre": "Specific affaire"  },

             {"record_ID": "def",

             "Titre": "Generic affaire"  }]}

Réponse

{"request_status": "success",

"records_nb": 2,

"records": [{"record_ID": "abc",

             "record_status": "update",

             "record_RN": 4072103},

    {        "record_ID": "def",

             "record_status": "add",

             "record_RN": 4072303}]}

 

Création ET mise à jour

 

Le service Update est utilisé pour la création de nouveaux enregistrements et la mise à jour d'enregistrements existants.

 

record_RN : numéro unique affecté par Kentika lors de la création d'un enregistrement (RN = Record_Num, visible dans l'explorateur de données de Kentika).

record_ID : identifiant en provenance de l'application d'origine.

 

Record_RN non transmis, Record_ID non transmis : la demande est considérée comme une création

Record_RN non transmis, Record_ID transmis : Kentika recherche si un enregistrement existe avec cet ID. Si oui, l'enregistrement est mis à jour. Si non la demande est considérée comme une création

Record_RN transmis, Record_ID non transmis : Kentika recherche si un enregistrement existe avec ce numéro. Si oui, l'enregistrement est mis à jour. Si non la demande est rejetée.

Record_RN transmis, Record_ID transmis : Kentika recherche si un enregistrement existe avec cet ID et ce numéro. Si oui, l'enregistrement est mis à jour. Si non la demande est rejetée.

 

Avant de procéder à la création ou la modification d'un enregistrement, Kentika vérifie que l'utilisateur transmis en identification est bien habilité à réaliser une telle opération.

 

Les champs

 

Le libellé d'un champ peut être exprimé sous une des formes suivantes :

- son étiquette ;

-  son numéro ;

-  son libellé.

 

Exemple : si le champ "Titre" a pour étiquette "TIT" et pour numéro "21", les expressions suivantes sont équivalentes :

"Titre": "Voici le titre de la fiche"

"TIT": "Voici le titre de la fiche"

"21": "Voici le titre de la fiche"

 

NB : si un champ n'est pas reconnu par rapport au dictionnaire de données de Kentika, sa valeur est stockée malgré tout telle quelle (ie : sans traitement documentaire) et pourra être restituée via le service "select" mais ne pourra être utilisée en recherche.

 

Requête "update"

{"record_ID": "abc",

"Titre": "Specific affaire",

"Client": "API Monster",

"131": "Z REST"}

Quatre champs seront enregistrés : l'identifiant, le titre, le commentaire (131) et un champ global pour la valeur de "client"

Requête "select"

{"table": "depot", "what": "specific", "result_howmany": "5", "result_startat": "1",

"result_fields": "Titre;Commentaire;Client"}

Résultat pour l'enregistrement créé ci-dessus :

{"record_num": "19131630124919598129",

"record_table": "Document.Dépôt",

"record_title": "Specific affaire",

"record_url": "http://(nom du host Kentika)/KENTIKA-19131630124919598129-Specific-affaire.htm",

"Documents_Titre": "Specific affaire",

"Documents_Commentaire": "Z REST",

"Client": "API Monster"}

 

Valeurs multiples

 

Si un champ peut recevoir plusieurs valeurs, elles doivent être exprimées sous la forme d'un tableau avec "value" comme propriété.

 

{"table": "Depot","records": [

{"record_ID": "abc",

"Titre": "Specific affaire",

"Mots-cles": [{"Value": "France"},{"Value": "Cinéma"}]

}]}

 

Les champs groupés de Kentika ne sont pas supportés dans l'API Update, chaque champ peut cependant être alimenté indépendamment.

 

Contrôles

 

Afin de ne pas bloquer la création des enregistrements, Kentika ne rejette pas les enregistrements dont certains champs déclarés comme obligatoires ne sont pas remplis.

Si une valeur transmise doit exister dans une table liée (exemple : un mot clé doit exister dans le thésaurus), et que cette valeur n'existe pas, l'enregistrement est pris en compte mais la valeur est ignorée et un message d'erreur est renvoyé dans la réponse.

 

Réponse

 

request_status : "error" (aucun enregistrement pris en compte) ; "success" (tous les enregistrements ont été pris en compte) ; "mix" (une partie des enregistrements a été prise en compte).

requests_error : nombre d'enregistrements en erreur et non pris en compte

requests_success : nombre d'enregistrements pris en compte

request_error_code ; request_error_description : voir la liste des codes d'erreur.

 

Pour chaque enregistrement, qu'il soit pris en compte ou rejeté :

 

record_RN : numéro d'enregistrement Kentika

 

Lors de la création d'un nouvel enregistrement, il est fortement conseillé de stocker dans son application métier le numéro d'enregistrement attribué par Kentika (Record_RN).

 

record_Status : "add" si l'enregistrement a été créé ; "update" s'il a été mis à jour ; "error" s'il a été rejeté

 

record_error_description : explication d'un rejet (si status = error) ou d'une prise en compte partielle (add ou update) en cas d'une valeur transmise incorrecte.

 

Envoyer des fichiers

 

A chaque fiche document, référence, auteur, personne peuvent être attachés des fichiers. Lorsqu'un fichier est reçu par Kentika, il est pris en charge et archivé (voir les différentes options : file_status ci-dessous) et bénéficie de tous les traitements associés.

 

Traitements associés

 

Les traitements dépendent du type de fichier.

 

Image (jpeg, png) : extraction d'une imagette et d'une image basse résolution.

PDF : calcul d'une imagette de la première page.

 

NB : les tailles des imagettes sont définies en paramétrage de l'archivage.

 

Avec l'option GED Plus (KDE)

 

PDF : détermination automatique des pdf image (ie : ne contenant aucun texte) ; océrisation des pdf image.

Fichiers bureautiques : conversion en PDF, extraction d'une imagette de la première page.

emails : les fichiers au format msg sont convertis en PDF, pièces jointes comprises, extraction d'une imagette de la première page.

 

Extraction et indexation des textes

 

Les textes des fichiers sont extraits et indexés plein texte. Ils permettent alors d'effectuer des recherches dans le contenu en utilisant tous les opérateurs (booléens, proximité...) disponibles. Voir le service "select" pour en savoir plus.

 

Avec le portail Atomic

 

Les fichiers bureautiques et pdf peuvent être présentés convertis en html avec les mots ou expressions recherchés en surbrillance. Une recherche avec : "collecter AND information" permet de visualiser le résultat sous la forme suivante :

 

Exemple de fichier PDF converti en html par Kentika

 

 

Transmettre un fichier via l'API

 

Deux modes de transmission sont proposés :

- le fichier existe déjà sur un des disques où Kentika est installé : son chemin d'accès est inclut dans la requête ;

- le fichier est transmis directement dans la requête (en base64).

 

Fichier sur le disque

 

{"table": "Depot",

"records": [{

    "record_ID": "abc",

    "Titre": "L'observatoire de la GED",

    "file_status": "add",

    "file_path": "C:\\Users\\Admin\\Documents\\OBS_11_2016.pdf"}]}

 

file_path : contient le chemin d'accès au fichier (tel que devant être vu par Kentika)

 

Fichier en base64

 

{"table": "Depot",

"records": [{

    "record_ID": "abc",

    "Titre": "L'observatoire de la GED",

    "file_status": "add",

    "file_path": "C:\\Users\\Admin\\Documents\\OBS_11_2016.pdf",

    "file_contentStream": "JVBERi0xLjQNJcjIyMjIyMgNMSAwIG9iago8PC9UeXBlL0Nhd....

 

file_contentStream : le contenu du fichier en base64

 

Les "status" possibles

 

add (ou ommis) : le fichier est ajouté à l'enregistrement. Pour ajouter plusieurs fichiers au même enregistrement dans une requête unique, il suffit d'envoyer plusieurs occurences de "records" avec le même "record_ID" ou "record_RN"

Si l'opération s'est bien déroulée, "archive_status" sera retourné avec la valeur "created", le numéro d'archive affecté par Kentika est retourné dans le paramètre "archive_num". Sinon, "archive_error_status" aura la valeur "751" et "archive_error_description" : "File not found".

replace_if_exist : si un fichier ayant le même "archive_num" attaché à l'enregistrement indiqué ou le même chemin d'accès existe, il est remplacé ("archive_status" est retourné avec la valeur "replaced"), sinon, il est ajouté et attaché à l'enregistrement iindiqué dans record_ID ou record_RN ("archive_status" est retourné avec la valeur "created").

replace_last : remplace le dernier fichier attaché à l'enregistrement (quel que soit son chemin d'accès) ou l'ajoute si aucun fichier n'était encore attaché.

version : recherche un fichier par son numéro (archive_num) ou son chemin d'accès (file_path). Si aucun fichier n'est trouvé, le dernier fichier  est sélectionné. Si un fichier est trouvé, il est remplacé et la version précédente est conservée en historique. Sinon, il est ajouté.

delete : recherche le fichier par son numéro ou son chemin d'accès. Si le fichier est trouvé et supprimé, "archive_status" est retourné avec la valeur "deleted", sinon "error" et "archive_error_code" la valeur "751".

 

Actions supplémentaires disponibles sur le portail

 

Kentika et son portail Atomic permettent d'effectuer des actions complémentaires sur chaque fichier.

 

 

Au sein d'un enregistrement, les fichiers peuvent être organisés sous forme d'arborescence.

 

 

 

L'alimentation peut être effectuée par glisser / déposer depuis son bureau vers la fenêtre du navigateur.

 

 

Via le service "select", il est ensuite possible de les récupérer dans son application métier.