Title: Int�gration nombreux documents dans CPS

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>

Répondre à