Roberto Brunetti

Developing in the cloud

.NET Programming

settembre 2005 - Posts

VSTS: migrazione da Visual Source Safe

Saranno contenti in molti (me compreso). E' disponibile il VSS Converter per la Beta 3 di TFS (la Beta 3 ha la licenza GoLive).

Consiglio di seguire questo post e le notizie linkate prima di provare la migrazione. Non ho provato il tutto, ma a quanto si legge nei blog e forum USA, in molti, dopo aver provato a fare da soli, hanno seguito i passi descritti.

Altre info:

http://blogs.msdn.com/akashmaheshwari/articles/474262.aspx

http://blogs.msdn.com/akashmaheshwari/articles/474260.aspx

L'autore dei post è il PM del tool di conversione.

Posted: set 29 2005, 01.01 by rob | with 1 comment(s)
Filed under:
VSTS Web Access

Ne parlavo tempo fa per email con un cliente: sarebbe comodo avere anche un'interfaccia web based per i Team Project di Team System...qualcuno ci ha già pensato: http://www.devbiz.com/teamplain/default.aspx

Ancora in beta, ovviamente visto che è in beta3 TFS, basta conttare DevBiz per avere una versione demo.

Le caratteristiche che ho notato:

L'interfaccia utente è molto usabile (il treeview del progetto sembra quello del Team Explorer)

Possibilità di gestire work item e creare nuove query personalizzate

Un esempio di workitem (assegnato a Tom...e non al mitico Darren...unico utente "funzionante" utilizzato in tutte le conferenze)

Posted: set 29 2005, 12.53 by rob | with 2 comment(s)
Filed under:
VSTS Beta3 in Workgroup

Come citato in vari post precedenti la Beta3 di Team Foundation Server (la parte server di VSTS) accompagna la attuale RC di Visual Studio e accompagnerà la versione finale fino gennaio (speriamo).

Quello che ho scoperto oggi durante l'installazione è che supporta anche l'installazione in un Workgroup: questo rende particolarmente semplice l'installazione per provare il prodotto nell'ambiente di test e per fare formazione.

Altra novità rispetto alle Beta e CTP precedenti è il supporto per Active Directory 2000 che si aggiunge a AD 2003 già presente.

Sto intallando il tutto stanotte (non ho avuto un attimo nei giorni scorsi). Domani sera metto un post con i passi dell'installazione...sempre che vada a buon fine...se non va a buon fine ? metto lo stesso i passi da NON seguire :-)

Installazione a parte i problemi arriveranno con la migrazione di un progetto Beta2 su questa Beta3...ho paura che la storia dei sorgenti e quanto memorizzato vada perso, anche perchè sono cambiate alcune tabelle e quindi provare a fregarlo con un Backup/Restore diretto da SQL 2005 non funzionerebbe.

Posted: set 29 2005, 12.47 by rob | with 1 comment(s)
Filed under:
Visual Studio RC Create Web Site: Problema

Nella Beta2 di VS 2005 e in VS.NET 2003 creando una nuova applicazione web direttamente su IIS veniva impostato in automatico l'attributo Execute Permission a "Script Only".

Nella versione RC attuale questo non succede più, quindi cercando di eseguire una pagina si ottiene il classico: HTTP Error 403.1 - Forbidden: Execute access is denied.
Occorre andare in configurazione di IIS per modificare tale valore impostando giustamente Script Only.

Posted: set 28 2005, 04.22 by rob | with 1 comment(s)
Filed under: ,
IIS 0x8ffe2740 Error: Soluzione per Skype

Per evitare che Skype "rubi" la porta 80 a IIS (è sua....da anni :-)), cosa che avviene anche se skype è configurato per avviarsi al boot (magari fa prima lui rispetto alla partenza di IIS) è sufficiente disabilitare nella configurazione l'utilizzo della porta 80:

Grazie a Alessandro per la segnalazione.

Posted: set 28 2005, 03.51 by rob | with 2 comment(s)
Filed under:
IIS 5.1 Unexpected Error 0x8ffe2740 Occurred

Mi è capitata una cosa "strana" che condivido. La soluzione è molto semplice e non è derivante da un bug.

Sul un mio PC utilizzo spesso Virtual Machine e quindi mi sono fatto il mio piccolo .bat per stoppare tutto quello che non serve sul pc in modo da dare più memoria possibile alla VM.

Fra queste cose fermate c'è IIS. Sul PC utilizzo Skype e ActiveSync 4.0. Poi ho un bat che fa ripartire il tutto.

