Visual Studio 2012 – Page Inspector

by Andrea Dottor 18 September 2012 15:56

Ecco un nuovo video dove vediamo la funzionalità di Page Inspector di Visual Studio 2012.
Visual Studio 2012 - Page Inspector

In questo post Codice e slide della sessione What's New in ASP.NET 4.5 and Visual Studio 2012trovate codice e slide sull’argomento nel caso voleste approfondire il tutto, mentre a questo link (Using Page Inspector in ASP.NET MVC) trovate un tutorial passo passo, direttamente dal sito di asp.net.

Tags: ,

ASP .NET | Microsoft | .NET

Primo video: Visual Studio 2012 - Cosa c'è di nuovo negli editor HTML, CSS e JavaScript?

by Andrea Dottor 18 September 2012 00:01

Come annunciato all’ultimo meeting, ecco il primo di una (speriamo lunga) serie di video riguardanti Visual Studio 2012 ed ASP.NET 4.5.
Ho deciso di provare una nuova forma di comunicazione che fosse parallela al blog, dei video/screencast di breve durata (dai 5 ai 15 minuti) dove spiego in modo molto pratico vari argomenti riguardanti ASP.NET e tutto ciò che lo circonda.

I video sono molto informali…e per me si tratta di un primo esperimento, e spero siate voi a dirme se la cosa può interessare oppure se preferivate i post sul blog. Attendo quindi i vostri feedback!

In questo primo video, mi scuso già in partenza, ma mi sono reso conto tardi delle molte ripetizioni…ed onestamente non l’ho volutamente ri-registrato per non stancarmi già da subito di questa nuova “forma”. Vedrete che nei prossimi video il risultato è nettamente migliore, ma da qualche parte bisogna pur cominciare.

In questo video parlo delle novità presenti negli editor di Visual Studio 2012 per lo sviluppo web, e quindi l’editor HTML, CSS e JavaScript. Vi farò vedere quelle che ritengo essere le novità più importanti, così da iniziare a prendere subito confidenza con quello che sarà il nostro strumento di sviluppo per tutti i prossimi video.

Trovate il video su youtube a questo link: Visual Studio 2012 - Cosa c'è di nuovo negli editor HTML, CSS e JavaScript?

In questo post Codice e slide della sessione What's New in ASP.NET 4.5 and Visual Studio 2012trovate codice e slide sull’argomento nel caso voleste approfondire il tutto.

Tags: ,

ASP .NET | .NET | Microsoft

Codice e slide della sessione ASP.NET e lo sviluppo Client Side

by Andrea Dottor 20 March 2012 14:30

Ecco pronti al download il codice e le slide della mia sessione "Il mondo è sempre più client. ASP.NET e lo sviluppo Client Side" che ho tenuto il 9 marzo 2012.

IScriptControl, Knockout e le ASP.NET Web API sono stati i principali protagonisti :-)

Abstract: Le applicazioni che sviluppiamo, e che il mercato richiede sempre più, stanno modificando il modo in cui le applicazione vengono scritte. La logica di interazione con l'utente stà diventando sempre più client side, questo grazie anche all'espansione di dispositivi mobile che fruiscono le nostre applicazioni. JQuery ed il javascript in generale hanno un ruolo sempre maggiore, e permetteno in molti casidi poter far fare la differenza a ciò che sviluppiamo.

Come per il codice dello scorso meeting, per quanto riguarda il database utilizzato nella demo è necessario scaricare il database AdventureWorks che trovate al seguente link http://msftdbprodsamples.codeplex.com/e modificare la connectionstring del progetto web.

Tags: , , ,

ASP .NET | ASP.NET AJAX | XeDotNet | Microsoft

Creare un modulo per Orchard

by Andrea 21 April 2011 04:59

Chi già conosce le Aree di ASP.NET MVC non dovrà imparare nulla di nuovo. Creare un modulo per Orchard infatti è la medesima cosa di creare un'Area in un progetto ASP.NET MVC.
(Walkthrough: Organizing an ASP.NET MVC Application using Areas)

Iniziamo utilizzando il tool da command-line Orchard.exe che troviamo nella bin del progetto, avendo precedentemente abilitato il modulo 'Code Generation'.
Modules_projectAll'interno della console digitiamo 'codegen module Dottor.Articles'
in modo da far creare ad Orchard un progetto contenente tutta la struttura per un nuovo modulo, chiamato 'Dottor.Articles', e verrà creato all'interno della cartella Modules.

