ContentObject
Le ContentObject est un XML général qui permet de qualifier un contenu complexe dans l’outil :
- Chaîne, contenue ou générée par le moteur
- Fichier avec le mode de récupération
Il est ensuite utilisé dans les XML des conditions et des actions si besoin.
XML
<data type=’string|file|engine|var’ finalFileName='' fileName=’nom du fichier’ fileContent=’’ engineType=’text|stream’ contentType=’’ loaderConfig=’’ zip=’’ dbConfigSection=''>
<loaderConfig>configuration du chargeur de fichier éventuel</loaderConfig>
Contenu sous forme de chaîne pour type=’string’
<handler>section du moteur</handler>
<params> paramètres du moteur
<param name=""></param>
</params>
</data>
Explication des variables
Le nom de la balise data est indicatif, cela dépend de l’utilisation du XML.
Dans les cas fichiers finalFileName permet de déterminer le nom du fichier qui sera renvoyé dans les méthodes de récupération de stream, contentType détermine le type de fichier.
La configuration du XML dépend du paramètre @type
- string : le contenu texte de la balise est utilisé, aucun autre paramètre.
- var : renvoie une version chaîne de la variable dont le nom est dans le contenu texte de la balise
- engine : engineType indique si le contenu est du texte ou du flux de données (PDF par exemple), et la section du moteur utilisée est dans handler et les paramètre qui seront dans monConfig dans params (@name le nom, le contenu la valeur)
- sql : renvoie dans une chaîne la première colonne de la première ligne de la requête SQL dans le texte de la balise en utilisant comme abstracter celui précisé dans dbConfigSection.
- file : plusieurs cas de figure (avec zip si le flux est zippé pour de dézipper automatiquement)
- fileName est rempli : il s’agit du chemin du fichier sur le serveur
- fileContent est rempli : il s’agit d’un nom de variable contenant soit une chaîne en base64, soit un tableau de byte, soit un flux, soit un FileInfo, qui sera pris en référence pour générer le Stream
- loaderConfig est rempli : section de configuration pour un ILoadFileAction qui ensuite créée un IFileLoader avec le paramètrage contenu dans la balise loaderConfig.
Méthodes de l’objet
Configure(XmlElement) : lance la configuration de l’objet, à utiliser dans la méthode Configure de l’IWorkflowAction.
GetContent(WorkflowExecutionContext cont, out String finalName) : renvoie un Stream avec le contenu du fichier ou du texte (en UTF-8), et renvoie également le nom du fichier généré.
GetContent(Encoding enc, WorkflowExecutionContext cont, out String finalName) : renvoie un Stream avec le contenu du fichier ou du texte (avec l’encodage précisé), et renvoie également le nom du fichier généré.
GetFileDate(WorkflowExecutionContext cont) : si le contenu est un fichier, renvoie la date du fichier.
GetBase64Content(WorkflowExecutionContext cont) : renvoie la chaîne en base 64 avec le contenu du fichier ou du texte (en UTF-8), et renvoie également le nom du fichier généré.
GetStringContent(WorkflowExecutionContext cont) : renvoie le contenu de l’objet sous forme de chaîne.