settembre 2005 - Posts
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.
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)

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.
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.
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.
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
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.
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.
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
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.
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.
Confermo che le due versioni citate lavorano bene insieme.
Aspettiamo ancora qualche giorno per Team Foundation Server Beta3 (che ha anche la licenza GoLive)
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)
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
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 !
More Posts
Next page »