2012-03-20 11 views
8

Stiamo implementando un CMS Plone come repository per i documenti ISO9001.Il flusso di lavoro di Holy Grail of Plone

ISO richiede una certa quantità di registrazione, come chiunque abbia familiarità con lo standard probabilmente sa :-)

Per motivi di flessibilità che vorremmo integrare, in nessun ordine specifico:

  • Nuovo contenttypes: necessario integrare i diversi documenti che possono sorgere in un'impresa
  • Versioning: per mostrare che i nostri documenti sono sempre aggiornati e per mostrare quali modifiche sono state apportate rispetto a una versione precedente dello stesso documento
  • supporto copia di lavoro: in modo che un documento "pubblicato" rimane in linea mentre è in fase di modifica
  • Più complesso flusso di lavoro: rendere conto dei processi di revisione che sono obbligati dalla norma ISO
  • flusso di lavoro diverso per i diversi documenti: come flusso di lavoro dipendono sul tipo del documento.

Pertanto, il Santo Graal di ottimizzazione del flusso di lavoro dovrebbe essere (e per favore correggetemi se sbaglio):

  • Destrezza per i tipi di contenuto
  • CMFEdition (incorporato in Plone) per il controllo delle versioni
  • Iterate per lavorare supporto copia
  • plone.app.workflowmanager per i nuovi flussi di lavoro
  • Products.CMFPlacefulWorkflow per la differen t flussi di lavoro in base alle diverse documenti

Il problema è l'integrazione dei diversi prodotti:

  • Come si fa a versioni di lavorare con destrezza?
  • Come si aggiungono le copie di lavoro (mantenendo il controllo delle versioni necessario)?
  • E come si ottiene il proprio nuovo flusso di lavoro brillante (ottima interfaccia utente per workflowmanager) per giocare con le versioni e con le copie funzionanti.

ho raschiato il google-regno e già trovato questi collegamenti:

Abbiamo anche controllato:

che sono tutti installati e configurati ...

Tuttavia, il mio nuovo tipo di contenuto non consente il checkout/checkin (prodotto Iterate), e nemmeno le versioni/modifiche sono monitorate nella visualizzazione cronologica per questo stesso tipo di contenuto.

È una sequenza magica da seguire o mi manca qualcosa (o un sacco -che è più probabile)? Perché se tutti questi prodotti dovessero funzionare "out of the box" a mio avviso questa è una soluzione catchall a tutto il flusso di lavoro ...

add. 2012/04/17: Come rilevato da thet, lo stack è completato con sia

+0

Penso che ci riuscirai senza CMFPlacefulWorkflow: ti permetterà di assegnare i flussi di lavoro su una base per cartella. I flussi di lavoro per tipo possono essere eseguiti direttamente in portal_workflow. –

+0

Se sei paranoico sulla registrazione, ti suggerirei anche di considerare di sovrascrivere la scheda di condivisione/visualizzazione di pagina con qualcosa che registra tutte le modifiche all'accesso del ruolo locale a un file di log di testo (questo registrerà le modifiche in accesso, se scrivi il codice da fare così). Quindi impostare i gestori di eventi per IObjectModifiedEvent, (vedere zope.lifecycleevent) ecc. Per registrare ogni modifica (aggiunta, modifica, eliminazione) al contenuto nello stesso registro di testo. – sdupton

+0

Inoltre, considera di mantenere il flusso di lavoro sul filesystem. Per tutti, tranne i casi limite più complessi, potresti prendere in considerazione l'uso di http://pypi.python.org/pypi/collective.wtf per gestire le tue definizioni di flusso di lavoro personalizzate in CSV invece di esportare XML da ZMI portal_workflow e modificare l'XML in il filesystem. Esempio: http://goo.gl/aGGmz – sdupton

risposta

3

È necessario utilizzare plone.app.stagingbehavior (http://pypi.python.org/pypi/plone. app.stagingbehavior), che collega Iterate/CMFEditions a tipi di destrezza. Non sei sicuro dei tuoi problemi di versioning.

+0

Grazie Jon, sono arrivato a quel punto ieri sera tardi ... Cosa pensi della Destrezza contro gli Archetipi. Per me la destrezza sembra grande ma la "pluggability" sembra ancora paragonabile, puoi essere d'accordo? – Speediro

+0

Non hai idea di cosa intendi per "innesto". La destrezza è superiore agli archetipi in molti, ma non in tutti i modi. –

+0

Posso vedere che il mio commento è oscuro. Intendevo dire che nell'uso della destrezza in collaborazione con altri componenti aggiuntivi come ad es. placefulworkflow, iteratie, condivisione, indicizzazione e simili. Ricorda che questa è una interpretazione da novizio (cercando di superare la curva di apprendimento) :-) – Speediro

2

È inoltre possibile collegare il versioningbehavior

E stagingbehavior.

+0

concordato, tuttavia, poiché stiamo ancora iniziando con Plone, non è stato possibile eseguirlo, quindi siamo tornati ad Archetypes. Un commento prezioso però: +1 da parte mia. Vedrò se posso modificare il post ... – Speediro

Problemi correlati