Stamani IIS mi da l'errore Unexpected Error 0x8ffe2740 Occurred. Non riesce a partire. Ho scoperto che Skype mi aveva fregato la porta 80 e quindi IIS non riuisciva giustamente a partire. Per sapere chi era il "bastardo" ho usato TCPView di SysInternals: due secondi per il download e nessuna installazione aggiuntiva.

Ho cercato di ricreare il caso stoppando e facendo ripartire le cose e ho notato che Skype (ma lo ha fatto anche ActiveSync 4.0) se IIS è stoppato si prende la porta 80.

JFYI

Posted: set 28 2005, 01.10 by rob | with 8 comment(s)
Filed under:
Visual Studio RC Bug con Cache di ASP.NET

Come accennato nel post precedente, l'attributo DiskCacheable per le pagina ASP.NET non esiste più da dopo la Beta.

Erroneamente l'intellisense di Visual Studio 2005 mostra ancora l'attributo nella direttiva OutputCache delle pagine aspx: non cascateci :-) L'attributo non esiste.

Posted: set 27 2005, 03.50 by rob | with no comments
Filed under:
ASP.NET 2.0 Disk-based Caching

Una feature interessante della Beta2 di ASP.NET era (parlo al passato) la possibilità di appoggiare su disco i dati di OutputCache. In questo modo la cache poteva sopravvivere ai restart del processo ASP.NET.

Nella RC e quindi nella versione finale tale feature è stata tagliata perchè non raggiungeve gli obiettivi di performance stabiliti.

Quindi, anche in ASP.NET 2.0, l'output cache delle varie pagine verrà ricreato alla prima esecuzione della pagina stessa come accade anche oggi nella versione 1.x.

Resta invece la possibilità di creare nel web.config (locale dell'applicazione o globale nella directory CONFIG) Cache Profile da riutilizzare nelle varie pagine. L'idea intelligente  è quella di creare varie configurazioni di cache centralizzandole nel file di configurazione. Ad esempio possiamo creare un profilo con durata lunga (un giorno in questo caso):

<add name="ParecchioTempo" duration="86400" varyByParams="none" />

per poi riutillzarlo da tutte le pagine

<%@ OutputCache CacheProfile="ParecchioTempo"  %>

In questo modo una modifica di "ParecchioTempo" si riflette su tutte le pagine che utilizzano tale profilo.

Posted: set 24 2005, 06.10 by rob | with 1 comment(s) |
Filed under: ,
ASP.NET 2.0 Anonymous Profile Custom ID

Modifca dalla beta2 alla versione RC attuale: l'evento AnonymousIdentification_OnCreate interteccettabile dal global.asax è stato rimosso. Al suo posto troviamo _Creating più aderente alle convenzioni sui nomi.

Tale evento viene scatenato durante il PostAuthenticateRequest dal modulo AnonymousIdentificationModule.

Per intercettarlo e assegnare un custom id il codice è molto semplice:

public void AnonymousIdentification_Creating(object sender,
                                             AnonymousIdentificationEventArgs args)
{
  args.AnonymousID = QuelloCheCiPare();
}

dove QuelloCheCiPare() :-) restituisce una stringa

Posted: set 24 2005, 05.48 by rob | with 1 comment(s)
Filed under:
Il marketing è una scienza e come tale occorre approcciarlo BENE

Post Off-Topic. Segnalo il nuovo blog in italiano di un amico, che stimo molto,  aperto proprio oggi http://eugeniolamesa.typepad.com/italiano/.

Ho conosciuto Eugenio nel 1997 alla Windows Professional Conference e dopo vari contatti per email sono stato da lui per 3 giornate di consulenza su ASP (senza .NET ovviamente). L'idea era creare un sito per fare email marketing...e Eugenio aveva chiamato Francesco Balena (si, proprio lui) per la parte VB, Riccardo Sponza (si, proprio lui) per la parte SQL Server e me (si proprio io :-)) per parte ASP. Dentro di me mi domandavo...cazzarola...ma che sito deve fare...per mandare 3 mail in croce hai bisogno di così tanta consulenza ?

Bene, oggi Eugenio è titolare di Salesware.it, azienda che fa appunto l'application service provider per l'invio di mail: i suoi clienti spaziano da grandi aziende italiane fino a aziende estere bene note...

Chi fa le cose per bene, le pensa, le ripensa, si struttura per un progetto..ne trae i benefici nel tempo ! Pensate se avesse fatte due paginette in croce con Access e senza nessun criterio di ottimizzazione ! Avrebbe riscritto l'applicazione 5 volte e ancora oggi andrebbe a carbone.

