do more with less
news, esperienze, esempi da condividere e qualcosa su di me

venerdì 26 novembre 2004

ASP.NET Webcast: Sviluppare Web Controls

Sviluppare Web Controls parte 1 - Lunedì 29 novembre 2004, ore 14.30

Creare dei controlli personalizzati per il web non è mai stato così semplice. Dopo aver definito le diverse tipologie di Web Control realizzabili per ASP.NET approfondiremo come costruire un Web User Control (.ascx) in Visual Studio .NET 2003.

Sviluppare Web Controls parte 2 - Giovedì 9 dicembre 2004, ore 14.30

Quando un Web User Control non è più sufficiente a soddisfare le nostre esigenze e cerchiamo un sistema per creare dei controlli più potenti, ASP.NET ci offre la possibilità di creare dei Web Custom Control. Cercheremo di analizzare i diversi aspetti della creazione di un Web Custom Control con particolare attenzione alla renderizzazione e all'utilizzo del controllo a Design Time.

Per maggiori informazioni e iscrizioni: Microsoft Webcast

Se siete interessati all'argomento ci vediamo online nei giorni indicati ;-)

lunedì 25 ottobre 2004

FreeTextBox - Come usarlo senza urtare la sicurezza di ASP.NET

Chi ha provato ad usare questo controllo, si è forse scontrato con l'impossibilità di salvare dei contenuti HTML inseriti nella fase di editing. Grazie ad alcuni suggerimenti di Raffaele Rialdi e con qualche minuto speso ad analizzare il codice javascript del controllo, sono riuscito a risolvere il problema in questo modo:

Modifica javascipt di FreeTextBox

Aprite il file FreeTextBox-MainScript.js e cercate la funzione FTB_CopyHtmlToHidden. Inserite sopra questa funzione questo codice:

function Encode(content){ return encodeURIComponent(content)}

Quindi modificate la funzione FTB_CopyHtmlToHidden come segue:


 


function FTB_CopyHtmlToHidden(ftbName)
{
if (!FTB_Initialized(ftbName))
return;
hiddenHtml = FTB_GetHiddenField(ftbName);
editor = FTB_GetIFrame(ftbName);
if (isIE)
{
if (FTB_IsHtmlMode(ftbName))
{
hiddenHtml.value = Encode(editor.document.body.innerText);
}
else
{
hiddenHtml.value = Encode(editor.document.body.innerHTML);
}
}
else
{
if (FTB_IsHtmlMode(ftbName))
{
editorContent = editor.document.body.ownerDocument.createRange();
editorContent.selectNodeContents(editor.document.body);
hiddenHtml.value = Encode(editorContent.toString());
}
else
{
hiddenHtml.value = Encode(editor.document.body.innerHTML);
}
}
if (hiddenHtml.value == '' || hiddenHtml.value == '')
{
hiddenHtml.value = '';
}
}

Nel vostro codice server side utilizzate il metodo HttpUtility.UrlDecode per vedere in chiaro il contenuto della proprietà Text del vostro controllo FreeTextBox. Ricordatevi, inoltre, di rimpostare il valore di questa proprietà con il valore in chiaro altrimenti mostrerete all'utente una stringa di dati difficilmente comprensibile ;-)


Il risultato sembra essere quello voluto, cioè permettere l'inserimento di contenuti HTML utilizzando FreeTextBox.


Questo ovviamente apre le porte ad altre considerazioni sulla sicurezza. Il minimo è grarantire che questo controllo sia usato solo in aree riservate ad utenti "Editor" di fiducia che non useranno questo strumento per inserire codice nocivo alla vostra applicazione.

giovedì 1 luglio 2004

L'evoluzione di ADO.NET

Evoluzione e non rivoluzione. Questo uno dei messaggi che Dino Esposito ha lanciato nel corso della sessione dedicata alle novità di ADO.NET 2.0.

ado

Evolutione che si concretizza in alcune migliore in termini di prestazioni, scalabilità e usabilità delle classi di ADO.NET.

Molto importante per le performance è l'introduzione della proprietà RemotingFormat che permette, impostandola a SerializationFormat.Binary, di migliorare drasticamente le performance.

ado2

Proprietà non solo del DataSet ma anche della DataTale che con la versione 2.0 di ADO.NET acquisisce alcune funzionalità molto interessanti:

- Serializzazione (implementa IXmlSerializable)
- ReadXml()
- WriteXml()
- GetDataReader()

