Overview > Roadmap GuiGen


Overview


Release notes versioni future MDD Tools - GuiGen

GuiGen 3.4.0

Identificativo di versione completa: 3.4.0.003

Data di rilascio: 14-05-2020

Nota di rilascio: Questa versione introduce la target platform Wildfly17. E' ora possibile selezionare tale piattaforma come runtime: le librerie saranno adeguate di conseguenza.

In aggiunta questa versione include i seguenti miglioramenti/fix:

  • improvement: possibilità di comandare programmaticamente la visibilità dei nodi del  TreeView (nuova property "visible")
  • fix: correzione bug che impediva il corretto funzionamento di due TreeView nella stessa schermata

N.B: la versione della libreria struts2-custom-component è variata (=> 3.1.1): si raccomanda di cancellare la vecchia versione della libreria alla prima rigenerazione.


Release notes versioni rilasciate MDD Tools - GuiGen

GuiGen 3.3.0

Identificativo di versione completa: 3.3.0.009

Data di rilascio: 01-02-2019

Nota di rilascio: Questa versione rappresenta un porting della versione 3.2.0 sulla piattaforma di eclipse Oxygen, e pertanto necessita del bundle basato su eclipse-Oxygen e del plugin mddtools (funzioni condivise) almeno nella versione 3.1.0.001.
In aggiunta questa versione include i seguenti miglioramenti/fix:

  • improvement: possibilità di definire la dimensione del campo di test utilizzato nelle tabelle editabili (nuova property "maxLength" nell'oggetto Column
  • improvement: visualizzazione di un tooltip che mostra la label dei tab in un TabSetPanel (solo se presente TabSwitcher)
  • improvement: upgrade della libreria struts2 alla versione 2.3.35 (dalla build 008)
  • fix: corretto problema su DeclarativeUIConstraint (non fiunzionava se pe rlo stesso widget non era presente anche almeno un SecurityConstraint)
  • fix: upgrade a versione 3.0.1 della libreria custom component per correggere problema sul TreeView (SPECIFICARE MEGLIO)
  • fix: corretto problema per cui la disabilitazione della table non aveva effetto sulla selezionabilità del radio/check di selezione riga
  • fix: corretto problema su label del WidgetsPanel (non veniva presa dalle properties => non funzionavano le estensioni i18n)
GuiGen 3.2.0

Identificativo di versione completa: 3.2.0.018

Data di rilascio: 10-07-2017

Nota di rilascio: La versione 3.2.0 introduce alcune nuove possibilità, alcune delle quali sono da considerarsi "preparatorie" verso successive implementazioni:

  • nella cartuccia struts2Basic.mwe viene introdotta la possibilità di specificare più puntualmente i template di generazione da utilizzare, tramite i due parametri templateName e templateVersion, che sostituiscono il vecchio parametro portal. Al momento l'unica combinazione funzionante: templateName="neutral" e templateVersion="v1", che corrispondono a quanto fino alla versione precedente si indicava con il parametro portal="neutral". l'impostazione templateName="neutral" corrisponde all'utilizzo della consueta cartuccia neutral, mentre l'impostazione templateVersion="v1" permette direferenziare la variante "V1" degli skin (es. permette di referenziare le risorse nella cartella ris/utheme/global/themes/xStructureV1). In futuro queste impostazioni saranno sfruttate ad esempio per la realizzazione di una cartuccia neutral touch-friendly (della quale è disponibile una implementazione parziale e sperimentale impostando templateVersion="v2").
  • sono state definitivamente rimosse le cartucce con l'estensione obsoleta "oaw", pertanto è necessario utilizzare le corrispondenti versioni "mwe" (delle quali da almeno 4 anni le oaw erano semplicemente degli alias)
  • è stata aggiunta la target platform JBossEAP64, da utilizzare nel caso in cui l'applicazione debba essere eseguita su JBoss EAP in versione 6.4.x o successive. Le differenzaeprincipali tra tale target platform e la JBoss43 sono le seguenti:
    • la differente versione di libreria struts2 utilizzata
      • nel caso di JBossEAP64 viene utilizzata la versione 2.3.32, che corregge vari problemi, tra cui alcune importanti vulnerabilità di sicurezza, ma non è più compatibile con JDK 1.5
      • nel caso di JBoss 4.3 o di Weblogic viene utilizzata la versione 2.3.24 che è l'ultima per cui il framework struts2 è certificato per JDK 1.5.
    • l'utilizzo delle librerie specifiche dell'application server per la compilazione (in passato erano utilizzate sempre le librerie di JBoss 4.3)
  • è stata corretta una vulnerabilità, di tipo XSS, collegata alla possibilità di passare come parametro "actionMessages", "actionErrors", "fieldErrors". E' stato inibito l'utilizzo di tali parametri tramite un apposito interceptor
  • E' stata corretta una importante vulnerabilità di struts2
    • per la target platform JBossEAP64 mediante l'utilizzo di una versione di struts2 aggiornata
    • per le target platform JBoss4.3 e Weblogic, per le quali la versione aggiornata di struts2 non è compatibile, mediante l'introduzione di un servlet filter che valida il content type della request
  • è stato corretto un malfunzionamento sui VisibilityCommand e ONOFFCommand su elementi del menu
  • è stata aggiunta la possibilità  di definire dei criteri dichiarativi per la visualizzazione/abilitazione dei Widget, che si affianca alla modalità tramite comandi (ONOFF e Visibility). Tramite il nuovo elemento DeclarativeUIConstraint è possibile ad esempio specificare che un certo Widget deve essere abilitato solo se sussiste una specifica condizione su uno dei dati del model (esempio: TextField "partitaIVA" abilitato solo se il campo "soggettoGiuridico" di un ApplicationData di tipo Soggetto è valorizzato a true). Il criterio al momento deve essere specificato tramite il linguaggio previsto dalla libreria beanshell. Nella sezione guigen / FAQ / dinamiche di user interface dell'help integrato in eclipse sono state aggiunte alcune informazioni sull'utilizzo di questa nuova feature.
  • nel widget Calendar è stata aggiunta la possibilità  di selezionare rapidamente anno e mese (tramite combobox integrate nel date-picker - solo per jsPlatform=jquery)
  • è stato aggiunto il nuovo widget Slider, per la selezione di un singolo valore numerico o di un intervallo (solo per jsplatform=jquery)
  • è stata aggiunta la possibilità di impostare un encoding in fase di compilazione (property opzionale guigen.javac.encoding)
  • è stato implementato il tooltip per il widget Button
  • è stata introdotta la possibilità di personalizzare il nome del file TAR di distribuzione, tramite la property guigen.overridden.tar.filename.prefix da inserire nelle workflow properties
  • è stata corretta una gestione errata dell'encoding degli header ricevuti da SHIBBOLETH (che impediva un corretto recepimento delle info utente se nome/cognome contengono caratteri accentati)

N.B:
  1. nel caso di utilizzo della target platform JBossEAP64, poichè è variata la versione della libreria struts2, si raccomanda di cancellare le librerie di progetto e ripulire la cache di ivy prima del primo rebuild successivo alla prima rigenerazione con la nuova versione. Inoltre è necessario modificare il richiamo delle cartucce sostituendo al parametro portal la coppia di parametri templateName e templateVersion, come da indicazioni riportate in precedenza e nella sezione "cartridges" dell'help integrato in eclipse. Tale operazione potrebbe anche essere necessaria in caso di utilizzo di versioni intermedie precedenti alla 3.2.0.010, nelle quali era stato fatto un tentativo di utilizzo delle versioni 2.3.28 e 2.3.32 di struts2, a causa della mancata comunicazione della rottura di compatibilità da parte del gruppo di progetto di struts2 (v. JIRA di STRUTS2).
  2. questa versione di generatore richiede una nuova versione delle librerie jqcsienricher (1.1.0), che devono essere presenti tra le risorse globali del virtual host su cui è installata l'applicazione
  3. da questa versione non è più possibile decidere di non recepire automaticamente le fix sulle librerie javascript. pertanto la property guigen.clientLibs.enableAutoServicePack non è più utilizzabile e il codice html referenzierà sempre la versione x.y.latest delle librerie che supportano tale metodo di reperimento (es. jqcsienricher)


GuiGen 3.1.1 

Identificativo di versione completa: 3.1.1.017

Data di rilascio: 11-11-2015

Nota di rilascio: La versione 3.1.1 è principalmente finalizzata all'introduzione di alcune correzioni:

  • TreeView con selezione: corretto problema per cui si perdeva la selezione navigando nelle cartelle dell'albero; (il problema è stato corretto solo per la jsPlatform jquery)
  • corretta vulnerabilità  nella pagina di ingresso (possibile XSS).
  • migrazione a versione 2.3.24 della libreria Struts2 (che comprende tra le altre cose alcune correzioni cumulative sul fronte security)
  • correzione della non retrocompatibilità introdotta nella versione 3.1.0 (relativamente ai tipi semplici non wrapped): il problema, derivante dalla versione 2.3.16.3 di struts2 è stato corretto nella versione 2.3.24 e pertanto è di nuovo possibile utilizzare i tipi semplici non wrapped.
  • correzione di un problema che inibiva alcuni eventi (table, tree, ...) ajax based con jsPlatform = jquery e browser InternetExplorer
  • correzione di un problema in caso di utilizzo della custom security (modalità  completamente interna)

Inoltre sono state aggiunte le seguenti piccole variazioni funzionali:
  • Table: possibilità  di definire, per una Column, un Field alternativo a quello che contiene il valore da visualizzare, da utilizzare per l'ordinamento di una colonna (nuova property Column::customSortPropertySelector)
  • Custom security: possibilità  di utilizzare ticket costituiti da più elementi (es. più request parameters) per effettuare il ritorno dal sistema di SSO (serve ad esempio per l'SSO custom di TorinoFacile) - in precedenza era possibile avere solo ticket di un elemento

Infine sono stati realizzati alcuni refactoring del codice generato:
  • relativamente alla gestione dei SecurityConstraints: invece della gestione originale, basata su costruzione da codice della struttura di constraints, ora i constraints sono serializzati in formato json e caricati da una apposita factory (in modo analogo a quanto avviene già  per le strutture dei comandi). Ciò permette di alleggerire notevolmente il codice delle action realtive ai singoli ContentPanel.
  • sono state spostate nella superclasse dei dto (BaseSessionAwareDTO) le proprietà  comuni, precedentemente presenti nei singoli DTO; questo e l'intervento precedente hanno permesso di ridurre l'indice di duplicazione di una fattore che va dai 4% ai 7% (dati rilevati sulla suite di applicazioni di test).

N.B:
  1. poichè è variata la versione della libreria struts2, si raccomanda di cancellare le librerie di progetto e ripulire la cache di ivy prima del primo rebuild successivo alla prima rigenerazione con la nuova versione. Inoltre da questa versione è necessario utilizzare la libreria jqcsienricher v. 1.0.3 (nel caso in cui si scelga la jsPlatforn = jquery)
  2. sono stati riscontrati alcuni problemi di aggiornamento a questa versione di plugin. In questi casi l'effetto è l'impossibilità  di utilizzare l'editor strutturato di modelli guigen. Sono state sperimentate le seguenti soluzioni al problema:
    • Effettuare un revert alla configurazione precedente (tramite la funzione [help]->[installation details]->[installation history]->[revert]) e ripetendo l'installazione il problema scompare, probabilmente per effetto dell'aggiornamento degli altri plugin base.
    • Utilizzare una nuova versione di bundle:


 
GuiGen 3.1.0 

Identificativo di versione completa: 3.1.0.017

Data di rilascio: 31-03-2015

Nota di rilascio: La versione 3.1.0 introduce alcune evoluzioni funzionali:

  • possibilità  di interagire con IRIDE2 in modalità  WebServices invece che con protocollo RMI: a seconda dei vincoli architetturali potrebbe essere necessario utilizzare un protocollo a WebServices su HTTP invece che il protocollo RMI per interagire con il PolicyEnforcementPoint del sistema di autorizzazione IRIDE2. Da questa versione è possibile scegliere quale protocollo utilizzare a build-time (in modo da poter decidere il protocollo più adeguato a fronte dell'architettura di deploy). Le informazioni su quali property aggiuntive si debbano configurare nel file di .properties sono sintetizzate nella pagina di overview della guida di guigen integrata in eclipse
  • nuovo widget Captcha
  • modalità  multipla per il widget FileUpload
  • possibilità  di generare codice HTML5: impostando la property di generazione guigen.html.mode è possibile scegliere se generare il codice della pagina con intestazione/document type xhtml (default) o html5: la modalità  html5 è necessaria nel caso di debba utilizzare del codice specifico di  html5 nei widget o panel user-defined per assicurare il funzionamento su alcuni browser (es IE9)

Inoltre vi sono alcune correzioni:
  • utilizzo della versione 1.0.1 della libreria di arricchimento basata su Jquery (corregge alcun bug relativi alla combobox con suggestion utilizzata all'interno di un MultiPanel (o tabset o wizard))

Note relative alla nuova versione di struts2:

  1. poichè è variata la versione della libreria struts2, si raccomanda di cancellare le librerie di progetto e ripulire la cache di ivy prima del primo rebuild successivo alla prima rigenerazione con la nuova versione.
  2. a causa di un malfunzionamento introdotto nella nuova versione alcune casistiche di tipo di dato non sono più funzionanti, in particolare:
    • widget senza databinding, con tipo numerico non wrapped (es. int/float/double)
    • widget con databinding a field un complexType, se il tipo è un numerico non wrapped.
Per il punto (2) il malfunzionamento consiste nell'impossibilità  di parsificare correttamente l'input, esiste un workaround che consiste nell'utilizzare il corrispondente tipo wrapped. La casistica non è delle più diffuse (normalmente si utilizza il tipo wrapped per poterne sfruttare la possibilitè  di essere nullo), ma in caso di utilizzo di tali tipi di dati/binding passando alla nuova versione il problema si manifesta sistematicamente e viene evidenziato solo in fase di test. La correzione non è ad impatto nullo ma molto limitato. Per evitare che alcuni casi non vengano corretti è stato introdotto un check che evidenzia come errori bloccanti tali casistiche, in modo da costringere lo sviluppatore alla sua correzione.
N.B: il problema è stato risolto a maggio 2015 nella versione 3.1.1: si consiglia di utilizzare quella versione saltando la 3.1.0!



 
GuiGen 3.0.1 

Identificativo di versione completa: 3.0.1.006

Data di rilascio: 04-12-2014

Nota di rilascio: La versione 3.0.1 raccoglie una serie di bugfix e alcune piccole evoluzioni:

  • correzioni/miglioramenti in ambito sicurezza
    • miglioramento della funzionalità  di logout
    • correzioni implicite derivanti dall'aggiornamento della versione della libreria struts2 (nuova versione: 2.3.16.3)
    • check aggiuntivi (livello warning) in fase di generazione per evidenziare i campi su cui sarebbe opportuno inserire dei controlli formali (per evitare potenziali problemi di sicurezza del tipo XSS e code injection
  • esposizione multiportale - WAYFProfile: possibilità  di capire quale sia il portale di esposizione senza parametri o cookie aggiuntivi, ma solo da una parte dell'hostname della request

N.B: poichè è variata la versione della libreria struts2, si raccomanda di cancellare le librerie di progetto e ripulire la cache di ivy prima del primo rebuild successivo alla prima rigenerazione con la nuova versione.



 
GuiGen 3.0.0 

Identificativo di versione completa: 3.0.0.001

Data di rilascio: 22-09-2014

Nota di rilascio: La versione 3.0.0 è il semplice porting della versione 2.6.0 nella nuova piattaforma basata su eclipse Luna.




GuiGen 2.6.0 

Identificativo di versione completa: 2.6.0.013

Data di rilascio: 15-08-2014

Nota di rilascio: La versione 2.6.0 presenta le seguenti novità :

  • possibilità  di scegliere il motore di arricchimento (javascript). Al momento sono previsti due framework, quello classico basato su extjs e un nuovo framework basato su jquery. N.B: poichè la modalità  jquery è ancora in fase di sviluppo, questa possibilità  deve essere considerata come un futuro sviluppo. pertanto, fino ad indicazione contraria, sarà  possibile utilizzare solo la modalità  extjs (che deve comunque essere indicata esplicitamente tramite il parametro jsPlatform- vedere documentazione della cartridge)
  • miglioramento della qualità del codice. A seguito dei risultati dell'analisi del codice generato effettuata con sonar, sono state realizzati numerosi interventi atti a migliorarne la qualità . Tra tutti è utile evidenziare un importante refactoring sul codice generato relativamente al meccanismo di implementazione del command engine: ora le catene di comandi associate ai vari eventi sono serializzate in formato json e caricate da un'apposita factory solo quando necessario, con un notevole miglioramento in termini di leggibilità  del codice nonchè di performance e utilizzo delle risorse.
  • evoluzione della versione del framework spring utilizzato (si passa alla versione 3.1.1 - ricordarsi di cancellare le librerie dopo la prima rigenerazione con la nuova versione)


 
GuiGen 2.5.1 

Identificativo di versione completa: 2.5.1.006

Data di rilascio: 17-02-2014

Nota di rilascio: La versione 2.5.1è una versione principalmente di bugfixing, ma che introduce anche alcune nuove funzionalità :

  • possibilità  di associare logica all'evento di selezione (singola o multipla) su una Table;
  • possibilità  di associare logica all'evento di selezione/deselezione di un CheckBox

Dettagli di rilascio

Bug

  • [STDMDD-1394] - guigen: docs: errore in doc. HorizontalLayout: la descrizione dice che si può regolare il size colonne
  • [STDMDD-1440] - guigen: Tabella con celle editabili: vengono inseriti dei link non desiderati
  • [STDMDD-1446] - guigen: custom security: con PEP provider custom non funziona il lookup del contesto spring dalla PD
  • [STDMDD-1456] - guigen: prototype: il generatore genera codice corrotto (presenza del carattere ">>" invece che "<<")
  • [STDMDD-1457] - Handler VALUE_CHANGED alla lunga si rompe su combobox
  • [STDMDD-1460] - Handler VALUE_CHANGED alla lunga si rompe su radio button
  • [STDMDD-1467] - guigen: radiobutton con value changed: non funziona il refresh parziale
  • [STDMDD-1472] - guigen: errore nel caricamento di staticResources.xml su WLS9
  • [STDMDD-1463] - guigen: security vulnerability issue (CVE-2013-2251)

Improvement

  • [STDMDD-1423] - struts2customcomponent : TreeView : adeguamento a struts2 v.2.3.x
  • [STDMDD-1458] - guigen: prototype: evoluzione extjs 3.2.2 -> 3.4.0
  • [STDMDD-1461] - guigen: evoluzione extjscsienricher 1.5.2 -> 1.5.3
  • [STDMDD-1468] - guigen: adeguamento a util-struts2-csitemplate v. 2.0.1
  • [STDMDD-1470] - guigen: adeguamento a csiuicore 1.4.1

New Feature

  • [STDMDD-354] - guigen: evento di value changed su Widget checkBox
  • [STDMDD-355] - guigen: evento value changed su Table



GuiGen 2.5.0

Identificativo di versione completa: 2.5.0.005

Data di rilascio: 11-09-2013

Nota di rilascio: La versione 2.5.0 è mirata all'ampliamento del parco di piattaforme target per le quali è possibile generare applicazioni.
Con la versione 2.5.0 è possibile generare applicazioni per le seguenti piattaforme:

  • Applicazioni J2EE jsp/struts2/spring standalone:
    • compatibili con JBoss 4.2 EAP
    • compatibili con JBoss EAP6
    • compatibili con weblogic 9.2
  • Portlet JSR168, basate su jsp/struts2/spring:
    • compatibili con Liferay 6.1.10
Per la piattaforma target Liferay sussistono attualmente alcune limitazioni rispetto alle funzionalità :
  • limitazioni sulla piattaforma Liferay:
    • non è possibile utilizzare le funzionalità  cartografiche (MapView - poichè non è ancora stato effettuato il porting del framework GREASE su tale piattaforma)
    • non è possibile utilizzare la CustomAuthentication/custom SecurityProfile (in quanto la security è delegata al portlet container)
Il porting è stato realizzando effettuando l'evoluzione della libreria struts2 che passa dalla versione 2.0.11 alla versione 2.3.8. Tale versione risulta correttamente funzionante su tutti gli application server supportati: per questo motivo non è stata introdotta nessuna nuova voce nell'elemento TargetPlatform per indicare che l'applicativo sarà  destinato a JBoss EAP6. Sarà  pertanto sufficiente continuare ad indicare JBoss42 come target.
Oltre alla suddetta libreria molte altre librerie ausiliarie hanno subito una evoluzione: si raccomanda pertanto nella migrazione da versioni precedenti di rimuovere dalla cartella lib del progetto generato le librerie non più necessarie, per evitare che siano erroneamente inserite nel pacchetto dal processo di build.

Dettagli di rilascio

Bug

  • [STDMDD-1442] - guigen: TreeView: il binding di selezione singola/multipla viene ignorato (codice erroneamente "cablato")

Improvement

  • [STDMDD-1421] - guigen: struts2-standalone: migrazione a Struts 2.3.8
  • [STDMDD-1429] - guigen: struts2-standalone: migrazione a template freemarker neutral csi v.2.0.0
  • [STDMDD-1430] - guigen: struts2-standalone: migrazione a ustil-struts2-customcomponent v.3.0.0
  • [STDMDD-1431] - guigen: struts2-standalone: migrazione a csiui-core v. 1.4.0
  • [STDMDD-1432] - guigen: struts2-standalone: aggiunta dipendenza libreria portlet 6.1.10

New Feature

  • [STDMDD-1387] - guigen: struts2: JBoss6: porting, adeguamento build, struttura, librerie, ...



GuiGen 2.3.0 

Identificativo di versione completa: 2.3.0.007

Data di rilascio: 03-10-2012

Nota di rilascio: La versione 2.3.0 è un upgrade funzionale che ha come principale obiettivo quello di aggiungere la possibilità  di personalizzare il sottosistema di securizzazione (autenticazione/autenticazione). Questa nuova possibilità  è utilizzabile per gli sviluppi di applicazioni destinate ad essere installate ed integrate in ambienti che prevedano di autenticazione/autorizzazione meccanismi differenti rispetto a quelli standard CSI e si concretizza con l'introduzione di un nuovo elemento di modellazione denominato "SecurityProfile".
Sono pertanto disponibili due modalità di securizzazione:

  1. securizzazione standard (es SSO di Shibboleth)
  2. securizzazione personalizzata
Nel caso della securizzazione personalizzata è possibile definire le caratteristiche peculiari del sistema di autenticazione/autorizzazione, come ad esempio:
  • la pagina di login è interna o fornita da un sistema esterno separato dall'applicazione?
  • il componente  (guardia) che ha il compito di verificare se è attiva una sessione valida di autenticazione per l'utente collegato è interno all'applicazione o fornito da un componente esterno?
  • come è implementato il componente che realizza le funzioni informative necessarie per rispondere alle domande di autenticazione/autorizzazione?
  • ...

La versione 2.3.0 introduce inoltre alcune nuove funzionalità  di user interface, quali:
  • TreeView:
    • possibilità di selezione (singola o multipla) dei singoli nodi dell albero
    • possibilità  di stilizzazione personalizzata dei singoli nodi dell'albero
  • TextArea:
    • possibilità  di immissione di testo contenente formattazione (che sarà reso disponibile alla logica dell'applicativo in formato HTML)
  • RadioButton:
    • possibilità  di scegliere l'orientamento orizzontale (default) o verticale dei singoli radio all'interno di un gruppo

Infine in questa versione sono stati introdotti importanti migliorie dal punto di vista della qualità  del codice generato. La novità  più rilevante consiste nella modifica della struttura delle classi che costituiscono il model e le action dei ContentPanel: da questa versione viene utilizzata la modalità  ModelDriven di struts2 che permette di eliminare dalle classi action le property associate ai vari ApplicationData, che pertanto restano solo nelle classi model. Questa variazione ha alcuni effetti benefici:
  1. viene ridotto drasticamente l'indicatore delle duplicazioni di codice
  2. viene eliminato l'overhead necessario per copiare le informazioni tra model e action (e viceversa) che veniva eseguito tramite introspection e ad ogni occorrenza di ExecCommand.
Un'altro intervento significativo sul fronte qualità  del codice consiste invece nella rifattorizzazione del codice che implementava la logica associata agli ExecCommand.

Tutti gli interventi di quest'ultima tipologia riguardano esclusivamente il codice generato e non comportano nessuna necessità  di adeguamento da parte dei singoli progetti.

Dettagli di rilascio

Bug

  • [STDMDD-1103] - guigen: model: problema di compilazione su classe GlobalMenuModel, se due ExecCommand associati a due voci di menu espongono lo stesso AppData
  • [STDMDD-1191] - Menu orizzontale non funzionante su Skin Intracom
  • [STDMDD-1226] - guigen : MapView : Gadget ignorati se non è presente almeno un EventHandler
  • [STDMDD-1227] - guigen: MapView: Mancata associazione CSS al LayerSwitcher
  • [STDMDD-1234] - guigen: multiportal: Errore Namespace unknownPortal
  • [STDMDD-1277] - guigen: controller: key_pressed: errato riferimento al cookie "javascriptabilitato" (non più presente) impedisce il corretto funzionamento
  • [STDMDD-1286] - guigen: errore di generazione in caso di content panel direttamente sotto application area
  • [STDMDD-1329] - guigen: violazione QA: Action: Naming - Suspicious constant field name (CP_NAME, URL_BACK_COMMAND

Improvement

  • [STDMDD-1151] - Possibilità  di modificare l'orientamento del widget RadioButtons
  • [STDMDD-1158] - guigen: new GUIModel wizard: aggiunta pagina richiesta info portale e target platform
  • [STDMDD-1275] - guigen: table: decorator: introduzione del DisplaytagColumnDecorator
  • [STDMDD-1310] - guigen: migrazione util-struts2-customcomponent -> v. 2.4.0
  • [STDMDD-1314] - guigen: action : Performance - Could be refactored into a named static inner class
  • [STDMDD-1315] - guigen: action : metodo : initCommand(String sourceWidget, String eventType) Performance - Could be refactored into a named static inner class

New Feature

  • [STDMDD-1024] - GUIGEN: meccanismo di autenticazione/autorizzazione non strettamente dipendente dai sistemi csi
  • [STDMDD-1174] - guigen: Tree View: selezione dei nodi con radio button (singola) e check (multipla)
  • [STDMDD-1178] - guigen: Tree View: formattazione personalizzata dei nodi visualizzati
  • [STDMDD-1243] - guigen: TreeView: possibilità  di abiitare/disabilitare la selezione delle differenti tipologie di nodo
  • [STDMDD-1332] - guigen: TextArea con formattazione del testo

N.B: questa versione comporta una variazione sull'insieme di librerie utilizzate: 
  • librerie java:
    • custom-component passa alla v. 2.4.0
  • librerie javascript:
    • viene introdotta la nuova libreria ckeditextjs passa alla v. 3.4.0
    • extjscsienricher passa alla versione 1.5.0
Per quanto riguarda le librerie JS, esse sono da installare sull'apache

Per quanto riguarda le librerie java esse sono scaricate automaticamente tramite IVY; occorre per cancellare la cache in modo da evitare la presenza di versioni duplicate delle librerie oggetto di variazione.




Identificativo di versione completa: 2.2.0.008

Data di rilascio: 05-07-2012

Nota di rilascio:La versione 2.2.0 è un upgrade funzionale che ha come principale obiettivo quello di adeguarsi alle nuove linee guida per l'accessibilità  nella PA, come descritto in quest'articolo. Sono altresì state implementate alcune utili funzionalità . In sintesi le principali novità  sono le seguenti: 

  • strato di presentation: adeguamento alle nuove linee guida per l'accessibilità  dei siti della pubblica amministrazione:
    • per le nuove linee guida non è più un requisito il funzionamento senza javascript: al fine di sfruttarne al meglio le possibilità  a partire da questa versione le applicazioni generate con guigen funzionano solo in presenza di javascript. Come effetti collaterali:
      • (positivo) non è più necessario entrare nell'applicazione dalla risorsa "/" ma è anche possibile entrare nella HomePage.do (che è l'url che rimane nella barra di navigazione e ch egli utenti inseriscono tipicamente nei bookmark)
      • non è più prevista una modalità  di funzionamento "degradata" che viene attivata quando il javascript è disabilitato
    • è stato migliorato il supporto informativo delle schermate (tooltip, label, indicatori di azioni che ricaricano la pagina, ...)
    • sono stati migliorati alcuni aspetti grafici (es. contrasto dei campi disabilitati)
    • è stato impostato l'indicatore di linguaggio, utile per fare in modo che i browser vocali possano utilizzare i corretti pacchetti di localizzazione (per la pronuncia)
    • è stato predisposto un modo per saltare al contenuto principale della pagina (per evitare ad esempio che browser vocali rileggano il menu ad ogni schermata/interazione)
    • sono state rimosse le feature di riposizionamento orizzontale e mostra/nascondi delle colonne di una tabella, in quanto il codice generato non era accessibile
  • strato di controller/logica: è stata migliorata la possibilità  di associare logica agli eventi che occorrono nella schermata. E' ora possibile associare logica specifica:
    • all'inizializzazione del ContentPannel (al primo ingresso)
    • ad ogni ingresso nel ContentPanel
    • al refresh della schermata (feature già  presente)
    • prima della logica associata ad un evento di interazione
    • dopo la logica associata ad un evento di interazione
  • varie:
    • sono state disabilitate le cartucce differenti dalla neutral (non era possibile adeguarle alle nuove linee guida accessibilità )
    • correzioni di alcuni malfunzionamenti rilevati con il browser Internet Explorer 9
    • miglioramenti nei wizard di creazione dei modelli (specificamente: automatizzazione del collegamento tra modelli secondari-principale)
    • possibilità  di applicare i VisibilityCommand e ONOFFCommand anche sulle voci di menu oltre che sui Widget

Dettagli di rilascio

Bug

  • [STDMDD-800] - Ridimensionamento tabelle arricchite
  • [STDMDD-801] - Selezione valori delle celle delle tabelle
  • [STDMDD-1133] - guigen: docs: la guida all'esposizione multiportale referenzia la cartuccia webres, che però è deprecata
  • [STDMDD-1222] - guigen: anomalia nel salto (jump command) tra appmodule differenti in modalità  ajax

Improvement

  • [STDMDD-963] - guigen: parametri di attivazione (ActivationModel/Param) anche in modalità  POST
  • [STDMDD-1059] - guigen: Adeguamento accessibilità  - L'asterisco che indica l'obbligatorietà  del campo dovrebbe essere esplicato.
  • [STDMDD-1060] - guigen: Adeguamento accessibilità  - Un campo di una form senza la corrispondente "label" deve avere l'attributo "title" valorizzato
  • [STDMDD-1068] - guigen: Adeguamento accessibilità  - Non è possibile saltare il blocco del menu di sinistra che si ripete in ogni pagina
  • [STDMDD-1070] - guigen: Adeguamento accessibilità  - Nella pagina manca la definizione della lingua del documento
  • [STDMDD-1072] - guigen: Adeguamento accessibilità  - Sulle combo box con evento value changed (sia ricche che non) manca un avviso che al cambio di valore, si scatena un evento
  • [STDMDD-1084] - guigen: Adeguamento accessibilità  - rimozione meccanismo di doppio rendering (js on - js off)
  • [STDMDD-1115] -guigen: migrazione libreria csiuicore v.1.2.0
  • [STDMDD-1123] - guigen: disabilitazione/rimozione delle cartucce differenti dalla neutral
  • [STDMDD-1126] - guigen: CPCommands: contenitore di comandi associati al content panel, per migliorare la leggibilità  e permettere la definzione di comandi associabili in vari momenti del ciclo di vita del content panel
  • [STDMDD-1136] - guigen: docs: Guida all' associazione di logiche applicative al Content Panel
  • [STDMDD-1148] - guigen: view: Calendar: evitare la correzione automatica del valore
  • [STDMDD-1150] - guigen: il messaggio di errore legato al check di presenza dell'authentication method per permettere un security constraint è fuorviante
  • [STDMDD-1153] - guigen: new AppModule wizard: automatizzare la referenza dal modello principale
  • [STDMDD-1154] - guigen: new AppdataGroup wizard: automatizzare la referenza dal modello principale
  • [STDMDD-1155] - guigen: new TypeNamespace wizard: automatizzare la referenza dal modello principale
  • [STDMDD-1156] - guigen: verifiche ed adeguamenti per IE9
  • [STDMDD-1157] - guigen: migrazione extjscsienricher -> 1.5.0
  • [STDMDD-1171] - GuiGen: Aggiunta attributo "tooltip" per title nelle label
  • [STDMDD-1181] - guigen: Table: rimozione features di riordino / mostra-nascondi colonne perchè non accessibili
  • [STDMDD-1193] - guigen: Tabelle: mancano i tooltip sui comandi di paginazione e sui titoli della colonne ordinabili
  • [STDMDD-1208] - guigen: migrazione util-struts2-customcomponent -> v. 2.3.0
  • [STDMDD-1209] - guigen: migrazione extjs --> v. 3.4.0
  • [STDMDD-1233] - guigen: docs: guida alle funzioni cartografiche - Parte I

New Feature

  • [STDMDD-339] - guigen: controller: after event command
  • [STDMDD-500] - guigen: controller: ContentPanel::onInitCommand
  • [STDMDD-653] - guigen: view: VisibilityCommand su voci di menu
  • [STDMDD-1127] - guigen: controller: before event command
  • [STDMDD-1129] - guigen: controller: ContentPanel::onRefreshCommand


N.B: questa versione comporta una variazione sull'insieme di librerie utilizzate:
  • librerie java:
    • csiuicore, passa alla v. 1.2.0
    • custom-component passa alla v. 2.3.0
  • librerie javascript:
    • extjs passa alla v. 3.4.0
    • extjscsienricher passa alla versione 1.5.0
Per quanto riguarda le librerie JS, esse sono da installare sull'apache

Per quanto riguarda le librerie java esse sono scaricate automaticamente tramite IVY; occorre però cancellare la cache in modo da evitare la presenza di versioni duplicate delle librerie oggetto di variazione.



Identificativo di versione completa: 2.1.0.001

Data di rilascio: 14-03-2012

Nota di rilascio: La versione 2.1.0 è un upgrade funzionale che ha come principale obiettivo quello di migliorare la configurabilità  dell'esposizione protetta da shibboleth e l'integrazione tra applicazioni differenti. queato si concretizza principalmente con le seguenti evoluzioni:

  • suddivisione in package delle action con conseguente strutturazione delle URL in namespaces (vedere nell'help on line la nuova guida "buone pratiche per la modularizzazione")
  • possibilità  di impostare il cookie path per il JSESSIONID, per evitare la sovrapposizione delle sessioni servlet in caso di integrazione tra applicaizioni differenti o con sistemi di SSO.

Dettagli di rilascio


Bug produzione

  • [STDMDD-1107] - guigen: wizard creazione struttura pagina: non si riesce più a lanciare
  • [STDMDD-1114] - Guigen: multiportale: loop di reindirizzamento in caso di sessione scaduta

Improvement

  • [STDMDD-1099] - guigen: possibilità  di impostare un cookie di sessione servlet (JSESSIONID) univoco per contesto web (per evitare conflitti nei passaggi di controllo tra applicazioni differenti)
  • [STDMDD-1100] - guigen: suddivisione delle action struts in package/namespace a seconda della struttura logica del modello
  • [STDMDD-1104] - guigen: docs: guida su interazioni tra applicazioni
  • [STDMDD-1105] - guigen: adeguamento filtro WAYF per casi di ingresso nella HomePage.do (con autenticazione shibboleth)
  • [STDMDD-1109] - guigen: extcsienricher -> v. 1.4.3
  • [STDMDD-1111] - guigen: docs: guida su buone pratiche di modularizzazione

N.B: l'intervento relativo alla suddivisione in package/namespaces comporta un punto di attenzione relativamente ad alcune parti custom eventialmente presenti nelle applicazioni (action custom, user defined widget/panel, ...). Per i dettagli circa le eventuali necessit  di adegumento si faccia riferimento alle note finali riportate nella JIRA. 

Identificativo di versione completa: 2.0.0.002

Data di rilascio: 15-02-2012

Nota di rilascio: La versione 2.0.0 è il porting della versione 1.6.5 nella nuova piattaforma M2T.

Dettagli di rilascio

Bug test

  • [STDMDD-1049] - guigen: view: problema su combo box arricchita con value changed e refreshview command: codice html corrotto

Improvement

  • [STDMDD-1011] - guigen: neutral: chiusure dei tag e nel footer
  • [STDMDD-1058] - guigen: migrazione oaw -> m2t

Identificativo di versione completa: 1.6.5.003

Data di rilascio: 15-03-2012

Nota di rilascio: La versione 1.6.5 è una versione correttiva del branch 1.6.x: Corregge, tra gli altri, un problema per cui, in particolari condizioni, il codice HTML di una Combobox risultava corrotto.

Dettagli di rilascio

Bug produzione

  • [STDMDD-611] - guigen: controller: errore di id regione protetta duplicata in caso di content Panel con nome == nome di una delle action di default (home|menu|logout)
  • [STDMDD-918] - guigen: Simple Type non wrapped non funzonano in appdata
  • [STDMDD-936] - Mancanza delle regioni protette per gli import nelle classi UDT...Type ed UDT...Converter
  • [STDMDD-983] - guigen: prefisso package java custom: problema nel build
  • [STDMDD-984] - Evento OnChange su combo mancante
  • [STDMDD-988] - Export PDF/EXCEL
  • [STDMDD-1003] - guigen: errore di regione protetta duplicata in caso di ComplexType con stesso nome anche se in TNS differenti (!) NON_RETROCOMP

Bug test

  • [STDMDD-1028] - Un command outcome minuscolo genera sempre del codice non compilabile

Improvement

  • [STDMDD-950] - Utilizzo delle costanti dei "return code" all'interno del codice delle action
  • [STDMDD-1011] - guigen: neutral: chiusure dei tag e nel footer
  • [STDMDD-1043] - guigen: inibire collection binding ad appdata di scope ACTION per Tree View

Identificativo di versione completa: 1.6.4.001

Data di rilascio: 01-02-2012

Nota di rilascio: La versione 1.6.4 è una versione correttiva del branch 1.6.x: corregge un problema di compilazione del codice generato in particolari condizioni.

I fix messi a disposizione sono di scarsa rilevanza. Si segnala solo che la risoluzione della STDMDD-1003 comporta una leggera non retrocompatibilità , poichè la risoluzione del problema richiede la variazione dello schema di identificazione di una particolare regione protetta, ovvero quella nella quale lo sviluppatore può definire la logica del metodo toString() di un ComplexType

L'utilizzo di questa regione protetta è stato stimato come molto poco frequente. In ogni caso la modalità  per salvaguardare la logica eventualmente inserita consiste nel salvare il contenuto della regione protetta (nei ComplexTypes ove questo abbia senso) prima della prima rigenerazione successiva all'upgrade, e ripristinare il contenuto immediatamente dopo.

Le successive rigenerazioni non comporteranno più perdita di codice.
 

Dettagli di rilascio

Bug test

  • [STDMDD-1055] - Problemi in fase di generazione

Identificativo di versione completa: 1.6.3.006

Data di rilascio: 23-12-2011

Nota di rilascio: La versione 1.6.3 è una versione correttiva del branch 1.6.x

I fix messi a disposizione sono di scarsa rilevanza. Si segnala solo che la risoluzione della STDMDD-1003 comporta una leggera non retrocompatibilità , poichè la risoluzione del problema richiede la variazione dello schema di identificazione di una particolare regione protetta, ovvero quella nella quale lo sviluppatore può definire la logica del metodo toString() di un ComplexType.

L'utilizzo di questa regione protetta è stato stimato come molto poco frequente. In ogni caso la modalità  per salvaguardare la logica eventualmente inserita consiste nel salvare il contenuto della regione protetta (nei ComplexTypes ove questo abbia senso) prima della prima rigenerazione successiva all'upgrade, e ripristinare il contenuto immediatamente dopo.

Le successive rigenerazioni non comporteranno più perdita di codice.
 

Dettagli di rilascio

Bug produzione

  • [STDMDD-611] - guigen: controller: errore di id regione protetta duplicata in caso di content Panel con nome == nome di una delle action di default (home|menu|logout)
  • [STDMDD-918] - guigen: Simple Type non wrapped non funzonano in appdata
  • [STDMDD-936] - Mancanza delle regioni protette per gli import nelle classi UDT...Type ed UDT...Converter
  • [STDMDD-983] - guigen: prefisso package java custom: problema nel build
  • [STDMDD-984] - Evento OnChange su combo mancante
  • [STDMDD-988] - Export PDF/EXCEL
  • [STDMDD-1003] - guigen: errore di regione protetta duplicata in caso di ComplexType con stesso nome anche se in TNS differenti (!) NON_RETROCOMP

Bug test

  • [STDMDD-1028] - Un command outcome minuscolo genera sempre del codice non compilabile

Improvement

  • [STDMDD-950] - Utilizzo delle costanti dei "return code" all'interno del codice delle action
  • [STDMDD-1011] - guigen: neutral: chiusure dei tag e nel footer
  • [STDMDD-1043] - guigen: inibire collection binding ad appdata di scope ACTION per Tree View

Identificativo di versione completa: 1.6.2.001

Data di rilascio: 18-10-2011

Nota di rilascio: La versione 1.6.2 è una versione correttiva del branch 1.6.x contenente anche alcuni piccoli upgrade funzionali:

 

Le principali correzioni messe a disposizione da questo rilascio riguardano:

  • la risoluzione di un problema nell'impostazione dell'url di logout da sistema SSO, in caso di esposizione multiportale
  • la risoluzione di un problema di mancata cancellazione dei dati in sessione a fronte dell'operazione di logout (locale/SSO)


  Sono stati inoltre introdotti alcuni miglioramenti, tra cui:

  • possibilità di definire l'azione da eseguire a fronte della selezione del link "esci" nello UserInfoPanel: uscita dall'applicazione oppure uscita dal sistema di SSO
  • possibilità  di attivare/disattivare la pagina di richiesta conferma dell'operazione di logout
  • possibilità  di modellare il tag "http-equiv" nell'header dell'applicativo


Sono state infine introdotte alcune possibiltà  necessarie per l'utilizzo degli strumenti al di fuori dal contesto CSI:

  • possibilità  di utilizzare un prefisso di package java differente dallo standard "it.csi"
  • possibilità  di utilizzare come repository degli artefatti (IVY) un sito differente dallo standard "repart.csi.it"

 

Dettagli di rilascio

Per i dettagli consultare la relese notes completa su JIRA:

  • http://jiradsp.csi.it:8081/secure/ReleaseNote.jspa?projectId=10190&styleName=Html&version=10480

Identificativo di versione completa: 1.6.1.032

Data di rilascio: 13-09-2011

Nota di rilascio:Ã La versione 1.6.1è una versione correttiva della 1.6.0 contenente anche alcuni piccoli upgrade funzionali:

 

Le principali correzioni messe a disposizione da questo rilascio riguardano:

  • problemi nell'implementazione delle funzionalità  di esposizione multiportale
  • problemi minori in alcuni casi di utilizzo dello strato di presentazione


Sono stati introdotti alcuni miglioramenti, tra cui:

  • possibilità  di recepire automarticamente i fix sulle librerie javascript in caso di modalità  "remota"
  • miglioramento della gestione dello scarico delle dipendenze da repart.csi.it


Sono state introdotte alcune nuove funzionalità :

  • possibilità  di associare logica all'evento di espansione del nodo del TreeView
  • possibilità  di specificare il numero di caratteri necessario per far scattare la suggestione su ComboBox e TextField


In aggiunta da questa versione la documentazione del plugin è distribuita insieme al plugin stesso: nel primo livello della TOC dell'help on line di eclipse apparirà una nuova voce denominata "MDDTools - guigen user guide".

Dettagli di rilascio

Per i dettagli consultare la relese notes completa su JIRA:

  • http://jiradsp.csi.it:8081/secure/ReleaseNote.jspa?projectId=10190&styleName=Html&version=10400



Altre roadmap di dettaglio

Per visionare le altre roadmap di dettaglio, consultare le sezioni relative: