Questa è una vecchia versione del documento!
Indice
Creazione nuovo d-model
D-model: definizione
Il d-model (document model) è lo strumento utilizzato dal MailStorageAgent (MSA) che contiene le regole e le modalità con cui i messaggi di posta vengono recepiti nell'archivio documentale.
D-model standard
Normalmente nell'installazione di base di Docway vengono forniti 2 d-model standard, uno configurato per la creazione di un documento di tipo non protocollato e uno configurato per la creazione di un documento di tipo bozza in arrivo. I d-model standard sono i seguenti:
D-model per la creazione di doc di topo varie
<documentModel db="xdocwaydoc" name="varie" nrecord="."> <notify cc="true" httpHost="http://localhost:8080" rpa="true" uri="/DocWay4/docway/loadtitles.pf"/> <item value="varie" xpath="doc/@tipo"/> <item value="getXPathValue(/casellaPostaElettronica/@cod_amm)" xpath="doc/@cod_amm_aoo"/> <item value="getXPathValue(/casellaPostaElettronica/@cod_aoo)" xpath="doc/@cod_amm_aoo"/> <item value="." xpath="doc/@nrecord"/> <item value="getYear()" xpath="doc/@anno"/> <item value="getDate()" xpath="doc/@data_prot"/> <item value="no" xpath="doc/@annullato"/> <item value="99" xpath="doc/@scarto"/> <item value="getFromName()" xpath="doc/autore"/> <item value="preserve" xpath="doc/autore/@xml:space"/> <item value="getSubject()" xpath="doc/oggetto"/> <item value="preserve" xpath="doc/oggetto/@xml:space"/> <item value="00/00 - non classificato" xpath="doc/classif"/> <item value="00/00" xpath="doc/classif/@cod"/> <item value="E-mail" xpath="doc/tipologia/@cod"/> <item value="addStoriaCreazione()" xpath=""/> <item value="addRPA()" xpath=""/> <item value="addCC()" xpath=""/> <attach_item value="addAndUploadEmailBodyAttach(/doc/files,TEXT,testo email,.txt)" xpath=""/> <attach_item value="addAndUploadEmailBodyAttach(/doc/files,HTML,testo email html,.html)" xpath=""/> <attach_item value="addAndUploadEmailAttachFiles(/doc/files)" xpath=""/> <attach_item value="addAndUploadEmailAttachImages(/doc/immagini)" xpath=""/> <attach_item value="computeAndAddFootprint(/doc/impronta)" xpath=""/> <attach_item value="assignChkin()" xpath=""/> </documentModel>
D-model per la creazione di bozza in arrivo
<documentModel db="xdocwaydoc" name="bozze_arrivo" nrecord="."> <notify cc="true" httpHost="http://localhost:8080" rpa="true" uri="/DocWay4/docway/loadtitles.pf"/> <item value="arrivo" xpath="doc/@tipo"/> <item value="si" xpath="doc/@bozza"/> <item value="getXPathValue(/casellaPostaElettronica/@cod_amm)" xpath="doc/@cod_amm_aoo"/> <item value="getXPathValue(/casellaPostaElettronica/@cod_aoo)" xpath="doc/@cod_amm_aoo"/> <item value="." xpath="doc/@nrecord"/> <item value="" xpath="doc/@anno"/> <item value="" xpath="doc/@data_prot"/> <item value="" xpath="doc/@num_prot"/> <item value="no" xpath="doc/@annullato"/> <item value="getSubject()" xpath="doc/oggetto"/> <item value="preserve" xpath="doc/oggetto/@xml:space"/> <item value="E-mail" xpath="doc/tipologia/@cod"/> <item value="addSenderFromACLLookup(/doc/rif_esterni/rif)" xpath=""/> <item value="addAllegatoForEmailAttachs()" xpath=""/> <item value="addStoriaCreazione()" xpath=""/> <item value="addRPA()" xpath=""/> <item value="addCC()" xpath=""/> <attach_item value="addAndUploadEmailBodyAttach(/doc/files,TEXT,testo email,.txt)" xpath=""/> <attach_item value="addAndUploadEmailBodyAttach(/doc/files,HTML,testo email html,.html)" xpath=""/> <attach_item value="addAndUploadEmailAttachFiles(/doc/files)" xpath=""/> <attach_item value="addAndUploadEmailAttachImages(/doc/immagini)" xpath=""/> <attach_item value="computeAndAddFootprint(/doc/impronta)" xpath=""/> <attach_item value="assignChkin()" xpath=""/> </documentModel>
Come si può vedere il d-model è composto da un elemento <documentModel> che racchiude un elemento <notify>, più elementi <item> e più elementi <attach_item>:
- <notify> contiene i seguenti attributi
- httpHost : nome dns del server Docway
- uri : componente del link per l'accesso diretto al documento (quasi sempre il suo valore è /DocWay4/docway/loadtitles.pf)
- rpa : se true viene inviata la notifica all'RPA del documento creato
- cc : se true viene inviata la notifica alle eventuali CC del documento creato
- <item> contiene i seguenti attributi
- xpath : xpath completo del campo del documento che deve essere creato
- value : valore da assegnare all'xpath; può essere un valore fisso oppure può essere assegnato tramite specifice funzioni java implementate nel MSA
- <attach_item> contiene i seguenti attributi
- xpath : xpath completo del campo dedicato all'allegato
- value : valore da assegnare all'xpath; contiente specifiche funzioni java per l'upload di allegati al documento creato.
Non ho mai avuto la necessità di modificare gli elementi <attach_item> pertanto è consigliabile non intervenire per modificarli!
D-model personalizzati
La personalizzazione dei d-model consiste nell'aggiunte di ulteriori regole ai modelli di base.
Aggiunta di classificazione fissa
<item value="06/06 - Rateazioni sotto soglia" xpath="doc/classif"/> <item value="preserve" xpath="doc/classif/@xml:space"/> <item value="06/06" xpath="doc/classif/@cod"/>
Aggiunta voce di indice fissa con classificazione
<item value="RATEAZIONI STC - ALESSANDRIA-ASTI" xpath="doc/voce_indice"/> <item value="preserve" xpath="doc/voce_indice/@xml:space"/> <item value="06/06 - Rateazioni sotto soglia" xpath="doc/classif"/> <item value="preserve" xpath="doc/classif/@xml:space"/> <item value="06/06" xpath="doc/classif/@cod"/>
Forzare la protocollazione automatica
Tramite alcune regole è possibile fare in modo che il messaggio di posta recuperato da MSA venga automaticamente protocollato senza passare nello stato di bozza; ovviamente il d-model di partenza per questo tipo di configurazione non può che essere quello per la creazione di una bozza in arrivo. Le regole da aggiungere sono le seguenti:
<item value="getYear()" xpath="doc/@anno"/> <item value="getDate()" xpath="doc/@data_prot"/> <item value="$ANNO$" xpath="doc/@num_prot"/> <item value="-" xpath="doc/@num_prot"/> <item value="getXPathValue(/casellaPostaElettronica/@cod_amm)" xpath="doc/@num_prot"/> <item value="getXPathValue(/casellaPostaElettronica/@cod_aoo)" xpath="doc/@num_prot"/> <item value="-" xpath="doc/@num_prot"/> <item value="." xpath="doc/@num_prot"/>
Aggiunta header e corpo della mail nel campo Note
<item value="From: " xpath="doc/note"/> <item value="getFromName()" xpath="doc/note"/> <item value="newLine()" xpath="doc/note"/> <item value="To: " xpath="doc/note"/> <item value="getTo()" xpath="doc/note"/> <item value="newLine()" xpath="doc/note"/> <item value="Cc: " xpath="doc/note"/> <item value="getCc()" xpath="doc/note"/> <item value="newLine()" xpath="doc/note"/> <item value="Sent: " xpath="doc/note"/> <item value="getHeader(Date)" xpath="doc/note"/> <item value="newLine()" xpath="doc/note"/> <item value="Subject: " xpath="doc/note"/> <item value="getSubject()" xpath="doc/note"/> <item value="newLine()" xpath="doc/note"/> <item value="newLine()" xpath="doc/note"/> <item value="getMailBody(TEXT)" xpath="doc/note"/> <item value="preserve" xpath="doc/note/@xml:space"/>
Aggiunta repertorio
Per la creazione di doc di tipo Varie:
<item value="NomeRepertorio" xpath="doc/repertorio"/> <item value="CodiceRepertorio" xpath="doc/repertorio/@cod"/> <item value="CodiceRepertorio^cod_amm_aoo-$ANNO$." xpath="doc/repertorio/@numero"/> <!-- Esempio --> <item value="Curricula" xpath="doc/repertorio"/> <item value="CV" xpath="doc/repertorio/@cod"/> <item value="CV^AVEPACL-$ANNO$." xpath="doc/repertorio/@numero"/>
Per la creazione di doc di tipo Bozza Arrivo
<item value="NomeRepertorio" xpath="doc/repertorio"/> <item value="CodiceRepertorio" xpath="doc/repertorio/@cod"/> <item value="" xpath="doc/repertorio/@numero"/> <!-- Esempio --> <item value="Documenti sanitari" xpath="doc/repertorio"/> <item value="DSAN" xpath="doc/repertorio/@cod"/> <item value="" xpath="doc/repertorio/@numero"/>
Importazione d-model
Per utilizzare i d-model personalizzati nella configurazione della casella di posta elettronica in ACL devono essere importati tramite la procedura WatchDoc di eXtraWay (per maggiori informazioni leggere qui).
Il d-model (o i d-model) personalizzato va importato all'interno del seguente tag:
<list_of_struttur xmlns:xw="http://www.3di.it/ns/xw-200303121136"> <!-- d-model personalizzato --> </list_of_struttur>
Ovviamente l'import va fatto nell'archivio acl.