Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisione Revisione precedente Prossima revisione | Revisione precedente | ||
gwplatform:release_notes [2024/10/10 10:27] giorgio.scali [Versione 4.7.2] |
gwplatform:release_notes [2025/03/04 11:35] (versione attuale) giorgio.scali [Versione 4.7.3] |
||
---|---|---|---|
Linea 32: | Linea 32: | ||
| 4.1 | 2.1 | ... | | | 4.1 | 2.1 | ... | | ||
| 4.0 | 2.1 | ... | | | 4.0 | 2.1 | ... | | ||
+ | |||
+ | |||
+ | ===== Versione 4.7.4 ===== | ||
+ | rev 9f69335ba28c26afa74b23277fd552586767caf5 | ||
+ | |||
+ | date 2025/03/04 | ||
+ | |||
+ | === BUGFIX === | ||
+ | * widget date con handleTime true, non era possibile annullare il valore da UI (regressione issue #1035) (issue #1507) | ||
+ | * leafItemHierarchicalFilterMenu parametri hideNewIgnorePermissions hideDeleteIgnorePermissions non erano ereditati dal tag gwClassListSettings dell'xml di progetto (issue #1506) | ||
+ | * gwClassDetail errore non sistematico mancato salvataggio campi required modificati (issue #1504) | ||
+ | * Fix errore su anteprima per Content Handler forma DOC (issue #1503) | ||
+ | * risolte variate problematiche di sicurezza rilevate dalla analisi SAST (issue #1502) | ||
+ | * Modalità alto contrasto - propagazione del setting sui tab già aperti e confinamento impostazione alle platform stessa installazione (issue #1501) | ||
+ | * ToDoList: corretta mancata gestione attibuto hiddenActionsNamesList (issue #1500) | ||
+ | * terzo livello di dominio: adeguato backoffice a pagine di accesso (issue #1498) | ||
+ | * widget ImgPathGalleryRest risolto errore che impediva la visualizzaizone in gwClassDetail in visualizzazione (issue #1495) | ||
+ | * importCSV() con type 3 e 4 su advancedDelete1000Item() tabella temporanea non trovata (issue #1493) | ||
+ | * GeowEventManagementServiceAsync: aggiornata data salvata nell'evento con il fuso orario recuperato dalle variabili d'ambiente (issue #1490) | ||
+ | * widget LinkListNam migliorata velocità associazione/disassociazione, che poteva causare errori di timeout (issue #1487) | ||
+ | * CmisFactory: eliminati log che mostravano in chiaro tutte le informazioni di connessione, compresi utenti e pessword (issue #1491) | ||
+ | * Gestione Utenti (geow_users): aggiunta eliminazione delle associazioni ai ruoli organizzativi nel trigger di eliminazione utente (issues #1489) | ||
+ | * scheda layout2D - dialog 'Stampa' rimane in primo piano dopo aver creato la report pdf (issue #1488) | ||
+ | * widget externalTable aggiunto nullcheck per mancanza tag <gwClassListSettings> dentro tag <gwClassSettings> in xml di progetto (issue #1486) | ||
+ | * widget ImgPathGalleryRestWidget risolto errore nullcheck caption su visualizzatore js gwGallery (issue #1482) | ||
+ | * gwClassDetail multiple editing ripristinata comparsa button di editing (regressione issue #1452 di 4.7.3) (issue #1459) | ||
+ | * gwClassDetail multiple editing nascosto button editing anche in caso di ctrlParam disabled true (oltre che con readonly true) (issue #1458) | ||
+ | * fix contentHandler: Aggiunto il lancio della code ifcToGltf nel caso di inserimento di un nuovo record (issue #1475) | ||
+ | * widget LinkListNam gestite operazioni associazione/disassociazione in un'unica transazione al fine di evitare errori di timeout (issue #1472) | ||
+ | * widget attachmentRest e attachment- migliorata gestione errori in caso di caricamento del file (o dei files) fallito (issue #1469) | ||
+ | * widget document in lista risolto errore bloccante che occorreva con il valore non selezionato (introdotto con issue #1430) (issue #1467) | ||
+ | * fix filtri per ruoli: migliorato il controllo che aggiunge l'operatore OR a partire dall'eventuale secondo filtro (issue #1468) | ||
+ | |||
+ | === NEW FEATURES === | ||
+ | * nuovo plugin gw-commons-react per api progetti react (issue #1497) | ||
+ | * nuova api js openGwClassListInsideContentPane() (issue #1494) | ||
+ | * Gestione multischema: la funzione insertClassRecord() ora utilizza lo schema della classe, se impostato, per la generazione dei valori di chiave (sequence seq_fb) (issue #1485) | ||
+ | * widget TextArea aggiunto parametro placeHolder (issue #1477) | ||
+ | * widget LinkListNam nuova property afterSelectionScriptName (String, optional) per l'esecuzione di un groovy finale di associazione. Il groovy viene eseguito nella medesima transazione delle associazioni/disassociazioni (rollback in caso di exception). Variabili disponibili: services, all session variables, scriptName, log, parameters/parameterMap (con dentro: attributeGwid, projectName, associationClassKeyColumnValue, associatedList, removedList, startClass, associationClass, targetClass, associationRelation, targetRelation) (issue #1473) | ||
+ | * eliminati byte array dalle classi che si occupano di caricare i file sui gestori documentali nella nuova API CMS REST (tutte le classi che estendono GwDocSessionImpl (issue #1470) | ||
+ | * Documentatore: miglioramenti generali, aggiornamento libreria marked.js, definizione nuovi standard per i path delle immagini e dei riferimenti interni (issue #1464) | ||
+ | * openDialog/openFloatingPane adesso viene visualizzato sempre un loading message non solo con href GET (issue #1466) | ||
+ | |||
+ | === NEW COMPONENTS === | ||
+ | * nuovo plugin gw-commons-react (issue #1492) | ||
+ | * nuovo widget codeEditor, simile alla textarea, ma specializzato per visualizzare codice. Supporta tutti i linguaggi e molte stilizzazioni (issue #1465) | ||
+ | |||
+ | |||
+ | |||
+ | ===== Versione 4.7.3 ===== | ||
+ | rev 90d85db6dc508465f24e1d8c5cf5633a6189bfd4 | ||
+ | |||
+ | date 2024/12/23 | ||
+ | |||
+ | === BUGFIX === | ||
+ | * navigazione intra-frameowork: risolta problematice dei favorite button per i raggruppamenti di funzioni: | ||
+ | * adesso l'impostazione viene propagata a tutte le function/progetti gia aperti | ||
+ | * adesso possono essere clickati senza selezionare la sezione | ||
+ | * se non è possibile ripristinare il default su 'stesso oggetto' (perchè la function corrente non ce lo ha) viene considerato come favorite la sezione di default 'all'(issue #1408) | ||
+ | * navigazione intra-frameowork: risolta problematica per la quale una funzione/progetto non visualizzava fra le recenti le funzioni/progetti aperti successivamente. Contestualemnte incrementato il numero delle recenti a 5 (esclusa la corrente), e l'ordine di visualizzazione: adesso alla più recente descrescendo (issue #1407) | ||
+ | * incrementata velocità di apertura gwaFunction/gwProject (issue #1404) | ||
+ | * Dashboard ToDoList - corretta errata visualizzaizone lista geoweb (issue #1405) | ||
+ | * ReportController - aggiunto parametro di ordinamento quando si va chiamare il metodo selectAllRecordsFromCache; come parametro di ordinamento si sceglie la chiave univoca della classe classificata (issue #1325 pt2) | ||
+ | * Estrattore SQL - salvataggio wizard - migliorato recupero ultimo cod_extraction_model rendendolo indipendente dal codice del dataset (issue #1402) | ||
+ | * Estrattore SQL - salvataggio wizard - aggiunto supporto a oracle e sqlserver (issue #1401) | ||
+ | * widget externalTable error 404 not found su cancellazione record da dialog (issue #1400) | ||
+ | * Notifiche : corretto posizionamento del badge delle notifiche (issue #1399) | ||
+ | * Widget approvazioni corretto calcolo errato dell'altezza del dialog (issue #1397) | ||
+ | * gwClassDetail multiple dava errore con vari tipi di azione che controllano le DACL (issue #1387) | ||
+ | * gwClassDeatail multiple adesso compare correttamente anche senza esplicatere il terzo parametro queryParameter (issue #1386) | ||
+ | * widget linkList risolto errore gwClassDetail dovuto ad apice singolo ' in label classe target (issue #1377) | ||
+ | * scheda gwMap/gwLayout2D alla prima apertura dopo f5 non si vedono i tooltip dei MapCommand (issue #1376) | ||
+ | * mainActionWidget cambiato stile su hover: stesso colore testo, stesso colore sfondo, ma attenuato, e comparsa border grigio neutro (issue #1375) | ||
+ | * actionWidget/mainActionWidget adessso fa il corretto escape dei valori contenuti negli altri campi (passati al momento dell'azione e che possono contenere codice html) (issue #1374) | ||
+ | * ripristinata l'azione di importazione di oggetti da BIM tramite query apposite costruite dall'utente (issue #1373) | ||
+ | * risolto errore su dettaglio widget galleria fotografica: all'apertura di più dettagli contemporanemante, solo il primo viene visualizzato in modo corretto mentre gli altri vanno in errore a causa dell'id duplicato del pulsante delle info (issue #1370) | ||
+ | * widget html aggiungere supporto ad initialsValuesMap api js openGwClassDetail (issue #1369) | ||
+ | * risolti errori del tipo: GwScopeService Error creating bean with name 'scopedTarget.sessionObject' su groovy eseguito da gwTaskScheduler (issue #1368) | ||
+ | * gwClassList con molte azioni in toolbar non visualizzava numero eventuali record filtrati (issue #1365) | ||
+ | * ambienti containerizzati: estesa gestione codifica UTF-8 (issue #1364) | ||
+ | * ambienti containerizzati: gwAction con caratteri speciali non erano correttamente codificate in UTF-8 (issue #896) | ||
+ | * gwClassDetail risolto problema di charset che si verificava salvando certi char (accentati à, é, ò, ...) su alcuni widget (Normal, TextBox, TextArea) in ambienti containerizzati, e che causava la visualizzazione di un ? al loro posto (issue #1363) | ||
+ | * Report generiche venivano visualizzate vuote e senza errori lato server (introdotto con issue #1171 in 4.7.1) (issue #1361) | ||
+ | * gwUserSettings - adesso vengono visualizzate le descrizioni dei gruppi invece che il codice/nome sia nel dialog cambio gruppo che nel tooltip (issue #1360) | ||
+ | * webadmin callEmptyMetadataCache dava errore NoClassDefFoundError StreamConstraintsException, risolto aggiornando lib jackson-* a 2.17.2 (problematica introdotta dalla 4.7.1 con introduzione jasperreports 6.21.2) (issue #1359) | ||
+ | * widget action/mainActionWidget adesso nella gwAction le DACL con filtri CUSTOM che si riferiscono a campi del record sono correttamente valutate (issue #1356) | ||
+ | * gwClassList - columnToggler - nascosti dal menu colonne non visibili de facto (issue #1355) | ||
+ | * link cambio password adesso funziona anche dall' indice dei progetti anche quando userSettings.management.changePassword.url non è popolata (e quindi viene usato il default /changePassword.html) oppure quando è popolato un url non relativo (issue #1350) | ||
+ | * crypto.randomUUID() ora funziona anche in contesti non HTTPS (issue #1348) | ||
+ | * accessibilità framework - risolto errore introdotto in issue #1331 su pagine scelta gruppo ed indice proegetti, che poteva avvenire in base alle impostazioni di locale del server dojo/parser::parse() error Error: string.substitute could not find key "loadingState" in template (issue #1347) | ||
+ | * ImportCSV - risolto problema di lettura del file di importazione che si verificava in caso di file con tanti record (problema introdotto dalla issue #1328 dato che lo stream del file di importazione viene letto due volte: una per elaborare l'importazione e una per scriverlo nella tabella del db) (issue #1357) | ||
+ | * ImportCSV - la form di caricamento del file di importazione viene ora disabilitata dopo aver iniziato la procedura di importazione (issue #1358) | ||
+ | |||
+ | === NEW FEATURES === | ||
+ | * widget mainActionWidget in assenza dei campi configurati usare label, tooltip ed icona della gwAction (issue #1445) | ||
+ | * ProjectsDocController copiato da webadmin su webclient per erogare documentazione prodotti (doc metadati progetto) (issue #1444) | ||
+ | * gwWindowManager - open(), aggiunto supporto al riconoscimento delle finestre delle app di geoweb già aperte, al fine erogare le DAR dei link pregenerati evitando se possibile di ricaricare l'intera pagina (issue #1441) | ||
+ | * gwWindowManager aggiunta funzionalità di broadcast di messaggi fra le varie finestre, che permette di eseguire codice senza avere un riferimento diretto della finestra (issue #1441) | ||
+ | * js api gwAddIconImage() esteso supporto per widget dojo senza property iconClass in alcuni casi (Es: dijit/layout/ContentPane) (issue #1438) | ||
+ | * widget linkListNam, aggiunto supporto a criteri di ordinamento impostabili negli xml dei widget in lista (issue #1434) | ||
+ | * widget htmlTemplate con behaviorType 0, nuove proprietà disponibili in espressioni ${}: itemId, gwClassName, keyColumn, nameColumn, geomColumn (issue #1433) | ||
+ | * widget switchWidget, numberBox - adesso supportano il flag dell'xml isEditableInRelatedGwClassList (issue #1432) | ||
+ | * navigazione intra-framework adesso compare in ogni sezione un messaggio notificante che non ci sono altre app nella sezione (issue #1431) | ||
+ | * UserSettingsMenu - aggiunto comando per abilitare la 'Modalità Contrasto Elevato'<code properties> | ||
+ | ################################################################## | ||
+ | # U S E R S E T T I N G S M A N A G E M E N T | ||
+ | ################################################################## | ||
+ | ... | ||
+ | userSettings.management.changeLanguage.disabled=false | ||
+ | #hide the change contrast UI when true. default false (from 4.7.3, issue #1347) | ||
+ | userSettings.management.changeContrast.disabled=false | ||
+ | </code>(issue #1347) | ||
+ | * esteso supporto accessibiltà: widget Image aggiunto ora navigabile da tastiera (issue #1347) | ||
+ | * esteso supporto accessibiltà: aggiunti tag per gli SR <h1> label progetto, <h2> 1st level menu, <h3> 2nd level menu, <h4> 3rd level menu (issue #1347) | ||
+ | * nuovo componente preview file .xlsx. Nuove api js: | ||
+ | * openGwXlsxViewerFloatingPane() | ||
+ | * openGwXlsxViewerTab() (issue #1417) | ||
+ | * nuovo mapping request exportByGroovyExecution per esecuzione groovy che producono file da scaricare (issue #1414) | ||
+ | * notifiche: aggiunto nuovo parametro di configurazione nel configuration.properties: notifications.management.hide.timer. Questo parametro permette di gestire la durata del timer che mostra la snackbarcon la possibilità di annullare le azioni "Nascondi" o "Nascondi tutte". Il valore di default (che vale anche se il parametro non è presente nel configuration) è 10000 ms (issue #1442) | ||
+ | * notifiche: il titolo delle notifiche da scadenzario viene recuperato - se c'è - dalla tabella geow_event_type (issue #1454) | ||
+ | * Documentatore: report scheda prodotto_ | ||
+ | * nuovo layout non più basato sulle soluzioni ma sulla piattaforma | ||
+ | * riorganizzazione dei titoli in base alla modalità "scheda prodotto" o "manuale" (issue #1381) | ||
+ | |||
+ | === NEW COMPONENTS === | ||
+ | * nuovo 3rd level menu con type gwDashboardSet, che permette al Solution Mangager di personalizzare il set di risorse (dashboard) per Funzione (App). Il nuovo leafItem non ha parametri, ma necessita di nuove tabelle e relativi metadati. Rilasciate App dedicate per il SM e l'utente GW_ADMIN.<code xml> | ||
+ | <leafItem name="leaf_item_0" label="dummy unused Label" image="dummy_unused_image.png" type="gwDashboardSet" escapeLabel="true" disabled="false" hidden="false" hideWhenWithoutPermissions="false" checkDynamicPermission="false" avoidRemovalWhenAlone="false"> | ||
+ | </leafItem></code> (issue #1428) | ||
+ | |||
Linea 79: | Linea 208: | ||
=== NEW FEATURES === | === NEW FEATURES === | ||
- | * spring-security.xml necessario aggiungere nuovo intercept-url permittAll (sotto compressed/dojox/**) <code><intercept-url pattern="/resources/#{ T(com.geowebframework.metadataservice.registry.GwReleaseInfos).getRevision() }/build/**" access="permitAll" /> /code> | + | * spring-security.xml necessario aggiungere nuovo intercept-url permittAll (sotto compressed/dojox/**) <code xml><intercept-url pattern="/resources/#{ T(com.geowebframework.metadataservice.registry.GwReleaseInfos).getRevision() }/build/**" access="permitAll" /> </code> |
* configuration.properties: aggiunto parametro per impostare il tempo di validità dei file scaricati dal browser<code> | * configuration.properties: aggiunto parametro per impostare il tempo di validità dei file scaricati dal browser<code> | ||
################################################################## | ################################################################## | ||
Linea 191: | Linea 320: | ||
* Raggruppati tutti i metodi relativi agli sdf nei controller SdfController (package | * Raggruppati tutti i metodi relativi agli sdf nei controller SdfController (package | ||
com.geowebframework.webclient.controller.commons.map) e nel service SdfService (package com.geowebframework.dataservice) (issue #1297) | com.geowebframework.webclient.controller.commons.map) e nel service SdfService (package com.geowebframework.dataservice) (issue #1297) | ||
+ | |||
+ | |||
+ | ===== Versione 4.6.18 ===== | ||
+ | rev fe19229bb33a5e41bfa474216fef1bb502bd485f | ||
+ | |||
+ | date 2024/12/23 | ||
+ | |||
+ | === BUGFIX === | ||
+ | * scheda gwCalendar errore su distruzione contenuto in seguito ad openTab() con stesso id e forceRefreshTab true (issue #1461) | ||
+ | * gwLayout2D - plugin MapEditing - griglia snapping - eliminato check su risoluzione corrente mappa (issue #1460) | ||
+ | * navigazione intra-framework nascoste gwaFunction/App di documentazione con type 4 (issue #1459) | ||
+ | * scheda gwCalendar ordinati i calendari nello stesso ordine imposto dal parametro calendarCodes (issue #1456) | ||
+ | * gwClassDetail (solo con itemId=='newItem') le azioni di dettaglio erano eseguite troppo presto e non vedevano i valori impostati tramite l'api js initialsValuesMap (issue #1452) | ||
+ | * widget dbComboBox (con field di tipo integer + valueToStore della query integer) su gwClassDetail non viene sempre visualizzato correttamente il valueToShow appena salvato/creato (issue #1451) | ||
+ | * scheda gwCalendar attenuata opacità colori calendario per evitare label eventi inleggibili in quanto troppo sbiadite (issue #1449) | ||
+ | * gwClassFilter (aperto da dialog lista scelta oggetto in sessione) - risolto spaginamento che si verificava cambiando tab ('Semplificato'/'Incrementale') issue #1448 | ||
+ | * gestito apice singolo ' in label attributo che causava errori su filtri classi ed altri componenti (issue #1447) | ||
+ | * risolto errore javascript filterContainer.computeIsModified is not a function con useCompressed true (issue #1446) | ||
+ | * widget linkListNam, dialog di associazione, ora le liste si aggiornano anche agli eventi di eliminazione sulla classe di destinazione (issue #1440) | ||
+ | * componenti lista + alcuni widget (es: htmlTemplate con behaviorType 0) risolti errori su alcuni formatter integrando sempre ctrlParamStoreData con attribute gwid (issue #1439) | ||
+ | * widget classificazione - edit famiglie - risolto errore alla prima apertura (issue #1347) | ||
+ | * widget con valueToStore/valueToShow implementata api .gwGetValue() che funziona anche con dettaglio readonly (_detailMode=='visualize') (issue #1427) | ||
+ | * gwClassDetail ora i tooltip delle classi relazionate gestiscono i caratteri speciali à,è,é,ò,ù,ì (issue #1412) | ||
+ | * apertura gwProject - adesso il codSolution viene prioritariamente recuperato dalla proprietà gw.solution.code del configuration.properties o dalla variabile d'ambiente rimappata (issue #1425) | ||
+ | * scheda gwMap - tab editing - risolti malfunzionamenti grid snapping (PointGridSnappingControlCommand) (issue #1422) | ||
+ | * scheda gwMap reso fisso il boundary di selezione del click singolo in mappa, per evitare malfunzionamenti che c'erano a certe scale (issue #1420) | ||
+ | * gwMap risolti errori nelle function showGeometrySelectionOnMap() editGeometryOnMap() in caso di wktGeom troppo grande (issue #1418) | ||
+ | * widget LinkList - onRowClickGwActionName gwClassListSettings xml di progetto adesso il check sull'azione viene fatto sulla clase target (e non source) (issue #1415) | ||
+ | * navigazione intra-framwork + pagine di accesso problematiche sezione 'stesso gruppo' (issue #1411) | ||
+ | * risolto errore su azione importcsv asincrono e aggiunti ulteriori log al servizio importCsv (issue #1409) | ||
+ | |||
+ | |||
+ | ===== Versione 4.6.17 ===== | ||
+ | rev db9c40ac6a64c28a630918df6f3954c71a024cbd | ||
+ | |||
+ | date 2024/10/10 | ||
+ | |||
+ | === BUGFIX === | ||
+ | * incrementata velocità di apertura gwaFunction/gwProject (issue #1404) | ||
+ | * Estrattore SQL - salvataggio wizard - migliorato recupero ultimo cod_extraction_model rendendolo indipendente dal codice del dataset (issue #1402) | ||
+ | * Estrattore SQL - salvataggio wizard - aggiunto supporto a oracle e sqlserver (issue #1401) | ||
+ | * widget externalTable error 404 not found su cancellazione record da dialog (issue #1400) | ||
+ | * ReportController - aggiunto parametro di ordinamento quando si va chiamare il metodo selectAllRecordsFromCache; come parametro di ordinamento si sceglie la chiave univoca della classe classificata (issue #1325 pt2) | ||
+ | * gwClassDetail multiple dava errore con vari tipi di azione che controllano le DACL (issue #1387) | ||
+ | * gwClassDeatail multiple adesso compare correttamente anche senza esplicatere il terzo parametro queryParameter (issue #1386) | ||
+ | * widget linkList risolto errore gwClassDetail dovuto ad apice singolo ' in label classe target (issue #1377) | ||
+ | * scheda gwMap/gwLayout2D alla prima apertura dopo f5 non si vedono i tooltip dei MapCommand (issue #1376) | ||
+ | * mainActionWidget cambiato stile su hover: stesso colore testo, stesso colore sfondo, ma attenuato, e comparsa border grigio neutro (issue #1375) | ||
+ | * actionWidget/mainActionWidget adessso fa il corretto escape dei valori contenuti negli altri campi (passati al momento dell'azione e che possono contenere codice html) (issue #1374) | ||
+ | * ripristinata l'azione di importazione di oggetti da BIM tramite query apposite costruite dall'utente (issue #1373) | ||
+ | * risolto errore su dettaglio widget galleria fotografica: all'apertura di più dettagli contemporanemante, solo il primo viene visualizzato in modo corretto mentre gli altri vanno in errore a causa dell'id duplicato del pulsante delle info (issue #1370) | ||
+ | * widget html aggiungere supporto ad initialsValuesMap api js openGwClassDetail (issue #1369) | ||
+ | * risolti errori del tipo: GwScopeService Error creating bean with name 'scopedTarget.sessionObject' su groovy eseguito da gwTaskScheduler (issue #1368) | ||
+ | * gwClassList con molte azioni in toolbar non visualizzava numero eventuali record filtrati (issue #1365) | ||
+ | * ambienti containerizzati: estesa gestione codifica UTF-8 (issue #1364) | ||
+ | * ambienti containerizzati: gwAction con caratteri speciali non erano correttamente codificate in UTF-8 (issue #896) | ||
+ | * gwClassDetail risolto problema di charset che si verificava salvando certi char (accentati à, é, ò, ...) su alcuni widget (Normal, TextBox, TextArea) in ambienti containerizzati, e che causava la visualizzazione di un ? al loro posto (issue #1363) | ||
+ | * gwUserSettings - adesso vengono visualizzate le descrizioni dei gruppi invece che il codice/nome sia nel dialog cambio gruppo che nel tooltip (issue #1360) | ||
+ | * widget action/mainActionWidget adesso nella gwAction le DACL con filtri CUSTOM che si riferiscono a campi del record sono correttamente valutate (issue #1356) | ||
+ | * gwClassList - columnToggler - nascosti dal menu colonne non visibili de facto (issue #1355) | ||
+ | * Notifiche: corretta visibilità badge notifiche (issue #1351) | ||
+ | * link cambio password adesso funziona anche dall' indice dei progetti anche quando userSettings.management.changePassword.url non è popolata (e quindi viene usato il default /changePassword.html) oppure quando è popolato un url non relativo (issue #1350) | ||
+ | * ImportCSV - risolto problema di lettura del file di importazione che si verificava in caso di file con tanti record (problema introdotto dalla issue #1328 dato che lo stream del file di importazione viene letto due volte: una per elaborare l'importazione e una per scriverlo nella tabella del db) (issue #1357) | ||
+ | * ImportCSV - la form di caricamento del file di importazione viene ora disabilitata dopo aver iniziato la procedura di importazione (issue #1358) | ||
+ | * crypto.randomUUID() ora funziona anche in contesti non HTTPS (issue #1348) | ||
+ | * accessibilità framework - risolto errore introdotto in issue #1331 su pagine scelta gruppo ed indice proegetti, che poteva avvenire in base alle impostazioni di locale del server dojo/parser::parse() error Error: string.substitute could not find key "loadingState" in template (issue #1347) | ||
+ | |||
+ | === NEW FEATURES === | ||
+ | * configuration.properties: aggiunto parametro per impostare il tempo di validità dei file scaricati dal browser <code> | ||
+ | ################################################################## | ||
+ | # B R O W S E R C A C H E | ||
+ | ################################################################## | ||
+ | #cache expressed in days, default 3650, -1 to disable | ||
+ | cache.max-age.days=365 | ||
+ | </code>(issue #1404) | ||
+ | * Aggiunta nuovi API per il download della Report Accessi Geoweb se integrato con keyCloak (issue #1403) | ||
+ | * widget html nuovo parametro onClickGwActionName, che esegue al click l'azione definita nella gwClass (issue #1395) | ||
+ | * api js openGwClassListTab() aggiunta possibilità di espicitare tabWidgetId (issue #1392) | ||
+ | * Approvazioni: uando la dahsboard generica ToDoList è necessario rendere disponibile il meotdo per la gestione del tempo di altenza (issue #1391) | ||
+ | * Approvazioni: usando la dahsboard generica ToDoList è necessario rendere disponibile il meotdo per la gestione del tempo di altenza (issue #1391) | ||
+ | * nuova js api publishGwClassUpdateWhenLinkListNamChanges() che serve per aggiornare liste e dettagli di una classe differente da quelle coinvolte nelle modifiche effettuate da un widget linkListNam (issue #1388) | ||
+ | * gwClassDetail multiple edit permessa presenza dei widget InstructionsAreaWidget e Label (issue #1385) | ||
+ | * GwClassListService aggiunti metodi countClassRecords*(...) | ||
+ | * nuovi metodi esposti (groovy): | ||
+ | * public Integer countClassRecords(String gwClassName) | ||
+ | * public Integer countClassRecords(String gwClassName, List<Map<String, Object>> filters) | ||
+ | * public Integer countClassRecords(String gwClassName, List<Map<String, Object>> filters, String projectName) | ||
+ | * public Integer countClassRecords(Class gwClass, List<Map<String, Object>> filters, String projectName) | ||
+ | * altri esposti: | ||
+ | * public Integer countClassRecordsUsingFilterList(String gwClassName) | ||
+ | * public Integer countClassRecordsUsingFilterList(String gwClassName, List filterList) | ||
+ | * public Integer countClassRecordsUsingFilterList(String gwClassName, List filterList, String projectName) | ||
+ | * public Integer countClassRecordsUsingFilterList(Class gwClass, List filterList, String projectName) (issue #1384) | ||
+ | * Dashboard ToDoList: aggiunta possibilità di mettere icone custom non solo classi fontawesome (issue #1383) | ||
+ | * widget DBImageComboBox aggiunta proprietà cssClassField (con priorità su blobField) che abilita il supporto ad immagini configurate in varie modalità: | ||
+ | * regole css FontAwesome | ||
+ | * regole css Geoweb | ||
+ | * regole css di altre librerie importate | ||
+ | * B64 generabili dal tool del webadmin (comprese icone personalizzate nello stile, stacked, etc..) (issue #1379) | ||
+ | * widget DBImageComboBox aggiunto parametro contentTypeField per supporto a immagini .svg presenti nel database (issue #1378) | ||
+ | * Aggiunta gestione di nuovi filtri statici associati ai ruoli organizzativi; sono ora presenti il nuovo servizio GwRoleFilterService e la nuova classe RoleFilter (issue #1366) | ||
+ | * widget linkListNam vengono segnalati a runtime errori dovuti a relazioni costruite su campi non di tipo string/integer (ma double) (issue #1352) | ||
+ | * gwClassListService aggiunti nuovi metodi per eliminazione multipla reocord invocabili dai groovy. Precedentemente poteva venire invocato impropriamente questo metodo: <code>public JsonServerResponse deleteClassRecords(String projectName, String gwClassName, ArrayList<String> itemIdList, Map<String,Object> options)</code> che ritorna un JsonServerResponse, ha il suo TransactionManager, ed era nato per lavorare con la gwClassList, e non dovrebbe essere usato nei groovy (metodo che in caso di Exception su una specifica eliminazione, esegue anche le altre) Adesso sono disponibili nuovi metodi: | ||
+ | * public boolean deleteClassRecordsWithoutTransaction(String projectName, String gwClassName, ArrayList<String> itemIdList, Map<String,Object> options) Da usare nei trigger groovy di classe, quando è auspicabile non creare una ulteriore TransactionManager (per esempio eliminare records di una classe figlia, con java api, da un beforeDelete/afterDelete del trigger di una classe padre) Questo metodo, in caso di Exception su una specifica eliminazione, NON esegue anche le altre, e rilancia subito l'eccezione | ||
+ | * public boolean deleteClassRecordsFromGroovy(String projectName, String gwClassName, ArrayList<String> itemIdList, Map<String,Object> options) Da usare in nei groovy generici, che ha il suo TransactionManager e che ritorna un boolean Questo metodo, in caso di Exception su una specifica eliminazione, NON esegue anche le altre, e rilancia subito l'eccezione (issue #1349) | ||
Linea 1431: | Linea 1665: | ||
* class LayoutChangeController => PluginLayoutChangeController | * class LayoutChangeController => PluginLayoutChangeController | ||
+ | |||
+ | ===== Versione 4.5.17 ===== | ||
+ | |||
+ | === rev a8ae36082fb2922bcfb2f0d00f09dc4d8bff5721 === | ||
+ | |||
+ | === date 2025/01/02 === | ||
+ | |||
+ | === BUGFIX === | ||
+ | * widget linkListNam, dialog di associazione, ora le liste si aggiornano anche agli eventi di eliminazione sulla classe di destinazione (issue #1440) | ||
+ | * widget dbComboBox (con field di tipo integer + valueToStore della query integer) su gwClassDetail non viene sempre visualizzato correttamente il valueToShow appena salvato/creato (issue #1451) | ||
+ | * scheda gwMap - tab editing - risolti malfunzionamenti grid snapping (PointGridSnappingControlCommand) (issue #1422) | ||
+ | * gwMap risolti errori nelle function showGeometrySelectionOnMap() editGeometryOnMap() in caso di wktGeom troppo grande (issue #1418) | ||
+ | * widget LinkList - onRowClickGwActionName gwClassListSettings xml di progetto adesso il check sull'azione viene fatto sulla clase target (e non source) (issue #1415) | ||
+ | * widget externalTable error 404 not found su cancellazione record da dialog (issue #1400) | ||
+ | * gwClassList sotto mappa 2D: non funzionano conf GwClassSettings dell' xml di progetto (solo 4.5.* 4.4.*) (issue #1390) | ||
+ | * All'apertura del progetto risolto errore quando activeGroup non è fornito nell'url e c'è un solo gruppo disponibile per l'utente (issue #1389) | ||
+ | * gwClassList widget action in lista non funziona e da dialog di errore vuoto (issue #1371) | ||
+ | * widget html aggiungere supporto ad initialsValuesMap api js openGwClassDetail (issue #1369) | ||
+ | * gwClassList con molte azioni in toolbar non visualizzava numero eventuali record filtrati (issue #1365) | ||
+ | * ambienti containerizzati: gwAction con caratteri speciali non erano correttamente codificate in UTF-8 (issue #986) | ||
===== Versione 4.5.16 ===== | ===== Versione 4.5.16 ===== | ||
Linea 2251: | Linea 2505: | ||
+ | |||
+ | ===== Versione 4.4.29 ===== | ||
+ | |||
+ | === rev a939cb8f9ae907464c6faa34c16c97bfb00dc3f7=== | ||
+ | |||
+ | === date 2025/01/01 === | ||
+ | |||
+ | * widget dbComboBox (con field di tipo integer + valueToStore della query integer) su gwClassDetail non viene sempre visualizzato correttamente il valueToShow appena salvato/creato (issue #1451) | ||
+ | * widget linkListNam, dialog di associazione, ora le liste si aggiornano anche agli eventi di eliminazione sulla classe di destinazione (issue #1440) | ||
+ | * scheda gwMap - tab editing - risolti malfunzionamenti grid snapping (PointGridSnappingControlCommand) (issue #1422) | ||
+ | * gwMap risolti errori nelle function showGeometrySelectionOnMap() editGeometryOnMap() in caso di wktGeom troppo grande (issue #1418) | ||
+ | * widget LinkList - onRowClickGwActionName gwClassListSettings xml di progetto adesso il check sull'azione viene fatto sulla clase target (e non source) (issue #1415) | ||
+ | * widget externalTable error 404 not found su cancellazione record da dialog (issue #1400) | ||
+ | * gwClassList sotto mappa 2D: non funzionano conf GwClassSettings dell' xml di progetto (solo 4.5.* 4.4.*) (issue #1390) | ||
+ | * gwClassList widget action non valuta DACL (issue #1371) | ||
+ | * widget html aggiungere supporto ad initialsValuesMap api js openGwClassDetail (issue #1369) | ||
+ | * gwClassList con molte azioni in toolbar non visualizzava numero eventuali record filtrati (issue #1365) | ||
+ | * ambienti containerizzati: gwAction con caratteri speciali non erano correttamente codificate in UTF-8 (issue #986) | ||
===== Versione 4.4.28 ===== | ===== Versione 4.4.28 ===== | ||
Linea 4052: | Linea 4324: | ||
=====Client Cad===== | =====Client Cad===== | ||
+ | ===== Versione 3.0.3 ===== | ||
+ | date 2025/02/18 | ||
+ | |||
+ | === BUGFIX === | ||
+ | * Modificato il metodo con cui vengono recuperate le strutture di modello | ||
+ | * Sistemata l'esportazione dei colori nell'estrazione dei simboli dinamici | ||
+ | * Aggiunti gruppi PROGRAM_MANAGER,BIM_DATA alla login | ||
+ | |||
+ | ===== Versione 3.0.2 ===== | ||
+ | date 2023/10/24 | ||
+ | |||
+ | === NEW FEATURES === | ||
+ | * Aggiunta la possibilità di modificare il colore del layer tramite comando GWMERGELAYERS. Il colore dovrà essere nella terza colonna del csv in formato RGB | ||
+ | |||
+ | ===== Versione 3.0.1 ===== | ||
+ | date 2023/08/04 | ||
+ | === BUGFIX === | ||
+ | * Aggiunto il controllo del SyncMode sulla validazione di blocchi e poligoni | ||
+ | * Rimossi i log dalle operazioni background ricorsive | ||
+ | * Aggiunto il controllo del SyncMode sulla sincronizzazione di blocchi e poligoni | ||
+ | * Disattiva comando Pubblica fino a che non è validata la planimetria su GwSave. | ||
+ | |||
+ | === NEW FEATURES === | ||
+ | * Creato il comando che permette di modificare il restUrl. Se in fase di login il campo | ||
+ | RestUrl del config non è popolato allora la finestra di login si aprirà automaticamente | ||
+ | * Ora lo username viene estratto dalla pagina di login e viene salvato all'interno del LoginService. | ||
+ | * In fase di login il gruppo viene scelto automaticamente dalla lista dei gruppi possibili. Se non presente la login fallisce | ||
- | ===== Versione 3.0 ===== | + | ===== Versione 3.0.0 ===== |
description Compatibile a partire dalla versione 4.6.0 | description Compatibile a partire dalla versione 4.6.0 | ||
date 2023/05/04 | date 2023/05/04 |