ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Xpages Velocizzare il porting delle tue applicazioni Notes su Web Change with your picture, add a 4pt border color 255,204,0  Cambia con la tua foto, aggiungi un bordo spesso 4pt colore 255,204,0  Please make sure that your slide deck renders fine in Lotus Symphony Per favore controlla che le tue slide si vedano bene con Lotus  Symphony
Daniele Grillo Consulente Notes/Domino dalla R4.6/R5 orientato allo sviluppo applicativo Web 2.0 12 anni di esperienza Fondatore community Dominopoint nel 2004 E-mail: daniele.grillo@gmail.com Telefono: +39 392.29.45.549
[agenda] Cosa sono le Xpages Modello MVC Componenti Base Custom Controls Variabili di scope SSJS un nuovo linguaggio? Optional Speech agenda  agenda della sessione opzionale Validazione Debug XPiNC Novità 8.5.2 Estensions Library Novità 8.5.3 Documentazione
Cosa sono le Xpages Un componente Aggiuntivo Designer Un Framework di sviluppo basato su componenti Tecnologia JSF (Java Server Faces) Sfruttano il backend Domino Una soluzione RAD di sviluppo Web Estensione HTTP Domino Nascono nella 8.5 (usale >=R8.5.1fp3)
Modello MVC E’ un concetto di programmazione Significa Model View Control Model =  Dati ( Form di Notes) View =  Come vengono rappresentati (Xpages) Control=  Logica applicativa ( SSJS, JS) Separa il disegno applicativo dai dati e dalla  logica di programmazione
Componenti Base Core Container Custom
Componenti Core Nome Componente Binding Domino EditBox Text/Number Field Date Time Picker Date Time Field Label Computed Text RichText RichText Field File Upload RichText Filed File Download RichText Field ListBox ListBox Field CheckBox / CheckBox Group CheckBox Field RadioButton / RadioBox Group RadioButton Field Button Button Image RichText Field
Componenti Container Nome Componente Binding Domino View Vista di Domino Repeater Vista o Collezione di dati (documenti, array) Panel NotesDocument Table Tabella Tabbed Panel Tabella a Tab Section Sezione
Componente View Ha le funzioni 1:1 vista Domino ( checkbox, ordinamenti, valori) E’ personalizzabile  Ha diverse proprietà per effettuare ricerche, filterbyCategory Ha un pager di navigazione personalizzabile Valore colonne programmabili dinamicamente n.b.  ora e’ anche possibile inserire @dblookup e immagini sulle colonne dinamicamente !
Componente View
Componente View – proprietà colonna Cosa visualizzare (Colonna statica o codice SSJS dinamico? Esempio: query JDBC su  MSSQL o @Dblookup verso altra vista etc…) Come visualizzare ? (HTML, Testo) Effettuare un href su una specifica colonna Abilitare CheckBox Icona Stilizzarla Etc….
Componente View – Proprietà avanzate CategorybyFilte r= EmbeddedView single category queryOpenView =  WebQueryOpen prima di servire la vista postOpenView =  dopo che la vista è stata servita Search  = effettua una FTSEARCH sulla vista … .etc.etc…
Componente View – Pager Il navigatore della vista (Avanti, Indietro..etc) che è possibile  Scegliere/personalizzare e sul quale è possiible attivare il Partial Refresh  (Ajax Mode) per non ricaricare tutta la pagina.
Componente Repeater Un componente (fantastico! N.d.r) che può scorrere i seguenti  oggetti ( come un ciclo FOR)  Viste Collezioni (Documents, Entry, o Altro) Array (es. La risultante di una @dbcolumn) Vettore (un elemento a dimensione dinamica ) n.b.  La variabile del repeater è case sensitive, e dobbiamo stare attenti a generare il codice HTML corretto in funzione del repeat
Componente Repeater Se applicato ad una vista permette di essere  completamente svincolato dal layout tabellare  della stessa e di servire l’output che  Desiderate. Output più controllabile e meno rigido!
Controllo repeater - esempio Il cliente (una PA) necessita di un report  semplice che  permetta di tenere sotto controllo  le spese degli Istituti controllati. Creando una vista Notes classica questo è il  Risultato…
Controllo repeater – Vista Notes
Controllo repeater…Xpages Il cliente desidera un report accessibile da Web  più semplice e mi fornisce un ipotetico layout in  photoshop….  … realizzo la sua richiesta con 4 controlli repeater annidati all’interno di una Xpages.
Controllo repeater – Report
Custom controls Controlli personalizzati, fanno cose, non devi sapere come, perchè forniscono una interfaccia  (i parametri) con cui determini come si  comportano.
Custom Controls pronti all’uso Su OpenNTF.org ce ne sono diversi a disposizione Xpages Async Multi File Uploader Xpages Scrollpane View Picklist xProperties Google Maps…etc… http://xpages.info/XPagesHome.nsf/Contest.xsp
Ìý
Esempio: Custom control – ToolTip Nel progetto Catalogo di Dominopoint  ho realizzato un  custom controls che visualizza un Dojo Tooltip sul  componente Xpages che vuoi.
Custom ToolTip Dojo  Il componente riceve  in Input : il nome del componente Xpages sul quale visualizzare TootTip Stringa/Messaggio da visualizzare Il componente implementa : tooltip Dojo
Custom ToolTip Dojo – Parametri Definizione dei parametri in Input
Custom ToolTip Dojo – Risorsa Dojo Modulo Dojo nelle Risorse del Custom  Control per agganciare il widget ToolTip…
Custom ToolTip Dojo – Source Code Passaggio di parametri al custom control: compositeData.propriety
Custom ToolTip Dojo – Parametri da Xpages
Custom Control – Design Definition Definisce il disegno sulla GUI del designer del Custom  Control
Extensions Library Scaricabili OpenNTF OneUi theme Controlli Mobile Gestione Dialog REST Widget Dojo Form  Inotes controlli Widget Dojo Layout Name Picker …etc…. http://extlib.openntf.org/
Variabili di Scope Variabili contenitori suddivise in: Application:  durano per tutta l’applicazione Session:  durano per la sessione corrente View:  durano per la vista corrente ( pagina corrente) Request:  durano per l’ultima chiamata verso il server
Esempio d’uso Varibili Scope D:  Voglio fare in modo che selezionando un valore  da un menù a Tendina...dinamicamente venga ricalcolata la vista sottostante senza ricaricare la pagina come posso fare? R:  Utilizzando un core  component   ComboBox  che binda alle variabili di scope e le proprietà avanzate del  container component View
Esempio d’uso Varibili Scope Combo Box che binda ad una  ViewScope.FilterView
Esempio d’uso Variabili Scope OnChange fa un refresh Ajax della vista sottostante
Esempio d’uso Variabili Scope
Esempio Variabili di Scope Nell’esempio appena citato viene fatta  effettuata una  Ftsearch  parametrica utilizzando  la proprietà della vista denominata  Search. Si potrebbe anche creare una vista categorizzata  per Business Partner ed utilizzare la proprietà  della Vista denominata  CategoryFilter .  ( Il funzionamento è identico alla single category di una embedded view in una Form )
SSJS un nuovo linguaggio? Non stravolge  il modo di programmare Lotus, in quanto sono state messe a disposizione tutte le classi Domino (identiche a quelle LotusScript) e oltre il 90% delle @formulas con la stessa nomenclatura di metodi e proprietà! Inoltre JSS da la possibilità di utilizzare estensioni Java  per invocare librerie esterne (Itext, JDBC per relazionali etc…) (
SSJS un nuovo linguaggio? E’ il linguaggio utilizzato lato server-side dalla Xpages  Racchiuge oltre 90% delle formulas Semplice Javascript Like Performante
Validazione componente nativo legato alla validazione della Xpages Flag semplificiato per attivazione validazione Controllo Dinamico  Gestione del messaggio di errore
Validazione Required field  per rendere obbligatorio un controllo Required Field error Message  rappresenta il messaggio di errore
Validazione Show error message for  per visualizzare il messagio in una specifica posizione della pagina
Validazione Per alcuni componenti (es: ComboBox) il Validator non  è visibile nella GUI e va gestito dalle sezione  All Proprierties
Debuggare Xpages - server Abilitare il flag: Display default error Page
Debugger – server side … Informa sull’oggetto e codice SSJS che ha generato errore…
Debugger – client side Utilizzare Firefox ed estensione Firebug!
Xpages – Debug Custom Control Prelevabile da OpenNTF.org gratuitamente, e permette di controllare le variabili di scope, la versione del browser… Attualmente alla release 2.0
Strumento Outline Lo strumento  Outline è un salva-tempo nel nostro lavoro di manutenzione ed  inserimento di codice applicativo, poiché ci permette di capire la struttura e  la ramificazione degli elementi presenti nella pagina che stiamo creando
XPiNC (Xpages Inside Notes Client) Lavori una sola volta e hai l’interfaccia Client Supporta Le Repliche (OFF-Line) Dalla 8.5.2 è embeddato XUL Runner che  corrisponde a Firefox 3.6
Novità della 8.5.2 Drag&Drop controlli nel source code  Oggetti Radio/CheckBox Group migliorati ARIA Support Agents with In-Memory documents Java Agents in XPiNC Ajax ( Partial refresh timeout + prevent filtering) CkEditor TagName ( computed text) Dojo 1.4.3 Type and Attribute Dojo onClientLoad SessionAsSigner e  sessionAsSignerWithFullAccess Extensions API  HeadTag HTML5 ( Cache-Manifest , Base Resource) Public Access Feature OneUI v2 Pager ( last page feature) SCXD ( Single copy Xpages Design) View ( startKey,MultiCategoria, LastPage) XPiNC (Agent ,NewTab, Replica, OpenDesigner windows.close) Performance migliorate SSJS
Novità della 8.5.3 CD5 Dojo 1.5 Aggregator CSS/JS [FANTASTICO! N.d.r] Source Control Enablement (SVN) Nuovo Elemento di Design Java Editor JS nuovo (release 3.4.2 WTP) Ordinamento Full Text View Xpages Opzione di Preload N.B. Soggetto a modifiche da parte di IBM in fase di rilascio della GOLD Release
Documentazione online Blog ben fatto con tanti suggerimenti( http://xpagesblog.com/ ) Wiki ufficiale sul Designer ( http://www-10.lotus.com/ldd/ddwiki.nsf ) Uno di OpenNTF ( http://www-10.lotus.com/ldd/heidloffblog.nsf/ ) Blogger ( http://dominoextnd.blogspot.com/ ) Blogger ( http://www.youatnotes.de/xpages ) PlanetLotus (  http://www.planetlotus.org ) RedBook ( http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Master_Table_of_Contents_for_Building_Domino_Web_Applications_using_Domino_8.5.1 ) molto altro lo troverete utilizzando Google ( c’è tanta documentazione)
Domande?
Grazie agli sponsor per aver reso possibile il DDive 2011! Main Sponsor Premium Sponsor Prime Sponsor Keep this as last slide Lascia questa come ultima slide

More Related Content

Similar to DDive11 - xpages (20)

DDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continuaDDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continua
Dominopoint - Italian Lotus User Group
Ìý
Grasso Frameworks Ajax
Grasso Frameworks AjaxGrasso Frameworks Ajax
Grasso Frameworks Ajax
Dominopoint - Italian Lotus User Group
Ìý
Corso sharepoint D2
Corso sharepoint D2Corso sharepoint D2
Corso sharepoint D2
Decatec
Ìý
Enterprise Spring and Flex applications
Enterprise Spring and Flex applicationsEnterprise Spring and Flex applications
Enterprise Spring and Flex applications
marcocasario
Ìý
Novità di Asp.Net 4.0
Novità di Asp.Net 4.0Novità di Asp.Net 4.0
Novità di Asp.Net 4.0
Gian Maria Ricci
Ìý
Many Designs Elements
Many Designs ElementsMany Designs Elements
Many Designs Elements
Giampiero Granatella
Ìý
Installazione del cms alfresco
Installazione del cms alfrescoInstallazione del cms alfresco
Installazione del cms alfresco
Mirco Leo
Ìý
Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Por...
Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Por...Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Por...
Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Por...
DavisMol
Ìý
Smau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del ceroSmau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del cero
SMAU
Ìý
Joomla! 5.1 - Dalle novità ai prossimi passi
Joomla! 5.1 - Dalle novità ai prossimi passiJoomla! 5.1 - Dalle novità ai prossimi passi
Joomla! 5.1 - Dalle novità ai prossimi passi
Luca Racchetti
Ìý
Struttin' on, novità in casa Struts
Struttin' on, novità in casa StrutsStruttin' on, novità in casa Struts
Struttin' on, novità in casa Struts
Marcello Teodori
Ìý
Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the Web
Claudio Gandelli
Ìý
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
DotNetMarche
Ìý
Introduzione WPF
Introduzione WPFIntroduzione WPF
Introduzione WPF
Ercole Palmeri
Ìý
Le novità in Joomla! 1.6
Le novità in Joomla! 1.6Le novità in Joomla! 1.6
Le novità in Joomla! 1.6
Alessandro Nadalin
Ìý
Joomla Miopen 2008
Joomla Miopen 2008Joomla Miopen 2008
Joomla Miopen 2008
elpaso66
Ìý
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
Alessandro Del Sole
Ìý
Progettato per specialisti del web
Progettato per specialisti del webProgettato per specialisti del web
Progettato per specialisti del web
Eugenio Uccheddu
Ìý
Corso sharepoint D2
Corso sharepoint D2Corso sharepoint D2
Corso sharepoint D2
Decatec
Ìý
Enterprise Spring and Flex applications
Enterprise Spring and Flex applicationsEnterprise Spring and Flex applications
Enterprise Spring and Flex applications
marcocasario
Ìý
Novità di Asp.Net 4.0
Novità di Asp.Net 4.0Novità di Asp.Net 4.0
Novità di Asp.Net 4.0
Gian Maria Ricci
Ìý
Installazione del cms alfresco
Installazione del cms alfrescoInstallazione del cms alfresco
Installazione del cms alfresco
Mirco Leo
Ìý
Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Por...
Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Por...Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Por...
Analisi e sviluppo di componenti standard JSR 168 per la realizzazione di Por...
DavisMol
Ìý
Smau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del ceroSmau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del cero
SMAU
Ìý
Joomla! 5.1 - Dalle novità ai prossimi passi
Joomla! 5.1 - Dalle novità ai prossimi passiJoomla! 5.1 - Dalle novità ai prossimi passi
Joomla! 5.1 - Dalle novità ai prossimi passi
Luca Racchetti
Ìý
Struttin' on, novità in casa Struts
Struttin' on, novità in casa StrutsStruttin' on, novità in casa Struts
Struttin' on, novità in casa Struts
Marcello Teodori
Ìý
Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the Web
Claudio Gandelli
Ìý
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
DotNetMarche
Ìý
Introduzione WPF
Introduzione WPFIntroduzione WPF
Introduzione WPF
Ercole Palmeri
Ìý
Le novità in Joomla! 1.6
Le novità in Joomla! 1.6Le novità in Joomla! 1.6
Le novità in Joomla! 1.6
Alessandro Nadalin
Ìý
Joomla Miopen 2008
Joomla Miopen 2008Joomla Miopen 2008
Joomla Miopen 2008
elpaso66
Ìý
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
Alessandro Del Sole
Ìý
Progettato per specialisti del web
Progettato per specialisti del webProgettato per specialisti del web
Progettato per specialisti del web
Eugenio Uccheddu
Ìý

More from Dominopoint - Italian Lotus User Group (20)

TOTP - Time-Based One Time password in Domino
TOTP - Time-Based One Time password in DominoTOTP - Time-Based One Time password in Domino
TOTP - Time-Based One Time password in Domino
Dominopoint - Italian Lotus User Group
Ìý
Domino Backup V12 - Un nuovo Task
Domino Backup V12 - Un nuovo TaskDomino Backup V12 - Un nuovo Task
Domino Backup V12 - Un nuovo Task
Dominopoint - Italian Lotus User Group
Ìý
Mail Client from Traveler to Verse On-Premises
Mail Client from Traveler to Verse On-PremisesMail Client from Traveler to Verse On-Premises
Mail Client from Traveler to Verse On-Premises
Dominopoint - Italian Lotus User Group
Ìý
IBM Worspace: Towards a culture of conversations
IBM Worspace: Towards a culture of conversationsIBM Worspace: Towards a culture of conversations
IBM Worspace: Towards a culture of conversations
Dominopoint - Italian Lotus User Group
Ìý
Microsoft Outlook for Domino (IMSMO)
Microsoft Outlook for Domino (IMSMO)Microsoft Outlook for Domino (IMSMO)
Microsoft Outlook for Domino (IMSMO)
Dominopoint - Italian Lotus User Group
Ìý
Riding the Enterprise Integration train
Riding the Enterprise Integration trainRiding the Enterprise Integration train
Riding the Enterprise Integration train
Dominopoint - Italian Lotus User Group
Ìý
Ortocloud l'applicazione per fare orto su Bluemix
Ortocloud l'applicazione per fare orto su BluemixOrtocloud l'applicazione per fare orto su Bluemix
Ortocloud l'applicazione per fare orto su Bluemix
Dominopoint - Italian Lotus User Group
Ìý
Meetit16 KeyNote di Apertura
Meetit16 KeyNote di AperturaMeetit16 KeyNote di Apertura
Meetit16 KeyNote di Apertura
Dominopoint - Italian Lotus User Group
Ìý
IBM Domino Modernizing apps with Angularjs
IBM Domino Modernizing apps with AngularjsIBM Domino Modernizing apps with Angularjs
IBM Domino Modernizing apps with Angularjs
Dominopoint - Italian Lotus User Group
Ìý
IBM Connections How to use existing data to increase adoption success with IB...
IBM Connections How to use existing data to increase adoption success with IB...IBM Connections How to use existing data to increase adoption success with IB...
IBM Connections How to use existing data to increase adoption success with IB...
Dominopoint - Italian Lotus User Group
Ìý
Cloudant e XPages
Cloudant e XPagesCloudant e XPages
Cloudant e XPages
Dominopoint - Italian Lotus User Group
Ìý
IBM Bluemix
IBM BluemixIBM Bluemix
IBM Bluemix
Dominopoint - Italian Lotus User Group
Ìý
IBM Connections 10 things every user should know
IBM Connections 10 things every user should knowIBM Connections 10 things every user should know
IBM Connections 10 things every user should know
Dominopoint - Italian Lotus User Group
Ìý
IBM Verse New Way To Work
IBM Verse New Way To WorkIBM Verse New Way To Work
IBM Verse New Way To Work
Dominopoint - Italian Lotus User Group
Ìý
Crossware MailSignature
Crossware MailSignatureCrossware MailSignature
Crossware MailSignature
Dominopoint - Italian Lotus User Group
Ìý
Cooperteam soluzioni
Cooperteam soluzioniCooperteam soluzioni
Cooperteam soluzioni
Dominopoint - Italian Lotus User Group
Ìý
Notes and Domino Roadmap
Notes and Domino RoadmapNotes and Domino Roadmap
Notes and Domino Roadmap
Dominopoint - Italian Lotus User Group
Ìý
La Collaborazione Europea
La Collaborazione EuropeaLa Collaborazione Europea
La Collaborazione Europea
Dominopoint - Italian Lotus User Group
Ìý
the future of work
the future of workthe future of work
the future of work
Dominopoint - Italian Lotus User Group
Ìý
Dominopoint meet the experts 2015 - XPages
Dominopoint   meet the experts 2015 - XPagesDominopoint   meet the experts 2015 - XPages
Dominopoint meet the experts 2015 - XPages
Dominopoint - Italian Lotus User Group
Ìý
IBM Connections How to use existing data to increase adoption success with IB...
IBM Connections How to use existing data to increase adoption success with IB...IBM Connections How to use existing data to increase adoption success with IB...
IBM Connections How to use existing data to increase adoption success with IB...
Dominopoint - Italian Lotus User Group
Ìý

DDive11 - xpages

  • 1. Xpages Velocizzare il porting delle tue applicazioni Notes su Web Change with your picture, add a 4pt border color 255,204,0 Cambia con la tua foto, aggiungi un bordo spesso 4pt colore 255,204,0 Please make sure that your slide deck renders fine in Lotus Symphony Per favore controlla che le tue slide si vedano bene con Lotus Symphony
  • 2. Daniele Grillo Consulente Notes/Domino dalla R4.6/R5 orientato allo sviluppo applicativo Web 2.0 12 anni di esperienza Fondatore community Dominopoint nel 2004 E-mail: daniele.grillo@gmail.com Telefono: +39 392.29.45.549
  • 3. [agenda] Cosa sono le Xpages Modello MVC Componenti Base Custom Controls Variabili di scope SSJS un nuovo linguaggio? Optional Speech agenda agenda della sessione opzionale Validazione Debug XPiNC Novità 8.5.2 Estensions Library Novità 8.5.3 Documentazione
  • 4. Cosa sono le Xpages Un componente Aggiuntivo Designer Un Framework di sviluppo basato su componenti Tecnologia JSF (Java Server Faces) Sfruttano il backend Domino Una soluzione RAD di sviluppo Web Estensione HTTP Domino Nascono nella 8.5 (usale >=R8.5.1fp3)
  • 5. Modello MVC E’ un concetto di programmazione Significa Model View Control Model = Dati ( Form di Notes) View = Come vengono rappresentati (Xpages) Control= Logica applicativa ( SSJS, JS) Separa il disegno applicativo dai dati e dalla logica di programmazione
  • 6. Componenti Base Core Container Custom
  • 7. Componenti Core Nome Componente Binding Domino EditBox Text/Number Field Date Time Picker Date Time Field Label Computed Text RichText RichText Field File Upload RichText Filed File Download RichText Field ListBox ListBox Field CheckBox / CheckBox Group CheckBox Field RadioButton / RadioBox Group RadioButton Field Button Button Image RichText Field
  • 8. Componenti Container Nome Componente Binding Domino View Vista di Domino Repeater Vista o Collezione di dati (documenti, array) Panel NotesDocument Table Tabella Tabbed Panel Tabella a Tab Section Sezione
  • 9. Componente View Ha le funzioni 1:1 vista Domino ( checkbox, ordinamenti, valori) E’ personalizzabile Ha diverse proprietà per effettuare ricerche, filterbyCategory Ha un pager di navigazione personalizzabile Valore colonne programmabili dinamicamente n.b. ora e’ anche possibile inserire @dblookup e immagini sulle colonne dinamicamente !
  • 11. Componente View – proprietà colonna Cosa visualizzare (Colonna statica o codice SSJS dinamico? Esempio: query JDBC su MSSQL o @Dblookup verso altra vista etc…) Come visualizzare ? (HTML, Testo) Effettuare un href su una specifica colonna Abilitare CheckBox Icona Stilizzarla Etc….
  • 12. Componente View – Proprietà avanzate CategorybyFilte r= EmbeddedView single category queryOpenView = WebQueryOpen prima di servire la vista postOpenView = dopo che la vista è stata servita Search = effettua una FTSEARCH sulla vista … .etc.etc…
  • 13. Componente View – Pager Il navigatore della vista (Avanti, Indietro..etc) che è possibile Scegliere/personalizzare e sul quale è possiible attivare il Partial Refresh (Ajax Mode) per non ricaricare tutta la pagina.
  • 14. Componente Repeater Un componente (fantastico! N.d.r) che può scorrere i seguenti oggetti ( come un ciclo FOR) Viste Collezioni (Documents, Entry, o Altro) Array (es. La risultante di una @dbcolumn) Vettore (un elemento a dimensione dinamica ) n.b. La variabile del repeater è case sensitive, e dobbiamo stare attenti a generare il codice HTML corretto in funzione del repeat
  • 15. Componente Repeater Se applicato ad una vista permette di essere completamente svincolato dal layout tabellare della stessa e di servire l’output che Desiderate. Output più controllabile e meno rigido!
  • 16. Controllo repeater - esempio Il cliente (una PA) necessita di un report semplice che permetta di tenere sotto controllo le spese degli Istituti controllati. Creando una vista Notes classica questo è il Risultato…
  • 18. Controllo repeater…Xpages Il cliente desidera un report accessibile da Web più semplice e mi fornisce un ipotetico layout in photoshop…. … realizzo la sua richiesta con 4 controlli repeater annidati all’interno di una Xpages.
  • 20. Custom controls Controlli personalizzati, fanno cose, non devi sapere come, perchè forniscono una interfaccia (i parametri) con cui determini come si comportano.
  • 21. Custom Controls pronti all’uso Su OpenNTF.org ce ne sono diversi a disposizione Xpages Async Multi File Uploader Xpages Scrollpane View Picklist xProperties Google Maps…etc… http://xpages.info/XPagesHome.nsf/Contest.xsp
  • 22. Ìý
  • 23. Esempio: Custom control – ToolTip Nel progetto Catalogo di Dominopoint ho realizzato un custom controls che visualizza un Dojo Tooltip sul componente Xpages che vuoi.
  • 24. Custom ToolTip Dojo Il componente riceve in Input : il nome del componente Xpages sul quale visualizzare TootTip Stringa/Messaggio da visualizzare Il componente implementa : tooltip Dojo
  • 25. Custom ToolTip Dojo – Parametri Definizione dei parametri in Input
  • 26. Custom ToolTip Dojo – Risorsa Dojo Modulo Dojo nelle Risorse del Custom Control per agganciare il widget ToolTip…
  • 27. Custom ToolTip Dojo – Source Code Passaggio di parametri al custom control: compositeData.propriety
  • 28. Custom ToolTip Dojo – Parametri da Xpages
  • 29. Custom Control – Design Definition Definisce il disegno sulla GUI del designer del Custom Control
  • 30. Extensions Library Scaricabili OpenNTF OneUi theme Controlli Mobile Gestione Dialog REST Widget Dojo Form Inotes controlli Widget Dojo Layout Name Picker …etc…. http://extlib.openntf.org/
  • 31. Variabili di Scope Variabili contenitori suddivise in: Application: durano per tutta l’applicazione Session: durano per la sessione corrente View: durano per la vista corrente ( pagina corrente) Request: durano per l’ultima chiamata verso il server
  • 32. Esempio d’uso Varibili Scope D: Voglio fare in modo che selezionando un valore da un menù a Tendina...dinamicamente venga ricalcolata la vista sottostante senza ricaricare la pagina come posso fare? R: Utilizzando un core component ComboBox che binda alle variabili di scope e le proprietà avanzate del container component View
  • 33. Esempio d’uso Varibili Scope Combo Box che binda ad una ViewScope.FilterView
  • 34. Esempio d’uso Variabili Scope OnChange fa un refresh Ajax della vista sottostante
  • 36. Esempio Variabili di Scope Nell’esempio appena citato viene fatta effettuata una Ftsearch parametrica utilizzando la proprietà della vista denominata Search. Si potrebbe anche creare una vista categorizzata per Business Partner ed utilizzare la proprietà della Vista denominata CategoryFilter . ( Il funzionamento è identico alla single category di una embedded view in una Form )
  • 37. SSJS un nuovo linguaggio? Non stravolge il modo di programmare Lotus, in quanto sono state messe a disposizione tutte le classi Domino (identiche a quelle LotusScript) e oltre il 90% delle @formulas con la stessa nomenclatura di metodi e proprietà! Inoltre JSS da la possibilità di utilizzare estensioni Java per invocare librerie esterne (Itext, JDBC per relazionali etc…) (
  • 38. SSJS un nuovo linguaggio? E’ il linguaggio utilizzato lato server-side dalla Xpages Racchiuge oltre 90% delle formulas Semplice Javascript Like Performante
  • 39. Validazione componente nativo legato alla validazione della Xpages Flag semplificiato per attivazione validazione Controllo Dinamico Gestione del messaggio di errore
  • 40. Validazione Required field per rendere obbligatorio un controllo Required Field error Message rappresenta il messaggio di errore
  • 41. Validazione Show error message for per visualizzare il messagio in una specifica posizione della pagina
  • 42. Validazione Per alcuni componenti (es: ComboBox) il Validator non è visibile nella GUI e va gestito dalle sezione All Proprierties
  • 43. Debuggare Xpages - server Abilitare il flag: Display default error Page
  • 44. Debugger – server side … Informa sull’oggetto e codice SSJS che ha generato errore…
  • 45. Debugger – client side Utilizzare Firefox ed estensione Firebug!
  • 46. Xpages – Debug Custom Control Prelevabile da OpenNTF.org gratuitamente, e permette di controllare le variabili di scope, la versione del browser… Attualmente alla release 2.0
  • 47. Strumento Outline Lo strumento Outline è un salva-tempo nel nostro lavoro di manutenzione ed inserimento di codice applicativo, poiché ci permette di capire la struttura e la ramificazione degli elementi presenti nella pagina che stiamo creando
  • 48. XPiNC (Xpages Inside Notes Client) Lavori una sola volta e hai l’interfaccia Client Supporta Le Repliche (OFF-Line) Dalla 8.5.2 è embeddato XUL Runner che corrisponde a Firefox 3.6
  • 49. Novità della 8.5.2 Drag&Drop controlli nel source code Oggetti Radio/CheckBox Group migliorati ARIA Support Agents with In-Memory documents Java Agents in XPiNC Ajax ( Partial refresh timeout + prevent filtering) CkEditor TagName ( computed text) Dojo 1.4.3 Type and Attribute Dojo onClientLoad SessionAsSigner e sessionAsSignerWithFullAccess Extensions API HeadTag HTML5 ( Cache-Manifest , Base Resource) Public Access Feature OneUI v2 Pager ( last page feature) SCXD ( Single copy Xpages Design) View ( startKey,MultiCategoria, LastPage) XPiNC (Agent ,NewTab, Replica, OpenDesigner windows.close) Performance migliorate SSJS
  • 50. Novità della 8.5.3 CD5 Dojo 1.5 Aggregator CSS/JS [FANTASTICO! N.d.r] Source Control Enablement (SVN) Nuovo Elemento di Design Java Editor JS nuovo (release 3.4.2 WTP) Ordinamento Full Text View Xpages Opzione di Preload N.B. Soggetto a modifiche da parte di IBM in fase di rilascio della GOLD Release
  • 51. Documentazione online Blog ben fatto con tanti suggerimenti( http://xpagesblog.com/ ) Wiki ufficiale sul Designer ( http://www-10.lotus.com/ldd/ddwiki.nsf ) Uno di OpenNTF ( http://www-10.lotus.com/ldd/heidloffblog.nsf/ ) Blogger ( http://dominoextnd.blogspot.com/ ) Blogger ( http://www.youatnotes.de/xpages ) PlanetLotus ( http://www.planetlotus.org ) RedBook ( http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Master_Table_of_Contents_for_Building_Domino_Web_Applications_using_Domino_8.5.1 ) molto altro lo troverete utilizzando Google ( c’è tanta documentazione)
  • 53. Grazie agli sponsor per aver reso possibile il DDive 2011! Main Sponsor Premium Sponsor Prime Sponsor Keep this as last slide Lascia questa come ultima slide