La struttura del progetto appena creato è molto simile a quella di un'area di ASP.NET MVC. Le cartelle presenti di default hanno dei nomi ben parlanti:

  • Controllers: per i controller che utilizzeremo all'interno del modulo
  • Model: per il model, e la parte di interazione con la base dati
  • Scripts: file javascript specifici del modulo da realizzare
  • Styles: fogli di stile
  • View: conterrà le View, cioè la parte di UI del modulo corrente

Pre prima cosa, personalizziamo il file Module.txt, modificandolo con le informazioni specifiche nel nuovo modulo.

Name: Dottor.Articles
AntiForgery: enabled
Author: Andrea Dottor
Website: http://www.dottor.net
Version: 1.0
OrchardVersion: 1.0
Description: Modulo per la visualizzazione di articoli
Features:
    Dottor.Articles:
        Description: Modulo per la visualizzazione di articoli

Avendo detto che il modulo è un'Area di ASP.NET MVC, lo andiamo subito a specializzare andando a specificare le eventuali regole di routing, creando un file Routes.cs nella root del nostro modulo.
Questo file conterrà una classe Routes che implementerà Orchard.Mvc.Routes.IRouteProvider. In questa classe andremo a specificare le regole di routing per indirizzare gli url verso le corrette action dei nostri controller.
Nel caso di questo modulo, avremmo solamente due url possibili:

  • /Articles -> che visualizzerà la lista di articoli
  • /Articles/{id}/{slug} -> che visualizzerà un preciso articolo

la classe sarà quindi la seguente:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Orchard.Mvc.Routes;
using System.Web.Routing;
using System.Web.Mvc;
 
namespace Dottor.Articles
{
    public class Routes : IRouteProvider
    {
        public void GetRoutes(ICollection<RouteDescriptor> routes)
        {
            foreach (var routeDescriptor in GetRoutes())
                routes.Add(routeDescriptor);
        }
 
        public IEnumerable<RouteDescriptor> GetRoutes()
        {
            return new[] {
                new RouteDescriptor {
                    Priority = 5,
                    Route = new Route(
                        "Articles",
                        new RouteValueDictionary {
                            {"area", "Dottor.Articles"},
                            {"controller", "Home"},
                            {"action", "List"}
                        },
                        new RouteValueDictionary(),
                        new RouteValueDictionary {
                            {"area", "Dottor.Articles"}
                        },
                        new MvcRouteHandler())
                },
                new RouteDescriptor {
                    Priority = 5,
                    Route = new Route(
                        "Articles/{id}/{slug}",
                        new RouteValueDictionary {
                            {"area", "Dottor.Articles"},
                            {"controller", "Home"},
                            {"action", "Details"}
                        },
                        new RouteValueDictionary{
                            {"id", "\\d+"}
                        },
                        new RouteValueDictionary {
                            {"area", "Dottor.Articles"}
                        },
                        new MvcRouteHandler())
                }
            };
        }
    }
}

Da questo punto in poi, nulla è diverso dalla normale programmazione ASP.NET MVC

  • Creare un controller HomeController.cs
    • Creare una action List() che ritorna una lista di articoli
    • Creare una action Details(int id, string slug) che ritorna il specifico articolo
  • Crare all'interno della cartella View, una cartella Home
    • Creare all'interno di Home una view List.cshtml che si occupa di renderizzare la lista di articoli, che avranno il link alla pagina di dettaglio
    • Creare all'interno di Home una view Details.cshtml che si occupa di renderizzare il singolo articolo

Modules_enableFinito lo sviluppo del modulo, dalla sezione Modules della dashoboard di Orchard sarà possibile abilitarlo.

Per accedere a questa nuova sezione/modulo, dovremmo (ma non è obbligatorio) creare una nuova voce di menù che ci permetta di accedere con facilità.
Quindi, dalla sezione Navigation della dashboard, aggiungiamo una nuova voce di menù, che abbia come url lo stesso impostato nelle regole di routing (/Articles).

Modules_navigation

Creata la voce di menù, saremo pronti a navigare utilizzando le funzionalità che il nuovo modulo metterà a disposizione.

