PrimordialCode WebMatrix + Orchard First Impact… Ing. Giorgetti Alessandro Software Artisan SID s.r.l.

Slides:



Advertisements
Presentazioni simili
© 2010 Colt Telecom Group Limited. All rights reserved. Cloud Computing Lapproccio Colt Dionigi Faccedna.
Advertisements

1 SOCIAL MEDIA PLATFORM FOR MARKETERS. 2 Vitrue è una piattaforma di social marketing (SRM Dashboard) impiegata per aiutare i brand a catturare il vasto.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
E Windows SharePoint Services 2.0 Ivan Renesto Overview how to use Windows SharePoint Services.
Un DataBase Management System (DBMS) relazionale client/server.
Microsoft Robotics Studio Marco Petrucco Microsoft Student Partner - Udine.
Model – View - Controller
Unified Modeling Language class C {…} class B extends C {…} Esiste una notazione grafica per mostrare le relazioni di ereditarietà. Object StringC B Tutte.
EJB Getting started Database: MySql Application Server: Pramati Server Ambiente di sviluppo: Pramati Studio 3 Applicazione esempio: Logon Trento, 30/10/2002.
prompt> java SumAverage
1. Conoscere luso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali.
1 Implementazione di Linguaggi 2 PARTE 6 Implementazione di Linguaggi 2 PARTE 6 Massimo Ancona DISI Università di Genova Testo: A.V. Aho, R. Sethi, J.D.Ullman.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 6: Classi e astrazione dati 1.Introduzione 2.Definizione delle strutture 3.Accedere ai membri.
FONDAMENTI DI INFORMATICA III WfMC-1. FONDAMENTI DI INFORMATICA III WfMC-2 WFMC Cose WfMC Workflow Management Coalition (WfMC), Brussels, è unorganizzazione.
Vision Caratteristica generica– disponibile a livello generale Possibilità di personalizzazione Facile da usare (What you see is what you get)
Constraints.
Componenti dell’architettura Oracle
Palermo, may 2010 F.Doumaz, S.Vinci (INGV-CNT- Gruppo di telerilevamento)
1 © 2013 Cobra Italia SpA All rights reserved Cobra group website Gennaio 2013.
Un esempio: Registrazione e lettura di dati in un file
Professional Users. Per poter lavorare sul Dizionario, bisogna registrarsi come Utente Professionale – Professional User (solo.
Microsoft Access Maschere.
1 Università degli Studi di Messina Facoltà di Ingegneria Visilab – Computer Vision and Image Processing Lab Nanodesktop Software development kit per sistemi.
JavaScript Lezione 5 Tipizzazione ed operazioni tra tipi diversi Istruzioni di input.
Lambiente operativo. 2 Per avviare e poter utilizzare il computer è necessario un particolare programma che si chiama sistema operativo. Windows è un.
PRIMI DISEGNI CON CABRI Realizzato da Daniel Bulgarini e Matteo Co CLASSE 2°C LICEO PASCAL MANERBIO.
Filtered Index and Statistics Filtered Indexes Sergio Govoni
Riprendendo Il tag il tag Div rappresenta un contenitore. Tutto quello che è incluso fra il tag iniziale e quello di chiusura reagisce secondo gli stili.
Sito IntergruppoParma.it Nuovo Intergruppo Parma.
C OME CREARE I FRAME. Dal pannello File fai doppio clic sul file default.html per aprire la pagina (figura 1.1). Figura 1.1 Il file default.html.
I social commerce [Carpe diem]. I club dacquisto online I social coupon Gli e-tailer tradizionali I facebook shops Esempi di social commerce.
Personalizzazioni. Perché personalizzare Radio-Play Personalizzare Radio-Play permette al tuo brand di crescere e di diffondersi in modo gratuito e potenzialmente.
I mille volti della formazione dalle-learning allemployergame Novembre 2012 I mille volti della formazione: dalle-learning allemployergame 4° Release Novembre.
PORTE APERTE SUL WEB L'officina del webmaster: strumenti, materiali, iniziative, fonti di informazione, e poi perché costruire siti scolastici ? Laura.
Struttura Aziendale Arianna Montervino 4° A T.G.A A.S 2009/2010 Stage.
1 Web Design Internet Agency. 2 Web Design Internet Agency Qual è il valore aggiunto che può portare allimpresa ? Perché è fondamentale oggi avere un.
Tutorial relativo al Mio EBSCOhost. Benvenuti al tutorial dedicato a Mio EBSCOhost, verranno fornite le istruzioni per la configurazione e lutilizzo ottimizzato.
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
Modulo 1 bis Menù Incolla Esercitazione Un computer è quasi umano, a parte il fatto che non attribuisce i propri errori a un altro computer. (Anonimo)
Innovazioni versione 4 Bari, 17 ottobre Innovazioni versione 4 Il menù dinamico secondo logica operativa Il ruolo dei Ruoli Facilitare la scelta.
Moduli o Form I Moduli permettono all'utente di immettere informazioni...
Fondamenti di Informatica Corsi di Laurea in Ingegneria Gestionale Canale AL ESERCITAZIONE 6 ARGOMENTI: LAVORARE CON CLASSI METODI DELLISTANZA, COSTRUTTORI.
INTERNET Internet è una rete a livello mondiale che permette alle persone di comunicare ed ad accedere a banca dati da qualunque parte del mondo e su qualunque.
Gruppo 4: Gelmi Martina, Morelato Francesca, Parisi Elisa La mia scuola ha un sito Web: modelli per la qualità dei siti (Ingegneria del Web)
Sistema Informativo Demanio Idrico marzo Per aumentare lefficienza del servizio abbiamo realizzato un sistema in grado di gestire in modo integrato.
INTERNET Antonio Papa Classe 2^ beat I.S.I.S. G. Meroni a.s. 2007/2008.
LE RETI E IL DDNS.
Project Review byNight byNight December 6th, 2011.
WPF per il client Desktop
Fabio Cozzolino Vito Arconzo
Scoprirete che su Office non si può solo contare ma anche sviluppare.
Installazione di Drupal su Linux (sistemista) Installazione step-by-step e note.
IIS7 Media Services Piergiorgio Malusardi IT Pro Evangelist
VB.NET Sviluppo Applicazioni Desktop
Visual Studio Tools for Office: Developer Solutions Platform Fulvio Giaccari MCSD.NET / MCT Responsabile Usergroup ShareOffice Blog:
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review byNight byNight December 21th, 2011.
Project Review byNight byNight December 6th, 2011.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review byNight byNight December 5th, 2011.
Quale Europa? Riscopriamo le radici europee per costruire unEuropa PIÙ vicina a noi ISTITUTO COMPRENSIVO MAZZINI CASTELFIDARDO PROGETTO COMENIUS 2010/2012.
Customer Support Research & Development Come registrarsi ed entrare in......ITRC.
Corso di Web Services A A Domenico Rosaci Patterns di E-Business D. RosaciPatterns per l'e-Business.
Introduzione al linguaggio C. Cos’e’ il C? Il C e’ un linguaggio ad alto livello Un compilatore C prende in input un file contenente codice sorgente C.
Collection & Generics in Java
Azure: Mobile Services e Notification Hub ANDREA GIUNTA.
JDBC Java DataBase Connectivity SISTEMI ITIS B. CASTELLI Anno Scolastico
Drupal tipi di contenuto
Paradigma MVC Ing. Buttolo Marco.
Studente : Andrea Cassarà Classe: 5AII A.S. 2014/2015 Link Sito
Transcript della presentazione:

PrimordialCode WebMatrix + Orchard First Impact… Ing. Giorgetti Alessandro Software Artisan SID s.r.l.

PrimordialCode About me… Laurato in Ingegneria Elettronica Cofondatore di SID s.r.l. Blog:

PrimordialCode WebMatrix

PrimordialCode WebMatrix WebMatrix: tool gratuito per lo sviluppo di applicazioni web, include tutto quello di cui si ha bisogno per iniziare a svilupparte il tuo sito web. Non è un ostituto di Visual Studio. Gestisce diversi tipi di web applications e web application frameworks (like WrodPress, Umbraco, Orchard…). Si integra con IISExpress per semplicare lhosting di siti durante lo sviluppo.

PrimordialCode 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.

PrimordialCode 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.

PrimordialCode WebMatrix - setup

PrimordialCode WebMatrix - site view Consente di configurare con semplicità diversi parameteri del sito relativi allhosting su IIS o IISExpress (in alternativa si possono gestire a mano i file di configurazione).

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

PrimordialCode 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.

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

PrimordialCode WebMatrix - demo How it works…

PrimordialCode Orchard

PrimordialCode Orchard Orchard è un CMS web based: essenzialmente mira ad aiutare la costruzione di un sito web partendo da elementi già esistenti. Segue un approccio estremamente modulare e flessibile. Costruito su ASP.NET MVC 3. Layer di peristenza basato su Nhibernate + Fluent Mappings. Puo utilizzare diversi tipi di database (non sono SqlServer).

PrimordialCode Orchard - setup Diverse opzioni di installazione e configurazione: dal download e compilazione del source code alluso 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.

PrimordialCode Orchard - demo Setup Orchard con WebMatrix

PrimordialCode 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.

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

PrimordialCode Orchard - first run Questo è uno screenshot della dashboard:

PrimordialCode Orchard - demo Istallazione e configurazione del sito

PrimordialCode 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:

PrimordialCode 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.

PrimordialCode Orchard - content parts Admin Menu – consente agli elementi di apparire nei menu di amministrazione (dashboard). Body – fornsce il contenuto, linformazione. 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 alloggetto di essere contenuto in una lista. Container – fornisce supporto per contenere oggetti di diversa tipologia. Custom properties – aggiunge tre campi stringa custom agli oggetti.

PrimordialCode 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 laccesso 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…

PrimordialCode Orchard - content fields I Content fields sono pezzi di informazione che possono essere aggiunti ai Content Item. Hanno un nome ed un tipo ed una volta associati divengono specifici per un dato content type. È possibile associare diversi content field ad uno stesso tipo di contenuto. Ad esempio un contenuto di tipo Evento puo avere associato un body (informazione che descrive levento), un field Locazione (testo,map) ed un field Data (datetime). È possibile definire dei field custom per rappresentare I propri tipi di informazioni.

PrimordialCode Orchard - demo Creare diversi tipi di contenuti…

PrimordialCode Orchard - modules and features Tutte le funzionalità esposte da Orchard sono implementate come moduli. Un modulo è un set di estensioni che sono raggruppate fisicamente in una cartella del sito web (allinterno della cartella Modules). Un modulo può contenere una o più funzionalità, un modulo è quindi un raggruppamento logico di funzionalità che possono essre abilitate o disabilitate individualmente Per accedere alla gestione dei moduli: Dashboard Modules (qui è possibile installare, abilitare, disabilitare, configurare moduli e funzionalità).

PrimordialCode Orchard - demo How it works…

PrimordialCode Orchard – themes & composition Orchard predilige una chiara separazione tra la gestione del contenuto (informazione) e la visualizzazione del contenuto stesso. Ogni funzionalità, parte o contenuto hanno la propria rappresentazione grafica. Orchard è caratterizzato dallavere 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 allelevato livello di flessibilità e customizzazione che deve garantire.

PrimordialCode Orchard - theme Un Tema è un package che definisce il look & feel per un sito web. Consiste in una combinazione di style sheets, immagini, file di layout, templates per controlli e, nei temi più avanzati, custom code. È possibile creare temi che ereditino da altri temi predefiniti (in questo modo è possibile effettuare piccole modifiche ad un tema base senza alterarne le funzionalità).

PrimordialCode Orchard - layout Un Layout in una tema è un particolare file che definisce lorganizzazione della pagina web el sito. Un Layout definisce un set di zone in cui posizionare contenuti e widgets. Al momento è possibile avere un solo Layout di base per il sito.ù È possibile customizzare come le diverse pagine di diverse sezioni vengono renderizzate usando combinazioni di diversi layers (maggiori informazioni tra breve).

PrimordialCode Orchard - layout (example)

PrimordialCode Orchard - zones & widgets Le Zone sono specifiche sezioni del layout che possono essere customizzate inserendo elementi e widgets. Le zone prive di elementi o contenuto non vengono renderizzate. Un Widget è un frammento di UI che puo essere aggiunto alla pagina del sito. Esempi di widgets: tag cloud, mappe, archivi, liste di post, etc… possono essere implementati come funzionalità esposte dai moduli.

PrimordialCode Orchar - layer Un Layer è un gruppo di widget (con la loro specifica configurazione) che è attivato da una ben definita regola di visualizzazione. È possibile definire diversi tipi di regole di visualizzazione. Quando più di un layer è attivo contemporaneamente sulla stessa pagina, tutti gli widget di quei layer sono visualizzati contemporaneamente. Per customizzare e/o definire layers: Dashboard Widgets.

PrimordialCode Orchard - layer Una regola di layer è una espressione che puo essere vera o falsa. Rules syntax: SyntaxDescription url(" ")True if the current URL matches the specified path. If you add an asterisk (*) to the end of the path, all pages found in subfolders under that path will evaluate to true (for example,url("~/home*")). authenticatedTrue if the user is logged in. notLogical NOT. andLogical AND. orLogical OR. You can build complex expressions: (not authenticated and url("~/about")) or authenticated

PrimordialCode Orchard - template Ogni contenuto deve essere rappresentato graficamente allutente. 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 allinterno del frammento: ).

PrimordialCode 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.

PrimordialCode Orchard - placement Durante il rendering di una pagina Orchard deve ottenere informazioni circa il posizionamento di ogni oggetto. Due meccanismi fondamentali: Queste informazioni derivano dai template File Placement.info – file XML che descrivono, mediante un set di regole, come combinare le shapes, in che ordine ed in quali zone inserirle.

PrimordialCode Orchard - demo

PrimordialCode 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 lutente ha quel permesso. Alcuni permessi sono garantiti effettivamente (sono implicati da altri pemessi, es: site owner garantisce implicitamente tutto il resto). Ogni feature può esporre il proprio set di permessi. Gestione Utenti e Ruoli: Dashboard Users.

PrimordialCode Orchard – advanced topics

PrimordialCode 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.

PrimordialCode 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.

PrimordialCode 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.

PrimordialCode 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 allinterno di una zona del layout.

PrimordialCode Orchard - demo

PrimordialCode Thanks for attending!