SlideShare a Scribd company logo
1 of 35
Download to read offline
Open Web Studio
                        un altro modo per sviluppare “rapidamente” con
                                        DotNetNuke




                                        Roberto Caporale
                                       roberto@bizcomit.it


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
DOMANDE?




                          Roberto Caporale
                        http://www.bizcomit.it
                         roberto@bizcomit.it
sabato 28 maggio 2011

More Related Content

Similar to Open Web Studio (Roberto Caporale)

WordPress Community [italian] - WordCamp Milano 2011
WordPress Community [italian] - WordCamp Milano 2011WordPress Community [italian] - WordCamp Milano 2011
WordPress Community [italian] - WordCamp Milano 2011
Francesco Laffi
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
DotNetMarche
 
Smau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del ceroSmau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del cero
SMAU
 
Actionscript 3 Design Pattern
Actionscript 3 Design PatternActionscript 3 Design Pattern
Actionscript 3 Design Pattern
luca mezzalira
 
Slide typescript - net campus
Slide typescript - net campusSlide typescript - net campus
Slide typescript - net campus
DotNetCampus
 
Deftcon 2012 - Paolo Dal Checco - Timeline e Supertimeline
Deftcon 2012 - Paolo Dal Checco - Timeline e SupertimelineDeftcon 2012 - Paolo Dal Checco - Timeline e Supertimeline
Deftcon 2012 - Paolo Dal Checco - Timeline e Supertimeline
Sandro Rossetti
 

Similar to Open Web Studio (Roberto Caporale) (20)

WordPress Community [italian] - WordCamp Milano 2011
WordPress Community [italian] - WordCamp Milano 2011WordPress Community [italian] - WordCamp Milano 2011
WordPress Community [italian] - WordCamp Milano 2011
 
Database project alla riscossa
Database project alla riscossaDatabase project alla riscossa
Database project alla riscossa
 
Progettare applicazioni con il modeling project di Visual Studio 2010
Progettare applicazioni con il modeling project di Visual Studio 2010Progettare applicazioni con il modeling project di Visual Studio 2010
Progettare applicazioni con il modeling project di Visual Studio 2010
 
PASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL ServerPASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL Server
 
Sencha touch: Sviluppare un'app - 4° parte
Sencha touch: Sviluppare un'app - 4° parteSencha touch: Sviluppare un'app - 4° parte
Sencha touch: Sviluppare un'app - 4° parte
 
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
 
Smau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del ceroSmau milano 2012 massimiliano del cero
Smau milano 2012 massimiliano del cero
 
CDays15 - AZ08 - DocumentDB: il NoSql secondo Azure
CDays15 - AZ08 - DocumentDB: il NoSql secondo AzureCDays15 - AZ08 - DocumentDB: il NoSql secondo Azure
CDays15 - AZ08 - DocumentDB: il NoSql secondo Azure
 
Actionscript 3 Design Pattern
Actionscript 3 Design PatternActionscript 3 Design Pattern
Actionscript 3 Design Pattern
 
TYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLD
TYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLDTYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLD
TYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLD
 
Slide typescript - net campus
Slide typescript - net campusSlide typescript - net campus
Slide typescript - net campus
 
Unit test
Unit testUnit test
Unit test
 
iot Saturday 2019 - PoC iot in 1 ora
iot Saturday 2019 - PoC iot in 1 oraiot Saturday 2019 - PoC iot in 1 ora
iot Saturday 2019 - PoC iot in 1 ora
 
PoC IoT in 1 ora
PoC IoT in 1 oraPoC IoT in 1 ora
PoC IoT in 1 ora
 
Deftcon 2012 - Paolo Dal Checco - Timeline e Supertimeline
Deftcon 2012 - Paolo Dal Checco - Timeline e SupertimelineDeftcon 2012 - Paolo Dal Checco - Timeline e Supertimeline
Deftcon 2012 - Paolo Dal Checco - Timeline e Supertimeline
 
Code Generation con i templates T4 in visual studio
Code Generation con i templates T4 in visual studioCode Generation con i templates T4 in visual studio
Code Generation con i templates T4 in visual studio
 
CONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERCONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVER
 
DotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerDotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql Server
 
Dominopoint meet the experts 2015 - XPages
Dominopoint   meet the experts 2015 - XPagesDominopoint   meet the experts 2015 - XPages
Dominopoint meet the experts 2015 - XPages
 

More from DotNetMarche

Soluzioni Microsoft per l'e-Learning
Soluzioni Microsoft per l'e-LearningSoluzioni Microsoft per l'e-Learning
Soluzioni Microsoft per l'e-Learning
DotNetMarche
 
Microsoft SharePoint Server 2007 Technical Overview
Microsoft SharePoint Server 2007 Technical OverviewMicrosoft SharePoint Server 2007 Technical Overview
Microsoft SharePoint Server 2007 Technical Overview
DotNetMarche
 

More from DotNetMarche (20)

Creare una community dal basso ed arrivare ad un'azienda milionaria - Emanue...
Creare una community dal basso ed arrivare ad un'azienda milionaria  - Emanue...Creare una community dal basso ed arrivare ad un'azienda milionaria  - Emanue...
Creare una community dal basso ed arrivare ad un'azienda milionaria - Emanue...
 
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...
 
