====== eXtraWay Web Service - Versioni ======
Di seguito l'**elenco** delle **versioni** dei **Web Service** e delle loro **caratteristiche**.
**N.B**: Per quanto concerne la **numerazione** dei **moduli** si rimanda alla ''[[tecnici:prodotti_e_servizi:extraway_platform_server:versioni_extraway_server|descrizione della numerazione adottata per il Server]]''
===== Versioni '3' =====
==== Versione 3.7.13 ====
* Modificato il **processo** di **elaborazione** dei **titoli** dei **documenti** così da trattare in modo opportuno anche sequenze di **caratteri non standard** ((non esprimibili secondo il set di carattere ''windows-1252'')) e quindi espressi in **forma** di **entity numeriche**.
* Applicata **correzione** sull'**invio** della **notifica protocollazione** di una **bozza** ((vedi eGroupWare 2296)).\\ Corrisponde agli **interventi** in **DocWay 4.2.4.RE**
* Garantita la **possibilità** di introdurre **nuovi allegati** ed **immagini** anche su **record** di tipo **Protocollo**, purché si abbiano speciali diritti in tal senso.
==== Versione 3.7.12 ====
**Emesso il 17/07/2014**
* Modificato il **comportamento** dei **Web Services** in materia di **report**.\\ La **DataSource** generata, anche se il **report** sfrutta un **file XML** e non una selezione o un elenco di **documenti**, è ora completamente compatibile con quella preesistente. L'utilizzatore non si rende conto della differenza.
* Corretto il **comportamento** del **sistema** di **generazione** dei **report** in modo che chiuda regolarmente i **file** di **properties** che dichiarano l'orario in cui ha avuto inizio la lavorazione di un **report** così che gli stessi possano essere rimossi regolarmente.
==== Versione 3.7.11 ====
**Ultima emissione 16/06/2014**
* Introdotti nuovi **logs** per investigare un **errore** derivante dall'**uso** della ''checkInContentFile'' con un **nome** di **file** che risulta apparentemente errato. Modificato un **metodo** atto a valutare l'**encoding** dei **documenti** così da tutelarsi dalla **possibilità** che l'**encoding** sia sottinteso ((e quindi UTF-8)).
* Esposto il ''Report Manager Servlet'' precedentemente presente ma esposto manualmente solo in alcune **installazioni**.
* Introdotto **pacchetto** ''rhino-1.7R3.jar'' per **Jaster Report** in quanto nelle **installazioni standard** la **componente** (presente nei sistemi di sviluppo) è mancante.
* Introdotta la **possibilità** di inserire **properties custom** entro il **file** di **properties** del **report**.\\ Elencando sotto la **property** ''report.customProps'' l'elenco delle **properties** volute tutte quelle presenti e riconosciute come ''report.'' verranno tornate.\\ Ad esempio, impostando...\\ \\ report.customProps=query,lines\\ \\ verrà tornato, oltre alle **properties** di **default** anche il valore delle properties ''report.query'' e ''report.lines''.
* In sede di **stampa** da **Stored Procedure** asincrona si gestiscono correttamente sia il **file** di **selezione**, che il **file XML** sorgente ma non la lista documenti. Corretto.
* Aggiornato il ''generic.jar'' alle **modifiche** più recenti.
==== Versione 3.7.10 ====
** Emissione del 19/04/2014 per installazione REvoluTIon (Egaf)**
* Adozione della **componente** ''XWay4Jasper'', ''fileIndex'', ''generic'' e ''code'' proveniente dalla ''HEAD'' a seguito miscelatura degli **interventi** compiuti .
* Ritocco dell'**intervento** di cui alla **versione 3.7.9** in modo che, compiendo una ''setCurrentSet()'' con **parametro** ''force'', la selezione sulla quale si intende operare, se non presente nell'**albero** delle **selezioni**, no venga mai inserita in esso pur divenendo disponibile all'utente;
* Introdotta la possibilità di compiere un **report** non da una selezione o da un **file XML** bensì dall'esecuzione di una **Stored Procedure** che produca, come risultato una **selezione** (''selectionId'') o un **file XML** (''xmlSourceFile''). si compie col **metodo** ''generateReportFromSPAsync()'' ;
* Forzato il **riconoscimento** dell'**archivio corrente** in modo da applicare il **filtro titoli** solo dove richiesto (''xdocwyadoc'') e non a tutti gli archivi indistintamente;
* Introdotta la possibilità di forzare l'**output** di parti **XML** senza il **Pretty Print** che fino ad ora era il **default** ma poteva comportare effetti collaterali sgraditi.
==== Versione 3.7.9 ====
**Emissione del 13/03/2014 prima dell'allineamento con il ''generic'' in versione ''HEAD''**
* Introdotte alcune specifiche **modifiche** per unificare il **Web Service** standard e la **personalizzazione** per //O.P.E.R.A. di Regione Veneto//. richiede di impostare a ''yes'' il **profilo** ''rvOperaMode'' nel **file** ''it.highwaytech.apps.custom.properties'' ;
* Introdotti **metodi** specifici per il **caricamento** degli **allegati** esplicitando l'**identificativo** dell'**unità informativa** cui l'**allegato** fa riferimento. Funzionale sia per rendere più rapido il **reperimento** dell'**allegato** in senso generale, sia per introdurre il **concetto** di **Pool** di **archivi**;
* Ripristinato il **meccanismo** realizzato espressamente per la gestione **report**, aggiornato alla **versione 5.5** di **Jasper Report** ed introdotta la possibilità di stampare da una **fonte dati** in forma di **file XML**;
* Introdotta la possibilità di compiere una ''setCurrentSet'' avvalendosi di un **ID** di **selezione** anche se la stessa appartiene ad una sessione differente da quella attuale forzandone l'introduzione nella **sessione**;
* Corretto un comportamento del **Web Service** che forza una **conversione** non richiesta sugli **allegati** per il semplice fatto che l'**elemento** ''xw:file'' contiene del **testo**, anche se esso è meramente rappresentato da **spazi** e **riporti** a capo fisiologici della presenza, ad esempio, dell'**elemento** di ''check_in'' .
==== Versione 3.7.8 ====
** Emissione del 21/02/2014 per Egaf **
* Introdotta la possibilità, in sede di selezione, di indicare tanto la **dimensione** della **pagina titoli** quanto la **regola** che si intende applicare per la **prima pagina** tornata contestualmente alla **selezione**.
==== Versione 3.7.7 ====
* Introduzione di una **sub-interfaccia** per il solo **utilizzo** da parte di **applicazioni** (attualmente) **mobile**. Espone **metodi singoli** quindi accettabili per il **paradigma wsdl 2.0**;
* La **generazione** del **file PDF** veniva forzata anche se non richiesta in alcuni casi. Corretto.
==== Versione 3.7.6 ====
* Risoluzione del **numero fisico** in modo più spedito per migliorare le **performance**;
* Tutelata l'esecuzione dei **comandi** di **Plug-In** in modo che in caso di eccezione tornino un **errore** appropriato;
* Introdotta la possibilità di avere più **estensioni** del **servizio** di **base**.
==== Versione 3.7.5 ====
* Revisione delle **funzioni** per la gestione dell'**albero** dei **fascicoli** con la possibilità di visualizzare dei **documenti** con **numero massimo** di documenti da mostrare;
* Cambiamenti nella ''checkFolderChildren()'' per superare **limiti** imposti in **sede** di **ricerca**;
* Corretto **errore** nel **salvataggio** dei **gruppi**;
* Introdotta **chiamata** diretta alle ''Stored Procedures'' e ''Plug-In'' in **modalità sincrona** o **asincrona**;
* Durante il **salvataggio** di **record** di tipo ''doc'', ''fascicolo'' e ''fascicolo_speciale'' consentito qualsiasi **contenuto** nell'**elemento** ''note'' in modo da poter utilizzare anche **testo** ricco **HTML** nel campo;
* Estesa la **dimensione** della **pagina** di **codici** del **titolario** in modo che riesca nell'intento di convalidare sempre il **codice** di **Titolario** di **Classificazione** con cui si salva un **record**. In precedenza il **valore** era limitato a ''50'' voci ma per titolari troppo estesi si avevano dei **falsi negativi**;
* Consentita l'introduzione di un **nuovo file allegato** per consentire l'applicazione della **firma**;
* Aggiunta la possibilità di **modificare** i ''rif_esterni'' di un **documento** se in **bozza**;
* Introdotti nuovi **metodi** per l'**acquisizione** del solo **nome** degli **allegati** e non del loro **contenuto**;
* All'atto del **salvataggio** di un **documento** in **sede** di checkInContentFile(), se si rilevano gli **estremi** della lavorazione (impronta) degli **allegati** lato **server** non si procede col calcolo dell'**impronta** sul fronte **applicativo**;
* Cambiamenti per far uso di uno specifico **archivio ACL** differente dal default ((acl)).
==== Versione 3.7.4 ====
* Corretta la **chiamata** alla **funzione** ''loadFirst()'' in modo che preveda un nuovo **parametro boolean** per richiedere l'uso della **Dll d'Archivio** all'atto del **caricamento** del **record**;
* Ampliato il **log** in caso di **errore** di **modifica** perché consenta di distinguere i diversi **casi** in cui la modifica viene negata per mancanza dei necessari **diritti**;
* Modificate le modalità di **apertura** della **connessione** in modo che, qualora si utilizzi un **ACL specifico**, esso venga effettivamente impostato nella **connessione** così da poter essere usato in modo appropriato da tutto il **codice** generico di **DocWay** (generic/code/broker).\\ Si ricorda che l'impostazione di un eventuale **ACL** specifico va compiuta nel **file** ''it.highwaytech.apps.generic.properties'' ;
* Aggiunta la possibilità, nei **metodi** ''indexPage()'', ''nextIndexPage()'' e ''prevIndexPage()'' di indicare l'**ID** di una **selezione** da utilizzare per un'**analisi spettrale** senza doversi preoccupare di modificare la **selezione corrente** che anzi rimane invariata consentendo un'analisi spettrale arbitraria senza **impatti** sul resto dell'**applicazione**;
* Revisione dei **comandi** di **accesso** agli **indici** finalizzato a poter impostare ulteriori **parametri**, come l'**analisi spettrale** svincolata dalla **selezione** corrente;
* Prevista la gestione del **contesto** che viene notificato al **server** unitamente all'**utente**. Il concetto di contesto assume un diverso significato su **base applicativa** e può essere sfruttato lato server;
* Modificata la **chiamata** alle **Stored Procedures** così da inviare in **Base64** tutti i **parametri** e poter quindi inviare anche materiale in ''XML'' .\\ Questa modifica introduce l'utilizzo di una nuova **versione** di un ''jar'' esistente. In particolare si passa dalla **versione** ''1.3'' alla **versione** ''1.7'' della ''commons-codec''.\\ Questo richiede, a seguito di un **aggiornamento** del **Web Service** a questa versione o ad una versione successiva, di rimuovere la precedente ''commons-codec-1.3.jar'' che altrimenti vanifica l'intervento e causa **malfunzionamenti**.
* Modifica alla **distribuzione**. Ora la distribuzione del Web Service è priva dei tre **files** di **profilo** (Vds 3diws/WEB-INF/classes/*.profile) che regolano il **funzionamento** del **Web Service** stesso.\\ La loro assenza comporta l'adozione di una serie di **comportamenti** di **default** e l'assenza del **log** del **Web Service**.\\ Questo comportamento è teso a non rischiare di sovrascrivere i **files** di **properties** personalizzati in ciascuna **installazione** all'atto dell'aggiornamento del **Web Service**.\\ Al posto dei files precedentemente distribuiti vengono ora forniti tre **files** con **estensione** ''.properties.sample'' che gli **utenti** possono sfruttare per creare le proprie **personalizzazioni**.
* Corretto **errore** nella composizione del **comando** di **accesso** ad una **pagina** di **indici** nella quale si esplicita una **restrizione spettrale** che non corrisponde alla **selezione** corrente ma ad altra selezione appositamente generata. Il **parametro** necessario a questo scopo non veniva correttamente inviato al **server**.
==== Versione 3.7.3 ====
* Introdotte le **chiamate** ai **PlugIn** ed alle **Stored Procedures** sia in **forma sincrona** che in **forma asincrona**;
* Rilassato il **test** sull'**elemento** ''note'' dei ''doc'', ''fascicolo'' e ''fascicolo_speciale'' negli **archivi** di **derivazione** ''xDocWayDoc'' in modo che consentano l'**inserimento** di **contenuti** complessi e **testo** ricco (ad esempio ''HTML'').
==== Versione 3.7.2 ====
* Modificato il **comportamento** del **WS** in sede di **accesso** ad una **pagina** di **vocabolario** che risulti del tutto vuoto, non alimentato. \\ Ora non viene più tornata **eccezione** bensì un **risultato regolare** ma **vuoto**.
==== Versione 3.7.1 ====
* Introdotto il corretto **test** dei **diritti** per l'**accesso** alle **Unità Informative** di tipo ''comune'' delle quali era consentita la **ricerca**, la **visualizzazione** dei **titoli** ma non l'**accesso diretto**.
==== Versione 3.7.0 ====
* Prima versione id cui si fa registrazione in questa documentazione.
* Modellati due distinti //Web Services// in grado di convivere. Ora esiste sia il Web Service standard che l'estensione PXML nello stesso pacchetto.
* Introdotta un'estensione della composizione della cache((Titoli)) dei documenti in modo che consenta di introdurre in essa direttamente un frammento XML.
* Consentito il salvataggio di ''persone_interne'' con l'assegnazione diretta dei suoi ''personal_rights'' senza dover passare dall'assegnazione del profilo.