Cet article décrit la structure de la base de données Voozanoo 4 sur laquelle est construit MailMerge.
Schéma des relations entre les tables métiers
Exemple de création et de suppression de tâche
J’ajoute une nouvelle tâche
- Nouvelle entrée dans
saqd_mailingmodel_data AS mm
:- Nom ->
mm.name
- Mots clés ->
mm.tags
- Utilisation d’un provider ->
mm.use_provider
- Type du provider ->
mm.provider_type
(id_data
danssys_dico_data
) - Si “Service web Voozanoo 4” :
- Connexion ->
mm.ws_vzn4_id_wsauth
(id_data
danssaqd_wsauth_data
) - Requête données ->
mm.ws_vzn4_dataquery_id
- Dico format ->
mm.ws_vzn4_dico_format
- Remplacer les retours chariots ->
mm.ws_vzn4_remove_line_ending
- Type de modèle ->
mm.origin
(id_data
danssaqd_dico_data
) - Si “En ligne” :
- Le html du fichier est stocké dans
mm.html_model
- Le html du fichier est stocké dans
- Si “Fichier externe” :
- “Sélectionner un modèle de document” -> 2 nouvelles entrées (le fichier sélectionné et son fichier de configuration) dans
saqd_file_data AS file
, 2 nouvelles entrées danssaqd_mailingmodel_file_data AS mm_file
- “Sélectionner un fond de page si nécessaire” -> 1 nouvelle entrée dans
saqd_file_data AS file
, 1 nouvelle entrée danssaqd_mailingmodel_backgr_data AS mm_backgr
- “Sélectionner un modèle de document” -> 2 nouvelles entrées (le fichier sélectionné et son fichier de configuration) dans
- Connexion ->
- Nom ->
Calibrage du document, à chaque mise à jour
- Suppression de la ligne correspondante dans
saqd_file_data AS file
- Suppression de la ligne correspondante dans
saqd_mailingmodel_file_data AS mm_file
- Création d’une nouvelle ligne dans
saqd_file_data AS file
- Création d’une nouvelle ligne dans
saqd_mailingmodel_file_data AS mm_file
Supression de l’image de fond :
- Suppression de la ligne correspondant au fichier de fond de page dans
saqd_mailingmodel_backgr_data AS mm_backgr
- Conservation de la ligne correspondant au fichier de fond de page dans
saqd_file_data AS file
Supression du fichier de modèle
- Suppression de la ligne correspondant au fichier de modèle de page dans
saqd_mailingmodel_file_data AS mm_file
- Conservation de la ligne correspondant au fichier de configuration dans
saqd_mailingmodel_file_data AS mm_file
(n’est supprimée que lorsqu’un autre fichier est sélectionnée ou si l’utilisateur fait le choix d’un modèle en ligne) - Suppression de la ligne correspondant au fichier de modèle de page dans
saqd_file_data AS file
- Conservation de la ligne correspondant au fichier de configuration dans
saqd_file_data AS file
(n’est supprimée que lorsqu’un autre fichier est sélectionnée ou si l’utilisateur fait le choix d’un modèle en ligne)
Je génère un document
- Création d’une nouvelle ligne dans
saqd_mailing_data AS mailing
- Création d’une nouvelle ligne dans
saqd_templatesrendering_data AS tr
- Si la tâche échoue :
tr.failed = 1
tr.id_mailing = NULL
- Si la tâche réussit :
tr.failed = NULL
tr.id_mailing = mailing.id_data
- Création de
mailing.datasource_row_count
nouvelles lignes danssaqd_individualmailing_data AS ind_mailing
- Création de 2 nouvelles lignes (fichier csv de données + pdf final) dans
saqd_mailing_file_data AS mailing_file
- Création de
mailing.datasource_row_count
+ 2 nouvelles lignes danssaqd_file_data AS file
- Si la tâche échoue :
- Création d’une nouvelle ligne dans
Je supprime la tâche
- Suppression de la ligne dans
saqd_mailingmodel_data AS mm
- Suppression des 2 lignes dans
saqd_mailingmodel_file_data AS mm_file
correspondant au fichier de modèle et au fichier de paramétrage - Supression de toutes les lignes faisant référence à la tâche dans
saqd_templatesrendering_data AS tr
- Supression de toutes les lignes faisant référence à la tâche dans
saqd_mailing_data AS mailing
- Supression de toutes les lignes faisant référence au mailing dans
saqd_mailing_file_data AS mailing_file
- Supression de toutes les lignes faisant référence au fichiers générés par la tâche dans
saqd_file_data AS file
, à l’exception du fichier correspondant à l’image de fond
Description détaillée des tables métier
Les tables principales
- storage : Informations sur stockage des fichiers sur le serveur
- path : Chemin vers les dossiers
- file : Informations sur les fichiers stockés (modèles, fichiers xml contenant le parmétrage des modèles, les csv contenant les données utilisées pour le publipostage, les documents finaux)
- id_storage : id_data correspondant dans la table storage
- status : statut du fichier 1 si la tâche est sauvegardée, 0 sinon
- original_name : nom d’origine fichier
- generated_name : nom généré pour le stockage du fichier
- size : taille du fichier en octet ?
- hash : hash du fichier
- content-type : type de fichier (application/rtf, application/msword, application/pdf, text/csv, etc.)
- ext : extension du fichier
- path : chemin / sous-dossiers à l’intérieur du dossier de stockage, où est stocké le fichier
- mailing : Informations sur le résultat d’une tâche
- id_mailingmodel : id_data de la tâche correspondante dans la table mailingmodel
- token : token du mailing
- datasource_row_count : nombre d’élément du publipostage
- id_externe : colonne non utilisée (0 ou NULL)
- templatesrendering : Informations sur les publipostage en cours et terminés
- id_mailingmodel : id_data de la tâche dans la table saqd_mailingmodel_data
- id_mailing : id_data du mailing correspondant dans la table saqd_mailing_data
- start-date : timestamp de début de la tâche
- update_date : timestamp de la tâche
- total_chunk_count : ? Vaut 1 ou NULL
- current_chunk_count : ? Vaut 1 ou 0
- total_file_count : nombre de fichier de type “individualmailing” générés
- current_file_count : nombre de fichier de type “individualmailing” générés
- failed : indique si la tâche a échoué (1) ou non (NULL)
- current_file_finalisation_count : nombre de documents générés
- mailingmodel : Informations concernant la tâche de publipostage
- name : nom de la tâche
- provider_type : type de source de données (application voozanoo4 ou autre webservice). Id_data d’un item du dico “provider_type” dans la table sys_dico_data.
- ws_username : login si provider_type = autre webservice
- ws_pwd : mot de passe si provider_type = autre webservice
- ws_pwd_vector : vecteur du mot de passe si provider_type = autre webservice
- ws_csv_url : URL de connexion si provider_type = autre webservice et si la source de données est un CSV
- ws_dataset_url : URL de connexion si provider_type = autre webservice et si la source de données est un XML décrivant une structure de données
- ws_posthandle_url : si provider_type = autre webservice, URL pour poster les IDs des neregistrements que MailMerge a déjà utilisé lors de l’exécution d’une tâche de publipostage
- ws_vzn4_dataquery_id : si provider_type = application Voo4, id_data du dataquery utilisé comme source de données
- ws_vzn4_id_wsauth : identifiants renvoyant aux informations pour l’authentification de la requête stockées dans la table wsauth.
- ws_vzn4_dico_format : si provider_type = application Voo4, indique quelles informations relatives aux dictionnaires l’utliisateur souhaite récupérer dans le publipostage : l’id_data de l’item de dico, le libellé, le libellé court ou le code. Correspond à l’id_data d’un item du dico “dico_format” dans la tabble sys_dico_data.
- ws_vzn4_remove_line_ending : si provider_type = application Voo4, indique si les retours chariot sont remplacé par des espace ou non.
- tags : mots-clés rattachés à la tâche
- use_provider : inque si la tâche utilise un webservice (voo4 ou autre) ou non
- origin : type de modèle utilisé (pdf ou online), id d’un item du dico “origin_model” stocké dans la table saqd_dico_data
- html_model : code html du modèle si origin = Online
- html_margin_top : valeur de la marge supérieure du model html si origin = Online
- html_margin_bottom : valeur de la marge inférieure du model html si origin = Online
- html_margin_left : valeur de la marge à gauche du model html si origin = Online
- html_margin_right : valeur de la marge à droite du model html si origin = Online
- id_externe : colonne non utilisée (0 ou NULL)
- wsauth : cnotient les informations de connexion aux webservices de type application Voo4
- username : login
- pwd : mot de passe
- pwd_vector : vecteur du mot de passe
- app_url : vhost du projet
- posthandle : indique si les id_data des enregistrements traités par MailMerge doivent être renvoyés à l’application ou non.
Les tables de liaison
- mailing_file : liaison entre le publipostage et le fichier stockant le résultat du publipostage (pdf) et le fichier stockant les données ayant servies au publipostage (csv)
- id_mailing : id_data correspondant dans la table mailing
- id_file : id_data correspondant dans la table file
- type : type de fichier (publipostage/Mailing ou données/Datasource). Id_data de l’item du dico “mailing_file_type” dans la table saqd_dico_data.
- individualmailing : liaison entre le publipostage et le résultat pour chaque enregistrement
- id_mailing : id_data correspondant dans la table mailing
- id_file : id_data correspondant dans la table file
- id_provider_data : id_data de l’enregistrement dans la source de données
- mailingmodel_file : liaison entre la tâche et les fichiers contenant le modèle et les éventuels paramétrages
- id_mailingmodel : id_data correspondant dans la table mailingmodel
- id_file : id_data correspondant dans la table file
- mailingmodel_backgr : liaison entre la tâche et son éventuel fichier de background
- id_mailingmodel : id_data correspondant dans la table mailingmodel
- id_file : id_data correspondant dans la table file