Téléchargement des produits


Version anglaise


 

Les VirtualFileSystems (VFS) sont un mécanisme mis à disposition des applications permettant d'obtenir une abstraction du système de fichier physique.

Ainsi il est possible de créer des Unités de disques C:, D:, etc. y compris dans le cadre de l'hébergement de l'application web sur un système POS-IX par exemple.


Déclaration de base des VirtualFileSystems.  Les VFS HOME et TEMP sont obligatoires.



<virtualFileSystems>

     <virtualFileSystem name="HOME" fileSystemProviderClassName="com.hardis.wagon.impl.vfs.WagonDefaultFileSystem" rootPath="C:/HOME"/>

     <virtualFileSystem name="TEMP" fileSystemProviderClassName="com.hardis.wagon.impl.vfs.WagonDefaultFileSystem" rootPath="C:/TEMP"/>

</virtualFileSystems>



Exemple avancé :


<virtualFileSystems>

     <virtualFileSystem name="HOME" fileSystemProviderClassName="com.hardis.wagon.impl.vfs.WagonDefaultFileSystem" rootPath="d:/temp/vfs/user/{userid}"  createOnStartup="true" />

     <virtualFileSystem name="TEMP" fileSystemProviderClassName="com.hardis.wagon.impl.vfs.WagonDefaultFileSystem" rootPath="{java.io.tmpdir}/{sessionid}" createOnStartup="true" deleteOnExit="true"/>

     <virtualFileSystem name="C" fileSystemProviderClassName="com.hardis.wagon.impl.vfs.WagonDefaultFileSystem" rootPath="d:/temp/vfs/fake_c" />

     <virtualFileSystem name="D" fileSystemProviderClassName="com.hardis.wagon.impl.vfs.WagonDefaultFileSystem" rootPath="d:/temp/vfs/fake_d" />

     <virtualFileSystem name="R" fileSystemProviderClassName="com.hardis.wagon.impl.vfs.WagonDefaultFileSystem" rootPath="d:/temp/vfs/fake_r"/>

</virtualFileSystems>



↑ Haut de page



Attribut

Valeur

Remarques

name

nom du VFS.

Obligatoire.

Par convention, le chemin d'accès aux fichiers du VFS est nom:/chemin/fichier. Les séparateurs / et \ sont supportés de manière indifférente.

fileSystemProviderClassName

Classe d'implementation du VFS.

Obligatoire.

L'implémentation com.hardis.wagon.impl.vfs.WagonDefaultFileSystem permet d'accéder au système de fichiers standard de la machine serveur.

L'implémentation com.hardis.wagon.s3.vfs.WagonS3FileSystem permet d'accéder à un serveur implémentant le protocole Amazon S3 (cloud amazon, minio).

rootPath

Chemin physique réel.

Obligatoire.

Il existe des macros pour rendre les rootPath dynamiques :

- {userid} : sera dynamiquement substitué par le nom de l'utilisateur connecté,

- {sessionid} : sera dynamiquement substitué par un id de session unique,

- {java.io.tmpdir} : fait référence à l'option -Djava.io.tmpdir de la jvm.

- {webapp.rootdirectory} : fait référence à la racine de l'application web. Pour des raisons de sécurité, il est préférable de ne pas référencer directement la racine et de privilégier un sous-répertoire.

- de façon générale, la syntaxe ${VARIABLE} sera remplacée par la valeur de la propriété système Java "VARIABLE" si elle est définie (par exemple via DVARIABLE=valeur sur la ligne de commandes java).

createOnStartup

"true" ou "false"

Optionnel.

Valeur par défaut : "false".

Ne fonctionne qu'avec un rootPath utilisant une macro {userid} ou {sessionid}. Crée dynamiquement le chemin sur le système de fichier physique.

deleteOnExit

"true" ou "false"

Optionnel.

Valeur par défaut : "false". Ne fonctionne qu'avec un rootPath utilisant une macro {userid} ou {sessionid}. Supprime de manière récursive une arborescence créée dynamiquement.