Adesso apre un blog (dopo che ci ha pensato per mese su come, cosa, quando pubblicare) informativo: la qualità è garantita.

Credo che molti responsabili marketing abbiamo molto da imparare dalle notizie pubblicate e sicuramente anche noi sviluppatori quando facciamo mailing sui nostri prodotti software.

Posted: set 23 2005, 05.19 by rob | with 3 comment(s)
Filed under:
Register.it come sponsor a DevCon

In questi giorni stiamo chiudendo le sponsorizzazioni per DevCon 2005. Oggi abbiamo chiuso l'accordo con Register.it che prevede in esclusiva per gli iscritti a DevCon 2005, sconti fino al 40% sulle soluzioni Virtual Server, Dedicated Server, Exchange e Shared Hosting.

Abbiamo aperto un blog dedicato alle notizie sulla conferenza disponibile direttamente in home page http://devcon2005.devleap.com

Oggi abbiamo parlato anche con ATI (esatto...quella delle schede grafiche) per capire come muoverci: info a breve.

Posted: set 21 2005, 11.30 by rob | with no comments
Filed under:
Visual Studio 2005 RC e SQL 2005 CTP allineate

Confermo che le due versioni citate lavorano bene insieme.

Aspettiamo ancora qualche giorno per Team Foundation Server Beta3 (che ha anche la licenza GoLive)

Posted: set 21 2005, 08.09 by rob | with no comments
Filed under: , ,
PDC 2005: Terza plenaria

Windows Server 2003 R2

            Simple SAN

            Common Log File System

            Active Directory

                        Federated Services

                        ADAM Nativo

                        Password sync with Unix

            Services for Unix

                        DB Connettivity diretta

            WS-Management (submitted to DTF for standardization)

                        Remote administration di HW, OS e App

                        WMI Service gestibili da remoto

            MMC 3.0

                        si può scrivere codice .NET per creare snap-in

                        tutto amministrabile da remoto (senza terminal service)

 

SDM per gestione sistemi

            Descrizione di applicazioni e sistemi

            Health Models

            Management Pack di MOM (fatto da AVICode) per configurare tramite MOM le macchine

                        Si aggiungono a AD anche MOM Package e Health Monitoring End Point

                                   direttamente nel diagramma

                        Nel LDD si definiscono i monitoring sever e poi si prova il deplyoment

            Macrovision ha invece il coso per prendere il deployment report e crea l'MSI

                        si può fare il deployment locale o su una macchina o via SMS (spettacolo)

 

                        Si intercettano gli errori che vengono collezionati da MOM

                        che poi si vedono nel AD dove lui mette il Pallino Rosso (spettacolo)

                        e in AVICode per capire cosa succede con descrizione delle eccezioni

                                   e con doppio click si fa al codice sorgente !!!!

 

Computed Cluster Solution

            www.microsoft.com/hpc

            Creazione di "cluster da codice"

                        Cluestr c = new Cluster()

                        Job j = new Job()

                        si creano poi le task e si aggiungono la task alla lista

            il Cluster gestisce i nodi

            Si può quindi scrivere il codice che chiede al cluster alcune cose da fare

           

Monad

            Object-based command base

            E' costruito in .NET e consente Cmdlets

            Integra command line, com e .NET in un unico framework

            Verrà montato su tutti i nuovi sistemi operativi

 

Active Drectory (75% delle enterprisse lo usa, 6% eDirectory, 8% NT Domain, 4% Netware, 1% LDAP)

            avrà Identity (Federeted Identity)

 