WPF 4 fun
WPF 4 funWPF 4 fun
WPF 4 fun
 
UI Composition - Prism
UI Composition - PrismUI Composition - Prism
UI Composition - Prism
 
UI Composition
UI CompositionUI Composition
UI Composition
 
Model-View-ViewModel
Model-View-ViewModelModel-View-ViewModel
Model-View-ViewModel
 
WPF basics
WPF basicsWPF basics
WPF basics
 
Refactoring ASP.NET and beyond
Refactoring ASP.NET and beyondRefactoring ASP.NET and beyond
Refactoring ASP.NET and beyond
 
Refactoring 2TheMax (con ReSharper)
Refactoring 2TheMax (con ReSharper)Refactoring 2TheMax (con ReSharper)
Refactoring 2TheMax (con ReSharper)
 
jQuery Loves You
jQuery Loves YoujQuery Loves You
jQuery Loves You
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
 
Open XML & MOSS
Open XML & MOSSOpen XML & MOSS
Open XML & MOSS
 
Soluzioni Microsoft per l'e-Learning
Soluzioni Microsoft per l'e-LearningSoluzioni Microsoft per l'e-Learning
Soluzioni Microsoft per l'e-Learning
 
Installing and Administering MOSS
Installing and Administering MOSSInstalling and Administering MOSS
Installing and Administering MOSS
 
Microsoft SharePoint Server 2007 Technical Overview
Microsoft SharePoint Server 2007 Technical OverviewMicrosoft SharePoint Server 2007 Technical Overview
Microsoft SharePoint Server 2007 Technical Overview
 
Asp.NET MVC Framework
Asp.NET MVC FrameworkAsp.NET MVC Framework
Asp.NET MVC Framework
 
Introduzione al Testing
Introduzione al TestingIntroduzione al Testing
Introduzione al Testing
 
Introduzione a CardSpace
Introduzione a CardSpaceIntroduzione a CardSpace
Introduzione a CardSpace
 
Introduzione a Workflow Foundation
Introduzione a Workflow FoundationIntroduzione a Workflow Foundation
Introduzione a Workflow Foundation
 
Domain Model e SOA (Service Oriented Architecture)
Domain Model e SOA (Service Oriented Architecture)Domain Model e SOA (Service Oriented Architecture)
Domain Model e SOA (Service Oriented Architecture)
 

Open Web Studio (Roberto Caporale)

  • 1. Open Web Studio un altro modo per sviluppare “rapidamente” con DotNetNuke Roberto Caporale roberto@bizcomit.it sabato 28 maggio 2011
  • 2. Cos’e’ OWS • Un modulo di DotNetNuke • Un ambiente di sviluppo Rad • Un framework estendibile sabato 28 maggio 2011
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 9. 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
  • 10. Configuration • General settings • Code Tree • Actions (azioni, template...) • Script,Variables, Formatters • persistite nel DB con serializzazione JSON • con versioning !! sabato 28 maggio 2011
  • 11. Actions • Actions • eseguono comandi • deteminano il flusso di esecuzione • input / output • esempi : QUERY, INPUT, IF, LOOP... sabato 28 maggio 2011
  • 12. 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
  • 13. Script • Azioni o comandi da eseguire nei template • sintassi { ... } • tranne [FORMAT,,{...}] sabato 28 maggio 2011
  • 14. Formatters • Trasformano un valore in un altro... • si applicano allo script • [FORMAT,valore,{formatter}] sabato 28 maggio 2011
  • 15. 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
  • 17. Home • Operazioni sulle configurazioni • new, open.. • Import / Export (JSON) • Publish sabato 28 maggio 2011
  • 19. Tools • Gestisce il Repository del codice • possibilità di Revert & Rollback • Debugger & Event Viewer sabato 28 maggio 2011
  • 21. DEMO • un modulo per editare le pagine in blocco • 1) autonomo... • 2) uso del query builder.... sabato 28 maggio 2011
  • 22. 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
  • 23. 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
  • 24. Ajax • Chiamate Ajax built-in • ows.fetch( ModuleId, TabId, ‘querystring’ [, container] ) • due modalità • Ajax • Ajax Enhancement Interaction sabato 28 maggio 2011
  • 26. Estendibilità • è possibile creare custom Action, Formatters, Query... • openwebstudio.dotnetnuke_extensions.config sabato 28 maggio 2011
  • 27. 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
  • 28. FILEDOWNLOAD : • Custom Query • DEMO sabato 28 maggio 2011
  • 29. BookingEngine : • Custom Query + DNN Scheduler • DEMO sabato 28 maggio 2011
  • 30. BookingEngine : • Custom Query + DNN Scheduler • DEMO sabato 28 maggio 2011
  • 31. BookingEngine : • Custom Query + DNN Scheduler • DEMO sabato 28 maggio 2011
  • 32. BookingEngine : • Custom Query + DNN Scheduler • DEMO sabato 28 maggio 2011
  • 33. BookingEngine : • Custom Query + DNN Scheduler • DEMO sabato 28 maggio 2011
  • 34. Conclusioni • Rapidità di sviluppo • Online, adatto alla condivisione • Potente, estendibile, veloce sabato 28 maggio 2011
  • 35. DOMANDE? Roberto Caporale http://www.bizcomit.it roberto@bizcomit.it sabato 28 maggio 2011