October 2012 Blog Posts

Oggi a //Build Microsoft ha rivelato quello che molti aspettavano: la RTM di
Team Foundation Service.

Si può accedere a http://tfs.visualstudio.com/, anche se
il vecchio http://tfspreview.com funzionerà
ancora per qualche tempo. La fatturazione ancora non è attiva, ma ora ne
sappiamo di più…

Ecco quello che tutti aspettavano: ci sarà ancora un livello gratuito di
servizio

Sarà gratuito per team fino a cinque utenti, con tutte le funzionalità
attive!

Ed inoltre, chi ha una MSDN Premium, Test Professional o Ultimate avrà a
disposizione una sottoscrizione con utenti illimitati nella sua MSDN!

Ci sarà una sottoscrizione a pagamento per chi non ha MSDN ed ha bisogno di
più di cinque utenti, ma per ora è premature parlarne.

L’unico componente di Team Foundation Service ancora in beta è Hosted Team
Build.

Come sappiamo, nei Team Foundation Server PowerTools per la versione 2010 e built-in nella versione 2012 abbiamo una funzionalità di backup e restore aggiunta all’Administration console per…fare i backup Smile

Ma non è sempre possibile: in alcune organizzazioni questo tipo di tool non è permesso, e quindi abbiamo da seguire le vecchie procedure documentate in MSDN.

La procedura è completamente manuale, da ripetere per ogni database e prona ad errori: decisamente tediosa, considerando quello a cui siamo abituati.

Per minimizzare la possibilità di errori, si può utilizzare un qualcosa di estremamente utile: tracciare le transazioni nei database di Team Foundation Server con una tabella apposita

E’ molto semplice: in ogni database va creata una tabella come questa:

   1:  Use TFS_Configuration 
   2:  Create Table Tbl_TransactionLogMark 
   3:  ( 
   4:   logmark int 
   5:  ) 
   6:  GO 
   7:  Insert into Tbl_TransactionLogMark (logmark) Values (1) 
   8:  GO 

Poi creiamo una stored procedure che marca i

   1:  Create PROCEDURE sp_SetTransactionLogMark 
   2:  @name nvarchar (128) 
   3:  AS 
   4:  BEGIN TRANSACTION @name WITH MARK 
   5:  UPDATE TFS_Configuration.dbo.Tbl_TransactionLogMark SET logmark = 1 
   6:  COMMIT TRANSACTION 
   7:  GO 

Manca solo la scelta del mark. Utilizziamo “TFSMark” come dice MSDN Smile.

   1:  EXEC sp_SetTransactionLogMarkAll 'TFSMark'
   2:  GO

In questo modo si può ottenere un log filtrato delle transazioni, da utilizzare in casi di troubleshooting.

Non è nulla di nuovo alla fine, ma essendo nascostissimo in MSDN secondo me meritava una menzione Smile

Breve post non tecnico Smile

Noi di GetLatestVersion.it stiamo pensando di organizzare un appuntamento di Q&A libera dove potremo rispondere a (speriamo Smile) qualunque vostra domanda su Visual Studio, Team Foundation Server & co.

Fateci sapere Smile via mail (info@getlatestversion.it) o commentando il post!

Può succedere che si abbia la necessità di annullare un changeset di cui si ha fatto check-in, per varie ragioni. Fino ad oggi non era cosi intuitivo, e solitamente si andava con una combinazione di Get Latest Version – compare – Merge&Fix con una versione specifica. Piuttosto sporca come soluzione, e soprattutto non intuitiva

Ad essere onesti, esisteva in Team Foundation Server 2010 una feature per eseguire il rollback di un dato changeset. Si tratta di tf rollback, ma era una di quelle feature accessibili solo da tf.exe, quindi senza GUI ne integrazione in Visual Studio.

I PowerTool per Visual Studio 2010 l’hanno integrata nell’IDE, ma come sappiamo non rappresentano una soluzione out-of.the-box, mentre in Visual Studio 2012 è stata promossa come first-class feature, e quindi la troviamo già dall’installazione.

E’ estremamente semplice da utilizzare, si trova nel menu contestuale dalla lista dei changeset:

image3

Eseguendo Rollback Entire Changeset si esegue questa operazione. Dopodichè all’interno dei Pending Changes troveremo il contenuto del changeset del quale fare rollback, e basterà eseguire il check-in come ogni operazione in Team Foundation Server. E’ inoltre possibile eseguire il rollback di una serie di changeset, di un insieme contiguo, ecc.

Durante gli ultimi mesi ho mostrato molto spesso Team Foundation Service a platee di tutti i tipi, ed ho notato che ci sono alcune domande che si ripetono. Nonostante ci sia una pagina di FAQ su tfspreview.com, sembra che le persone non siano interessate a spiegazioni ‘corporate’ Smile, quindi ho deciso di mettere insieme le più comuni e postarle qui.

Sono obbligato ad utilizzare Windows Live (aka Microsoft Account ormai) per i miei utenti? Posso utilizzare Office365 oppure federare i miei account aziendali?
La risposta è non ancora. L’autenticazione di Team Foundation Service si basa du Windows Azure ACS, quindi è tecnicamente possibile federare utenti oppure utilizzare account esterni, ma al momento (Ottobre 2012) non è uno scenario abilitato, e ci si deve appoggiare a Windows Live. E’ sicuramente nei piani di Microsoft, e nessuno inoltre toglie la possibilità di utilizzare account aziendali registrandoli come Windows Live ID utilizzando l’opzione apposita.

Gli aggiornamenti di versione sono gestiti da Microsoft? Quale versione di Team Foundation Server ottengo registrandomi su tfspreview.com?
L’approccio di Microsoft è molto chiaro. Team Foundation Service sarà sempre la versione più aggiornata presente sul mercato, come Brian Harry ha spiegato nel suo blog. Il team lavora su uno sprint di tre settimane, ed esegue delivery diretta sul servizio, quindi non ci sarà da aspettare per Service Pack e Cumulative Update. Inoltre, tfspreview non è sottoposto al Patch Tuesday, in quanto le patch vengono applicate anche giornalmente, se necessario.

Mi preoccupo dei miei dati. Non mi fido che siano su dei server Microsoft!
Per quanto non si possa essere attratti dai metodi e dalle politiche di Microsoft, loro non leggeranno mai i vostri dati. E’ scritto nero su bianco nella EULA che si accetta registrandosi al servizio, loro possono spostare i dati per esigenze di backup ed alta disponibilità, ma non possono vedere cosa c’è dentro i database. E’ un accordo legale, e quindi non c’è interpretazione che regga, vale quello che c’è scritto, ed è molto chiaro.

Mi preoccupo dei miei dati. Voglio essere in grado di abbandonare Team Foundation Service quando voglio!
Di nuovo, i dati sono i vostri. Ma per ora, come dice anche il nome, tfspreview è una…preview Smile e non è ancora feature-complete. Penso che una delle funzionalità che manchi ancora sia un qualcosa che permetta l’esportazione dei dati in maniera semplice, ma comunque non è qualcosa di impossibile anche oggi stesso: basta utilizzare la Integration Platform per sincronizzare quello che c’è nel cloud con una propria istanza locale di Team Foundation Server.

Quanto costerà? Sarà costoso?
Nella pagina del pricing è scritto molto chiaramente che ci sarà un livello gratuito di servizio. Non si sa ancora cosa significhi in termini di feature, ma è comunque un fatto inconfutabile.

Queste sono le domande più comuni che mi sono state poste durante questi mesi, per altre FAQ vi consiglio di andare su tfspreview.com, dove troverete tutte le informazioni necessarie Smile