====== eXtraWay Platform Server - Versioni ======
Nell'ambito della lavorazione del Server eXtraWay, sono disponibili le seguenti **versioni** e, per ciascuna, le **varianti** principali che la caratterizzano e le **istruzioni** per farne uso.
E' importante sottolineare che la **numerazione** dei **moduli** della **piattaforma eXtraWay** è parlante ma ha seguito, nel corso del tempo, due diverse **metodiche**.
Vediamo come si deve interpretare il **contenuto** delle diverse **numerazioni**.
^ ^Major Version ^Minor Version ^Base Number^ Internal Number ^
^Versioni sino alla 21.2.0.0 ovvero versioni dei moduli emesse sino al 4 novembre 2008 |Al variare della //Major Version// il modulo si considera incompatibile col passato. Può utilizzare altri moduli e gli archivi sino ad ora realizzati((a meno che non sia prevista una specifica trasformazione)) ma gli archivi prodotti da questi moduli non possono più essere utilizzati con server precedenti| Al variare della //Minor Version// il modulo richiede allineamento con altri moduli. Questo comporta che per garantire un corretto comportamento, indipendentemente dalla compatibilità degli archivi, sarà necessario aggiornare anche un altro modulo della piattaforma| Il //Base Number// varia ogni qual volte al modulo vengono apportate correzioni o aggiunte che non rientrino nei casi previsti dalla //Major// o //Minor Version// |Indica una cifra ad uso intero della 3D senza alcun particolare significato. Le eventuali //Patches// applicate al modulo vengono segnalate diversamente|
^Versioni dalla 21.2.1.0 in poi ovvero versioni dei moduli emesse dal 5 novembre 2008 sino a tutto il 2011|Comportamento invariato rispetto alle precedenti emissioni. Indica incompatibilità col passato| Comportamento invariato rispetto alle precedenti emissioni. Indica necessità di allineamento con altri moduli| Il //Base Number// varia ogni qual volte al modulo vengono apportate correzioni o aggiunte che non rientrino nei casi previsti dalla //Major// o //Minor Version//\\ Le versioni con numero pari sono da considerarsi //Candidate// quindi versioni non ufficiali mente le versioni con numero dispari sono effettive //Release// |Per le versioni //Candidate// indica quante diverse istanze di versioni candidate sono state emesse prima della //Release//.\\ Per le versioni //Release// il valore dev'essere '0' in origine ed indica il numero di //Patch// eventualmente apportata|
^Versioni dalla 23.0.0 in poi, ovvero versioni dei moduli emesse dal 1° Gennaio 2012|Equivalente alla precedenti versioni ma, al fine di giungere ad una condizione di numerazione uniforme, si elimina la seconda cifra((Riferita alla necessità di compiere allineamenti di moduli)) lasciando alla documentazione del modulo emesso il compito di sottolineare le necessità di allineamento/indicizzazione etc. etc. e si inverte il comportamento tenuto sino ad ora considerando Candidate le versioni dispari e Release le versioni pari.\\ \\ \\ La numerazione è quindi da intendersi suddivisa in **Major Release**, **Minor Release** & **Patch**.||||
====== Roadmap to Version '24' ======
Di seguito le implementazioni che sono in progetto o in fase di sperimentazione.
- eXtraWay Server
- Performance e Stabilità
- Profiling
- Catalogo: consentire di compiere il catalogo di archivi di ampie dimensioni con più processi paralleli che si occupino ciascuno di una porzione dell'archivio.
- Indici: analogamente al punto precedente, consentire di fare gli indici off-line di un archivio di ampie dimensioni con più processi paralleli che si occupino ciascuno di una porzione dell'archivio.
- Doppia Mappa:
- Transazionalità: consentire nella mappa ((catalogo)) di un archivio la presenza di più istanze dello stesso record in forme diverse, come ad esempio la versione attualmente disponibile a tutti i normali fruitori e la versione in atto di modifica durante una transazione.
- Indici near-on-line: trattare come inserimenti le modifiche ai documenti durante un processo di costituzione indici incrementale non bloccante per l'archivio.
- Lazy/Delay/Near On Line: Ottimizzazione di tutte le procedure per le quali è possibile compiere le attività in processi non strettamente on-line.
- Threads: spostare su thread di servizio quante più lavorazioni possibili per sfruttare al meglio i multiprocessori e ridurre ai minimi termini la serializzazione delle attività.
- Riduzione della sessione critica (inserimento/modifica/cancellazione record).
- Revisione del sistema di accesso alle risorse per ridurre ai minimi termini il tempo d'attesa.
- Revisione del trattamento degli encoding.
- Eliminazione refusi del passato.
- Nuovo sistema gestione utenti.
- Plug-In flessibili
- Relazioni tra record
- Linked Open Data
- Stored Procedures
- Triggers
- Porting a 64bit.
- Gestione degli allegati su storage di diverso livello (velocità, disponibilità) per la gestione di una mole notevole di allegati.
- eXtraWay Web Services
- Rilascio in Open Source.
- eXtraWay PHP Development libraries
- Rilascio in Open Source.
- eXtraWay Log Server
- Log separati per attività ''lazy''.
====== Versioni '23' ======
Con la nascita della versione 23 nasce la versione Open Source del server eXtraWay.
Esso viene realizzato con **incompatibilità formale** verso gli **archivi** realizzati con **versioni** sino alla **22** compresa per tutelare l'interesse ed i **diritti** degli acquirenti delle **versioni commerciali** precedenti.
===== Versione 23.1.0 "Candidate" =====
* Some logs were filling the Event viewer uselessly. Removed.
* Processing Instruction handling fixed. In some cases an index error where raised.
* Watch Doc procedure to remove record fixed.
===== Versione 23.0.0 =====
**Prima emissione: 19/03/2012.**
Frutto della **ripulitura** del **server 22**, perde funzionalità obsolete che sono ormai prive di significato ma mantiene tutto il corpus di **funzionalità** tipiche del **server** di **classe 22**.
Si può considerare allineato al ''[[#versione_22313_patch|server 22.3.1.3]]''
====== Versioni '22' ======
===== Versione 22.3.1.9 "Candidate" =====
* Aumentati i logs per identificazione criticità in salvataggio.
* Corretto errore di navigazione delle chiavi del Thesaurus.
* Apportata correzione che forza il binding della porta di servizio ((Porta IDP)) su IP Address locale.
===== Versione 22.3.1.8 "Patch" =====
* Corretto trattamento delle Processing Instruction nei documenti che causava un difetto d'indicizzazione se il formato interno non era fatto in stile attributo="valore"
* Corretto un errore in sede di espansione dei percorsi di chiave quando si usa una Wild Card '*' nell'XPath della chiave su cui cercare.
* Corretto Memory leak nel processo di rinnovamento della conversione degli allegati.
===== Versione 22.3.1.7 "Patch" =====
* Inibito l'uso di una funzione usata nella ricerca dei Memory Leak nella versione Release in quanto non presente nei server prima di Windows 2003 (Windows Only).
===== Versione 22.3.1.6 "Patch" =====
** Emesso 24/04/2012 **
* Corretto spostamento allegati in sede di spostamento documenti da un errore introdotto con la precedente versione 22.3.1.5.
===== Versione 22.3.1.5 "Patch" =====
** Emesso 19/04/2012 **
** Deprecata a causa dll'introduzione di un Side Effect inerente il trattamento degli allegati.**
* Ampliato log processo rimozione allegati non assegnati.
* Intervento sul trattamento dei bacini di pescaggio espliciti se presenti in più aree distinte della selezione. Venivano confusi.
* Corretto trattamento allegati collocati in elementi/attributi fuori standard.
===== Versione 22.3.1.4 "Patch" =====
** Emesso il 03/04/2012 **
* Mancata eliminazione della componente XSL in cancellazione dei documenti. Lasciava chiavi valide nel campo globale. Corretto.
* Ammesso l'intervento sul file .conf.xml d'archivio anche in assenza del trattamento della corrispondente DTD.
* In presenza di un'impostazione di tolleranza sull'encoding dei documenti da inserire/modificare/importare tale impostazione non aveva effetto anche sul trattamento degli allegati. Corretto.
* Riveduto trattamento caratteri \x81, \x8d, \x8f, \x90 e \x9d che non sono considerati validi neppure in encoding //windows-1252//.\\ L'intervento richiede reindicizzazione degli archivi per quanto si possano manifestare difetti di indicizzazione in modifica di documenti solo in presenza di caratteri spuri (quelli elencati).
* Corretto il procedimento di Search & Replace che dava errore in presenza di caratteri come i singolo o il doppio apice.
===== Versione 22.3.1.3 "Patch" =====
** Emesso il 07/12/2011 **
* Corretto errore di indicizzazione differenziale che si può presentare quando un documento ha degli allegati testuali e/o un'estensione XSL ed in presenza di chiavi globali ovvero di chiavi condivise tra XSL e XML.
===== Versione 22.3.1.2 "Patch" =====
** Emesso il 30/11/2011 **
* Corretto Memory Leak Nelle operazioni di Search & Replace.
===== Versione 22.3.1.1 "Patch" =====
** Emesso il 30/11/2011 **
* Corretto Memory Leak della gestione profili.
===== Versione 22.3.1.0 =====
** Emesso il 23/11/2011 **
**Questa versione cambia le modalità di indicizzazione dei documenti ma l'impatto si presenta solo in particolari condizioni. In pratica non richiede interventi nella maggioranza dei casi ma:**
* **in presenza di un archivio che abbia sia gli allegati indicizzati che un campo XSLT di cui si compia indicizzazione la ricostruzione degli indici è suggeribile se pure non indispensabile;**
* **in presenza di un archivio che abbia allegati indicizzati ed un campo XSLT di cui si compia indicizzazione e per l'uno e/o per l'altro si faccia anche uso dell'indicizzazione del campo globale la ricostruzione degli indici è __necessaria__.**
* L'indicizzazione degli allegati in inserimento documenti e/o in indicizzazione off-line avviene prima dell'indicizzazione del campo XSL il quale, però, ha le stesse posizioni del campo XML e fa convergere i propri contenuti negli stessi vocabolari. In presenza di un vocabolario globale ci sono seri rischi di errori di indicizzazione. Invertito l'ordine di esecuzione: XML, XSL, Allegati.
* In caso di errore di riallocazione della memoria durante la fase di alimentazione del sistema di chiavi da sottoporre ad indicizzazione, il server ora annulla lo stato delle chiavi e torna errore. In precedenza, pur facendolo, si poneva nella potenziale condizione di causare un crash.
===== Versione 22.2.15.0 =====
** Emesso il 05/10/2011 **
* Il server va in crash in alcuni casi di analisi spettrale che coinvolgono chiavi molto presenti. Corretto.
* In caso di ricalcolo dell'estensione XSL dei documenti, l'operazione ha ora impatti anche sui titoli.
* In presenza di un file xml corrotto (ad esempio il file .ser.xml pieno di zeri) il server va in crash. Corretto.
* Viene attualmente consentito di introdurre nuovi allegati anche in presenza di indici non perfettamente aggiornati, cosa già consentita per i documenti. Introdotta altresì voce di configurazione per inibire ogni tipo di salvataggio in caso di indici non affidabili.
* In presenza di Processing Instruction correttamente conformate ma prive di valore, il server poteva produrre chiavi inesistenti, errate e causare difetti di indicizzazione.
* Ulteriormente riveduto il processo di cancellazione temporanei per garantire vita utile ai temporanei candidati alla cancellazione ma ancora in uso anche in caso di disco in saturazione.
* Consentita, con apposita configurazione, la stesura nel registro di maggiori informazioni quali il caricamento documento, il caricamento allegato e l'aggiunta di nuovi allegati.
* Modificata la modalità di esportazione delle relazioni in sede di reindicizzazione per sanare casi di relazioni corrotte.
===== Versione 22.2.13.0 =====
** Emesso 27/07/2011 **
* L'alimentazione del canale globale comprendeva i contenuti degli allegati anche se non espressamente richiesto. Ora gli allegati partecipano alla chiave globale solo se esplicitato.
* Compiuta ulteriore correzione del trattamento dei titoli da troncare in quanto la misura non teneva conto di buffer prossimi al limite e non superiori ad esso.
===== Versione 22.2.11.0 =====
** Emesso il 06/07/2011 **
* Introdotta la funzione per compiere il "replay" del file .pk delle PostKeys in caso di guasto degli indici dell'archivio.
* Corretto errore di composizione del buffer di ordiamento in presenza di (join:add).
* L'assegnazione di un nuovo numero progressivo di allegato evita il flush ((sync)) limitandosi alla scrittura dei files interessati.
* Da questa versione il server accetta che nella frase di ricerca, da esprimersi in forma di stringa windows-1252 si possano indicare entity numeriche (o le 5 entity obbligatorie dell'XML) ed esse verranno convertite in caratteri da ricercare.
===== Versione 22.2.9.2 Patch =====
**Emesso il 21/06/2011**
* Correto side effect introdotto con la precedente versione in caso di archivio non configurato per agire con le "postkeys" o in modalità "replay"((Windows Only)).
===== Versione 22.2.9.1 Patch [Deprecata] =====
**Emesso il 17/06/2011**
Emissione Windows Only mirata alla realizzazione di un sistema utile alla riproduzione di errori di indicizzazione.
===== Versione 22.2.9.0 =====
**Emesso il 15/06/2011**
* Corretto l'utilizzo del titolo in ordinamento forzando la realizzazione del titolo a dimensione piena se in quello staticizzato mancano parti necessarie per l'ordinamento.
* Impostata l'interattività del servizio in sede di setup svolto col parametro -service_install ((Windows Only)).
* Corretto Memory Leak in fase di stesura del registro.
* Modificato il comportamento della procedura di rimozione dei temporanei abbassando la soglia di attenzione da 64000 files a 56K files. Superata tale soglia, oltre a rimuovere un maggior numero di temporanei anche più giovani della soglia massima impostata (ma in rispetto della soglia minima) si riduce gradualmente il tempo di test così da assicurarsi che il test successivo abbia luogo in un tempo più contenuto impedendo una crescita incontrollata dei temporanei.
* Corretto trattamento dei ranges di date in presenza di date prive di mese e giorno. Il trattamento viene uniformato alle date canoniche.
* Correzione dimensione buffer in ricerca/indicizzazione.
===== Versione 22.2.7.0 =====
** Emesso il 12/05/2011 **
* Corretto errore di sporcatura dei separatori in caso di indicizzazione che faccia uso di un morsetto che a sua volta compie una selezione.
* Corretto errore nella valutazione della sequenza "punto e accapo" che causava un errore di posizionamento delle iwords in indicizzazione differenziale. Gli effetti sono particolarmente evidenti in presenza di allegati ma possono essere presenti anche in altri casi.
* Corretto errore in cancellazione di un documento. L'operazione poteva causare un fallimento se rinveniva sul proprio corso il file di servizio ''_.xml''.
* Corretto uso selezioni nella richiesta estensioni XSLT.
* Effettuata rimozione estensione XSLT in caso una modifica porti ad un risultato nullo.
* Effettuata modifica al salvataggio della componente XSLT perché si occupi di trattare doverosamente eventuali riporti a capo non precedentemente convertiti per il formato UDD.
* Corretta composizione del titolo dei documenti perché non erri nel compiere il taglio del documento quando troppo esteso.
* Corretto trattamento dell'encoding dei documenti in sede di importazione da WatchDoc comprensiva di importazione allegati.
===== Versione 22.2.5.0 =====
** Emesso il 11/02/2011 **
* Revisionato il sistema di esportazione. C'era un flag errato, che dichiarava una funzionalità ed invece ne svolgeva un'altra. Rettificata la finalità di quel flag ed introdotto un flag che consente l'esportazione degli ID degli allegati sempre sotto forma di percorsi relativi
* Corretto compattamento degli XML che, qualora forzato, causava la predita di documenti realmente esistenti e validi. Il comportamento era un errore latente reso evidente con inteventi sul server 22.
* Riveduta la procedura di rilocazione in modo che non compia la riscrittura di un documento qualora essa fosse causata solo dall'esigenza di allineamento all'ultima DTD e non ve ne fosse una valida più recente.
* Modificata stesura file .stat.xml così da salvaguardarne il contenuto in caso di problemi, ad esempio, di saturazione.
* Corretto comportamento assegnazione prossimo numero di file in caso di //file location rule// su file singolo. Durante l'importazione da //Watch Doc// causa un errata composizione degli indici che si limita solo al primo documento importato ignorando gli indici di tutti i successivi.
* Corretto trattamento chiavi vuote in presenza di una dichiarazione //minuscola// nel file di configurazione d'archivio.
* Corretta chiamata ai morsetti durante l'indicizzazione.
===== Versione 22.2.3.1 Patch =====
** Emesso il 20/12/2010 **
* Corretto side effect introdotto nella precedente versione causato da un errato trattamento del carattere '€' che produceva loops in indicizzazione o accesso agli indici.
===== Versione 22.2.3.0 [Deprecata] =====
** Emesso il 17/12/2010 **
**ATTENZIONE: La versione, nel correggere l'errore di indicizzazione di seguito descritto, introduce a sua volta un side effect serio, corretto con versione successiva.**
* Corretto errore nell'indicizzazione degli allegati introdotto dalla versione 22.1.3.7 per la riduzione degli interventi sugli allegati con testo corrispondente.
* Ulteriore intervento correttivo per la presenza del file _.xml senza alcun //root element//.
===== Versione 22.2.1.0 =====
** Emesso il 07/12/2010 **
**ATTENZIONE: questa versione, pur non avendo una numerazione differente nella prima cifra, è di fatto incompatibile col passato in quanto richiede la reindicizzazione degli archivi. Questa necessità si pone se esistono, nell'archivio, testi che usino caratteri non riconducibili al set 'windows-1252'.**
* Completamente riveduta la metodica di trattamento dei caratteri afferenti a codifiche differenti da Windows-1252 e iso-8859-1. Se anche in precedenza il server faceva valide conversioni per trattare tutti i caratteri Unicode, esse ora sono rese quanto più possibile uniformi tra le diverse piattaforme.
====== Tabella Greeklish adottata ======
Il **Greeklish** è uno stile di **scrittura** della **lingua greca** facendo uso esclusivamente di **caratteri** appartenenti al **set Europeo Occidentale**. Non esiste una convenzione riconosciuta a livello internazionale essendo questo più un uso e costume che una vera e propria regola, uno standard.
Ciò comporta il fatto che l'adozione di una **tabella** di **trascodifica** dal **Greco** al **Greeklisk** è comunque una **scelta arbitraria** e, per poter essere usata coerentemente, essa va condivisa ed accettata.
Di seguito la **tabella** di **transcodifica** adottata da 3D Informatica per i **caratteri principali**:
^ Transcodifica\\ //Greeklish// ^ Carattere\\ Greco ^
| a | α |
| a | ά |
| b | β |
| g | γ |
| d | δ |
| e | ε |
| e | έ |
| z | ζ |
| h | η |
| h | ή |
| 8 | θ |
| i | ι |
| i | ί |
| i | ΐ |
| k | κ |
| l | λ |
| m | μ |
| n | ν |
| 3 | ξ |
| o | ο |
| o | ό |
| p | π |
| r | ρ |
| s | σ |
| s | ς |
| t | τ |
| y | υ |
| y | ύ |
| y | ϋ |
| y | ΰ |
| f | φ |
| x | χ |
| 4 | ψ |
| w | ω |
| w | ώ |
| A | Α |
| A | Ά |
| B | Β |
| G | Γ |
| D | Δ |
| E | Ε |
| E | Έ |
| Z | Ζ |
| H | Η |
| H | Ή |
| 8 | Θ |
| I | Ι |
| I | Ί |
| I | Ϊ |
| K | Κ |
| L | Λ |
| M | Μ |
| N | Ν |
| 3 | Ξ |
| O | Ο |
| O | Ό |
| P | Π |
| R | Ρ |
| S | Σ |
| T | Τ |
| Y | Υ |
| Y | Ύ |
| Y | Ϋ |
| F | Φ |
| X | Χ |
| 4 | Ψ |
| W | Ω |
| W | Ώ |
**N.B:** Alcune **tabelle di transcodifica Greeklish** usano una differente **conversione**. Si pongono in evidenza alcuni **esempi** ((Indicati maiuscoli ma rapportati anche al corrispondente carattere minuscolo)) ricordando che **eXtraWay** non si avvale di questa **modalità**:
^ Transcodifica\\ //Greeklish// ^ Carattere\\ Greco ^
| V | Β |
| Z o S | Ζ |
| I | Η |
| I | Ή |
| TH | Θ |
| I | Υ |
| I | Ύ |
| I | Ϋ |
| F | Φ |
| CH | Χ |
| PS | Ψ |
| O | Ω |
| O | Ώ |
====== Tabella Runglish adottata ======
Il **Runglish** ((Anche noto come **Ruglish** o **Russlish**)) è uno **stile** di **scrittura** della **lingua russa** ((e derivate)) facendo uso esclusivamente di **caratteri** appartenenti al **set Europeo Occidentale** anziché quelli cirillici.
Per adottare una **tabella** di **transcodifica** valida abbiamo compiuto una **riduzione** di quella disponibile in''[[http://en.wikipedia.org/wiki/Russian_Chat_Alphabet|WikiPedia]]'' aggiungendo la **transcodifica** di alcuni **caratteri estesi** pur sapendo di non aver scelto una soluzione standard.
Di seguito le **principali transliterazioni**:
^ Transcodifica\\ //Runglish// ^ Carattere\\ Cirillico ^
| A | А |
| B | Б |
| V | В |
| G | Г |
| D | Д |
| E | Е |
| JO | Ё |
| ZH | Ж |
| Z | З |
| I | И |
| J | Й |
| K | К |
| L | Л |
| M | М |
| N | Н |
| O | О |
| P | П |
| S | С |
| T | Т |
| U | У |
| F | Ф |
| H | Х |
| C | Ц |
| CH | Ч |
| SH | Ш |
| SH | Щ |
| Y | Ы |
| E | Э |
| JU | Ю |
| JA | Я |
| Ignorato in quanto apostrofo | Ъ |
| Ignorato in quanto apostrofo | Ь |
A questa **trasliterazione** corrispondono anche i **caratteri cirillici** di altra **estrazione** (Macedoni, Bielorussi, Ukraini, ecc. ecc.) che se pur scritti differentemente corrispondono allo stesso **fonetismo**.
====== Versioni Precedenti ======
====== Versioni '22' ======
===== Versione 22.1.3.12 Patch =====
** Emesso il 26/11/2010 **
* I logs prodotti prima dell'avvio di 'xwls' venivano mandati al log si sistema come errori. Ora vengono inviati secondo la loro effettiva natura.
* Corretto errore di indicizzazione che rischia di affliggere i percorsi di chiave particolarmente estesi, in particolare quelli relativi ad allegati particolarmente nidificati.
* Corretto errore utilizzo Buddy File .ref in presenza di catene di riferimenti oltrei 64Mb.
===== Versione 22.1.3.11 Patch =====
**Emesso il 28/10/2010 **
* Correzione inerente l'indicizzazione delle label degli allegati per il loro reperimento. In caso di molte versioni di un allegato quella corrente risultava non più reperibile((Errore già segnalato e corretto parzialmente nel settembre 2009)).
* Impostazione UAC. I moduli ora vengono eseguiti richiedendo i diritti di 'Administrator' sul server ove vengono installati((Per le piattaforme Windows che lo prevedano, da Vista in avanti.)).
* Correzione nelle procedure di hashing inerenti il Binary Tree utilizzato in indicizzazione on-line. Questo difetto causava casuali crash in indicizzazione di documenti su archivi caratterizzati da un elevato numero di diversi vocabolari.
* Corretto errore di attribuzione valori seriali a seguito di un precedente tentativo fallito a causa di una violazione di univocità. In tal caso si saltava pericolosamente un valore seriale.
* Corretta mancata indicizzazione valore vuoto nel campo che contiene l'ID di un allegato.
===== Versione 22.1.3.10 Patch =====
** Emesso il 17/09/2010 **
* Corretto ulteriormente il comportamento della procedura di //Search & Replace// che ora riesce ad operare correttamente anche su elementi //Mixed//.
===== Versione 22.1.3.9 Patch =====
** Emessa il 13/09/2010 **
* Corretto comportamento procedura di //Search & Replace// che, pur effettuando correttamente il proprio lavoro, da indicazioni sulle attività svolte che sono errate o ingannevoli.
* Piccolo intervento sui tempi di locking finalizzato a ridurre ai minimi termini i tempi morti d'attesa. L'intervento prende le mosse da quanto già fatto per server di classe 23.
* Dimensionato correttamente un buffer usato in accesso a vocabolario/thesaurus ed in estensione dei termini per genere e numero.
===== Versione 22.1.3.8 Patch =====
** Emessa il 12/08/2010 **
* Modifiche al comando che compie il trattamento dell'estensione XSLT dei documenti perché si presti per la sola indagine del rapporto tra numeri logici di una selezione ed i corrispondenti numeri fisici.
===== Versione 22.1.3.7 Patch =====
** Emessa 06/08/2010 **
* Ottimizzato caricamento ed esecuzione conversioni XSLT specialmente quanto eseguite in modo massivo.
* Inibita l'indicizzazione di più allegati quando il testo degli stessi è identico. Si confrontano gli allegati a 2 a 2 e si evita di compiere la doppia indicizzazione di allegati che dimostrino di avere lo stesso contenuto.
* Corretto l'uso delle catene dei liberati nei //Buddy Files// per arginare le condizioni di corruzione degli indici.
* Inibito l'uso della sintassi [campo1]=[campo2] in ricerca che era consentita pur non dando esito.
* Consentita la combinazione di //range// in forma di "Or List" ed estensioni di altra natura quali genere e numero, thesaurus della lingua, somiglianza dei termini, fonetica e così via.
* Corretta composizione estensione XSLT che, in sede di costituzione catalogo, compiva un errore di valutazione del documento e non dava un risultato valido.
* Corretto effetto collaterale dell'intervento sul flag di tolleranza //encoding// introdotto nella precedente versione.
===== Versione 22.1.3.6 Patch =====
** Emesso il 06/07/2010 **\\
**Attenzione: L'accoglimento della compatibilità col passato introdotto in questa versione non è completo e comporta comunque una condizione d'errore. La versione è quindi del tutto utilizzabile ed affidabile a patto che non si faccia uso di quella modalità compatibile. Per essa riferirsi alle versioni successive.**
* Corretta valutazione della sintassi dei //Ranges// in caso di lista di termini da ricercare((Elenco di termini separati da una virgola)) quando uno dei valori è rappresentato dal valor vuoto //""//\\ Ammessa come valida anche la forma [campo]={valore} ovvero [campo]={"valore"} anche se la lista prevede un solo termine.
* Accolta richiesta di compatibilità col passato in materia di encoding errato((Si ammette che un documento dichiarato ''iso8859-1'' abbia caratteri appartenenti all'encoding ''windows-1252'')).\\ (Vedasi [[documentazione_3di:extraway:arcprofile|profilo archivi]] alla voce ''arc.test_encoding'').
* Corretto Side Effect inerente la generazione/rigenerazione di un archivio con salvaguardia dei seriali perché causava un crash in caso di archivi nuovo.
===== Versione 22.1.3.5 Patch [Deprecata] =====
** Emesso 30/06/2010 **\\
**Attenzione: Questa versione contiene un side effect che causa un grave errore in fase di creazione nuovo archivio. Si suggerisce l'adozione della successiva.**
* Errore nell'uso di chiavi ''alias'' e ''also'' tra il macro canale XML ed [[documentazione_3di:extraway:ud_xslt|il macrocanale XSL]] (e vice versa). Compiuto un intervento di unificazione del macrocanale che rende semplice e diretto sia l'uso di 'key_alias' che di 'key_also' ed uniformando i vocabolari che ne derivano.
* Introduzione di nuove funzionalità atte all'[[documentazione_3di:extraway:watchdoc#uso_di_watchdoc_per_importare_documenti_ed_allegati|importazione di documenti via WatchDoc corredati da allegati]] che vengono opportunamente rinumerati e ricollocati nell'archivio che li ospita.
* Impostato il concetto di priorità nelle attività //lazy// per far sì che indici off-line abbiano la precedenza su indici on-line e quindi sui titoli ma facendo sì che attività di pari priorità non si rimbalzino continuamente la palla deteriorando le prestazioni generali. Ora i titoli off-line vengono sempre fatti //lazy// ma esiste un flag per richiederli in modalità standard.
* Assicurata la salvaguardia dei seriali (e dei thesaurus) se non diversamente esplicitato anche per archivi esistenti ma incompleti.
===== Versione 22.1.3.4 Patch =====
** Emesso 11/06/2010 **
* Importazione documenti via WatchDoc su archivi privi di //file_location rule//. //In assenza di una file_location rule// il comportamento del server è la modalità detta //single// ma in fase di acquisizione via WatchDoc si presenta un problema nella determinazione del prossimo nome di file .XML disponibile in quanto la procedura è la stessa usata per i nomi degli allegati che richiede univocità che in tale fase non è verificabile. Allentata la stretta sull'univocità del nome di file se destinato ad un .XML e non ad un'allegato.
* Il ritocco da programma dei file di profilo, quando un attributo è racchiuso tra singoli apici e conteene doppi apici, produceva un file inutilizzabile in quanto errato. Corretto.
* Implementato comando singolo per la realizzazione di archivi clone((totale o parziale)) di un archivio dato e disponibili per la consultazione su supporti ottici.
* Corretto grave ''bug'' in indicizzazione di testi estratti da files allegati che fossero ricchi di caratteri errati e per i quali si producano chiavi lunghe e complesse. La chiave corre il rischio di essere troncata con risultati molto seri.
===== Versione 22.1.3.3 Patch =====
** Emesso 08/05/2010 **
* In fase di esportazione relazioni, quando esse sono molto nidificate ovvero ci sono molti nodi figli di un singolo nodo, la stringa che viene prodotta in esportazione era eccessivamente ampia per il buffer destinato a gestirla. Corretto.
* Errata gestione della concorrenza tra attività sui documenti e azzeramento degli archivi. Corretto.
* Corretto errore di allocazione memoria per conversione testi in indicizzazione allegati.
===== Versione 22.1.3.2 Patch =====
** Emesso 15/04/2010 **
* Corretto errore normalizzazione percorsi che su Unix si rifletteva nelle attività coordinate tra //eXtraWay Server// ed //File Conversion Agent// causando dei loops.
* Corretto comportamento del thread che compie la redazione del registro perché si avvalga di funzionalità più corrette e performanti.
===== Versione 22.1.3.1 Patch =====
** Emesso 08/03/2010 **
* Corretto trattamento "pattern" di filtro in accesso al vocabolario quando esso presenta un asterisco come primo carattere.
* Corretta stesura titoli in forma massiva che produceva un danneggiamento del file dei titoli stesso.
* Corretto errore trattamento chiavi con caratteri speciali.
* Corretto errore legato alla stesura del file di registro.
* Corretto errore di uscita da parte di //Server Slave// che rimaneva in loop.
* Modificato il comportamento di default in materia di stesura del registro. Per avvantaggiarsi delle diverse condizioni offerte dai sistemi operativi, in Windows si opererà con la metodica //As Job//((Stesura di files .xrj su disco che vengono consumati dal //Server Master// per la stesura del file di registro)) ed nelle piattaforma Linux/Unix con i //Sokcet//((Comunicazione standard tra //Server Slave// ed un thread del //Server Master// per la stesura del file di registro)).
===== Versione 22.1.3.0 =====
**Emesso 08/02/2010**
* Consentito il superamento della soglia di nidificazione degli elementi di un documento per il trattamento dei soli allegati (xw:file/@name)
* Corretta normalizzazione in trattamento valori ''data'' che aveva impatti sulla corretta alimentazione del vocabolario, corretto //crash// causato da formati ''data'' irregolari.
* Introdotta la modalità //container// anche nei titoli, in modo globale o per il singolo elemento.
* Consentita la limitazione della modalità ''container'' nella costituzione dei titoli così da escludere dal risultato finale uno o più elementi.
* Compiuta razionalizzazione dei sistemi di allocazione e ridotta la dimensione massima della singola stringa assoggettabile a logging.
* Arricchito l'output del comando di //Search & Replace// e perfezionata l'indicazione del completamento del ciclo di lavoro.
* Corretto serio errore in ricerca per adiacenza.
* Inibito d'ufficio il salvataggio di documenti che si dichiarino //ISO-8859-1// ma che contengano caratteri appartenenti alla //code page 1252// di Windows in quanto irregolari. Il server produce errore di //Wellformedness//.
* I files XML temporanei che vengono generati in fase di salvataggio di un nuovo documento vengono ora creati in modo integrale così da non risultare //bad formed// ed impedire successive operazioni in caso di errore di inserimento.
* Velocizzata la procedura di esportazione dati ed allegati sotto forma di file .zip ed inibito il rischio di far uso di una ''libzib'' obsoleta.
* Corretta procedura controllo vocabolari.
* Per consentire la corretta indicizzazione di files provenienti da strumenti di conversione (FCS) che siano testuali ma, di fatto, in encoding UTF-8, introdotta l'interpretazione del BOM((Byte Order Model)) anche in files di tipo ''.txt''.
* Corretta funzione di creazione e clonazione archivi perché crei il file .lck il quale, se assente, può causare errori seri alle applicazioni su CD.
* Corretta procedura che avvia i processi di scansione del Crawler. Errava nelle operazioni oltre la prima.
* In presenza di una //wild card// nel nome di un campo utilizzato in selezione, la sua estensione risultava errata in presenza di almeno una //wild card// anche nel termine cercato. Corretto.
* Consentito il riuso di parti dei titoli cached anche quando essi sono in modalità //container// con negazioni.
* Corretto il comportamento del server nell'applicazione di un filtro in accesso ai vocabolari.
* Corretto grave errore in indicizzazione delle //Processing Instruction//.
* Corretto errore formattazione data in costituzione titoli diversi dal default.
* Corretto trattamento data in ricerca se racchiusa tra doppi apici
* Adottato l'uso della //cache// del BTree anche in indicizzazione differenziale.
* Corretta creazione del file di contesto quando assente perché il file risultante era inutilizzabile.
* Compiuti interventi alla ricerca delle performance.
===== Versione 22.1.1.0 =====
**Emesso 13/07/2009**
* Corretto side effect che interveniva in particolari casi di ricerca in adiacenza che coinvolge almeno una chiave da sottoporre ad estensione ((ad esempio per Wild Card)). La selezione in quel caso non dava alcun esito.
* Non si generano più chiavi "double" qualora in esse siano presenti solo spazi. Il carattere '\xa0'((altrimenti noto come ''non breaking space'')) viene trattato, in tale frangente, come se fosse uno spazio se rientra nell'elenco dei separatori di default.
* Invertito il comportamento di default in materia di titoli. In assenza di richieste da parte del client e di configurazione nel file d'archivio, il server compone comunque i titoli per i documenti. Ne consegue che attualmente è solo consentito disabilitare la composizione dei titoli esplicitamente da file di configurazione d'archivio.
* Ripristinato log della dichiarazione Utente ed Ip Address di provenienza (//Unix Only//).
* Introdotto il trattamento di chiavi //unicode// così da poter indicizzare testi in lingue dell'est ed anche in greco, avvalendosi di una [[#tabella_greeklish_adottata|Transliterazione Greeklish]], ed in cirillico, avvalendosi di una [[#tabella_runglish_adottata|Transliterazione Runglihs]].
* Corretto errore ricerca per //range// quando gli estremi sono identici.
* Corretto errore indicizzazione chiavi //double// che produceva chiavi del tutto vuote.
* Ulteriore revisione degli accessi agli archivi per limitare i colli di bottiglia.
* Superamento limiti dimensionali in indicizzazione //off-line// per ottimizzare il tempo di tale attività.
* Consentito il riordino della mappa di un archivio quando, a seguito di ricatalogazione, l'ordine naturale dei documenti non corrisponda all'ordine cronologico di inserimento in archivio. A seguito del riordino molte operazioni di ordinamento non risultano più necessarie.
* Alimentazione della chiave //global// anche grazie ai contenuti degli allegati, se richiesto.
* Corretto errore di saturazione della memoria quando si provvede alla costituzione di un catalogo di documenti ampiamenti nodificati ove un documento padre risulti contenere oltre 16Mb di documenti figli.
* Interventi per ottimizzare la realizzazione di archivi per CD.
* Corretto errore di indicizzazione di valori data malformati che potevano produrre un //crash// del server.
* Corretto il comportamento del server master nel //consumare// i files di alimentazione del registro se incompleti o malformati.
* Corretto errore indicizzazione chiavi concatenate introdotto nella prima versione '22' del server.
* Scremato "" dalla composizione dei titoli se presenti.
* Consentito esprimere una selezione probabilistica aggiungendo semplicemente il modificatore ''[?PROBAB]]'' nella frase di ricerca.
* Applicazione massiva di XSLT per derivare dati supplementari dai documenti ora concessa anche su documenti che danno esito nullo.
* Consentita l'inibizione dell'icona del server eXtraWay nella //Tray Bar// con apposito parametro.
* Ulteriore intervento sulle procedure di stesura del registro perché non vadano in ''loop'' in presenza di un file ''.xrj'' malformato.
* Corretta la valorizzazione dei vocabolari quando si applica un ''kay_also'' ad una chiave di tipo ''container''.
* Inibito errore del server in acquisizione dalla porta UDP di un pacchetto malformato, non proveniente da un client autorizzato.
* Ulteriore intervento sui titoli perché venga annullato il titolo di un documento modificato così da garantirsi che venga riprodotto al primo accesso senza doverlo fare per forza di cose. Introdotta modalità alternativa a quella ''lazy'' che si definisce ''delay'' e che consente di fare il titolo del documento alla prima richiesta che lo coinvolge svincolandolo dalle operazioni di inserimento e modifica.
===== Versione 22.0.1.1 =====
**Emesso 10/06/2009**
* Consentita l'applicazione di fogli di stile XSLT che danno esiti nulli se applicati ad alcuni record degli archivi.
===== Versione 22.0.1.0 =====
**Emesso 09/04/2009**
* Corretto il comportamento dei flussi sul registro (xreg) in modo da evitare files nulli e non farsi bloccare dalla loro eventuale presenza
* Corretto effetto collaterale prodotto dalla versione 21.1.4.* che impediva l'esportazione documenti con allegati.
* Corretto errore nel trattamento dei files ''.xrj'' che in alcuni casi provocava registrazioni in files errati e crash del server.
* Corretto errore di utilizzo della ''highconv.dll'' da parte del server Versione ''Visual Studio 2008''.
* Corretto metodo di caricamento documento bloccato per modifica in modo che gestisca al meglio alcuni particolari casi di concorrenza d'accesso.
* Apportata correzione alla gestione di concorrenza d'accesso in reload archivio in fase di lettura documento. Dovrebbe inibire completamente errori di accesso e qualifica in modo coerente la ragione per cui esso s'è verificato.
* Viene ora consentito di sostituire più di una volta un allegato, negli archivi ove la cosa è concessa.
* Importanti interventi in materia di titoli per renderli indipendenti dall'archivio e quindi non bloccanti.
* Corretto errore di trasformazione di un archivio dal suo repository standard (XML) a quello //Buddy/Buddy Compresso//. L'archivio prodotto non consentiva inserimenti.
* Fornito codice d'errore più chiaro in caso di accesso a selezione non più esistente in quanto rimossa a causa della sua vetustà.
* Corretto errore di trasformazione della frase di ricerca in presenza di wild card asterisco in testa alle chiavi.
* Aggiunta la possibilità di indicare direttamente nella frase di ricerca un'etichetta che richiede estensione per genere e numero, per sinonimi e per termini simili.
* Corretta valutazione della composizione delle chiavi concatenate per non incappare in un banale errore che rende inutilizzabile l'archivio.
* Introdotto il concetto di chiave //secca// o //single// per ottimizzare le performance in modifica
* Migliorato il logging rendendolo più //parlante//.
* Diversificato il controllo di congruenza per univocità tra indici primari e secondari.
* Reso profilabile, a livello d'archivio, il tempo di attesa per i locking delle operazioni modificanti.
* Apportata ulteriore verifica sul caricamento documenti in modo da armonizzare il comportamento del server agli interventi in materia di concorrenza d'accesso in lettura.
* Corretti errori di indicizzazione chiave //double// che in rari casi produceva una chiave del tutto vuota ed inutilizzabile.
====== Versioni '21' ======
===== Versione 21.2.1.26 =====
* Corretto errore nel trattamento di molteplici bacini di pescaggio espliciti. (eGroupWare 001297)
===== Versione 21.2.1.25 =====
* Corretto errore produzione percorsi di chiave in presenza di attributi di elementi relativi.
===== Versione 21.2.1.24 =====
* Corretto errore dovuto al rientro nella //Esegui Comando// da parte del morsetto di indicizzazione di un archivio. già visto con scheda eGroupWare 767.
===== Versione 21.2.1.23 =====
* Corretta sporcatura separatori che ha effetti gravi in indicizzazione in presenza di morsetti che facciano ricerche.
===== Versione 21.2.1.22 =====
**Emissa il 04/02/2011**
* Corretto errore nella chiamata di un morsetto in fase di indicizzazione.
===== Versione 21.2.1.21 =====
**Emissa il 08/11/2010**
* Corretto errore nell'utilizzo del sistema di hashing in indicizzazione on-line che riguarda l'uso del Binary Tree. Tale errore causava un crash in archivi caratterizzati da un elevato numero di diversi vocabolari.
===== Versione 21.2.1.20 =====
**Emissa il 04/12/2009**
* Consentito il riuso di parti dei titoli cached anche quando essi sono in modalità //container// con negazioni.
* Corretto grave errore in indicizzazione delle //Processing Instruction//.
* Corretto errore formattazione data in costituzione titoli diversi dal default.
* Corretto trattamento data in ricerca se racchiusa tra doppi apici
===== Versione 21.2.1.18 e 19 =====
**Emessa il 26/11/2009**
* Corretta funzione di creazione e clonazione archivi perché crei il file .lck il quale, se assente, può causare errori seri alle applicazioni su CD.
* Corretta procedura che avvia i processi di scansione del Crawler. Errava nelle operazioni oltre la prima.
===== Versione 21.2.1.17 =====
**Emessa il 30/09/2009**
* Consentito il superamento della soglia di nidificazione degli elementi di un documento per il trattamento dei soli allegati (xw:file/@name)
* Corretta normalizzazione in trattamento valori ''data'' che aveva impatti sulla corretta alimentazione del vocabolario, corretto //crash// causato da formati ''data'' irregolari.
===== Versione 21.2.1.16 =====
**Emessa il 24/07/2009**
* Consentita la limitazione della modalità ''container'' nella costituzione dei titoli così da escludere dal risultato finale uno o più elementi.
===== Versione 21.2.1.15 =====
**Emessa il 21/07/2009**
* Introdotta modalità ''container'' dei titoli.
===== Versione 21.2.1.14 =====
**Emessa il 16/07/2009**
* Corretta costituzione estensione XSLT dei documenti importati via WatchDoc.
===== Versione 21.2.1.13 =====
**Emessa il 02/07/2009**
* Corretta la composizione del vocabolario di una chiave che sia stata configurata tanto come ''container'' quanto come ''key_also''.
===== Versione 21.2.1.12 =====
**Emessa il 18/06/2009**
* Consentita l'inibizione dell'icona del server eXtraWay nella //Tray Bar// con apposito parametro.
===== Versione 21.2.1.10-11 =====
**Emessa il 17/06/2009**
* Applicazione massiva di XSLT per derivare dati supplementari dai documenti ora concessa anche su documenti che danno esito nullo.
===== Versione 21.2.1.6-7-8-9 =====
**Emesse dal 28/05/2009 al 05/06/2009**
* Interventi per ottimizzare la realizzazione di archivi per CD.
* Corretto errore di indicizzazione di valori data malformati che potevano produrre un //crash// del server.
* Corretto il comportamento del server master nel //consumare// i files di alimentazione del registro se incompleti o malformati.
* Corretto errore indicizzazione chiavi concatenate introdotto nella prima versione '22' del server.
===== Versione 21.2.1.5 =====
**Emesso 20/03/2009**
* Corretta valutazione della composizione delle chiavi concatenate per non incappare in un banale errore che rende inutilizzabile l'archivio.
===== Versione 21.2.1.4 =====
**Emesso 09/03/2009**
* Corretto metodo di caricamento documento bloccato per modifica in modo che gestisca al meglio alcuni particolari casi di concorrenza d'accesso.
===== Versione 21.2.1.3 =====
**Emesso 03/03/2009**
* Corretto caricamento ed utilizzo ''highconv.dll'' che causa crash del server in alcuni casi di indicizzazione con allegati per la versione compilata con ''Visual Studio 2008''.
===== Versione 21.2.1.1 e 2 =====
**Emesso 13/02/2009**
* Corretto effetto collaterale prodotto dalla versione 21.1.4.* che impediva l'esportazione documenti con allegati.
===== Versione 21.2.1 =====
**Emesso 12/02/2009**
* Corretto errore di indicizzazione quando si imposta come chiave //container// il //pne// di un //primary node// ed in esso sono presenti allegati. La presenza di allegati causa l'esistenza di una chiave auto-definita (%%///xw:file/@name%%) che veniva mal gestita in presenza di un elemento a monte la cui indicizzazione è di tipo //container//.
* Introdotto il concetto di //defaultkey// per agire in maniera massiva su intere aree degli XML così da non indicizzare quanto non necessario.
* Introdotto il concetto di indicizzazione //near on line// per la modifica dei documenti.
* Introdotta la realizzazione dei titoli dei documenti //near on line// per tutti i documenti inseriti o modificati.
* Introdotto il concetto di indicizzazione combinata in caso di rifacimento indici. L'indice delle chiavi primarie ((seriali, univoci, identificatori di allegati, altre chiavi dichiarate primarie dall'applicazione)) viene effettuato subito poi viene avviato un processo che, man mano, //near on line//, calcola ed aggiorna tutte le altre chiavi.
* Quando in selezione si indica una chiave che in realtà non esiste perché viene pilotata su una //key_alias// ora la ricerca viene dirottata su tale vocabolario.
* Introdotta la directory //"share"// che consente al server di condividere dei files con altre componenti della piattaforma o direttamente con l'applicazione. In questo modo si possono evitare trasferimenti via Socket di files di grandi dimensioni che sarà compito dell'applicazione trasferire in blocco on in //streaming//. L'uso di questa directory è attualmente applicato nelle funzioni che creano un file .zip contenente un intero archivio.
* Predisposto il server perché ignori modificatori nelle frasi di ricerca che possono essere intercettati dall'applicazione, dal //broker// o dal //common//.
* Corretto errore di sporcatura della memoria quando in ricerca si procede ad un'estensione (per wild card o altra forma) che produca chiavi di dimensione superiore ai 511 bytes.
* Nella costituzione dei titoli consentita la dichiarazione di attributi da trattare diversamente dal default in modo che, se assenti, non risultino presenti ma vuoti e quindi identificati con un valore valido anche quando non richiesto (modificatore //(singleattr)//).
* Corretto errore di accesso al vocabolario in presenza di analisi spettrale nella determinazione dell'eventuale radice comune.
* In fase di creazione di un archivio inesistente o riconducendo uno già esistente ad un catalogo nullo ora vengono create anche le directory accessorie ////, //.chk// e //.file//.
* Eliminato uno scambio di messaggi col client in fase di ordinamento di selezione che poteva condurre ad un'inutile perdita di tempo.
* Consentita l'inibizione dell'utilizzo del sistema //xReg// per la registrazione delle attività svolte su un archivio in modo //light//((era già esistente una modalità rigida)).
* Corretto errore nell'interpretazione di una chiave concatenata dove il campo primario //XML,// non risulti sottinteso.
* Corretto //memory leack// introdotto con la versione 21.1.3.* in indicizzazione di documenti contenenti //processing instruction// ((Nel configurare le chiavi ottenute dall'elaborazione di una //processing instruction// si ricorda che, anche se composta con attributi simulati, le parti in essa riconosciute vengono tutte trattate come elementi la cui indicizzazione di default è ''"multi"''. Si suggerisce quindi di **non** sottintendere mai il tipo di indicizzazione nella dichiarazione di una chiave che si derivi da una //processing instruction//)).
* Inibita la dichiarazione di un percorso XML da usare in ordinamento che contenga erroneamente uno spazio.
* Corretto comportamento nel trattamento del foglio di stile XSLT in modo che se il risultato della lavorazione è un XML nullo ciò non causi errori.
* Introdotta funzionalità di //Search & Replace// via XSLT "guidato".
* Corretto trattamento delle voci di configurazione per il pieno supporto di tutte le forme booleane previste.
* Invertito un default comportamentale. Ora il server verifica la //Wellformedness// dei documenti in fase di costituzione del catalogo solo se espressamente dichiarato nel file di configurazione.
* La generazione lazy-off-line dei titoli è ora concepita per lasciar posto ad altri //job// se vede che ce ne sono pendenti nell'apposita directory. In sostanza se ci sono altri lavori da fare si rischedula per poi ripartire.
* Rettificata la ripartenza del server perché riprenda eventuali //lazy jobs// che risultano pendenti (ancora in forma .wrk).
* Implementati comandi del Server Master che consentano di bloccare e sbloccare a comando un archivio così da poter compiere //Backup a Caldo//. L'archivio continua ad essere consultabile ma non vi si possono compiere interventi.
* Pianificata l'attività dei //lazy jobs// in modo che operino solo in determinati orari del giorno.
===== Versione 21.2.0 =====
** Emess0 05/11/2008 **
* Files che presentino una header BOM possono essere adesso usati direttamente in fase di realizzazione del catalogo.
* In precedenza veniva concesso di violare più univocità in caso di modifica. Ora la cosa non viene concessa in quanto pericolosa salvo diversa disposizione.
* Compiuta l'inizializzazione di alcune variabili non inizializzate a dovere.
* Sostituzione globale di funzioni di test su aree di memoria.
* Rimossa una segnalazione d'errore inopportuna durante la ricostruzione dei titoli quando si incontra un documento cancellato.
* La creazione e l'utilizzo del campo XSLT aveva un problema dovuto a caratteri di riporto a capo, corretto.
* Durante l'indicizzazione la presenza di commenti nel documento poteva causare errori, corretto.
* Il registro 'Xreg' non viene ora scritto ed utilizzato per le applicazioni destinate ai CD-Rom.
* L'interruzione del server, se non avviato come servizio, può essere effettuata via //hwadmin// (Windows Only).
* Definito il livello minimo di log per rendere più efficacie la configurazione.
* Realizzata funzionalità di clonazione e compressione archivio.
* La composizione del nome dei file XML destinatari delle unità informative poteva condurre a nomi errati in presenza di caratteri speciali, corretto.
* Riveduta la modalità di stesura del registro che si avvale di files anziché dei socket locali per evitare che Slave e Master si facciano una corsa critica sui files stessi.
* L'uso della libreria d'archivio in fase di costituzione dei titoli comporta che il risultato così ottenuto non viene più modificato dal server assumendo che sia già espresso nel formato richiesto dall'applicazione chiamante.
* L'ordinamento inverso di una selezione richiedeva un tempo sproporzionato alla selezione stessa. Modificato.
** Patch 1 **
* Corretto errore di indicizzazione quando si imposta come chiave //container// il //pne// di un //primary node// ed in esso sono presenti allegati. La presenza di allegati causa l'esistenza di una chiave auto-definita (%%///xw:file/@name%%) che veniva mal gestita in presenza di un elemento a monte la cui indicizzazione è di tipo //container//.
===== Versione 21.1.4.198 =====
**Emesso 24/09/2008**
* Export can be done expressing attachment file names as full names, path included, or dry name, with no path. This happens within .zip export.
* Well formedness test causing a side effect saving documents containing attachments fixed.
* On Line indexing can be done without BTree cache usage.
* Sql result can now be written directly to a file.
* Some old keys no more built ot fasten on line indexing.
* Rebuilding archive and catalog can give an error due to double archive opening. Fixed.
* Composed keys error fixed when a part of the key isn't present.
* Temporary files removal error fixed.
* When the server crashes before document indexing, status and data can result misaligned. Modified.
* Lost packets during client dialog aligned.
* Error evaluating data type when date is wrong fixed.
* Self misalignement fixing procedure now present.
===== Versione 21.1.3.116 =====
**Emesso 18/07/2008** Deprecata: Valida dalla patch 3 in poi
* XReg is now feeded near on line.
* New function to evaluate MD5 checksum for a full file added.
* Also keys can now be set even on virtual keys build catenating different document parts.
* Zip building procedure enanced and fixed.
* Xml parsing error fixed when wide CDATA is present into a document to recognize during map rebuild.
* Unique values search fixed when entity or wild cards appears into the key.
* Content of Processin Instructions can now be indexed and searched as any other channel following special rules and defaults.
* Attachment can now be placed into Processin Instructions instead of xw:file element in order to cause no conflict with existing DTDs.
* Interface to new libxcrwl realized.
===== Versione 21.1.2.10 [Deprecata] =====
**Emesso 13/06/2008** Deprecata
* Search using a star as a search key instead of a wild card char fixed.
* Search declaring no field (that means, extending to all fields) gives a wrong behavior since XML fields extension wasn't made. Fixed declaring correctly separator characters.
===== Versione 21.1.1.41 [Deprecata] =====
**Emesso 26/05/2008** Deprecata
* Command to obtain locking information fixed and changed in order to give wider informations.
* Instance key now built even for alias vocabularies.
* Some troubles in on line indexing fixed.
* Realized a new procedure to fix double or lost attachments.
===== Versione 21.1.0.141 [Deprecata] =====
**Emesso 18/04/2008** Deprecata
* Error loading complex archive configuration file, containing k_choose declaration, fixed.
* Other DBMS interface now available. RDBMS could be used as simple repository. Only Oracle 10g acutally supported.
* Registry can now be hinibit for single archives where deep traking isn't required.
* WatchDoc test fastened and rationalized.
* Transparent element into a container one can cause a server fauilure or a wrong vocabulary feed. Index of that field coud be assigned to a wrong vocabulary. Fixed.
===== Versione 21.0.3.6 [Deprecata] =====
**Emesso 09/04/2008** Deprecata
* Error concerning IP address output fixed.
* File location rule or key modificator changed in it's behavior to increase functionality.
===== Versione 21.0.2.10 [Deprecata] =====
**Emesso 11/03/2008** Deprecata
* File Conversion Agent calling error fixed. Empty attributes on xw:file element caused the FCA to be ignored.
* Searching for a term that can be considered as a spatial operator causes syntax error on non spatial fields. Fixed.
===== Versione 21.0.1.142 [Deprecata] =====
**Emesso 25/01/2008** Deprecata
* "XSL" title rule can't be the default one.
* Range search on dates fixed if no valid key is available between the given extremes.
* Using an archive extension library to work around titles building cause some problems. Fixed.
* Search limit can be expressed directly in search sentence using [?MAXDOC:num]
* Wrong behaviour in document sort fixed concerning multi line text fields.
* Registry log fastened ignoring a memory allocation and a copy.
* Document title can be built even at run time every time a document is loaded.
* Global Keys or Alias Keys and container path style compatibility error. Fixed.
* Side effect concerning thesaurus search extension introduced by 21.0.0.333 version fixed.
* Serach extension using thesaurus can now be done even extending more parallel thesaurus channels.
* Documents and attachments can now be exported building a single, complete .zip file.
* Side effect concerning usage of relation between documents for a search fixed.
* Error adding documents to an existing selection (having no selection bitmap) fixed.
* Free search isn't now extended to skipped keys.
===== Versione 21.0.0.333 [Deprecata] =====
**Emesso 15/11/2007** Deprecata
* Serial values saved into a separed file for performance increasing.
* UDD file can now be written as a Buddy File for higher performance.
* NRECORD assignement now equal to physical document position.
* 'xml:space' attribute skipped by default during index building if attribute free order is active.
* Portability checks done during catalog building. Uppercase characters into file name are not valid anymore.
* Index rebuilding on document modify fastened.
* eXtraWay Server can now be set as a service directly with a command parameter. (Required hisetupd.dll)
* XSLT Document extension can be uset as a cache, index origin, sort parameter, title component and so on.
* Archive library can be called even on title building.
====== Versioni '20' ======
===== Versione 20.4.2.17 =====
**Emesso 08/11/2007** Deprecata: valida dalla pathc 6 in poi
* Indexes on attributes can now be evaluated ignoring attribute order and word position as eXtraWay usually does. This fixes a wrong behavior started with [[#Ver_Xw_20_3_5]]. Cause a loss of functionality in proximity search and highlighting searched words.
* Physical document sort can be forced even on archives having a default sort rule.
* The dot character cannot be used to expres an archive alias since it causes problems in Watch Doc and in index access. No more alias can be created with a dot inside.
* Relation between document can now be removed without asking for an export.
* Attachment can be added asking the server to use just the last extension and not the full one.
===== Versione 20.4.1.19 =====
**Emesso 11/10/2007** Deprecata: Valida dalla patch 3 in poi
* Side effect concerning image attachment thumbnail production fixed.
* Side effect concerning connections closure fixed.
* Spatial index now correctly removed on archive reset.
* Phontic search now available again.
* Documents containig date in ISO format, that means CCYYMMDD + T + HHMMSS,
where sorted ignoring the time of the day. Fixed.
* Internal Name Space declaration forced if absent.
* Saving document in files without encondig, that means in utf-8 encoding, now save. The documents were saved using the saving command encoding.
* Multi archive search operation can be carried out with ranking now showing also the result average in document titles.
* Ranges having identical extremes are now executed as simple search for a single value.
* Attachments can now be deleted on applications that don't require them to be saved even if unused.
===== Versione 20.4.0.35 =====
**Emesso 09/08/2007**
* Spatial search reserved keys can be used as search words if quoted.
* CSV to XML conversion now safer. Empty columns not allowed.
* At time job procedure now available.
* Document removing procedure via Watch Doc now available.
===== Versione 20.3.7.27 =====
**Emesso 26/07/2007**
* Relation between documents can now be build even for a very large amount of child documents for the same fahter.
* Phonetic search extension is now available.
* Serial Value evaluation error fixed.
* _.xml file not removed since it can contain valid documents.
* Export procedures modified to support correctly nested document export.
===== Versione 20.3.6.10 =====
**Emesso 16/07/2007**
* A wrong user name caused a damage in xusers.xml file. Fixed.
* Pointer freed but not nulled caused a crash in key extension. Fixed.
===== Versione 20.3.5.36 =====
**Emesso 22/06/2007**
* Couples of archives can be switched to let a procedure update the on line, active copy.
* Side effect on empty key search fixed.
* Hot Backup procedure now possible due to a read only on line switch for every archive. Requires eXtraWay Spreader.
* Title building during document save can now be skipped even mantaining the previous title built.
* Indexes on attributes can now be evaluated ignoring attribute order as XML usually does.
===== Versione 20.3.4.16 =====
**Emesso 07/06/2007**
* Archive locking done before archive dynamic library is called during document save operation.
* Empty key search on field having no empty key configuration forbidden. Search on fields configured to be ignored during index building forbidden.
* Spatial search side effect fixed.
* XReg Service startup failure fixed. The service didn't start due to a misconfiguration.
* Unix server hangs the client when a new connection is required but there are no more available licences. Fixed.
===== Versione 20.3.3.32 =====
**Emesso 29/05/2007**
* Document deletion caused an error an problems with indexes for archives to be sent from a Back Office to a Front office. Fixed.
* SQL selection now fastened expecially when the statement produces a wide amount of rows and columns.
* Aged files into collection directory can now be removed the same way collections are removed.
* Registry writing operation caused a server crash in a few cases. Fixed.
* Finger print for attached files can now be evaluated Server side making it faster to obtain the print value.
* Hierarchy between documents can now be built only if both documents are valid, no more removed documents will be in hierarchy.
* Unuseful reload of archive structure skipped.
* Search statement containing Wild Cards can now be used with brackets without changing the open and close match.
===== Versione 20.3.2.77 =====
**Emesso 08/05/2007**
* Document registration can now be done even ignoring operaton as index building, document cache rebuilding, unique test and so on. This feature must be used only in contolled procedures. After that usage, index, cache and so on must be rebuilt.
* Document cache lost during document modify. Fixed.
* Search extension method fastened expecially while using Wild Cards. Keys are tested using charset applied to the archive.
* Comma separated value export modified in order to avoid output of wrong carriage return or line feed characters or unusefull spaces.
* On and Off Line indexing use Cached files to carry out the job. The amount of memory to use is now evaluated in respect of the variable size of a single Key Node.
* Deleting document error fixed. When deleting a document build using an elder DTD, server caused an error trying to convert the document content from the old DTD to the current one even after the document has been erased.
===== Versione 20.3.1.38 =====
**Emesso 14/03/2007**
* Alias keys concerning information units having other alias keys can produce a mistake reading archive structure and catalog building. Fixed.
* Empty element documents now saved even if pne is not specified.
* Serial fields can now be filled with values over 20 crt of fixed and variable part.
* Archive default sort rule now loaded within archive opening. Sort procedure fastened.
* Memory leak obtained as a side effect of previous version fixed.
===== Versione 20.3.0.75 [Deprecata] =====
**Emesso 01/03/2007** Deprecata
* Composed keys are now composed putting no more than one blank in a sequence in order to let those keys valid for any purpouse. Keys returned from the vocabulary have no double blanks inside in any case.
* WatchDoc procedure not started if licences are unavailable. Done for Unix platfomr too.
* Csv to Xxx (masked xml) conversion fixed.
* Document unlocking doesn't cause an error anymore if document lock code is changed after it has been correctly tested.
* Removed some unused functions. Changed the behaviour of title function in order to return document number joined to titles even from a selecion.
* Archive catalog building now fastened due to a more rational usage of some functionalities.
* Side effect concerning MAC platform introduced since version 20.0.0.* fixed.
* Side effect concerning date range explosion introduced since version 19.5.10.61 fixed.
* A new kind of value_type called alnum, introduced. Produces a single key from the content of attributes and elements removing every non alphanumeric character and packing the result into a single word. Can be used only with single value search channels.
* Read only archives are now opened correctly.
* New function symbols exported to be used by dynamic linked libraries.
* Log command details enriched.
* Full table sql search fixed. It failed if a column has the same alias name of the table.
* Insufficient memory error in SQL selection fixed.
===== Versione 20.2.4.16 =====
**Emesso 02/02/2007**
* Context files can now be uploaded and downloaded. Files about Technical Reference, Management Handbook, Organizational Structure and Classification Method can be required and updated.
* Removing document can conflict with archive dynamic libraries behaviour. Fixed.
* Division by 0 during document import fixed.
* Accessing to vocabulary when a selection has been done is now correct even if there are no other limits set.
===== Versione 20.2.3.25 =====
**Emesso 31/01/2007**
* Archive opening now causes an access error if required dynamic library isn't available or if one of the required functions can't be found.
* Import from Csv or Xml format can now be required directly from a Client Application without having to share Watch Doc directory.
* A temporary file can now be sent to eXtraWay Server in order to be used for following operations as import and so on.
* Characters to be used as words separators now can be set up directly from archive configuration. Default characters fixed, new characters can be added and other characters can be excluded from separators list.
===== Versione 20.2.2.32 =====
**Emesso 23/01/2007**
* Keys path can now be written omitting XML prefix and UdType identification even in .conf.xml file.
* Opening/Closing archive caused a wrong status in some circumstances. Fixed.
* AdjBay search produce hilight hits even outside the elected Bay. Fixed.
* Thesaurus extension syntax error fixed.
* Raised up to 32 the number of channels that can be used in a unique rule expression.
===== Versione 20.2.1.47 =====
**Emesso 17/01/2007**
* A new kind of range is born. It can be used to select documents having keys outside the range, that means smaller than the range lower bound and greater than the range upper bound.
* Numeric channel range search is now done testing numeric parameters and raising and error if non numeric values are provided.
* On line and off line index building fastened increasing number of search channels having hashed access.
* Memory Leack in search pre-analysis fixed.
* Another side effect while rebuilding indexes on document change fixed. It affects text attachments only.
* Blanks can't be used while expressing search channel name. Blank as a prefix or postfix of the channel name cause syntax error.
* Long key indexing error fixed.
* Memory leack in archive configuration loading removed.
* Archive configuration loading fixed in presence of alias keys.
* Index accessing method fixed when looking for a greater key.
===== Versione 20.2.0.53 =====
**Emesso 11/01/2007**
* .csv to .xml conversion procedure developed. Resulting file can be used for Watch Doc importing.
* Wrong behaviour in range selection on text field fixed excluding service keys and applying correct string compare method.
* Keys having no reference to docs can now be shown reducing to 0 the lower bound in index access.
* Wrong access using unauthrorized user is now logged printing md5 of the given password within the provided userid.
* Removed a rich log mode that could cause a false failure in many operations. Logs will be poorer but operation will fail less times.
* Changed the way the Master server creates the Slave servers in order to avoid a dangerous dead lock condition. Windows Only.
===== Versione 20.1.1.6 =====
**Emesso 29/12/2006**
* Index reset during document change cause a crash if long keys are used. Fixed.
* Title list can now be wider than 16383 titles. Previous verions cause a crash for higher title number.
===== Versione 20.1.0.40 [Deprecata] =====
**Emesso 27/12/2006** Deprecata
* Archive status reload revision during Watch Doc operations. Release alignement with libxwwd is strongly recommended.
* Wild Card Star wrong usage now redirected to a simpler serach.
* Undefined error returned in a lower number of cases.
* Index building now fastened, expecially during off-line operations.
* Index and Data Flush can be delayed to increase disk I/O performance, expecially during off-line procedures.
===== Versione 20.0.0.116 [Deprecata] =====
**Emesso 15/12/2006** Deprecata
* Side effect creating a new archive is now fixed. Building a new archive or resetting an existing one failed if WatchDoc wasn't present or not configured.
* Index can now be built on index files with greater node size in order to increase performance and key lenght.
* Size of received and sent packet can now be logged in debug log mode on socket activity. See xw.conf.xml for details.
* Memory wrong usage in SQL statement solution solved.
* Balanced Trees opened in Archive building were left opened without being used. Fixed.
* File configuratin now provides the way to configure how many chars must be unchanged and valid while expressing a selection that uses wild cards. That means that the first wild card within the searched key must be placed afte a minimun number of valid chars. The same can also be done for keys used in similarity terms extension.
* Logical archive name can be omitted creating o resetting archive if it's equal to the name of .stat.xml file.
* Ths and Thv files are now saved while resetting an archive using the same behaviuor used for serial values. When serial are saved, thesaurus are saved all the same.
* Importing document using Watch Doc can now be done setting the level of test that the server is required to do: No test, Weel Formedness test or Well Formedness and DTD validity (the default).
* Asking for a selection file coming from a different server within a pool of front machines can fail if that machine isn't available or if eXtraWay Inter Process Server isn't present or properly configured. Now the behaviuor changes being more tollerant if the other server within the pool doesn't answer the request and skipping the request if no pool seems to be configured.
* Title building side effect fixed. Empty attributes were treated as filled with just one blank so that added labels had a bad behaviour.
* Ranking search failed evaluating the vote of a document when it's the last one selected by a key. Fixed.
* Document can grow on their own place if needed. When this behaviour has been introduced into eXtraWay Server, the size increase ont the place was set as the default behaviour. Since this behaviuor is usefull only in particular cases and can be dangerous when performance is needed, the default behaviour now changes: document will not grow on the place by default, this behaviour should be configured into archive conf file.
* Since indexes are used to know how to increase a document on the place, this behaviour is skipped if indexes aren't safe.
* On line index building/rebuilding is now faster expecially while modifying docments having wide textual attachments. Requires full index rebuild with version 19.5.10.* or higher.
* Key structure loading (after archive opening) now fastened even in presence of a large number of keys.
* Global revision of entity conversion method and memory usage during index building.
====== Versioni '19' ======
===== Versione 19.5.11.23 =====
**Emesso 07/11/2006**
This server causes an error code 804 on archive creation or reset if configuration file xwwd.conf.xml is absent.
* A new kind of key is born: When an element or an attribute is found within an information unit, a corresponing key feeds a vocabulary, one for every information unit, giving the information that the found XPath is available within that information unit.
* Erasing a document can now have a new behaviuor concerning indexes. An application can now select document being sure that erased ones will not be selected.
* Declaring a logical archive name can now be done using even '_' or '-' char. The chars that are used as archive name separs can now be configured in xwwd.conf.xml file in order to let archive cration and WatchDoc procedure work properly even with logical archive name containing such characters.
* Asking for server activation info when server is time limited now tells the expiration date.
* The first term into an element was not set as to be reversed, even if selected, when an attribut of the same element is selected. Wrong behaviour fixed.
* Date timestamp in ISO format is now properly used and recognized. It was recognized as valid only if it fits absolutelly the mask CCYYMMDD'T'HHMMSS without any head or tail spaces.
===== Versione 19.5.10.61 =====
**Emesso 31/10/2006**
This version of the server introduces a new behaviuor that is strongly recomended concerning search performance. This behaviour isn't incompatible with previous version and doesn't require reindex or other data handling. To speed up search performance with this server, please read carefully this document [[#SearchPerformance]].
* A more rational method to use memory while searching document has been developed.
* Date values now produces a new key identifying year and month of the document. This key can be used in following optimization.
* Range search on date fields can now be fastened using year key or year and month key if available. This solution gives faster results while searching on ranges of dates loosing bad date keys that could be present in documents.
* Name Space usage extended to specific name space for single primary nodes.
* Attachment file names now cleaned from head and tail chars present into XML document.
* Previous version of the server evaluate a bitmap of selected docs and put that bitmap into selection even if that bitmap is used only for rare functions. Now selection has been fastened by exluding bitmap evaluation. Bitmap of a selection content is now evaluated only on demand.
* Usage of File Conversion Service caused a loop in eXtraWay Server if F.C.S. is not present of properly configured. Loop fixed and connection error treated properly.
* Charset conversion now used even in document sort.
* A new version of DTD is referenced into arcname.stat.xml
* If not licenced, eXtraWay Server can now open archives up to 20.000 documents and provide up to 13 active connections. Those are the new default values (previous: 3.000 docs, 2 connections).
* Error in SQL statement evalutation fixed.
* The procedure that rewrites all XML files using new file location rule to change document distribution on disk can now be run asking for archive index to be left unchanged.
* Search performance can now be speed up loosing a few functionality concerning term reverse while viewing documents.
===== Versione 19.5.9.47 =====
**Emesso 09/10/2006**
* An entity must be completelly present into cached titles, it can't be present if it must be cut. In that case, when just a small part of a value is required to be cached, the entity on the edge between the taken and the lost parts must be completelly lost since it can't be completelly taken.\\
This problem was initially fixed with version 19.1.3.* but still have a little bug now fixed.
* Document export signaled as an error when an implied configuration is wrong or missing even if the export procedure ends properly. Now this information is just logged and treated as a warning and no more as an error.
* Side effect saving documents that nest aother documents withing them fixed.
* Archive Catalogue can be build using XML files that are in nested directories or have nested documents in them. This causes a job to be done even if nonosting is present or requirable and can bring to an extreme memory usage. Now this job can be skipped and, when done, uses a lot of memory less than before making the whole catalogue creation lighter.
* Context file is now set with real Structure Name when installing first time using the same name used during licence activation if still not set.
* Repeatible parts into an XML tree structure are used to build a table of values when aproacing to search using SQL statements. Explosion into more result lines is now correct even if one or more of the selected columns are empty.
===== Versione 19.5.8.9 =====
**Emesso 13/09/2006**
* When a document is modified it can be written back on the place enlarging the file if needed. This behaviour can be bypassed asking for the document to be moved sowhere else if too big to be put back on it's original place. When asking this behaviour, that was the old saving style used by the server, documents that are anchestor of other document and nest them in it can now be moved somewhere else without forcing file enlarging as before. The place where the document was is filled with blanks and completed with a processing instruction that shows where the document started. Now a corresponding processing instruction shows where the document ended.
* When accessing to a file it's consdered a valid one even if there's a space at the end of it's name.
===== Versione 19.5.7.60 =====
**Emesso 12/09/2006**
* Attachment files can now be referenced into documents using custom elements
or attributes. Index are built on those files' content directly using
File Conversion Service. Attachment can be refered as complete or
relative path or even as attachment ID but in that case files are not moved
into file system.
* Different Name Spaces can be set to be used by server on a particular
archive in order to use XML fragments correctly.
* XML tree structure is used to build a table of values even on a single
document when aproacing to search using SQL statements. Repetible parts are
now represented tacking care about tree composition. A single document can
now be exploded into more result lines.
* Temporary Path can now be set using configuration file xw.conf.xml.
* Changing a document that grows on the place is now safer. Operation does not comlpete if the whole catalogue can not be written.
===== Versione 19.5.6.27 =====
**Emesso 28/07/2006**
* Complete directory content access revision.
* Index corruption modifying a document on large files archive now fixed.
===== Versione 19.5.5.9 =====
**Emesso 26/07/2006**
* Complete threads behaviour revision.
===== Versione 19.5.4.117 =====
**Emesso 24/07/2006**
* Archive creation side effect fixed.
* Search on every field or on a wide set of filed can now be fasten by building a special key.
* Special keys can now be built even on undeclared search channels.
* SQL Select statement can now produce a CSV output.
* Attachment identification on arrachment load command is now faster.
* Insufficient memory allocation while building catalog of widely nested documents fixed.
* Child server starting hangs when signal was received from parent. Fixed.
* Saving document can now save some time due to a different word index count that should reduce document saving time.
* Locking document now tryes for a while if document is already locked instead of giving an immediate negative response.
* When elements or attributes in elements can be repeated and are part of document's unique rule, they are now used in an OR sequence.
* The search rule that is used to define if a document is unique or not is now checked, while loading archive configuration, to see if wrong syntax has been used.
* Removed a debug behaviuor that causes a server crash when corrupted indexes are found during index building.
* Arcname.conf.xml doesn't require a DTD anymore. DTD is provided as an URL into a comment and full DTD are distributed with binaries but not required from single XML files.
* Archive is now opened and reloaded only when required and not on every operation requested.
* Serial values assignement fails when serial mask and last serial value assigned doesn't match.
* Title cache built only if required during off line operation.
* User name is now correctly taken from WatchDoc file names even in presence of a dot.
* Ill formed XML fragment are now loaded embedding them into CDATA parts in order to let the clien clean and use them.
* Archive are forced in read only mode when Expert System extension is required but unavailable.
* Multiple thraad Master Server can now log without overwriting different threads log commands.
* Log level (small or deep) can now be configured in xw.conf.xml file.
* Catalog creation now skips xml configuratione files owned by the archive.
* Some operation and buffer access are now Thread Safe expecially in producing log output and using common memory.
* Unused attachment could now be removed automatically just from the required archives.
* Index check generic error fixed.
===== Versione 19.5.3.16 =====
**Emesso 12/06/2006**
* Looking for related documents using join fields is now easier and faster. Document title cache is also used to reduce operation time.
* Memory corruption fixed in title usage.
===== Versione 19.5.2.56 =====
**Emesso 06/06/2006**
* Title build operation now behaves properly even in presence of empty elements when listing values is required.
* There are two ways to load a document: the old styled one and the new, directly XML, mode. Dll support can now be required even loading document directly in XML form.
* Documents can be selected using their physical number searching that value on NRECORD serach field. If an application defines a search alias as nrecord for a different XML key path, this behaviour is lost. Now it's possible to select a document on the base of it's physical number by using the search field named ?NDOC, always available and not overwritable by application serach aliases.
* Generic search is extended to every search field (all the search fields of the archive or the pre-selected ones). This behaviour causes some problems. Now skipped fields, spatial engine fields or Expert System fields are not used to extend generic search. Generic serach also causes a large amount of search keys to be used: this run into problems while extending keys to all the selected search fields even if the amount limit has not been reached. Now that extension procedure has been fixed, keys can be extended up to 4000 units per search.
* Some encoding/decoding (from utf-8 and to WinLatin1) failure has been fixed.
* Highlighting procedure fixed when full document or all selected parts are required.
* Free search can extend to many search fields making selection too complex to be completed. Now an greater number of keywords are supported. Changes in order to be able to solve any selection, not depending on number of involved keywords, are in progress.
* Special char (non breaking space) conversion fixed in index building and search.
* Archive opening and reload are now done only when needed and not at every command received.
* INI file change procedure fixed (Unix Only)
* SQL extension requires a particular library. Now 3.0.0.* and 4.0.0.* versions of this library can both be used causing no errors.
* Some memory leacks fixed in title generation procedure.
* Sort procedure fixed while sorting documents found following relations from a defined subset.
* Files having .xml0 extension are no more used as .xml files so Watch Doc loading procedure, on Windows platform, now doesn't catch those file anymore.
* A memory leack fixed in custom title set and reset.
* Archive status flush could loose content of file on disk getting an empty file. Procedure fixed.
* Doulbe index keys usage with operator 'like' fixed. Join procedure in SQL statement fixed when using double index kyes.
* XML file creation fixed if it should contain more records but PNCE element is not defined.
===== Versione 19.5.1.32 =====
**Emesso 10/05/2006**
* On the place record saving procedure modified to correct a side effect causing loss of data in archives.
* Documentation turned into english form.
* Serial Values (i.e.: attachment and unique values) saved and restored during existing archive reset.
* Record saving procedure modified to reuse existing record extra data if unchanged.
* ExtraWay server now closes all the way even if broken socket closing causes client number to be not null. Confirmation request removed
* Free serch extension error using negative operator (non or not) fixed.
* Likelihood search on text or document causes memory leack. Fixed
* Fixed file tail writing error while touching last document in file XML.
===== Versione 19.5.0.29 =====
**Emesso 14/04/2006**
* Compiuta normalizzazione dei nomi di allegati in fase di ricerca della loro dislocazione effettiva su disco.
* Modificato il comportamento della ricerca per asterisco su canali aventi l'indicazione di empty_key="yes" perché non selezionino i documenti privi di valore mantenendo un comportamento allineato con gli altri canali.
* Corretto errore in ricerca estensa in parallelo (chiavi in OR) per chiavi prive di iwords.
* Tagliato l'uso della chiave nulla (per canali ove sia prevista) in estensioni per Wild Cards o Ranges in quanto si ritiene sia non voluta. \\ote Questo comportamento, pur differendo da quello preesistente, non si considera una incompatibilità col passato in quanto il precedente comportamento non era quello voluto in fase di sviluppo e quindi è da considerarsi inesatto.
* Corretto errore che causava la stesura, nei meta dati dei documenti, della versione del server indicata nel file xw.devhist.xml anziché quella reale.
* Riveduta procedura che garantisce la presenza del thread che si occupa della stesura del registro.
* Inibiti inserimenti e modifiche negli archivi se il server rileva che manca la dichiarazione della struttura nei files di contesto.
* Impedita ogni cancellazione di allegati, quale che sia la loro natura. I files non più referenziati sono citati in un file unreferenced.log presente nella directory nomearchivio.file.
* Consentito a più documenti di referenziare lo stesso allegato purchè si tratti di un file proveniente da una migrazione HighWay. Inibito lo spostamento in nuova posizione di files provenienti da tali migrazioni.
* Corretto pericoloso side effect sulla dimensione dei nomi di files.
* Implementata una modalità di compattamento archivio che forza la rimozione delle Unità Informative non riconosciute e l'eliminazione dei files XML non referenziati. Pone al riparo dai documenti zombie prodotti da una versione bacata del server.
* Resa disponibile la ricerca spaziale per le n geometrie più prossime ad una geometria data, solitamente un punto. Resa disponibile ricerca delle geometrie entro una certa distanza da un punto dato (ovvero ricerca di intersezione con la geometria Circle avente un punto centrale ed un dato raggio).
===== Versione 19.4.2.5 =====
**Emesso 04/04/2006**
* Reso tollerante l'accesso ai thesaurus con chiavi che presentano spazi in testa ma soprattutto in coda.
* Riveduta modalità di conversione entity in caricamento documenti per evitare errori di parsing.
* Corretto errore in rettifica indici in cancellazione ultimo documento in archivio
===== Versione 19.4.1.67 =====
**Emesso 31/03/2006**
* Corretto effetto collaterale della precedente versione che si manifesta quando si interviene in modifica su un documento la cui dimensione cresce sul posto ed è presente in un file XML nel quale, presso la mappa, risultano presenti uno o più documenti cancellati. In tal caso si aveva una maldestra segnalazione di documento cancellato ed il salvataggio non aveva luogo.
* Corretto un caso in cui la sostituzione sul posto dei documenti non aveva luogo anche se ce n'erano gli estremi.
* Introdotti controlli più stringenti sui valori assegnati agli attributi nella configurazione delle chiavi nel file nomearchivio.conf.xml
* Impedita l'interruzione del servizio di Registry (XReg) anche in caso di errore di comunicazione. Così facendo si evita che manchino le registrazioni nel file di registro (salvo casi eccezionali) e si evita che ogni operazione impieghi tempi eterni per la registrazione mancando il servizio dal lato opposto.
* Riveduto il trattamento degli allegati privi di estensione che si rischiava andassero persi.
* Migliorato il dialgo con librerie dinamiche d'archivio e non.
* Corretto errore in salvataggio di documenti caratterizzati da Prunable Branches in caso di trasformazione dell'encoding originario.
* Nuova modalità di regolazione accessi: le applicazioni che, tramite il Broker, fanno accesso al server possono qualificarsi al primo accesso come utente 'Lettore', corredato o meno da password. In alternativa a questo utente, che rappresenta il default, un'applicazione può decidere di qualificarsi in primo accesso come un diverso utente a patto che lo stesso abbia un livello d'accesso superiore a quello dell'utente 'Lettore' ed abbia una password non vuota.
* Inibito ordinamento naturale di selezioni che risultino già non ordinate.
* Snellite le procedure di creazione dei files di selezione per velocizzare alcune fasi della ricerca.
* Introdotta una directory dtd, parallela alle altre dell'installazione base, che contiene le DTD cui fanno riferimento i diversi files XML utilizzati.
* Corretto errore in fase di scarto documento da una selezione che poteva causare dei crash del server.
* Applicati tutti i controlli di univocità degli allegati anche a quelli privi di estensione.
* Corretto errore modifica documento in fase di corsa critica con altri server in lettura sullo stesso record.
* Introdotta procedura di controllo sulla salute dei documenti in un archivio.
* Introdotto modificatore di ricerca, (AdJIngnore:1), che consente di ignorare l'adiacenza sottintesa tra termini in un dato canale.
* Corretto errore in hilighting e pruning di documenti articolati qualora mancassero gli estremi per identificare entro il documento almeno un punto d'interesse.
* Compiuta normalizzazione delle chiavi provenienti da un thesaurus delle quali si faccia ricerca nel vocabolario per andare incontro al formato adottato nei vocabolari.
* Consentito l'interfacciamento con server Expert System anche se presente su porta o server differente purchè di pari piattaforma.
===== Versione 19.4.0.108 =====
**Emesso 16/02/2006**
* La versione consente di sostituire i documenti modificati sul posto anche se il file che li ospita non mette a disposizione spazio sufficiente per farlo.\\ In tale caso il server provvede a riscrivere integralmente il file XML che ospita l'unità informativa per farle posto e rivede al contempo l'intera mappa dei documenti interessati da quella stessa porizione di file.\\ L'operazione viene svolta ovviamente anche per i documenti nidificanti documenti per i quali questa modalità di salvataggio è obblicatoria.\\ Per ogni altro documento non nidificante, quindi considerato foglia dell'albero espresso dal file XML, questa nuova modalità di modifica è considerata il default per quanto sia possibile inibirla con una specifica dichiarazione nel file di configurazione d'archivio.\\ L'esempio che segue...
...mostra come disabilitare il salvataggio sul posto per documenti foglia.
* Resa possibile la salvaguardia dei seriali già assegnati in fase di ricostruzione di un archivio.
* Reso tollerante di fronte all'assenza di un allegato o alla sua malformazione pur segnalando l'evento nel log.\\ Questa scelta è tesa a portare a termine le indicizzazioni degli archivi ove gli allegati risultino maldestramente assenti poiché l'interruzione della costituzione indici sarebbe effetto ben peggiore.
* Inibita l'indicizzazione degli attributi xml:space. Ciò ha impatti su archivi esistenti e richiede, per gli archivi che prevedono quest'attributo, la ricostruzione globale degli indici.
* La stesura del Registro (rappresentato dai files xreg.log) è da ora obbligatoria. L'intervento sul file xreg.conf.xml viene quindi ignorato. Rimangono disponibili le altre impostazioni inerenti la collisione dello stesso utente da Ip Address diversi ed altre, ma non è più possibile inibire la stesura di tali logs.\\ In esso, sempre da questa versione, vengono registrate tanto la partenza e chiusura di ogni server Slave, quanto una registrazione supplementare, che segue e completa gli Inserimenti e Modifiche, atta ad indicare se l'operazione ha effettivamente avuto successo o meno. Nel primo caso ci si limita a registrare il successo conseguito, nel secondo viene indicato nei dettagli della registrazione la forma che l'operatore che ha effettuato il salvataggio aveva voluto dare al nuovo documento che non è stato possibile salvare con successo. Il documento, in tal caso, viene rimosso dal file XML teso ad ospitarlo (in precedenza rimaneva in forma spuria per poi saltare fuori all'atto di un successivo ri-catalogo dell'archivio).
* La regolazione dell'accesso degli utenti consente un trattamento particolare degli utenti che, intenzionalmente o per limiti della comunicazione, non si qualifichino per mezzo del loro Ip Address di provenienza. La modalità di trattamento, rigida o meno, è regolabile tramite il file di configurazione xreg.conf.xml intervenendo sul quale ci si può porre al sicuro da intrusioni. Vds. la documentazione di xreg in proposito.
* La configurazione dei comandi da inviare al modulo Xwgl può ora essere fatta con rispetto della piattaforma per consentire di realizzare un file di configurazione generico che metta il server in condizione di eseguire il giusto comando a seconda della piattaforma corrente. Si distingue tra Windows e Unix ma non tra le diverse Unix disponibili.
* Resa relativa alla porta socket del server quella sulla quale opera il servizio automatico di registrazione delle principali operazioni svolte (XReg). Mentre in precedenza, indipendentemente dal numero di porta adottato dal server, questo servizio veniva offerto sulla porta 4858, ora esso viene offerto sulla porta equivalente a quella utilizzata dal server '-1'.
===== Versione 19.3.2.14 e precedenti =====
Materiale attualmente indisponibile, consulatare RightWay o i file
xw.devhist.xml.