Alcune considerazioni personali.
Lo sviluppo di un nuovo modulo ha una curva di apprendimento quasi pari a zero per una persona che già conosce ASP.NET MVC, e quindi direi che la cosa è del tutto positiva. Mentre, uno sviluppatore che conosca solo ASP.NET Web Form dovrà faticare un pò per entrare nell'ottica del nuovo pattern, e i tempi inizialmente si potranno dilungare, e anche di molto.

In questo esempio, ho recuperato la lista degli articoli da un database differente da quello utilizzato da Orchard, e quindi nulla di diverso da quello che viene fatto abitualmente.
Uno dei prossimi argomenti che vedremo, sarà il come utilizzare il database di Orchard per salvare tutte le informazioni del modulo, e avere quindi la possibilità di renderlo pubblico (e quindi utilizzabile in qualsiasi intallazione di Orchard).

Per approfondire l'argomento: http://www.orchardproject.net/docs/

Tags: , ,

ASP .NET | .NET | Microsoft

Creare child-theme in Orchard

by Andrea 20 April 2011 03:37

Uno dei vantaggi che ho trovato in Orchard, stà nella possibilità di creare dei child-theme, cioè temi che ereditano da un tema esistente. Questo è un grosso vantaggio in quanto permette di lasciare intatto il tema base, e lavorare nel nuovo tema andando a modificare solamente i file che differiscono.

Il metodo che più mi è piaciuto per realizzare child-theme è quello basato sulla Code Generation di Orchard (Command-Line Code Generation), che è un modulo che si trova nella gallery, e che possiamo tranquillamente utilizzare durante lo sviluppo di nuove funzionalità per questo CMS.

Ma vediamo cosa dobbiamo fare:

  • Abilitare il modulo 'Code Generation' dalla dashboard
  • Avviare l'applicativo Orchard.exe contenuto nella cartella bin del progetto Orchard
  • Nella console che si aprirà inserire la seguente riga:
    codegen theme TestTheme /BasedOn:TheThemeMachine /CreateProject:true

Theme_projectIn questo modo verrà creata una nuova cartella all'interno della cartella Themes, con il nome voluto, in questo caso TestTheme.
Avendo specificato CreateProject:true verrà anche creato un progetto che ci permetterà di aprire ed editare i file del tema direttamente da Visual Studio (immagine qui a destra).
Con BasedOn:TheThemeMachine si specifica di utilizzare un specifico tema, come tema base, dandoci la possibilità di scrivere solamente le view o altri file (fogli di stile, immagini) che differiscono dal tema base (invece che tutti i file).

La soluzione più semplice 'inizialmente' sarà quella di copiare dal tema base i soli file che si vogliono modificare e compiere le customizzazioni volute, velocizzando di gran lunga il processo di creazione del nostro tema.

Dopo aver creato il nuovo tema, uno dei primi file che andremo a modificare sarà Theme.txt, che è il manifest del tema, e contiene tutte le informazioni relative al tema presente in quella precisa cartella, quali autore, descrizione e come visto, il tema base da utilizzare.
Rimuovendo la riga che inizia con BaseTheme, si forzerà l'uso del solo tema corrente, senza quindi  ereditare da un tema esistente.

Name: TestTheme
Author: Andrea Dottor
Website: http://blog.dottor.net
Description: Description for the theme
Version: 1.0
BaseTheme: TheThemeMachine
# todo: provide tags
# Tags: Classic, Serif

Una volta assegnati nuovi valori al file Theme.txt si potrà procedere con la modifica degli stili nel file Style/Site.css oppure del layout, lavorando nel file Views/Layout.cshtml, oppure in una specifica view.
Avendo il grosso vantaggio di ereditare da un tema base, le modifiche che dovremmo compiere, ad esempio per modificare gli stili, sono ridotte al minimo:

  • Copiare il file Site.css dal tema base alla cartella Style del nuovo tema
  • Modificare gli stili voluti direttamente da Visual Studio

Terminata la modifica/creazione del nostro tema, non dovremo fare altro che abilitarlo diretamente dalla dashboard di Orchard nella sezione Themes.
Consiglio anche di fare uno screenshot del website con il nuovo tema e sostituirla al file Theme.png per facilitarne il riconoscimento dalla dashboard.

Per approfondire l'argomento: http://www.orchardproject.net/docs/

Technorati Tags: ,,

Tags: , , , ,

.NET | ASP .NET | Microsoft

