Download - Open Web Studio (Roberto Caporale)

Transcript
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