InfoCard

            Si definiscono in WinFX (Vista PDC ha già l'interfaccia accessible da Control Panel)

                        e poi si scelgono per fare login o per comunque mandare i dati verso un server

            Utilizza Web Service per inviare le informazioni

 

WinFX arriva con Vista e sarà distribuibile su XP e 2003 lo stesso momento

           

Longhorn Server uscirà nel 2007

            Alcune cose nuove per developer

                        Storage - TxF (transacted File System)

                                   interessante lo scenario dove la cose stanno in DB e sul File System

                        Accesso attraverso firewall per Terminal Service

                        New Event Log

                                   più informazioni

            NAP per networking

            WinFX

            IIS 7

                        si vasa su Windows Activation Service (WEB e WCF)

 

            Server Role (sempre modulare)

                        Si può avere una macchina anche senza shell (solo command line)

           

Posted: set 21 2005, 04.53 by rob | with no comments
Filed under:
PDC 2005: qualche appunto dalla plenaria

Keynote secondo giorno.

Windows WorkFlow Foundation
 It consists of a managed-code framework and designers for Visual Studio .NET
 Windows Workflow Foundation includes both system workflow and human workflow
 The Windows Workflow Foundation developer experience is consistent with existing WinFX technologies and includes support for VB and C#, debugging, a graphical workflow designer and the ability to write your workflow completely in code
 Windows Workflow Foundation also provides an extensible model and designer to build custom activities which encapsulate workflow functionality for end-users or for re-use across multiple projects
 Windows Workflow Foundation will be used across many future Microsoft products including Office “12”, BizTalk Server and the Microsoft Business Solutions
 Most applications can benefit from the asynchronous state management features of the workflow model, the rapid development features of the designer, the potential for end-user flexibility, and the increased visibility into run-time code execution

 Office 12 utilizza lo stesso workflow
 Anche SharePoint condivide lo stesso workflow
 Si parte da VS 2005 con il designer di Workflow
 Si possono creare nuove activity sotto forma di classi .NET con attributi specifici
  inseribili ovviamente nella toolbox
 www.windowsworkflow.net
 Si possono mettere breakpoint direttamente nel designer
  Essendo integrato con Office 12 potrebbe essere un breakpoint su una activity di outlook "es. mail da inviare"

Acrylic Graphic Designer
 Serve per disegnare immagini vettoriali
 Ma puo generare anche XAML
 
 
Sparkle Interactive Designer
 Si puo partire da un xaml
 Si puo inserire un immagine direttamente in un bottone per farlo embedded
 Si possono definire le animazioni e legarli a eventi scatenati dai controlli
  Es legare inizio di una rotazione al click su un bottone
 I file generati possono essere poi caricati in VS che espone il contenuto xaml
  perche Sparkle e VS usano lo stesso project syste e build system

Quartz Web Designer
 Nuovo designer per pagine web
 Supporta controlli di ASP.NET
 Ovviamente supporta quanto conosciuto per il disegno di pagine web (da XHTML a CSS)
 Si puo impostare un XML nella pagina e applicare un XSLT al volo

Acrylic/Sparkle/Quartz fanno parte della "Expression" perchè bisogna Esprimissi (:-) scritto con Luca :-).

VSTA
 Visual Studio Tools for Applications
 Usa IDE di VS e gira side by side con VBA

 
XAML Integration for PLM/CAD
 Prodotti di CAD possono produrre file XAML

XAML consente scambio di info "grafiche" fra prodotti destinati ai grafici e prodotti per sviluppatori.

WinFS Setup
 Gira anche su Windows XP

Office 12
 Il cuore della piattaforma è SharePoint
 
 Nuova, ma veramente nuova, versione di FrontPage
  Si possono creare Workflow da FrontPage
   Es: qunado si arriva a una milestone manda una mail a...
    quando sul sito SharePoint viene postato un documento manda una mail a ...
 InfoPath 12
  Si possono creare form che risiedono sulla parte server
  

SharePoint
 Accesso al portale da dispositivi mobile.
 Si possono fare Viste sulle liste
 
Access 12
 Integrazione con i dati di SharePoint
 Intregrazione con il resto di office
  Es Apertura di una form InfoPath da Outlook
  Es Apertura form di Access da una mail
 

Posted: set 21 2005, 04.50 by rob | with no comments
Filed under:
LinQ

Non ho espresso pareri fino a adesso perchè durante PDC sono uscite frasi del tipo "finalmente ci voleva", oppure "che cag.....di prodotto". Io difficilmente riesco (credo sia un mio limite) a fare un commento a caldo e preciso su un argomento su cui non mi ritengo ferrato. Riprendo il post di marco e provo a aggiungere qualche informazione.

Credo che ci siamo molti scenari diversi in molte aziende italiane e non e credo sia giusto ne avere diffidenza ne entusiasmarsi a palla non appena si vedono cose nuove: queste emozioni le lascio di solito per il lancio della nuova Punto o della nuova Serie 3 SW, per la nuova Miss Italia oppure per un nuovo giocatore in una squadra. Credo che se un'azienda come Microsoft decide di spendere molti $ in un progetto o in un'idea ci siano delle motivazioni alle spalle, dei ragionamenti che sicuramente nel mio piccolo non riesco a vedere; dall'altra parte sicuramente c'è l'esperienza di idee come ObjectSpaces (da notare che l'idea di DLinq ad esempio e Object Spaces è la medesima, diversa è l'implementazione) e l'esperienza che ciascuno di noi nel suo piccolo ha maturato negli anni: per questo non capisco un parere totalmente negativo ne tantomeno un atteggiamento super entusiasta; fra i due capisco di più il secondo perchè spesso quando vediamo una evoluzione che viene dimostrata con una pre-alpha che funziona sul palco da uno strepitoso Luca Bolognese (qualcuno si ricorderà la sua performance alla WPC 2003 a Milano) che ti porta al ragionamento e alle motivazioni siamo portati a trovare una soluzione ai comuni problemi di sviluppo di tutti i giorni.

