Uploaded on

Xpages - uno strumento per rendere veloce il porting delle tue applicazioni NSF in formato Web 2.0

Xpages - uno strumento per rendere veloce il porting delle tue applicazioni NSF in formato Web 2.0

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,187
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
16
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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 !
  • 10. Componente View
  • 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…
  • 17. Controllo repeater – Vista Notes
  • 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.
  • 19. Controllo repeater – Report
  • 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
  • 35. Esempio d’uso Variabili Scope
  • 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)
  • 52.
    • Domande?
  • 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