Merci pour tes indications,
pour la peine , voici la m�thode que j'utilise pour installer de nouveau type
de document sans remettre � z�ro les autres types:
Dans un fichier <un_produit>/Extension/update_SPEC_documents.py , mettre ceci :
from Products.CPSInstaller.CPSInstaller import CPSInstaller
def update_SPEc_documents(self):
installer = DocInstaller(self)
installer.install()
return installer.logResult()
class DocInstaller(CPSInstaller):
product_name = 'CPSDocument'
def install(self):
self.log("Debut de mise a jour documents du SPEC")
self.installDocumentSchemas()
self.setupPortalTypes()
self.setupTranslations() # mets a jour les .po
self.log("Fin de mise a jour documents du SPEC")
def installDocumentSchemas(self):
self.verifyWidgets(self.portal.getCustomDocumentWidgetsSPEC())
self.verifySchemas(self.portal.getCustomDocumentSchemasSPEC())
self.verifyLayouts(self.portal.getCustomDocumentLayoutsSPEC())
self.verifyVocabularies(self.portal.getCustomDocumentVocabulariesSPEC())
# note : getCustomDocumentxxx corresponds aux fichier propos� par
CPSDocument et surcharg� pour mes documents sp�cifique.
def setupPortalTypes(self):
# setup portal_types
self.log("Verifying portal types")
self.flextypes = self.portal.getCustomDocumentTypesSPEC()
self.newptypes = self.flextypes.keys()
self.verifyFlexibleTypes(self.flextypes)
# le allowed content type du wokspace est mis � la main dans
getCustomDocumentTypesSPEC
Faire une external method :
Module name : un_produit.update_SPEC_documents
Function name : update_SPEC_documents
Puis la lancer , on cliquant sur test
-----Message d'origine-----
De : Anahide Tchertchian [mailto:[EMAIL PROTECTED]
Envoy� : jeudi 28 avril 2005 13:50
� : HERVE Patrick
Cc : Liste CPS (E-mail)
Objet : Re: [CPS-users-fr] getCustomDocumentTypes.py et Workspaces
HERVE Patrick wrote:
> j'ai cr�e un getCustomDocumentTypes.py dans lequel j'ai plac� mes nouveaux
> type de document.
> Tout ce cr�e une fois que je lance l'external methode cpsdocument_installer.
>
> Toutefois je remaque que la plupart de mes documents sont r�initialis�, chose
> que je ne d�sire pas vraiment en fait (taille des widgets customis� au cas
> par cas par exemple).
>
> Mais plus important, le type Workspace est r�-initialis� ce qui pose
> probl�me pour les 'allowed content type'
>
> Je place donc 'Workspace' aussi dans le fichier getCustomDocumentTypes.py ,
> et la je remarque une fois l'update faite, qu'il n'a pas pris en compte mes
> modifications concernant 'allowed content type', mais qu'il a ajouter mes
> modifications � la configuration par d�faut ...
>
>
> Comment faire pour qu'il ne prenne en compte que les donn�es mise dans
> getCustomDocumentTypes.py ?
>
> Est ce que la cr�ation de document par script se fait bien via
> cpsdocument_installer ?
Bonjour,
La cr�ation des types de documents peut effectivement se faire via
l'utilisation du script getCustomDocumentTypes.
La mise � jour des types de contenu autoris�s dans un "Workspace" se
fait de mani�re connexe : en effet, l'installeur de CPSDocument est
configur� pour autoriser tous les types de contenu d�clar�s dans
getDocumentTypes.py et getCustomDocumentTypes.py dans les workspaces.
Si vous souhaitez que certains documents ne soient pas autoris�s dans
les contenus, je vous conseille de cr�er votre propre installeur, qui
effectue des installations similaires � celles de CPSDocument (voir la
m�thode "setupPortalTypes" dans CPSDocument/Extensions/install.py).
Les deux installations que vous souhaietz d�coupler (et qui sont
coupl�es dans CPSDocument) sont :
self.verifyFlexibleTypes(self.flextypes)
qui installe les types de documents
self.allowContentTypes(types, 'Workspace')
qui autorise les types dans le type 'Workspace'.
Notez que 'Section' est d�j� supprim� de la liste des types � autoriser
dans cette m�thode.
Cordialement,
--
Anahide Tchertchian
Mail: at at nuxeo.com - Tel: +33 (0)1 40 33 71 60
Nuxeo Collaborative Portal Server: http://www.nuxeo.com/cps
Gestion de contenu web / portail collaboratif / groupware / open source
_______________________________________________
cps-users-fr
Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>