Strumenti Utente

Strumenti Sito


documentazione_3di_riservata:docway4:script_utili_3

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
documentazione_3di_riservata:docway4:script_utili_3 [2017/09/13 10:18] ncandeloradocumentazione_3di_riservata:docway4:script_utili_3 [Data sconosciuta] (versione attuale) – eliminata - modifica esterna (Data sconosciuta) 127.0.0.1
Linea 1: Linea 1:
-===== sanitizerMessageId (script lua per modificare l'attributo messageId) ===== 
- 
-Lo script è stato realizzato per intervenire sull'attributo **messageId** del documento modificandolo per fare in modo che MSA riprocessi i messaggi già inseriti in archivio ma privi di allegati (in questo modo infatti la verifica di univocità viene schivata e il messaggio di posta viene riprocessato).\\ 
-Nel caso specifico lo script aggiunge la stringa **_ERR** in coda al messageId. 
- 
-<file lua sanitizerMessageId.lua> 
-local dbg = require 'xw.dbg' ({active=false, key='acl'}) 
-local xw = require('extraway') 
-xw.addPackage("$.xwTools") ; 
- 
---[[- 
---]] 
-function sanitizeMessageId(query) 
- -- deactivate triggers 
- xw.triggersOff() ; 
-         
- local outputXML = xw.prepareRecord("<report></report>") ; 
- local outputMainNode = outputXML:selectFirstNode("/report") ; 
- local recordIsModified = false ; 
- 
- --local targetRecordSet = xw.executeQuery('([/doc/@nrecord/]=00116607)') ; 
- local targetRecordSet = xw.executeQuery(query) ; 
-        xw.log.msg("Working on query: "..query.." records)") 
- if ( targetRecordSet:isValid() and 0 < #targetRecordSet ) then 
- local targetRecord = targetRecordSet:getFirst() ; 
- while ( targetRecord:isValid() ) do 
- recordIsModified = false ; 
- targetRecord_LockResult = targetRecord:lock() ; 
- if ( targetRecord_LockResult == true ) then 
- 
- local targetRecordRootNode = targetRecord:selectFirstNode("/doc", nil) ; 
- 
- local searchMessageIdandReplace = targetRecord:selectFirstNode("/doc", nil) ; 
- if ( searchMessageIdandReplace:isValid() ) then 
-                        local messageIdValue = searchMessageIdandReplace:getAttribute("messageId"); 
- --if ( messageIdValue == "messageId, ERR" then 
- searchMessageIdandReplace:setAttribute("messageId", messageIdValue .. "_ERR") ; 
- recordIsModified = true ; 
- --end 
- end 
- 
- if ( recordIsModified ) then 
- local outcome = targetRecord:save() ; 
- if ( outcome <= 0 ) then 
- targetRecord:unlock() ; 
- xw.log.msg('save error') ; 
- end 
- else 
- targetRecord:unlock() ; 
- end 
- else 
- xw.log.msg('lock error') ; 
- end 
- targetRecord = targetRecordSet:getNext() ; 
- end 
- 
- end 
- 
- -- activate triggers 
- xw.triggersOn() ; 
- 
- return 'true' ; 
-end 
- 
-sanitizerMessageId = { 
- sanitizeMessageId = sanitizeMessageId, 
- sanitizeMessageId_signature = { 
-    inParms = {"query"}, 
-      outParms = {"result"} 
- } 
-} ; 
-</file> 
- 
-<wrap em>Per il suo utilizzo lo script va copiato nella directory /opt/3di.it/extraway/xwee/script</wrap> e va eseguito tramite il seguente xmlcommand: 
- 
-<code xml> 
-<?xml version="1.0" encoding="ISO-8859-1"?> 
-<cmd stored="$.sanitizerMessageId.sanitizeMessageId"> 
-  <query>([/doc/storia/creazione/@data/]="20170725")</query> 
-</cmd> 
-</code> 
  
/data/attic/documentazione_3di_riservata/docway4/script_utili_3.1505290717.txt.gz · Ultima modifica: 2017/09/13 10:18 da ncandelora