Stockage de documents : chemin de stockage sur le serveur

Stockage de documents : chemin de stockage sur le serveur
0
Tags: #<Tag:0x00007f85f3a29510>

Bonjour,

Dans le cadre d’une migration d’application, nous recherchons le chemin absolu de stockage des documents.

Je constate qu’ en V4 Simplicité, les documents de l’appli sont stockés dans un répertoire ‘recyclebin’.

Est-ce normal ?

Merci de votre réponse et meilleurs voeux.

Guillaume

J’oubliais :

[Platform]
Status=OK
Version=4.0.P23
BuiltOn=2019-12-20 18:27 (revision 7f9d1a3c55293dc181b03c412dce366572bd32a1)
Encoding=UTF-8
EndpointIP=192.168.1.20
EndpointURL=https://Rec-sim:10258/agmanif
TimeZone=Europe/Paris
SystemDate=2020-01-06 15:21:25

[Application]
ApplicationVersion=4.0
ContextPath=/agmanif
ContextURL=https://rec.bretagne.bzh/agmanif
ActiveSessions=1
EnabledUsers=197
TotalUsers=198
LastLoginDate=2020-01-06 15:20:04

[Server]
ServerInfo=Apache Tomcat/9.0.30
ServerType=WEB
User=agmanif

[OS]
Name=Linux
Architecture=amd64
Version=3.10.0-1062.1.1.el7.x86_64
SystemEncoding=UTF-8

[Disk]
DiskFree=26095
DiskUsable=24493
DiskTotal=37149

[JavaVM]
Version=1.8.0_222
Vendor=Oracle Corporation
VMName=OpenJDK 64-Bit Server VM
VMVersion=25.222-b10
ScriptEngine=rhino
ScriptEngineVersion=Rhino 1.7.10 2018 04 09
HeapFree=70433
HeapSize=313856
HeapMaxSize=466432
TotalFreeSize=223009

[Cache]
GrantCache=92
GrantCacheMax=0
GrantCacheRatio=0
ObjectCache=112
ObjectCacheMax=10000
ObjectCacheRatio=1
ProcessCache=1
ProcessCacheMax=10000
ProcessCacheRatio=0

[Database]
Vendor=2
ProductName=MySQL
ProductVersion=5.5.5-10.2.9-MariaDB-10.2.9+maria~stretch
DriverName=MySQL Connector/J
DriverVersion=mysql-connector-java-8.0.18 (Revision: fef2894d751d47223192b706977b4a5bc41e6be4)
DBDate=2020-01-06 15:21:25
DBDateOffset=0
DBPatchLevel=P23
UsingBLOBs=true

[Healthcheck]
Date=2020-01-06 15:21:25
ElapsedTime=12

Les document qui sont dans “recyclebin” sont ceux qui sont à la poubelle donc ceux qui ne sont plus associés à des records d’objet métier.

Les documents de votre application qui sont encore liés à des records d’objet métier sont là où le parametre système DOC_DIR définit qu’ils sont.

Si la valeur de ce paramètre est “BLOB” ils sont en BLOB en base de données sinon c’est soit un chemin absolu, soit un chemin relatif vis à vis du chemin dans le paramètre système PROJECT_DIR (en 4.0 si celui-ci vaut “default” cela signifie <chemin de la webapp>/WEB-INF)

Merci, la présence d’un chemin dans le champ dbd_path m’avait emmené sur une fausse piste. Effectivement un blob est présent dans le champ dbd_content.


Bonne journée

Bonjour,

Je veux stocker les documents d’une application dans un sous-répertoire de ‘WEB-INF’. Puis-je à votre avis utiliser à cette fin le répertoire ‘doc’, qui est vide par défaut ?

En effet, les fichiers étant volumineux je souhaite éviter le dossier ‘dbdoc’ pour ne pas remplir les sauvegardes.

Merci

Tout dépend ce qu’on entend par “document de l’application” et comment on souhaite les exploiter dans l’application

Ce sont des fichiers uploadés par nos utilisateurs (des fichiers pdf, excel…). Ils seront uploadés et visualisables. C’est un simple champ de type document dans un de nos objets métier.

Si ces documents sont des données (ici un attribut d’un objet métier) ils sont gérés en tant que tel, donc dans le répertoire dbdoc ou en BLOB en base.

Historiquement on pouvait créer (par code ou import XML) des documents avec un path absolu dans m_document et donc les mettre physiquement où on veut. Je pense que c’est toujours possible en 4.0 mais du coup ce ne sont pas des documents uploadables via la UI (car ceux ci vont dans le dboc ou en BLOB)

Par contre je ne sais pas trop ce qui se passe en mode BLOB avec des documents avec ce genre de path absolu.

Je cherche à migrer de V3 en V4, pour cela j’ai :
-remplacé le paramètre système DOC_DIR qui est “BLOB” par défaut en V4 par “dbdoc”
-copié les fichiers du répertoire “D:\serveur\Tomcat7.0.67\data\simplicite\crbsimplicite\dbdoc\MonAppli” de la V3, vers “/home/MonAppli/tomcat/webapps/MonAppli/WEB-INF/dbdoc/” en V4
-migré les données de la table m_document de V3 vers la table m_document de V4

-> Cela fonctionne en utilisant le chemin relatif ‘dbdoc’ : je visualise bien mes documents.

En revanche, en spécifiant un chemin absolu dans DOC_DIR (sans avoir redémarré la plateforme je l’avoue) le comportement de la plateforme était erratique et je n’ai pas insisté, je préfère donc utiliser un chemin relatif car cela fonctionne, mais autre que ‘dbdoc’.

Par construction un chemin relatif dans m_document est relatif par rapport au DOC_DIR (i.e. WEB-INF/dbdoc par défaut).

Si vous voulez mettre les fichiers ailleurs c’est forcément avec des path absolus. Si on est pas en mode BLOB ça devrait marcher (en mode BLOB comme je l’ai dit je sais pas)

Mais fondamentalement je ne comprends pas trop pourquoi vous avez opté pour une approche “couches basses” au lieu de faire des exports/imports ZIP de vos objets avec leurs documents