0

6 La navigation dans le manuel de Kentika est réservée aux utilisateurs identifiés



KAAT (Kentika As A Toolbox) : Service Update

#API

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.

<WR_Val_EN>

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

Allows to feed the Kentika EDM database.

The update function offered in the API makes it possible to create recordings, to archive attached files, to update them (versionning). A request may concern one or more records. The initial update is thus facilitated.

Files uploaded to Kentika allows you to take advantage of the functions of EDM (Electronic Document Management):

- archiving secure files without the risk of conflicting file names;

- thumbnail extraction;

- conversion possible in pdf or html format;

- extraction of text contained in office files or pdf;

- full text search (on the contents of the files).

 

Learn more about the benefits of search capabilities click here.

Parameters

URL : REST/update

Table : type or table name followed by a period and the type's title (Kentika is not sensitive to case or accents, "Deposit" or "DEPOSIT" or "déposit" will be treated as "Deposit" )

Records : array of records

Example

Query

{"table": "Document.Deposit",

"records": [

{"record_ID": "abc",

"Title": "Specific affair" },

{"record_ID": "def",

"Title": "Generic affair" }]}

Answer

{"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 }]}

Creation AND update

The Update service is used for creating new records and updating existing records.

record_RN : Unique number assigned by Kentika when creating a record.

record_ID : identifier from the original application.

Record_RN not transmitted, Record_ID not transmitted : the request is considered a creation

Record_RN not transmitted, Record_ID transmitted : Kentika searches if a record exists with this ID. If so, the registration is updated. If not the request is considered a creation

Record_RN transmitted, Record_ID not transmitted : Kentika searches if a record exists with this number. If so, the registration is updated. If not, the request is rejected.

Record_RN transmitted, Record_ID transmitted : Kentika checks if a record exists with this ID and this number. If so, the registration is updated. If not, the request is rejected.

Before creating or modifying a record, Kentika verifies that the user sent in identification is authorized to perform such an operation.

The fields

The name of a field can be expressed as :

- its label;

- his number ;

- its caption.

Example : If the "Title " field is labeled "TIT " and for number "21 ", the following expressions are equivalent:

"Title": "Here is the title of the file"

"TIT": "Here is the title of the card"

"21": "Here is the title of the card"

NB: if a field is not recognized in relation to the data dictionary of Kentika, its value is stored as it is (ie: without document processing) and can be restored via the service "select" but can not be used in query.

Request "update"

{"record_ID": "abc",

"Title": "Specific affaire",

"Client": "API Monster",

"131": "Z REST"}

Four fields will be registered: the identifier, the title, the comment (131) and a global field for the value of "customer"

Request "select"

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

"result_fields": "Title;Comment;Client"}

Result for the record created above:

{"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_Title": "Specific affaire",

"Documents_Comment": "Z REST",

"Client": "API Monster"}

Multiple values

If a field can receive multiple values, they must be expressed as an array with "value" as the property.

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

{"record_ID": "abc",

"Title": "Specific affaire",

"Keywords": [{"Value": "France"},{"Value": "Movies"}]

}]}

Grouped Kentika fields are not supported in the Update API, however, each field can be independently powered.

Controls

In order not to block the creation of records, Kentika does not reject records that some fields declared as mandatory are not filled.

If a passed value must exist in a linked table (example: a keyword must exist in the thesaurus), and this value does not exist, the record is taken into account but the value is ignored and an error message is returned in the answer.

Response

request_status : "error" (no record taken into account); "success" (all records have been taken into account); "mix" (part of the recordings was taken into account).

requests_error : number of records in error and rejected

requests_success : number of records saved

request_error_code ; request_error_description : see the list of error codes.

For each record, saved or rejected:

record_RN : Record number in Kentika

When creating a new record, it is strongly recommended to store in its business application the record number assigned by Kentika (Record_RN).

record_Status : ""add" if the record was created; "update" if it has been updated; "error" if rejected

record_error_description : an explanation of a rejection (if status = error) or of a partial taking into account (add or update) in the event of a value transmitted incorrectly.

Upload files

Each document record, reference, author, person can be attached files. When a file is received by Kentika, it is archived (see options: file_status below) and benefits from all associated processing.

Associated treatments

The treatments depend on the type of file.

Image (jpeg, png): extract a preview and a low resolution image.

PDF : extract a preview of the first page.

NB: the sizes of the thumbnails are defined in archiving setup.

With EDM option (KDE)

PDF : ocerization of pdf image.

Office files : conversion to PDF, extraction of a thumbnail from the first page.

emails : files in msg format are converted to PDF, including attachments, extracting a thumbnail from the first page.

Extraction and indexing of texts

The texts of the files are extracted and indexed full text. They then make it possible to carry out searches in the contents by using all the operators (Booleans, proximity ...) available. See the "select" service for more details.

With the Atomic portal

The office and pdf files can be presented as html with the highlighted words or phrases. A search with: " collecter AND information " allows to visualize the result in the following form:

Exemple de fichier PDF converti en html par Kentika

Transmit a file via the API

Two modes of transmission are proposed:

- the file already exists on one of the disks where Kentika is installed: its path is included in the request;

- the file is transmitted directly in the request (in base64).

File on disk

{"table": "Deposit",

"records": [{

"record_ID": "abc",

"Title": "The EDM values",

"file_status": "add",

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

file_path : the file path as seen by "Kentika server"

File in base64

{"table": "Deposit",

"records": [{

"record_ID": "abc",

"Title": "The EDM values",

"file_status": "add",

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

"file_contentStream": "JVBERi0xLjQNJcjIyMjIyMgNMSAwIG9iago8PC9UeXBlL0Nhd....

file_contentStream :the contents of the file in base64

The possible "status"

add (or not transmitted): the file is added to the record. To add multiple files to the same record in a single query, just send multiple occurrences of "records" with the same "record_ID" or "record_RN"

If the operation was successful, "archive_status " will be returned with the value "created", the archive number assigned by Kentika is returned in the "archive_num " parameter . Otherwise, "archive_error_status " will have the value "751" and "archive_error_description": "File not found".

replace_if_exist : If a file with the same "archive_num" attached to the specified record or the same path exists, it is replaced ("archive_status" is returned with the value "replaced"), otherwise, it is added and attached at the record i indicated in record_ID or record_RN ("archive_status" is returned with the value "created").

replace_last : replace the last file attached to the record (regardless of its path) or add it if no file was attached yet.

version : searches for a file by its number (archive_num) or its path (file_path). If no file is found, the last file is selected. If a file is found, it is replaced and the previous version is kept in history. Otherwise, it is added.

delete : searches for the file by its number or path. If the file is found and deleted, "archive_status" is returned with the value "deleted", otherwise "error" and "archive_error_code" the value "751".

Additional actions available on the portal

Kentika and its Atomic portal allow you to perform additional actions on each file.

Within a record, files can be organized in "folders" and "subfolders".

Files can be dragged and dropped from the desktop into the browser window.

Via the "select" service, it is then possible to recover them in your business application.

</WR_Val_EN>