Open Web Studio (Roberto Caporale)
-
Upload
dotnetmarche -
Category
Technology
-
view
992 -
download
3
description
Transcript of Open Web Studio (Roberto Caporale)
Open Web Studioun altro modo per sviluppare “rapidamente” con
DotNetNuke
Roberto [email protected]
sabato 28 maggio 2011
Cos’e’ OWS
• Un modulo di DotNetNuke
• Un ambiente di sviluppo Rad
• Un framework estendibile
sabato 28 maggio 2011
Cos’era ?
• Un modulo a pagamento del marketplace DNN
• Si chiamava ListX categoria dei “form builder”... “data driven apps”...
• E’ stato reingegnerizzato da quando è divenuto OpenSource, circa 3 anni fa
sabato 28 maggio 2011
Vantaggi
• E’ il sistema più rapido che io conosca per sviluppare moduli DNN
• ed anche per ASP.NET....
• Combina esigenze di designers e di coding
• Se non “basta” si estende...
• E’ Free e OpenSource ;)
sabato 28 maggio 2011
Nello specifico
• Ottimo per moduli di presentation layer
• Fantastico per applicazioni Ajax
• Super per integrarsi con Webservice e servizi remoti via WS, REST, XML..
• Fichissimo per sviluppare, debuggare LIVE(è tutto online..!)
sabato 28 maggio 2011
Contro...
• Curva di apprendimento non super easy
• Necessità di un cambio di paradigma nell’approccio allo sviluppo
• Poca documentazione..
• Occhio allo spaghetti-code (che poi code non è ... :)
sabato 28 maggio 2011
Installazione
• http://sourceforge.net/projects/r2iopenwebstudi/files/r2iopenwebstudio/
• sito ufficiale : www.openwebstudio.com
• si installa come un normale modulo DotNetNuke (PA module)
sabato 28 maggio 2011
Ecco com’e’...
sabato 28 maggio 2011
Concetti base
• Ogni “programma” in OWS è una “Configuration”
• Ogni istanza del modulo OWS viene piazzato in una pagina ed associato ad una Configuration
sabato 28 maggio 2011
Configuration
• General settings
• Code Tree
• Actions (azioni, template...)
• Script, Variables, Formatters
• persistite nel DB con serializzazione JSON
• con versioning !!
sabato 28 maggio 2011
Actions
• Actions
• eseguono comandi
• deteminano il flusso di esecuzione
• input / output
• esempi : QUERY, INPUT, IF, LOOP...
sabato 28 maggio 2011
Template
• Sorgente dati : Query Template
• Presentazione dati
• header, footer, detail template....
• no results, no query....
• Un solo template “settato” per configurazione
sabato 28 maggio 2011
Script
• Azioni o comandi da eseguire nei template
• sintassi { ... }
• tranne [FORMAT,,{...}]
sabato 28 maggio 2011
Formatters
• Trasformano un valore in un altro...
• si applicano allo script
• [FORMAT,valore,{formatter}]
sabato 28 maggio 2011
Variables
• Sintassi [nomevariabile, Collection]
• Alcuni namespaces (abbreviato) :
• System (*) , es [*TabId]
• Session , QueryString (Q) ,Form (F)
• Action (A) : variabili custom..
• @variable : tipi speciali per le query parametriche
sabato 28 maggio 2011
L’ambiente : Actions
sabato 28 maggio 2011
Home
• Operazioni sulle configurazioni
• new, open..
• Import / Export (JSON)
• Publish
sabato 28 maggio 2011
General
sabato 28 maggio 2011
Tools
• Gestisce il Repository del codice
• possibilità di Revert & Rollback
• Debugger & Event Viewer
sabato 28 maggio 2011
iniziamo...
sabato 28 maggio 2011
DEMO
• un modulo per editare le pagine in blocco
• 1) autonomo...
• 2) uso del query builder....
sabato 28 maggio 2011
Presentazione
• Query Template (query in senso lato)
• header (multiply... group by...)
• detail
• footer
• no result
• No Query (per tutto il resto... :)
sabato 28 maggio 2011
Comandi al DB
• Action QUERY
• tutto è template....
• accetta @variable (x Sql Injection)
• query SQL o altro...
• iteratore automatico..
• crea [xxx,collection]
• sotto sotto tutto è DataTable
sabato 28 maggio 2011
Ajax
• Chiamate Ajax built-in
• ows.fetch( ModuleId, TabId, ‘querystring’ [, container] )
• due modalità
• Ajax
• Ajax Enhancement Interaction
sabato 28 maggio 2011
Debugger
sabato 28 maggio 2011
Estendibilità
• è possibile creare custom Action, Formatters, Query...
• openwebstudio.dotnetnuke_extensions.config
sabato 28 maggio 2011
Esempi :
• FILEDOWNLOAD
• estendere un limite della ACTION INPUT
• Esempio Live
• www.nelsalento.com
• chiamate asincrone ad un BookingEngine esposto via webservice
sabato 28 maggio 2011
FILEDOWNLOAD :
• Custom Query
• DEMO
sabato 28 maggio 2011
BookingEngine :
• Custom Query + DNN Scheduler
• DEMO
sabato 28 maggio 2011
BookingEngine :
• Custom Query + DNN Scheduler
• DEMO
sabato 28 maggio 2011
BookingEngine :
• Custom Query + DNN Scheduler
• DEMO
sabato 28 maggio 2011
BookingEngine :
• Custom Query + DNN Scheduler
• DEMO
sabato 28 maggio 2011
BookingEngine :
• Custom Query + DNN Scheduler
• DEMO
sabato 28 maggio 2011
Conclusioni
• Rapidità di sviluppo
• Online, adatto alla condivisione
• Potente, estendibile, veloce
sabato 28 maggio 2011