Open Web Studio (Roberto Caporale)

35
Open Web Studio un altro modo per sviluppare “rapidamente” con DotNetNuke Roberto Caporale [email protected] sabato 28 maggio 2011

description

Roberto presenterà l'ambiente di sviluppo OpenWebStudio (OWS), che nel mondo dello sviluppo Rad per DotNetNuke ha rappresentato senz'altro una svolta in quanto a potenza e produttività che puo' garantire. Verranno presentati gli aspetti fondamentali della programmazione OWS, la sua particolare filosofia, il sistema di templating, le action, le caratterische legate alla programmazione Ajax ed alla creazione e consumo di servizi web. Verranno inoltre accennate le possibilità di estensione del framework, il tutto corredato da una serie di esempi pratici.

Transcript of Open Web Studio (Roberto Caporale)

Page 1: Open Web Studio (Roberto Caporale)

Open Web Studioun altro modo per sviluppare “rapidamente” con

DotNetNuke

Roberto [email protected]

sabato 28 maggio 2011

Page 2: Open Web Studio (Roberto Caporale)

Cos’e’ OWS

• Un modulo di DotNetNuke

• Un ambiente di sviluppo Rad

• Un framework estendibile

sabato 28 maggio 2011

Page 3: Open Web Studio (Roberto Caporale)

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

Page 4: Open Web Studio (Roberto Caporale)

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

Page 5: Open Web Studio (Roberto Caporale)

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

Page 6: Open Web Studio (Roberto Caporale)

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

Page 7: Open Web Studio (Roberto Caporale)

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

Page 8: Open Web Studio (Roberto Caporale)

Ecco com’e’...

sabato 28 maggio 2011

Page 9: Open Web Studio (Roberto Caporale)

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

Page 10: Open Web Studio (Roberto Caporale)

Configuration

• General settings

• Code Tree

• Actions (azioni, template...)

• Script, Variables, Formatters

• persistite nel DB con serializzazione JSON

• con versioning !!

sabato 28 maggio 2011

Page 11: Open Web Studio (Roberto Caporale)

Actions

• Actions

• eseguono comandi

• deteminano il flusso di esecuzione

• input / output

• esempi : QUERY, INPUT, IF, LOOP...

sabato 28 maggio 2011

Page 12: Open Web Studio (Roberto Caporale)

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

Page 13: Open Web Studio (Roberto Caporale)

Script

• Azioni o comandi da eseguire nei template

• sintassi { ... }

• tranne [FORMAT,,{...}]

sabato 28 maggio 2011

Page 14: Open Web Studio (Roberto Caporale)

Formatters

• Trasformano un valore in un altro...

• si applicano allo script

• [FORMAT,valore,{formatter}]

sabato 28 maggio 2011

Page 15: Open Web Studio (Roberto Caporale)

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

Page 16: Open Web Studio (Roberto Caporale)

L’ambiente : Actions

sabato 28 maggio 2011

Page 17: Open Web Studio (Roberto Caporale)

Home

• Operazioni sulle configurazioni

• new, open..

• Import / Export (JSON)

• Publish

sabato 28 maggio 2011

Page 18: Open Web Studio (Roberto Caporale)

General

sabato 28 maggio 2011

Page 19: Open Web Studio (Roberto Caporale)

Tools

• Gestisce il Repository del codice

• possibilità di Revert & Rollback

• Debugger & Event Viewer

sabato 28 maggio 2011

Page 20: Open Web Studio (Roberto Caporale)

iniziamo...

sabato 28 maggio 2011

Page 21: Open Web Studio (Roberto Caporale)

DEMO

• un modulo per editare le pagine in blocco

• 1) autonomo...

• 2) uso del query builder....

sabato 28 maggio 2011

Page 22: Open Web Studio (Roberto Caporale)

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

Page 23: Open Web Studio (Roberto Caporale)

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

Page 24: Open Web Studio (Roberto Caporale)

Ajax

• Chiamate Ajax built-in

• ows.fetch( ModuleId, TabId, ‘querystring’ [, container] )

• due modalità

• Ajax

• Ajax Enhancement Interaction

sabato 28 maggio 2011

Page 25: Open Web Studio (Roberto Caporale)

Debugger

sabato 28 maggio 2011

Page 26: Open Web Studio (Roberto Caporale)

Estendibilità

• è possibile creare custom Action, Formatters, Query...

• openwebstudio.dotnetnuke_extensions.config

sabato 28 maggio 2011

Page 27: Open Web Studio (Roberto Caporale)

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

Page 28: Open Web Studio (Roberto Caporale)

FILEDOWNLOAD :

• Custom Query

• DEMO

sabato 28 maggio 2011

Page 29: Open Web Studio (Roberto Caporale)

BookingEngine :

• Custom Query + DNN Scheduler

• DEMO

sabato 28 maggio 2011

Page 30: Open Web Studio (Roberto Caporale)

BookingEngine :

• Custom Query + DNN Scheduler

• DEMO

sabato 28 maggio 2011

Page 31: Open Web Studio (Roberto Caporale)

BookingEngine :

• Custom Query + DNN Scheduler

• DEMO

sabato 28 maggio 2011

Page 32: Open Web Studio (Roberto Caporale)

BookingEngine :

• Custom Query + DNN Scheduler

• DEMO

sabato 28 maggio 2011

Page 33: Open Web Studio (Roberto Caporale)

BookingEngine :

• Custom Query + DNN Scheduler

• DEMO

sabato 28 maggio 2011

Page 34: Open Web Studio (Roberto Caporale)

Conclusioni

• Rapidità di sviluppo

• Online, adatto alla condivisione

• Potente, estendibile, veloce

sabato 28 maggio 2011