Orchard Project

by Andrea 20 April 2011 03:25

OrchardLogo

Cos'è Orchard?

Copio dal sito:
"Orchard is a free, open source, community-focused project aimed at delivering applications and reusable components on the ASP.NET platform."

Orchard è il nuovo CMS Open Source di casa Microsoft sviluppato in ASP.NET MVC. Il progetto ha un proprio sito http://www.orchardproject.net dove potete trovare informazioni sul progetto e la relatia documentazione, mentre il codice è presente su codeplex http://orchard.codeplex.com/.

Il progetto è arrivato ora alla versione 1.1, e per colpa della sua giovinezza si notano alcune mancanze, visibili a chi utilizza già altri CMS ben più maturi.
Per noi sviluppatori, direi che l'uso di ASP.NET MVC è una delle principali motivazioni per l'utilizzo di questo CMS, che sarò gradito anche dai grafici vista la possibilità di avere in output un html davvero pulito. Devo ammettere però che la curva di apprendimento non è proprio banale a differenza di altri CMS.
La dashoboard è molto semplice e intuitiva, e questo direi essere una gran cosa in quanto è ciò che interessa all'utente finale.

A prima vista sembrerebbe che per progetti medio-piccoli possa essere il CMS ideale, ma ora non mi resta che sporcarmi un pò le mani, e capire per benino quali siano i casi limite di utilizzo, ma sopratutto capirne le tempistiche per l'implementazione di nuovi temi e nuovi moduli, che è ciò che interessa maggiormente.

Technorati Tags: ,,,

Tags: , , , ,

ASP .NET | .NET | Microsoft

Prossimi appuntamenti, SMAU e community meeting

by Andrea 18 April 2011 02:23

Volevo segnalarvi i prossimi meeting che mi vedranno partecipe:

5 maggio 2011 - Community Tour SMAU Edition
link: http://www.xedotnet.org/Home/Meeting/20110505

ASP.NET Web Form vs ASP.NET MVC
Due tecnologie che condividono le stesse basi, ma che si differenziano di molto. ASP.NET MVC è ormai diventata una tecnologia matura, ed ecco che iniziano a sorgere i dubbi quando ci si trova di fronte all'analisi di nuovi progetti: "Uso Web Form o MVC?" "Quali vantaggi ho dall'uso di uno o dall'altro?" "E se volessi usare un CMS Open-Source?" In questa sessione vedremo lo stato dell'arte di queste tecnologie, e cercheremo di chiarire il ruolo di ognuna di esse, andando in dettaglio dei pro e contro che le caratterizzano.

20 Maggio 2011 - XeDotNet community meeting - Programming DotNetNuke 5.0
link: http://www.xedotnet.org/Home/Meeting/20110520

Sviluppare con DotNetNuke. Un framework sul framework
Sviluppare applicazioni, occupandosi delle sole funzionalità che vuole il cliente, senza doversi occupare anche del codice di infrastruttura può sembrare un'utopia, ma non è così. In questa sessione vedremo come DotNetNuke, che è un CMS (content management system) open source, permetta allo sviluppatore tutto ciò. DotNetNuke può essere visto come un framework sul framework, in grado di fornire allo sviluppatore funzionalità avanzate che permettono di aumentare la produttiva e al contempo di ridurne i tempi di sviluppo.

Per quanto riguarda il Community Meeting del 20 maggio, non mancate, in quanto con Davide Senatore stiamo cercando di preparare una sessione a 4 mani, dove se ne vedranno veramente delle belle. Spremeremo DotNetNuke per benino, in modo da farvi conoscere le reali possibilità/potenzialità di questo framework/applicazione.

Tags: , , , ,

.NET | ASP .NET | XeDotNet | Microsoft

Codice e slide della sessione Potenzialità e benefici di ASP.NET MVC

by Andrea 19 November 2010 05:30

Come promesso, ecco le slide e il codice della mia sessione Potenzialità e benefici di ASP.NET MVC tenuta al Community Tour del 17 Novembre 2010.

Il codice fa uso di ASP.NET MVC 3 RC.

All'interno dello zip non ho inserito le applicazioni NerdDinner e MvcMusicStore, in quanto le potete trovare direttamente su codeplex ai seguenti link:

Abstract: ASP.NET MVC è un framework sviluppato da Microsoft che permette lo sviluppo di applicazioni web utilizzando il pattern Model-View-Controller. Questo pattern si propone di apportare alcuni benefici: maggiore controllo del markup della pagina, URL più leggibili, facilità di integrazione con librerie javascript, chiara separazione dei ruoli/responsabilità tra layer, testabilità e manutenzione del codice... In questa sessione cercheremo di capire quali siano gli effettivi vantaggi che ASP.NET MVC porta agli sviluppatori, e quindi capire, con un occhio pratico, quali reali benefici si abbiano nell'adottare questa tecnologia.

Tags: , , , ,

ASP .NET | XeDotNet | Microsoft

XeDotNet Community Tour 2010

by Andrea 29 October 2010 04:25

Mercoledì 17 Novembre 2010, XeDotNet ospiterà una tappa del Community Tour 2010. Sarà un evento di un'intera giornata, dove avrete la possibilità di assistere a sessioni di approfondimento su argomenti di uso/interesse quotidiano.
Windows Phone 7, jQuery, Azure, WPF4 e ASP.NET MVC vi accompagneranno per l'intera giornata.

L'agenda si compone delle seguenti sessioni:

Per quanto mi riguarda, sarò ad intrattenervi con una sessione su ASP.NET MVC puntata sopratutto sui benefici reali che questa tecnologia può portare:

ASP.NET MVC è un framework sviluppato da Microsoft che permette lo sviluppo di applicazioni web utilizzando il pattern Model-View-Controller. Questo pattern si propone di apportare alcuni benefici: maggiore controllo del markup della pagina, URL più leggibili, facilità di integrazione con librerie javascript, chiara separazione dei ruoli/responsabilità tra layer, testabilità e manutenzione del codice... In questa sessione cercheremo di capire quali siano gli effettivi vantaggi che ASP.NET MVC porta agli sviluppatori, e quindi capire, con un occhio pratico, quali reali benefici si abbiano nell'adottare questa tecnologia.

Quando: Mercoledì 17 Novembre 2010 - Ore 9:00-18:00
Dove: Hotel Holiday Inn - Venezia Mestre (Uscita Tangenziale per Romea)
Informazioni: Agenda Community Tour 2010
Iscrizioni: https://msevents.microsoft.com/CUI/Event...

Technorati Tags: ,

Tags: , , ,

.NET | Microsoft | XeDotNet

Due giorni pieni di emozioni

by Andrea 01 October 2010 08:25

Ebbene si…sono e saranno due giorni pieni di emozioni…

MVP_logoOggi, 1 Ottobre 2010 ho ricevuto la mail che mi notifica di aver ricevuto il premio Microsoft MVP Award per l’anno 2010 per la categoria ASP.NET!! E’ il terzo anno che ricevo questo premio, ed ogni volta le emozioni sono sempre uniche, come la prima volta…
Un grazie va a tutti voi, che siete presenti nei vari meeting che tengo, a voi che leggete i miei post, e a tutti quelli che chiedendomi qualche consiglio/aiuto…sappiate che è anche grazie a voi che coltivo questa passione verso il mondo .NET, verso le community e specialmente verso la condivisione di quelle (poche cose) che so.
Un grazie va anche a Alead, che riesce a portare/guidare il programma MVP come pochi saprebbero fare.
Infine, un grazie va ai compagni di merende e di gioco, Davide Vernole, Andrea Boschin e Davide Senatore…che da diversi anni mi stanno aiutando a crescere e a migliorare sempre più. GRAZIE DAVVERO!!

 

WeddingRingDomani, 2 Ottobre 2010 alle ore 11.00, sarò di fronte all’altare a fare un passo importante…mi sposerò con Maria Elena, e da domani inizierò una nuova ed importante fase della mia vita.

Se non mi vedete bazziccare nei forum, o scrivere nuovi post in questo blog, o non sarò presente al prossimo community meeting di XeDotNet... sappiate che starò godendomi il viaggio di nozze in qualche isoletta sperduta dell’indonesia... al caldo... sotto il sole...
se volete venirmi a cercare... Bali, Gili.

E con questo post, vi saluto e ringrazio tutti...è giunta l’ora di mettere via il pc...
torneremo a risentirci dopo il 20 di ottobre!

Technorati Tags: ,,

Tags:

ASP .NET | .NET | Generale | Microsoft | Pensieri