E' vero anche che dalla demo alla pratica c'è molta strada da fare: per questo la mia posizione a 5 giorni dalle sessioni che ho seguito è "molto interessato alla cosa": molto interessato a approfondire gli argomenti, molto interessato a dare una collocazione al tutto, molto interessato a fare delle prove per capire dove, rispetto ai progetti di clienti che seguo o che spero di seguire, sia possibile semplificarci la vita.

Sicuramente Linq non è la soluzione a tutti i problemi, ne tantomeno può essere impiegato in scenari in cui le performance vengono prima di tutto il resto (e ce ne sono tanti di scenari così), ma sicuramente ha una sua collocazione e, credetemi automatizza tutta una serie di cose che oggi richiedono (per non metterci 6 anni a progettare un DAL per esempio) generatori di codice più o meno custom.

Secondo me quindi il prodotto è molto interessante per tanti scenari e lo è meno per pochi scenari: got it ? Come dire: vale la pena di darci un occhio critico, come per qualunque altra tecnologia, per capire se risulta utile ai propri scenari.

Affermazione dello stesso Luca: se l'obiettivo è la performance pura lasciate perdere.

Non so quanti di voi sviluppavano per il web (anzi "sviluppavano un web" come direbbe il nostro Marco) nel 1997....nel 1997 arrivò il mitico Visual InterDev 1.0 che aveva una prima idea di design-time control che da un lato semplificavano la vita per combobox e tabella, dall'altro si sono rivelati una cag....Poi nel 1998 (il 10 settembre ero sul palco insieme a Bill Gates a presentarlo...mamma che paura....) uscì Visual InterDev 6.0 che aveva tanti design-time control che sembrarono all'inizio (qualcuno dica NO !?!!!!) la manna dal cielo rispetto a scrivere decine o centinaia di righe di codice HTML + script per mostrare quattro cosette all'utente....ben presto anche questi si rivelarono un delirio da usare in applicazioni un minimo corpose....

All'arrivo di ASP.NET 1.0 ci siamo detti tutti: Aiutooooooo, i Web Control...non ci crediamo...saranno una mer.....che schifo....Quanti di voi non li usano ?????? :-) Ormai fanno parte del prodotto. E' vero, in casi particolari si fa ancora a mano....ma quanto tempo abbiamo risparmiato nella creazione di interfacce web ? Con questo non bisogna esagerare con automatismi sul db come paginazione automatica, sort e filtri non appena i record diventano più di 1000 (numero a caso) e gli utenti più di 10 (altro numero a caso) perchè, e la logica ce lo dice, non potranno mai essere efficenti in questi casi.

Quindi (non si inizia mai un discorso con Quindi...ma ci stava bene alle 4.34 di notte) cerchiamo di prendere quanto ci sarà di buono in Linq in tutti gli scenari in cui si adatterà bene e evitiamolo per tutti gli altri casi e soprattutto aspettiamo di vedere una implementazione più in là nel tempo per dare un giudizio e se lo diamo diamolo personale e non GLOBALE. E' come dire che Access non è un database (affermazione che condivido visto che seguo progetti medio/grandi) ma per 8 segretarie di un commercialista che devono solamente gestire atti cosa gli vogliamo montare? un'applicazione a 5 livelli su .NET 2.0 (mi raccomando usiamo i metodi anonimi, altrimenti le segretarie potrebbero dirci che il codice è scritto male) con database SQL Server in cluster con Oracle ? Anche Linq e DLinq (non mi esprimo su XLinq, lo farà molto meglio Paolo) avranno, secondo me  la loro collocazione ideale e, per come vedo scrivere il software in Italia, probabilmente quasi sempre visto che spesso da noi si pensa meno alle performance rispetto alla velocità di scrittura del codice.

Per chiudere: io me lo studierò bene !

Posted: set 21 2005, 04.11 by rob | with 1 comment(s) |
Filed under:
More Posts Next page »