1 / 47

WebMatrix + Orchard First Impact…

WebMatrix + Orchard First Impact…. Ing . Giorgetti Alessandro Software Artisan SID s.r.l. About me…. Giorgetti Alessandro. Laurato in Ingegneria Elettronica Cofondatore di SID s.r.l. Blog: http://www.primordialcode.com Email: alessandro.giorgetti@live.com , guardian@nablasoft.com

megan-kerr
Download Presentation

WebMatrix + Orchard First Impact…

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WebMatrix + OrchardFirst Impact… Ing. Giorgetti Alessandro Software Artisan SID s.r.l.

  2. About me… Giorgetti Alessandro Laurato in Ingegneria Elettronica Cofondatore di SID s.r.l. Blog: http://www.primordialcode.com Email: alessandro.giorgetti@live.com, guardian@nablasoft.com Twitter: @A_Giorgetti

  3. WebMatrix

  4. WebMatrix • WebMatrix: tool gratuito per lo sviluppodiapplicazioni web, include tuttoquellodi cui si ha bisogno per iniziare a svilupparteiltuosito web. • Non è un ostitutodi Visual Studio. • Gestiscediversi tipi di web applications e web application frameworks (like WrodPress, Umbraco, Orchard…). • Si integra con IISExpress per semplicarel’hostingdisitidurante lo sviluppo.

  5. WebMatrix • Creare un sito web: si possono creare siti completamente vuoti od utilizzare i template o le web application gestite da WebMatrix come punto di partenza. • I siti web sono ‘hostati’ appoggiandosi su IIS o IISExpress: ambiente ideale per lo sviluppo. • Personalizzazione: WebMatrix supporta differenti tipi di editor per gestire diversi aspetti del sito web (pagine, css, etc…) • Pubblicazione: utilizzando un wizard integrato è possibile pubblicare automaticamente il proprio sito web verso il provider di destinazione.

  6. WebMatrix - setup Il modo più semplice per istallare WebMatrix: • Download ed Istallazione: Microsoft Web Platform Installer • Cerca Microsoft WebMatrix tra i prodotti disponibili ed aggiungilo alla lista di istallazione • Tutte le dipendenze saranno automaticamente scaricate ed istallate se necessario.

  7. WebMatrix - setup

  8. WebMatrix - site view • 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).

  9. WebMatrix - file view • Consente di creare ed editare file relativi al sito web: dal codice agli stili CSS.

  10. WebMatrix - database view • Consente la connessione e la gestione di diversi tipi di datasource: è possibile editare tabelle e gestire i dati in esse contenuti. • Non è un sostituto per Sql Management Studio, Toad ed analoghi.

  11. WebMatrix - report view • Consente di analizzare il sito web e scovare potenziali problemi.

  12. WebMatrix - demo WebMatrix in action How it works…

  13. Orchard

  14. Orchard • Orchard è un CMS web based: essenzialmentemira ad aiutare la ‘costruzione’ di un sito web partendodaelementigiàesistenti. • Segue un approccioestremamentemodulare e flessibile. • Costruitosu ASP.NET MVC 3. • Layer diperistenzabasatosuNhibernate + Fluent Mappings. • Puo’ utilizzarediversi tipi di database (non sonoSqlServer).

  15. Orchard - setup 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). In ogni caso, abbiamo iniziato con WebMatrix  procediamo sullo stesso percorso: • Aprire la dashboard di WebMatrix. • Selezionare ‘Sito da raccolta web’. • Scegliere Orchard dalla lista che viene presentata.

  16. Orchard - demo Setup Setup Orchard con WebMatrix

  17. Orchard - first run Una volta istallato, alla prima esecuzione ci verranno richieste alcune informazioni per configurare il sito: • Nome del sito. • Account di amministrazione. • Tipo di storage. • Template da cui costruire il sito.

  18. Orchard - first run Ecco cosa si ottiene quando la procedura di setup iniziale è completa:

  19. Orchard - first run Questo è uno screenshot della dashboard:

  20. Orchard - demo Up and Running in 5 minutes First Run Demo Istallazione e configurazione del sito

  21. Orchard – concetti di base Orchard è una soluzione estremamente modulare. Ogni modulo/package può essere suddiviso in differenti parti che offrono diverse funzionalità; queste ultime possono poi essere combinate per ottenere operazioni anche complesse. Per capire ‘come funziona’ dobbiamo familiarizzare con alcuni termini e definizioni utilizzate dal team di sviluppo:

  22. Orchard – concetti di base Content 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). Un contenuto non è di per sé una entità atomica; può essere composto da diversi tipi di informazioni (parti). Una singola ‘content part’ viene utilizzata per fornire un comportamento coerente che può essere riutilizzato in diversi contesti.

  23. Orchard - content parts • Admin Menu – consente agli elementi di apparire nei menu di amministrazione (dashboard). • Body – fornsce il contenuto, l’informazione. • Comments – supporto per la gestione dei commenti • Common – fornisce attributi e supporto a funzioni di base (come indicare un proprietario e/o vari timestamp). • Containable – consente all’oggetto di essere contenuto in una lista. • Container – fornisce supporto per contenere oggetti di diversa tipologia. • Custom properties – aggiunge tre campi stringa custom agli oggetti.

  24. Orchard - content parts • Identity • Menu – consento al contenuto di apparire nei menu • Publish Later – fornisce supporto alla gestione della pubblicazione differita nel tempo • Route Part – supporto per consentire l’accesso alla risorsa • Tags Part – associa dei tag al contenuto (consente una sorta di categorizzazione dei contenuti, i contenuti ‘taggati’ sono accessibili come risorse: ~/tags/tag-name) • More parts can be added…

  25. Orchard - content fields I ‘Content fields’ sonopezzidiinformazionechepossonoessereaggiuntiai ‘Content Item’. Hanno un nomeed un tipoedunavoltaassociatidivengonospecifici per un dato content type. È possibileassociarediversi content field ad unostessotipodicontenuto. Ad esempio un contenutoditipo ‘Evento’ puo’ avereassociato un body (informazionechedescrivel’evento), un field ‘Locazione’ (testo,map) ed un field ‘Data’ (datetime). È possibiledefiniredei field custom per rappresentare I propri tipi diinformazioni.

  26. Orchard - demo Content Types Creare diversi tipi di contenuti…

  27. Orchard - modules and features • Tutte le funzionalitàesposteda Orchard sonoimplementate come moduli. • Un modulo è un set diestensionichesonoraggruppatefisicamente in unacartella del sito web (all’internodellacartella ‘Modules’). • Un modulo puòcontenereuna o piùfunzionalità, un modulo è quindi un raggruppamentologicodifunzionalitàchepossonoessreabilitate o disabilitateindividualmente • Per accedereallagestionedeimoduli: Dashboard  Modules (qui è possibileinstallare, abilitare, disabilitare, configuraremoduli e funzionalità).

  28. Orchard - demo Mdls & Ftrs How it works…

  29. Orchard – themes & composition • Orchard prediligeunachiaraseparazionetra la gestione del contenuto (informazione) e la visualizzazione del contenutostesso. • Ognifunzionalità, parte o contenutohanno la propriarappresentazionegrafica. • Orchard è caratterizzato dall’avere un motore di composizione che è in grado di accorpare le singole entità eterogenee in una unica organizzazione coerente. • Il meccanismo di composizione di Orchard è abbastanza complesso da padroneggiare, questo è dovuto essenzialmente all’elevato livello di flessibilità e customizzazione che deve garantire.

  30. Orchard - theme • Un Tema è un package chedefinisceil ‘look & feel’ per un sito web. • Consiste in unacombinazionedi style sheets, immagini, file di layout, templates per controlli e, neitemipiùavanzati, custom code. • È possibilecrearetemicheereditinodaaltritemipredefiniti (in questomodo è possibileeffettuarepiccolemodifiche ad un tema base senzaalterarne le funzionalità).

  31. Orchard - layout • Un ‘Layout’ in unatema è un particolare file chedefiniscel’organizzazionedellapagina web el sito. • Un Layout definisce un set di zone in cui posizionarecontenuti e widgets. • Al momento è possibileavere un solo Layout di base per ilsito.ù • È possibilecustomizzare come le diverse paginedi diverse sezionivengonorenderizzateusandocombinazionididiversi layers (maggioriinformazionitrabreve).

  32. Orchard - layout (example)

  33. Orchard - zones & widgets • Le ‘Zone’ sonospecifichesezioni del layout chepossonoesserecustomizzateinserendoelementi e widgets. • Le zone privedielementi o contenuto non vengonorenderizzate. • Un ‘Widget’ è un frammentodi UI chepuo’ essereaggiuntoallapagina del sito. • Esempidi widgets: tag cloud, mappe, archivi, listedi post, etc… possonoessereimplementati come funzionalitàespostedaimoduli.

  34. Orchar - layer • Un ‘Layer’ è un gruppodi widget (con la lorospecificaconfigurazione) che è attivatodaunabendefinitaregoladivisualizzazione. • È possibiledefinirediversi tipi diregoledivisualizzazione. • Quandopiùdi un layer è attivocontemporaneamentesullastessapagina, tuttigli widget diquei layer sonovisualizzaticontemporaneamente. • Per customizzare e/o definire layers:Dashboard  Widgets.

  35. Orchard - layer Unaregoladi layer è unaespressionechepuo’ esserevera o falsa. Rules syntax: You can build complex expressions: (not authenticated and url("~/about")) or authenticated

  36. Orchard - template • Ogni contenuto deve essere rappresentato graficamente all’utente. • Occorre un metodo per convertire i dati e le informazioni che descrivono il contenuto in elementi HTML che possono essere renderizzati dal browser. • Un template è un file HTML con dei placeholders e dei markers per indicare la posizione dei dati all’interno del frammento:(<h2>@Model.Title</h2>).

  37. Orchard - shape • Prima divenire renderizzato attraverso un template ogni oggetto viene convertito in una ‘Shape’. • Una ‘shape’ è un oggetto che contiene tutte le informazioni necessarie alla sua visualizzazione. • 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). • Questo approccio consente la trasformazione di ogni oggetto prima della effettiva visualizzazione.

  38. Orchard - placement Durante il rendering diunapagina Orchard deveottenereinformazioni circa ilposizionamentodiognioggetto. Due meccanismifondamentali: • Questeinformazioniderivanodai template • File Placement.info – file XML chedescrivono, mediante un set diregole, come combinare le shapes, in cheordineed in quali zone inserirle.

  39. Orchard - demo Layers & Widget

  40. Orchard - security • Supporto per gestione Utenti e Ruoli • Set predefinito di Ruoli a cui è possibile assegnare gli utenti. • È possibile creare nuovi ruoli. • Ogni ruolo ha il proprio set di permessi assegnato. • 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. • Alcunipermessisono ‘garantitieffettivamente’ (sonoimplicatidaaltripemessi, es: site owner garantisceimplicitamentetuttoilresto). • Ogni feature puòesporreilproprio set dipermessi. • GestioneUtenti e Ruoli: Dashboard  Users.

  41. Orchard – advanced topics

  42. Orchard - searching & indexing • Funzionalità fornita attraverso un set di moduli:Indexing – fornisce servizi di indicizzazione.Lucene – implementazione specifica servizio idx.Search – fornisce la possibilità di eseguire query. • Nuove opzioni vengono aggiunte alla sezione di configurazione della Dashboard (per selezionare quali tipi di contenuti indicizzare e come schedulare le operazioni di indicizzazione). • Viene fornito un nuovo widget (SearchForm) per offrire agli utilizzatori del sito una interfaccia mediante la quale eseguire ricerche.

  43. Orchard – custom content types • È possibile creare tipi di contenuto custom per rappresentare specifici scenari (come ad esempio un ‘Evento’ o uno ‘Sponsor’). • I tipi custom possono essere costituiti da:Parts – blocchi predefiniti di proprietà che definisco comportamenti ben precisi ed uniformi. • 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). • I tipi custom possono avere diversi comportamenti in relazione alle differenti Parts che vengono usati per comporli.

  44. Orchard – content lists È possibile organizzare i contenuti in liste: • Editare un tipo esistente o crearne uno custom aggiungendo le seguenti Parts:Common – fornisce supporto per un set base di proprietà (proprietario, date di creazione e modifica, ecc…)Containable – indica che questo tipo può essere associato ad una lista ed abilita la dashboard alla gestione della relazione tra contenuti e liste. • Di seguito si deve creare una List (lista) che conterrà oggetti del tipo appena definito:Dashboard  New  List.

  45. Orchard – content lists Per visualizzare una lista: • Collegare il contenuto di tipo ‘List’ ad una voce di menu e visualizzarlo come pagina intera. • Usare un “Container Widget” per inserire il contenuto all’interno di una zona del layout.

  46. Orchard - demo Custom types

  47. Thanks for attending!

More Related