October 2006 - Posts
Dopo aver installato .net 3.0 seguendo scrupolosamente l'ordine di installazione dei vari componenti è accaduto questa cosa strana: item templates e project templates spariti!!!
Al loro posto un solo templates (per quanto riguarda gli items!) e cioè WCF Service
, invece nei progetti avevo solo due templates: Windows Application (WPF) e WCF Service Library.
In parte il problema l'ho risolto aprendo
Tools --> Options.. --> Projects and Solutions [Strumenti --> Opzioni... --> Progetti e Soluzioni]
facendo puntare gli items templates a C:\Programmi\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates
e i projects templates a C:\Programmi\Microsoft Visual Studio 8\Common7\IDE\ProjectsTemplates
Risultato? Tutti i templates sono ricomparsi ma come Modelli Personali !!!
Però tutto funziona regolarmente e questo ora è l'importante 
Tutti noi sappiamo che la fase banalmente detta "di login" ad un sito, può essere divisa in due fasi distinte ma complementari: Autenticazione (fornisco le mie credenziali) e Autorizzazione (cosa effettivamente posso fare una volta che sono stato riconosciuto).
Il Provider Model di Asp.net 2.0 ci fornisce tutti gli strumenti per implementare queste fasi, Membership Provider (autenticazione) e Role Provider (autorizzazione basata sui ruoli) sono due potenti oggetti che in linea di massima ci forniscono quasi tuuto quello di cui abbiamo bisogno.
Il processo di autorizzazione può essere arricchito ulteriormente scaricando da gotdotnet Permission Manager:
"It's a provider based solution and with the PM, you can add permission to object for roles and users. With the BizRule Manager, you can specify rules that should be executed in a specific order etc. "
Nonostante qualche piccolo bug è sicuramente da provare.
Ora anche io mi appresto (ed era ora!!) ad installare .net 3.0.
Spero di non fare gli errori fatti in precednza riguardo l'ordine di installazione dei vari componenti, non dovrei sbagliarmi anche perchè ho sott'occhio il
post di
mighell che parla proprio di questo.
Sicuramente la tecnologia che al momento mi attrae di più è WPF, quindi non voglio essere impreparato al
webcast di
Vito che si terrà giovedì 19 e che si preannuncia molto interessante.
Bè, che dire, mi butto anche io nella mischia dei dotnettiani 3.0!!
Non è raro trovare su vari canali di informazione critiche anche feroci su tutto quello che fa o dice Microsoft.
Non ci sarebbe niente di male, anzi una critica è molto meglio di un complimento perchè ti spinge a migliorare, basta vedere i notevoli passi avanti fatti a Redmond sotto l'aspetto della security; brutto invece quando ti capita di leggere affermazioni del tipo: "..consiglio l'uso di IE solo per visualizzare siti vecchi o pieni di ActiveX.." oppure "..non usare il .net Framework perchè è Microsoft!" e via dicendo.
La cosa positiva è che chi vuole spingere verso altri vendors, credo o InfoReligioni ha dalla sua motivazioni sempre più labili e in alcuni casi stupide ("Tanto lo sappiamo tutti che Microsoft copia! [punto]").
Però, ritornando sulla positività delle critiche, in alcuni casi capita di leggerne alcune fatte in maniera non pacata, quasi corretta ma ben motivata.
Ultimamente mi è capitato di leggere su una rivista Informatica (PC PROFESSIONALE, numero di settembre), una riflessione a mio vedere giusta (non tanto nei toni usati quanto nel significato!) di Filippo Moriggia sulla decisione presa da Microsoft di distribuire IE 7 attraverso Windows Update. In effetti tantissime sono le persone che installano gli aggiornamenti automatici senza neanche accertarsi di quello che stanno installando e se sia veramente utile per il loro Pc, o per l'uso che ne fanno..e il fatto che Microsoft, o qualsiasi altra azienda, sfrutti un proprio canale privilegiato per installare anche del software magari non voluto mi ha un pò sconcertato.
Quindi ho cercato informazioni sul sito Microsoft circa IE 7, e ho trovato che:
- E' vero che Microsoft distribuirà IE 7 tramite Windows Update
- E' ASSOLUTAMENTE FALSO il rischio di installarlo accidentalmente, ovvero lasciando attivata l'installazione automatica degli aggiornamenti. Infatti basta leggere
questo articolo e dare un occhiata alle immagini in fondo allo stesso per capire che anche il più sbadato non rischia affatto di trovarsi installato IE 7 a meno che non lo voglia.
Detto questo, personalmente non vedo alcuna ragione per non installare IE 7. Credo che chi, come me, lo abbia provato, difficilmente riuscirà ad utilizzare altri browser, quindi, come scritto in questo post di Vito, non resta che attendere gli aggiornamenti di questo fine mese!!!!!!!!
Oggi ho aggiunto un nuovo tag al mio blog che ho chiamato semplicemente Web.
In questo spazio mi propongo di aggiungere tutti quei post che riguardano Html, XHTML e soprattutto tanti CSS che è un argomento che mi sta appassionando tantissimo.
Quindi un argomento "OUT" da .NET? Non credo assolutamente.
Chi come me programma in Asp.net e quindi si occupa di sviluppo Web deve per forza di cose agire anche sul layout di un sito e non solo occuparsi del "code behind",
e sa benissimo cosa voglia dire lavorare su un codice molto ordinato che non faccia un uso abbondante di table, magari annidate solo per ottenere un bordo attorno al contenuto
!!!!!!!!!!
Ritengo XHTML la naturale evoluzione di HTML. L'uso di questo "linguaggio" (chiamiamolo così!) implica il seguire regole molto più rigide rispetto ad Html, ad esempio la chiusura di tutti i tag (<img />, <br />) ed un uso massiccio dell'attributo style o meglio ancora di fogli di stile esterni alla pagina!
Però qui nasce un "piccolo" problemino: molte volte i vari browser a parità di stile agiscono in maniera molto diversa, basti pensare a come vengono interpretati i bordi da IE e Firefox, e che quindi un foglio di stile possa rendermi perfettamente la pagina su IE e stravolgerla completamente o quasi in altri browser.
Per ovviare a questo problema possiamo sfruttare un costrutto molto utile che va sotto il nome di "Commento Condizionale", praticamente diremo al browser (in particolare IE, visto che tale cosa funziona solo di esso), di usare un css diverso se vengono soddisfatti alcuni requisiti quali: "il browser in questione è IE 5 o una versione precedente", "è IE 6 o superiore" etc..
Faccio un esempio stupido ma che penso possa far capire come funzionano i commenti condizionali:
Considero questa pagina:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Commenti Condizionali</title>
<link href="mystyle.css" type="text/css" rel="Stylesheet" />
</head>
<body>
<div class="mydiv">
<span class="myspan">Here some contents</span>
</div>
</body>
</html>
Il foglio di stilre
mystyle.css sarebbe:
.mydiv {
border:solid 4px #8C0002;
background-color:#FFFFCC;
width:500px;
height:500px;
padding:50px;
} .myspan {
color:#8C0002;
font-family:Arial;
font-size:12px;
font-weight:bold;
}
Questo codice crea un quadrato di lato 500px, sfondo giallo e bordo spesso 4px con al suo interno una scritta in Arial 12px.Ora , supponiamo che agli utenti di IE per qualche oscura ragione volessimo mostrare il testo contenuto all'interno del tag span un pò più grande, Verdana e di colore rosso.
Creiamo dunque un secondo foglio di stile, ad esempio mystyleIE.css
In questo secondo foglio faremo solo l'override dello stile myspan, cioè non dobbiamo asssolutamente riscrivere tutti gli stili ma solo quelli che ci interessano. .myspan
{
font-size:14px;
font-family:Verdana;
color:Red;
}
Il codice html diventa ora:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Commenti Condizionali</title>
<link href="mystyle.css" type="text/css" rel="Stylesheet" />
<!--[if IE]>
<link href="mystyleIE.css" type="text/css" rev="Stylesheet" rel="Stylesheet" />
<![endif]-->
</head>
<body>
<div class="mydiv">
<span class="myspan">Here some contents</span>
</div>
</body>
</html> Quindi aggiungendo un commento che contiene una semplice if...end if, io indico ad Explorer di andare a leggere determinati stili in altri fogli di stile e non in quello "padre".
Questo, ripeto, diventa molto utile quando mi trovo di fronte a stili che funzionano in un modo in un browser e in un altro modo o non funzionano affatto in IE.
Qui un elenco delle condizioni che si possono usare:
<!--[if IE]>....<![endif]-->: il browser è IE, qualsiasi versione. <!--[if IE 6]>....<![endif]-->: il browser è IE 6; <!--[if gt IE 6]>....<![endif]-->: il browser è IE, ma la versione è superiore alla 6; <!--[if gte IE 6]>....<![endif]-->: il browser è IE, versione 6 o superiore; <!--[if lt IE 6]>....<![endif]-->: il browser è IE versione inferiore alla 6; <!--[if lte IE 6]>....<![endif]-->: il browser è IE versione 6 o inferiore; <!--[if !IE 5.5]>....<![endif]-->: il browser è IE ma la versione diversa dalla 5.5.
Dopo aver formattatto il mio Pc e quindi aver reinstallato tutto quanto mi è capitata una cosa strana ma un pò seccante: ogni volta che testavo una applicazione web risiedente sul mio locale, con IE (6) non avevo alcun tipo di problema, mentre Firefox (1.5) richiedeva di continuo delle credenziali tramite un pop-up.
Ci sono volute davvero tante ricerche su Google, sito ufficiale e su gruppi vari per trovare la soluzione al problema:
- digitare sulla barra degli indirizzi di Firefox about:config per accedere alla pagina di configurazione del browser
- nella casella di testo "Filtra" digitare network.automatic-ntlm-auth.trusted-uris per raggiungere subito la configurazione che interessa
- cliccare due volte su questa voce e digitare come valore localhost
- tutto dovrebbe funzionare regolarmente
Non so a cosa sia dovuta questa impostazione e non ho avuto modo di approfondire ulteriormente la causa di questo "problema" (mah!).
Forse qualcuno sa spiegarne il motivo?