Bonjour � tous,
je souhaiterais int�grer de fa�on automatique dans CPS, un grand nombre de fichiers (plusieurs milliers) qui se trouvent sur deux serveurs diff�rents.
L'arborescence des serveurs serait reconduite dans les espaces de travail (workspaces) et les sections,
par exemple le fichier
\\repertoire1\sous-repertoire5\fichier4 se retrouverait dans l'espace de travail "repertoire1\sous-repertoire5" et dans la section de m�me nom.
Ceci permettrait de faire de la gestion documentaire, de naviguer plus facilement dans les rubriques d'un site, et de b�n�ficier du moteur de recherche.
J'utilise Zope 2.7.3 et CPS 3.2.3.
J'ai trouv� dans les archives deux demandes presque identiques que je reproduis ci-dessous, avec une solution de Encolpe Degoute.
J'ai essay� ces deux scripts, mais il semble que ce soit diff�rent avec CPS 3 :
1) workgroup_create n'existe plus dans CPS 3.2.3., je ne sais pas par quoi il a �t� remplac�.
2) cpsdocument_create de la 2�me solution n'existe pas, je suppose qu'il a �t� remplac� par CreateCPSDocument. Mais je ne sais pas si les param�tres sont bons.
3) Je n'ai pas trouv� cpsdocument_masscreate de la 1�re solution.
Bref je suis bloqu�, �a ne fonctionne pas.
Cordialement,
Patrick Maynard.
--------------------------------------------------------------------------
Extrait d'un message de J�rome Cuignet de d�cembre 2003 :
"Bonjour � tous!
J'ai une question concernant l'int�gration de nombreux documents existants.
Je travaille dans une entreprise qui d�sire utiliser Zope pour la gestion de
sa documentation interne. Pour le moment, les documents sont stock�s sur une
partion r�seau (windows NTFS) accessible � tous et organis�s de la fa�on
suivante : j:\NomDuService\Theme\document.ext
Les documents sont de tout types, aussi bien MSoffice, openOffice que pdf ou
simples .txt, ect...
Ces documents repr�sentent une volume approchant les 10 Go.
Je cherche donc un moyen d'int�grer automatiquement ces documents au
portail, le <NomDuService> devenant un workgroup et une section et le
<Theme> un sous workgroup et une sous section.
Il me faudrait donc un outil permettant de parcourir le disque, et pour
chaque document trouv� de :
- d�terminer si les workgroups et sections correspondantes existent ou non
- les cr�er le cas ech�ant
- stocker les fichiers dans CPS dans le workgroup correspondant et de les
publier directement dans la bonne section correspondante.
..."
-----
script propos� :
#!/bin/sh
>
> #########################################################
> #
> # Encolpe Degoute pour Nuxeo.com sous licence GPL
> # 2003-02-12 Version 0.1.1
> #
> #########################################################
>
> #
> # Ce script est pr�vu pour enregistrer en masse des
> "File Document"
> dans CPS# Il peut �tre adapt� aux formulaires des
> autres CPSDocuments.
> # Le cpsdocument_masscreate est une version modifi� du
> cpsdocument_create qui # ajoute 1000 documents dans un
> espace de
> travail#
>
>
> if [ ! -n "$1" ]
> then
> echo "Usage : install.sh -user zopeusername -password
> zopepassword
> -host zopehost:port -zopepath zopepath -CPSname
> cpsinstancename -file
> fileabsolutename -n numberofiteration -admin
> adminlogin -adminpw
> adminpassword" exit 65
> fi
>
> ZOPE_ADDRESS=http://${6}
> ZOPE_AUTH=${2}:${4}
> ZOPE_PATH=${8}
> CPS_NAME=${10}
> TEST_FILE=${12}
> I_MAX=${14}
> ZOPE_ADMIN_AUTH=${16}:${18}
> ZOPE_COMMAND="${ZOPE_PATH}/bin/python
> ${ZOPE_PATH}/lib/python/ZPublisher/Client.py"
>
>
> echo "ZOPE_ADDRESS=http://${6}"
> echo "ZOPE_AUTH=${2}:${4}"
> echo "ZOPE_PATH=${8}"
> echo "CPS_NAME=${10}"
> echo "TEST_FILE=${12}"
> echo "ZOPE_ADMIN_AUTH=${16}:${18}"
> echo "ZOPE_COMMAND=${ZOPE_PATH}/bin/python
> ${ZOPE_PATH}/lib/python/ZPublisher/Client.py" echo
>
> NUMBERS=$(seq 1 ${I_MAX})
>
> for i in $NUMBERS;
> do
> echo "passage $i";
>
>
> WORKGROUPNAME="espace_$i";
> echo "Creating new workgroup: ${WORKGROUPNAME}"
> ${ZOPE_COMMAND} -u ${ZOPE_AUTH}
> ${ZOPE_ADDRESS}/${CPS_NAME}/Groups/workgroup_create
> title="${WORKGROUPNAME}" description="espace de
> remplissage $i"
> default_id_from="title"
> default_title_from="description" 2>/dev/null
> 1>/dev/null;
> echo "upload thousand times the file";
>
> #
> # Insertion du fichier dans l'instantance CPS
> #
> ${ZOPE_COMMAND} -u ${ZOPE_AUTH}
> ${ZOPE_ADDRESS}/${CPS_NAME}/Groups/${WORKGROUPNAME}/cpsdocument_masscre
> ate title="doc_remplissage$i" description="document de
> remplissage $i"
> file:file=${TEST_FILE} related-links="http://nuxeo.com
> Nuxeo"
> type_name="File Document" default_id_from="title"
> default_title_from="description" 2>/dev/null
> 1>/dev/null;
>
> if [ $(( $i % 20 )) = 0 ]; then
> echo "Packing..."
>
> #
> # Pack de la ZODB
> #
> ${ZOPE_COMMAND} -u ${ZOPE_ADMIN_AUTH}
> ${ZOPE_ADDRESS}/Control_Panel/Database/manage_pack
> 2>/dev/null
> 1>/dev/null; fi
>
> done
--------------------------------------------------------------------------
message de Laurent Schmitz en mai 2004 :
| Bonjour,
|
| Une petite question concerant l'upload de fichiers dans CPS 2.1 sous Windows
| NT4. Es t il possible d'upload plus rapidement les fichiers vers des
| rubriques ?? car je dois placer +- 10.000 fichiers sur mon portail et les
| transf�rer 1 par 1 serait bcp trop fastidieux !!! donc y a t il un moyen (
| par ftp par ex) des fichiers sur CPS ???
| Pouvez vous alors m'expliquer la marche a suivre !!!??
---------
solution propos�e :
Il faut faire un script d'insertion � partir d'un fichier cvs et utiliser
une m�thode d'ajout g�n�rique. J'avais cr�� le script suivant pour CPS2,
mais le concept reste le m�me.
#!/bin/sh
#########################################################
#
# Encolpe Degoute pour Nuxeo.com sous licence GPL
# 2003-02-12 Version 0.1.1
#
#########################################################
#
# Ce script est pr�vu pour enregistrer en masse des "File Document" dans CPS2
# Il peut �tre adapt� aux formulaires des autres CPSDocuments.
#
if [ ! -n "$1" ]
then
echo "Usage : install.sh -user zopeusername -password zopepassword -host zopehost:port -zopepath zopepath -CPSname cpsinstancename -file fileabsolutename -n numberofiteration -admin adminlogin -adminpw adminpassword"
exit 65
fi
ZOPE_ADDRESS=http://${6}
ZOPE_AUTH=${2}:${4}
ZOPE_PATH=${8}
CPS_NAME=${10}
TEST_FILE=${12}
I_MAX=${14}
ZOPE_ADMIN_AUTH=${16}:${18}
ZOPE_COMMAND="${ZOPE_PATH}/bin/python ${ZOPE_PATH}/lib/python/ZPublisher/Client.py"
echo "ZOPE_ADDRESS=http://${6}"
echo "ZOPE_AUTH=${2}:${4}"
echo "ZOPE_PATH=${8}"
echo "CPS_NAME=${10}"
echo "TEST_FILE=${12}"
echo "ZOPE_ADMIN_AUTH=${16}:${18}"
echo "ZOPE_COMMAND=${ZOPE_PATH}/bin/python ${ZOPE_PATH}/lib/python/ZPublisher/Client.py"
echo
NUMBERS=$(seq 1 ${I_MAX})
for i in $NUMBERS;
do
echo "passage $i";
WORKGROUPNAME="espace_$i";
echo "Creating new workgroup: ${WORKGROUPNAME}"
${ZOPE_COMMAND} -u ${ZOPE_AUTH} ${ZOPE_ADDRESS}/${CPS_NAME}/Groups/workgroup_create title="${WORKGROUPNAME}" description="espace de remplissage $i" default_id_from="title" default_title_from="description" 2>/dev/null 1>/dev/null;
echo "upload thousand times the file";
#
# Insertion du fichier dans l'instantance CPS
#
${ZOPE_COMMAND} -u ${ZOPE_AUTH} ${ZOPE_ADDRESS}/${CPS_NAME}/Groups/${WORKGROUPNAME}/cpsdocument_create title="doc_remplissage$i" description="document de remplissage $i" file:file=${TEST_FILE} related-links="http://nuxeo.com Nuxeo" type_name="File Document" default_id_from="title" default_title_from="description" 2>/dev/null 1>/dev/null;
if [ $(( $i % 1000 )) = 0 ]; then
echo "Packing..."
#
# Pack de la ZODB
#
${ZOPE_COMMAND} -u ${ZOPE_ADMIN_AUTH} ${ZOPE_ADDRESS}/Control_Panel/Database/manage_pack 2>/dev/null 1>/dev/null;
fi
done
-----------------------------------------------------------------------------------------------------------
fin du message.
_______________________________________________ cps-users-fr Adresse de la liste : [email protected] Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
