WebMatrix + OrchardFirst  Impact…<br />Ing. Giorgetti Alessandro<br />Software Artisan<br />SID s.r.l.<br />
About me…<br />Giorgetti  Alessandro<br />Laurea in Ingegneria Elettronica<br />Cofondatore di SID s.r.l.<br />Blog: http:...
WebMatrix<br />
WebMatrix<br />WebMatrix: tool gratuito per lo sviluppoedil deploy diapplicazioniweb.<br />Non è un sostitutodi Visual Stu...
WebMatrix<br />Creazione di un sito web: si possono creare siti completamente vuoti od utilizzare i template di inuumerevo...
WebMatrix - setup<br />Il modo più semplice per istallare WebMatrix:<br />Download ed Istallazione: Microsoft Web Platform...
WebMatrix - setup<br />
WebMatrix - site view<br />Consente di configurare con semplicità diversi parameteri del sito relativi all’hosting su IIS ...
WebMatrix - file view<br />Consente di creare ed editare file relativi al sito web: dal codice agli  stili CSS.<br />
WebMatrix - database view<br />Consente la connessione e la gestione di diversi tipi di datasource: è possibile editare ta...
WebMatrix - report view<br />Consente di analizzare il sito web e scovare potenziali problemi.<br />
WebMatrix - demo<br />How it works…<br />WebMatrix in action<br />
Orchard<br />
Orchard<br />Orchard è un CMS web based: consente la ‘costruzione’ di un sito web partendodaelementigiàesistenti.<br />Seg...
Orchard - setup<br />Diverse opzioni di installazione e configurazione: dal download e compilazione del source code all’us...
Orchard - first run<br />Una volta istallato, alla prima esecuzione ci verranno richieste alcune informazioni per configur...
Account di amministrazione.
Tipo di storage.
Template da cui costruire il sito.</li></li></ul><li>Orchard - first run<br />Ecco cosa si ottiene quando la procedura di ...
Orchard - first run<br />Questo è uno screenshot della dashboard:<br />
Orchard - demo<br />Istallazione e configurazione del sito<br />Up and Running in 5 minutes<br />First Run Demo<br />
Orchard – concetti di base<br />Orchard è una soluzione estremamente modulare.<br />Ogni modulo/package può essere suddivi...
Orchard – concetti di base<br />Content<br />Tutto ruota attorno ai contenuti; un ‘contenuto’ è qualcosa che ha delle info...
Orchard - content parts<br />Admin Menu – consente agli elementi di apparire nei menu di amministrazione (dashboard).<br /...
Orchard - content parts<br />Identity<br />Menu – consento al contenuto di apparire nei menu<br />Publish Later – fornisce...
Orchard - content fields<br />I ‘Content field’ sonoporzionidiinformazionechepossonoessereaggiuntiai ‘Content Item’.<br />...
Orchard - demo<br />Creare diversi tipi di contenuti…<br />Creare Contenuti<br />
Orchard - modules and features<br />Tutte le funzionalitàesposteda Orchard sonoimplementate come moduli (module).<br />Un ...
Orchard - demo<br />How it works…<br />Modules & Features<br />
Orchard – themes & composition<br />Orchard prediligeunachiaraseparazionetra la gestione del contenuto (informazione) e la...
Orchard - theme<br />Un Tema (theme) è un package chedefinisceil ‘look & feel’ per un sito web.<br />Consiste in unacombin...
Orchard - layout<br />Un ‘Layout’ in unatema è un particolare file chedefiniscel’organizzazionedellapagina web.<br />Un La...
Orchard - layout (example)<br />
Orchard - zones & widgets<br />Le ‘Zone’ sonospecifichesezioni del layout chesiprestanoall’inserimentodicontenuti e widget...
Orchar - layer<br />Un ‘Layer’ è un gruppodi widget (con la lorospecificaconfigurazione) attivatodaunabendefinitaregoladiv...
Orchard – layer rules<br />Unaregoladi layer è unaespressionechepuòesserevera o falsa.<br />Rules syntax:<br />You can bui...
Orchard - template<br />Abbiamo visto l’organizzazione della pagina (theme, layout, zone, widget, layer); occupiamoci ora ...
Orchard - shape<br />Prima di venire renderizzato attraverso un template ogni oggetto viene convertito in una ‘Shape’.<br ...
Orchard - placement<br />Durante il rendering diunapagina Orchard elaborainformazioni circa ilposizionamentodiognioggetto....
Orchard - demo<br />Layers & Widget<br />
Orchard - security<br />Supporto per gestione Utenti e Ruoli.<br />Set predefinito di Ruoli a cui è possibile assegnare gl...
Orchard – advanced topics<br />
Orchard - searching & indexing<br />Funzionalità fornita attraverso un set di moduli:<br />Indexing – fornisce servizi di ...
Orchard – custom content types<br />È possibile creare tipi di contenuto custom per rappresentare specifici scenari (come ...
Orchard – content lists<br />È possibile organizzare i contenuti in liste:<br />Editare un tipo esistente o crearne uno cu...
Orchard – content lists<br />Per visualizzare una lista:<br />Collegare il contenuto di tipo ‘List’ ad una voce di menu e ...
Upcoming SlideShare
Loading in …5
×

DNM19 Sessione1 Orchard Primo Impatto (ita)

2,375 views

Published on

Community Tour 2010 - CMS Edition
DotNetMarche
Slides relative alla prima sessione su Orchard: concetti di base su Orchard e WebMatrix.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,375
On SlideShare
0
From Embeds
0
Number of Embeds
807
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • What is and what offers
  • Show some setup screen
  • Lanciare WebMatrixAprire la sezione di creazione dei siti.Aprire il sito DNM demoFar vedere le sezioni dell’ambiente
  • Some notes and features orchard offers
  • Istallare Orchard a partire da webmatrixApri WebMatrix -&gt; seleziona ed istalla Orchard.Far vedere il sito vuoto che viene creato di conseguenza
  • How to setup orchard through webmatrix
  • Vediamo come aggiungere contenuti: esempio una pagina di un sito e vediamo anche la dashboard che consente di gestire diversi tipi di contenuto.Mostrare la console per la gestione del tipo di contenuto (content type)Mostrare da cosa è composto un tipo ‘Page’ (i suoi content part)Creazione / Aggiunta di pagine web al sitoAgganciarla al menu di visualizzazione Navigare verso la pagina
  • Mostrare sul sito come sono organizzati gli elementi delle directory (da webmatrix). Far vedere la gestione dei moduli e delle funzionalità dalla dashboard.
  • vediamo come inserire widgets all’interno di un template di pagina:Dashboard -&gt; widgets.Mostra l’organizzazione dei layer.Mostra le Layer rule per l’home pageInserimento di widget in una pagina. (menu, breadcrumb, edaltri)
  • Vediamo come è stato costruito e rappresentato l’oggetto ‘Event’ e la relativa listaMostrare l’oggetto event e le sue content partMostrare la creazione del tipo di lista che contene l’oggettoMostrare la pagina che rappresenta l’oggetto in questioneMostrare come utilizzare il ‘content widget’ per visualizzare una lista sulle pagine.
  • DNM19 Sessione1 Orchard Primo Impatto (ita)

    1. 1. WebMatrix + OrchardFirst Impact…<br />Ing. Giorgetti Alessandro<br />Software Artisan<br />SID s.r.l.<br />
    2. 2. About me…<br />Giorgetti Alessandro<br />Laurea in Ingegneria Elettronica<br />Cofondatore di SID s.r.l.<br />Blog: http://www.primordialcode.com<br />Email: alessandro.giorgetti@live.com, guardian@nablasoft.com<br />Twitter: @A_Giorgetti<br />
    3. 3. WebMatrix<br />
    4. 4. WebMatrix<br />WebMatrix: tool gratuito per lo sviluppoedil deploy diapplicazioniweb.<br />Non è un sostitutodi Visual Studio.<br />Gestiscediversi tipi di web applications e web application frameworks (like WordPress, Umbraco, Orchard…).<br />
    5. 5. WebMatrix<br />Creazione di un sito web: si possono creare siti completamente vuoti od utilizzare i template di inuumerevoli web application frameworks.<br />I siti web sono ‘in hosting’ su IIS o IISExpress: ambiente ideale per lo sviluppo.<br />Personalizzazione: WebMatrix supporta differenti tipi di editor per gestire diversi aspetti del sito web (pagine, css, etc…).<br />Pubblicazione: utilizzando un wizard integrato è possibile pubblicare automaticamente il proprio sito web verso il provider di destinazione.<br />
    6. 6. WebMatrix - setup<br />Il modo più semplice per istallare WebMatrix:<br />Download ed Istallazione: Microsoft Web Platform Installer<br />Cerca Microsoft WebMatrix tra i prodotti disponibili ed aggiungilo alla lista di istallazione<br />Tutte le dipendenze saranno automaticamente scaricate ed istallate se necessario.<br />
    7. 7. WebMatrix - setup<br />
    8. 8. WebMatrix - site view<br />Consente di configurare con semplicità diversi parameteri del sito relativi all’hosting su IIS o IISExpress (in alternativa si possono gestire ‘a mano’ i file di configurazione).<br />
    9. 9. WebMatrix - file view<br />Consente di creare ed editare file relativi al sito web: dal codice agli stili CSS.<br />
    10. 10. WebMatrix - database view<br />Consente la connessione e la gestione di diversi tipi di datasource: è possibile editare tabelle e gestire i dati in esse contenuti.<br />Non è un sostituto per Sql Management Studio, Toad ed analoghi.<br />
    11. 11. WebMatrix - report view<br />Consente di analizzare il sito web e scovare potenziali problemi.<br />
    12. 12. WebMatrix - demo<br />How it works…<br />WebMatrix in action<br />
    13. 13. Orchard<br />
    14. 14. Orchard<br />Orchard è un CMS web based: consente la ‘costruzione’ di un sito web partendodaelementigiàesistenti.<br />Segue un approccioestremamentemodulare e flessibile.<br />Basatosu ASP.NET MVC 3.<br />Layer diperistenza: Nhibernate + Fluent Mappings.<br />Puòutilizzarediversi tipi di database (non solo SqlServer).<br />
    15. 15. Orchard - setup<br />Diverse opzioni di installazione e configurazione: dal download e compilazione del source code all’uso di pacchetti di istallazione precompilato o del Windows Platform Installer (my favourite).<br />In ogni caso, abbiamo iniziato con WebMatrix  procediamo sullo stesso percorso:<br />Aprire la dashboard di WebMatrix.<br />Selezionare ‘Sito da raccolta web’.<br />Scegliere Orchard dalla lista che viene presentata.<br />
    16. 16. Orchard - first run<br />Una volta istallato, alla prima esecuzione ci verranno richieste alcune informazioni per configurare il sito:<br /><ul><li>Nome del sito.
    17. 17. Account di amministrazione.
    18. 18. Tipo di storage.
    19. 19. Template da cui costruire il sito.</li></li></ul><li>Orchard - first run<br />Ecco cosa si ottiene quando la procedura di setup iniziale è completa:<br />
    20. 20. Orchard - first run<br />Questo è uno screenshot della dashboard:<br />
    21. 21. Orchard - demo<br />Istallazione e configurazione del sito<br />Up and Running in 5 minutes<br />First Run Demo<br />
    22. 22. Orchard – concetti di base<br />Orchard è una soluzione estremamente modulare.<br />Ogni modulo/package può essere suddiviso in differenti componenti che offrono diverse funzionalità.<br />Per capire ‘come funziona’ dobbiamo familiarizzare con alcuni termini e definizioni utilizzate dal team di sviluppo:<br />
    23. 23. Orchard – concetti di base<br />Content<br />Tutto ruota attorno ai contenuti; un ‘contenuto’ è qualcosa che ha delle informazioni associate (una pagina, un post del blog, un commento…abbiamo diversi tipi di contenuti).<br />Un contenuto non è di per sé una entità atomica; può essere composto da diversi tipi di informazioni (parti).<br />Una singola ‘content part’ viene utilizzata per fornire un comportamento coerente che può essere riutilizzato in diversi contesti.<br />
    24. 24. Orchard - content parts<br />Admin Menu – consente agli elementi di apparire nei menu di amministrazione (dashboard).<br />Body – fornsce il contenuto, l’informazione.<br />Comments – supporto per la gestione dei commenti<br />Common – fornisce attributi e supporto a funzioni di base (come indicare un proprietario e/o vari timestamp).<br />Containable – consente all’oggetto di essere contenuto in una lista.<br />Container – fornisce supporto per contenere oggetti di diversa tipologia.<br />Custom properties – aggiunge tre campi stringa custom agli oggetti.<br />
    25. 25. Orchard - content parts<br />Identity<br />Menu – consento al contenuto di apparire nei menu<br />Publish Later – fornisce supporto alla gestione della pubblicazione differita nel tempo<br />Route Part – supporto per consentire l’accesso alla risorsa<br />Tags Part – associa dei tag al contenuto (consente una sorta di categorizzazione dei contenuti, i contenuti ‘taggati’ sono accessibili come risorse: ~/tags/tag-name)<br />More parts can be added…<br />
    26. 26. Orchard - content fields<br />I ‘Content field’ sonoporzionidiinformazionechepossonoessereaggiuntiai ‘Content Item’.<br />Hanno un nomeed un tipoedunavoltaassociatidivengonospecifici per un dato content type. <br />Ad esempio: un contenutoditipo ‘Evento’ puo’ avereassociato un body (informazionechedescrivel’evento), un field ‘Locazione’ (testo,map) ed un field ‘Data’ (datetime).<br />È possibiledefiniredei field custom per rappresentareipropri tipi diinformazioni.<br />
    27. 27. Orchard - demo<br />Creare diversi tipi di contenuti…<br />Creare Contenuti<br />
    28. 28. Orchard - modules and features<br />Tutte le funzionalitàesposteda Orchard sonoimplementate come moduli (module).<br />Un modulo è un set diestensionifisicamenteraggruppate in unacartella del sito web (all’internodellacartella ‘Modules’).<br />Un modulo puòcontenereuna o piùfunzionalità (feature), un modulo è quindi un raggruppamentologicodifunzionalitàchepossonoessreabilitate o disabilitateindividualmente.<br />Per accedereallagestionedeimoduli: Dashboard  Modules.<br />
    29. 29. Orchard - demo<br />How it works…<br />Modules & Features<br />
    30. 30. Orchard – themes & composition<br />Orchard prediligeunachiaraseparazionetra la gestione del contenuto (informazione) e la visualizzazione del contenutostesso.<br />Ognifunzionalità, parte o contenutohanno la propriarappresentazionegrafica.<br />Orchard è caratterizzato dall’avere un motore di composizione che è in grado di accorpare le singole entità eterogenee in una unica organizzazione coerente.<br />Il meccanismo di composizione di Orchard è abbastanza complesso da padroneggiare, questo è dovuto essenzialmente all’elevato livello di flessibilità e customizzazione che deve garantire.<br />
    31. 31. Orchard - theme<br />Un Tema (theme) è un package chedefinisceil ‘look & feel’ per un sito web.<br />Consiste in unacombinazionedi style sheet, immagini, file di layout, template per controlli e, neitemipiùavanzati, custom code.<br />È possibilecrearetemicheereditinodaaltritemipredefiniti (in questomodo è possibileeffettuarepiccolemodifiche ad un tema base senzaalterarne le funzionalità).<br />
    32. 32. Orchard - layout<br />Un ‘Layout’ in unatema è un particolare file chedefiniscel’organizzazionedellapagina web.<br />Un Layout identifica un set di zone in cui posizionarecontenuti e widgets.<br />Al momento è possibileavere un solo Layout di base per ilsito.<br />È possibilecustomizzare come le paginedi diverse sezionivengonorenderizzateusandocombinazionididiversi layers (maggioriinformazionitrabreve).<br />
    33. 33. Orchard - layout (example)<br />
    34. 34. Orchard - zones & widgets<br />Le ‘Zone’ sonospecifichesezioni del layout chesiprestanoall’inserimentodicontenuti e widgets.<br />Le zone privedielementi o contenuto non vengonorenderizzate.<br />Un ‘Widget’ è un frammentodi UI chepuòessereaggiuntoallapagina del sito.<br />Esempidi widgets: tag cloud, mappe, archivi, listedi post, etc… sonoimplementaticome funzionalitàespostedaimoduli.<br />
    35. 35. Orchar - layer<br />Un ‘Layer’ è un gruppodi widget (con la lorospecificaconfigurazione) attivatodaunabendefinitaregoladivisualizzazione.<br />È possibiledefinirediversi tipi diregoledivisualizzazione.<br />Quandopiùdi un layer è attivocontemporaneamentesullastessapagina, tuttigli widget diquei layer sonovisualizzaticontemporaneamente.<br />Per customizzare e/o definire layers:Dashboard  Widgets.<br />
    36. 36. Orchard – layer rules<br />Unaregoladi layer è unaespressionechepuòesserevera o falsa.<br />Rules syntax:<br />You can build complex expressions:<br />(not authenticated and url("~/about")) or authenticated<br />
    37. 37. Orchard - template<br />Abbiamo visto l’organizzazione della pagina (theme, layout, zone, widget, layer); occupiamoci ora della visualizzazione effettiva del contenuto:<br />Occorre un ‘qualcosa’ che consenta la conversione dei dati e delle informazioni in elementi HTML che verranno renderizzati dal browser.<br />Un template è essenzialmente un file HTML con dei placeholders e dei markers per indicare la posizione dei dati all’interno del frammento:(<h2>@Model.Title</h2>).<br />
    38. 38. Orchard - shape<br />Prima di venire renderizzato attraverso un template ogni oggetto viene convertito in una ‘Shape’.<br />Una shape è letteralmente un oggetto che contiene tutte le informazioni necessarie alla sua visualizzazione.<br />A livello logico una pagina non è altro che un albero di queste strutture che fornisce una rappresentazione astratta della pagina stessa (come avviene in WPF/Silverlight con i visual ed i logical tree di una form xaml).<br />Questo approccio consente la trasformazione di ogni oggetto prima della effettiva visualizzazione.<br />
    39. 39. Orchard - placement<br />Durante il rendering diunapagina Orchard elaborainformazioni circa ilposizionamentodiognioggetto.<br />Due meccanismifondamentali:<br />Informazioniderivantidaitemplate.<br />File Placement.info – file XML chedescrive, mediante un opportuno set diregole, come combinare le shapes, in cheordineed in quali zone inserirle.<br />
    40. 40. Orchard - demo<br />Layers & Widget<br />
    41. 41. Orchard - security<br />Supporto per gestione Utenti e Ruoli.<br />Set predefinito di Ruoli a cui è possibile assegnare gli utenti.<br />È possibile creare nuovi ruoli.<br />Ogni ruolo ha il proprio set di permessi assegnato.<br />I permessi sono garantiti ai ruoli, ma non esplicitamente negati: se un utente appartiene ad un gruppo che garantisce un determinato permesso allora l’utente ha quel permesso.<br />Alcunipermessisono ‘garantitieffettivamente’ (sonoimplicatidaaltripemessi, es: site owner garantisceimplicitamentetuttoilresto).<br />Ogni feature puòesporreilproprio set dipermessi.<br />GestioneUtenti e Ruoli: Dashboard  Users.<br />
    42. 42. Orchard – advanced topics<br />
    43. 43. Orchard - searching & indexing<br />Funzionalità fornita attraverso un set di moduli:<br />Indexing – fornisce servizi di indicizzazione.<br />Lucene – implementazione specifica servizio idx.<br />Search – fornisce la possibilità di eseguire query.<br />Nuove opzioni vengono aggiunte alla sezione di configurazione della Dashboard (per selezionare quali tipi di contenuti indicizzare e come schedulare le operazioni di indicizzazione).<br />Viene fornito un nuovo widget (SearchForm) per offrire agli utilizzatori del sito una interfaccia mediante la quale eseguire ricerche.<br />
    44. 44. Orchard – custom content types<br />È possibile creare tipi di contenuto custom per rappresentare specifici scenari (come ad esempio un ‘Evento’ o uno ‘Sponsor’).<br />I tipi custom possono essere costituiti da:<br />Parts– blocchi predefiniti di proprietà che definisco comportamenti ben precisi ed uniformi. <br />Fields – singole porzioni di informazioni che definiscono dati specifici al tipo che stiamo costruendo (supporto per differenti tipi di campo, altri ne possono essere creati emdiante moduli e features).<br />I tipi custom hanno diversi comportamenti in relazione alle differenti Parts che vengono usati per comporli.<br />
    45. 45. Orchard – content lists<br />È possibile organizzare i contenuti in liste:<br />Editare un tipo esistente o crearne uno custom aggiungendo le seguenti Parts:<br />Common – fornisce supporto per un set base di proprietà (proprietario, date di creazione e modifica, ecc…)<br />Containable – indica che questo tipo può essere associato ad una lista ed abilita la dashboard alla gestione della relazione tra contenuti e liste.<br />Di seguito si deve creare una List (lista) che conterrà oggetti del tipo appena definito:Dashboard  New  List.<br />
    46. 46. Orchard – content lists<br />Per visualizzare una lista:<br />Collegare il contenuto di tipo ‘List’ ad una voce di menu e visualizzarlo come pagina intera.<br />Usare un “Container Widget” per inserire il contenuto all’interno di una zona del layout.<br />
    47. 47. Orchard - demo<br />Custom types<br />
    48. 48. Thanks for attending!<br />

    ×