Le novità ovviamente non finiscono qui ma la cosa importante per tutti noi è che si tratta, appunto, di un'evoluzione di ADO.NET in grado di garantire piena compatibilità con la precedente versione  - il che non guasta ;-)

Ah, dimenticavo. Per me è stata la prima volta in cui assistevo ad una sessione tenuta da Dino Esposito pur essendo un suo assiduo lettore (articoli e libri). Devo dire che anche in veste da speaker ha dimostrato di essere un BIG.

Tech.Ed Hands-on Labs

Da quando ho la fortuna di poter partecipare a questi eventi non ho mai mancato di fare qualche bel laboratorio.

Gli Hands-on Labs sono un'ottimo strumento per poter mettere subito in pratica quanto visto nelle sessioni e permettono quindi di fissare meglio i concetti appena appresi.

Gli esercizi presenti qui ad Amsterdam sono ovviamente in lingua inglese ma non è da escludere che alcuni vengano localizzati in italiano e resi disponibili alle community degli sviluppatori.

Come dovrebbe cambiare il programma MCP

Ieri ho avuto il piacere di partecipare ad un Focus Group sul programma MCP. Microsoft sta contattando, in eventi come il Tech.Ed, gli MCP per sapere come sia possibile migliorare il programma, proponendo alcune ipotesi di evoluzione su cui discutere.

Sembra che in futuro, alla attuale suddivisione delle certificazione, si affiancherà anche un sistema a livelli che terrà conto:

- del numero di anni da cui si è MCP 
- delle esperienze professionali del singolo MCP.

In pratica una persona certificata da 5 anni, potrà godere di benefit superiori rispetto ad un neo MCP. Ma non solo, a parità di anni, una persona con più esperienza professionale nel campo della sua certificazione, potrà contare su più benefit rispetto ad uno che ne avrà meno.

Si è parlato anche dei possibili benefit e le idee proposte da Microsoft e da noi sono state le più diverse anche se tutte hanno avuto un'estrazione comune: utilità per l'MCP. Tra i benefit annunciati spiccano: abbonamenti a MSDN o  TechNet, abbonamenti a riviste specializzate (SQL Magazine, MSDN Magazine, ecc), accesso alla Knowledge Base Microsoft, ecc.; benefit che come detto saranno diversi in funzione del livello temporale e professionale raggiunto.

Il programma, dopo la modifica, sarà fortemente pubblicizzato per garantire una maggior visibilità del programma anche nei paesi in cui oggi il mercato non ha una percezione del valore delle certificazioni Microsoft.

Concludendo posso dire che le 2 ore in cui abbiamo avuto modo di confrontarci su questo argomento mi hanno rincuorato sul valore che la certificazione Microsoft avrà in futuro; valore che come sappiamo al momento è abbastanza appannato.

mercoledì 30 giugno 2004

Gli infaticabili del Tech.Ed

Non si stancano mai di documentare l'evento. Ecco Raffaele, Andrea e Corrado in azione.

blogger

Anche Raffaele Rialdi........dorme !

Chi frequenta i newsgroup italiani su .NET si sarà certamente chiesto se Raffaele dorme mai. La risposta è si !!! Poco ma dorme anche lui.

 RialdiBed

martedì 29 giugno 2004

Annunciata la linea Visual Studio 2005 Express Edition

Annunciata ufficialmente la linea di prodotti Visual Studio 2005 Express Edition. Durante la sessione "Visual Studio 2005 and SQL Server 2005 -  Exciting New Roadmap To The Future", Scott Guthrie ha mostrato Visual Web Developer Express Edition e SQL Server 2005 Express Edition.

La visione di Microsoft sembra quella di rilasciare delle versioni specializzate per fasce di utilizzo diverso in modo da soddisfare le specifiche esigenze di professionisti (Enterprise Developer, Web Developer, ecc) e di programmatori non professionisti (Studenti, appassionati, ecc) con dei prodotti appositamente studiati per loro.

Volete saperne di più ? Volete scaricare o ordinare le versioni beta ? Ecco alcuni link utili:

Visual Studio 2005
SQL Server 2005 Express Edition

Non dimenticatevi che il vostro feedback è importante. Utilizzate il MSDN Product FeedBack Center per comunicare le vostre opinioni, ecc.

Tech.Ed Community Lounge

Ecco il luogo dove è possibile incontrare gli MVP qui al Tech.Ed

Se siete qui ad Amsterdam passate a trovarci....vi aspettiamo !