visible

"true" ou "false"

Optionnel.

Cette option est supportée pour compatibilité ascendante, elle est remplacée par le droit d'accès UiDisplay (qui est prioritaire dans le cas où les deux options sont spécifiées).


Gestion des droits d'accès

Par défaut les utilisateurs ont tous les droits sur les fichiers et répertoires se trouvant sous les VFS définis.

Cependant, il est possible d'indiquer des droits au niveau des VFS.

Il y a deux catégories de droits : les droits d'accès standards qui s'appliquent même aux actions internes des programmes et les droits d'accès qui correspondent aux actions proposées par les boîtes Adélia travaillant sur le VFS (droits dont le nom commence par "Ui") : boîtes affichées par les fonctions VaToolBxFileSelection, VaToolBXOpenDirSelection, VaToolBxOpenFileMultiSelection, VaToolBxSaveFileSelection, ainsi que l'explorateur de fichiers.


Ces droits se définissent par une section parameters incluse dans la section virtualFileSystem :


<virtualFileSystem name="nom" fileSystemProviderClassName="com.hardis.wagon.impl.vfs.WagonDefaultFileSystem" rootPath="chemin" >

   <parameters>

       <item key="nom du droit" value= "true|false|nom_role_utilisateur"/>

       ....

   </parameters>

</virtualFileSystem>



Valeurs possibles :

true : droit toujours accordé sur le VFS. Valeur par défaut.

false : droit jamais accordé sur le VFS.

nom_role_utilisateur : droit accordé sur le VFS seulement aux utilisateurs ayant ce rôle.


Nom du droit

Description

read

Droit gérant les accès en lecture sur le VFS.

write

Droit gérant les accès en écriture sur le VFS.

UiDisplay

Droit gérant l'affichage du VFS dans les botes Adélia travaillant sur le VFS.^

Remplace la spécification de l'attribut "visible".

UiUpload

Droit gérant l'action de dépôt d'un fichier sur le VFS dans les boîtes Adélia travaillant sur le VFS.

UiDownload

Droit gérant des actions "Télécharger" et "Afficher" sur un fichier du VFS dans les boîtes Adélia travaillant sur le VFS.

UiCreate

Droit gérant les actions de création d'un nouveau document ou dossier sur le VFS dans les boîtes Adélia travaillant sur le VFS.

UiDelete

Droit gérant les actions de suppression d'un fichier ou d'un dossier du VFS dans les boîtes Adélia travaillant sur le VFS.

UiRename

Droit gérant l'action de renommage d'un fichier ou d'un dossier du VFS dans les boîtes Adélia travaillant sur le VFS.

Note : il est possible de tester les droits à l'exécution à l'aide de la fonction VaToolBxCloudCheckVFSPrivilege.


Exemple :



<virtualFileSystem name="C" fileSystemProviderClassName="com.hardis.wagon.impl.vfs.WagonDefaultFileSystem" rootPath="d:\vfs\fake_c">

<parameters>

<item key="UiDownload" value="true">

<item key="UiCreate" value="Util_Confirme">

<item key="UiDelete" value="admin">

<item key="UiRename" value="false">

<\parameters>

<\virtualFileSystem>




N.B. : il est possible d'indiquer dans l'élément "parameters" un attribut optionnel "substituteValues" (type booléen, valeur par défaut : false).

Si cet attribut est présent et est égal à "true", la syntaxe ${VARIABLE} sera remplacée dans la valeur des paramètres (attribut "value" des éléments "item") par la valeur de la propriété système Java "VARIABLE" si elle est définie (par exemple via -DVARIABLE=valeur sur la ligne de commandes java).

La valeur restera inchangée si la propriété système n'existe pas.


Dans l'exemple suivant :

<parameters substituteValues="true">

    <item key="tempDir" value="${java.io.tmpdir}" />

</parameters>


Le parameter "tempDir" sera substitué lors de l'exécution par le chemin du répertoire temporaire de la machine.


↑ Haut de page

  • Aucune étiquette