ComputerLand

Tu sei qui: Articoli MSDN

Notizie dal web

Guest post: Integrare un’applicazione o un servizio con Visual Studio Online

E-mail Stampa PDF

Questo post è stato scritto da Davide Benvegnù di DotNetToscana.

Visual Studio Online, al pari della sua versione on-premise Team Foundation Server, fornisce moltissime funzionalità già incluse. Spesso, però, in scenari complessi la gestione del ciclo di vita del software richiede delle integrazioni con applicazioni o servizi esterni.

Ad esempio, potrebbe essere utile aggiungere un nuovo Work Item ad un nostro Team Project in modo automatico, magari in risposta ad un determinato evento. Oppure essere notificati dell’avverarsi di determinate condizioni (penso ad esempio ad una Build andata male). O ancora poter controllare il nostro account Visual Studio Online tramite device mobili.

Metodi di integrazione

Grazie alle nuove funzionalità introdotte, ora Visual Studio Online offre diverse possibilità di integrazione con altri strumenti e servizi.

È possibile, ad esempio:

· Integrare VSO con i più popolari servizi cloud come Trello, GitHub, Jenkins, HipChat e molti altri

· Sviluppare applicazioni e servizi custom che estendono la potenzialità di Visual Studio Online

· Interrogare e/o utilizzare VSO da qualsiasi piattaforma (anche mobile)

Ci sono principalmente due metodi per integrarsi con Visual Studio Online:

· REST API

· Service Hooks

Sebbene entrambi i metodi sono attualmente in preview (rilasciati con l’update del 12 Maggio), sono perfettamente funzionanti.

REST API: Panoramica

Le REST API, nella loro ultima versione 1.0 preview Update 2 (rilasciata il 4 settembre), permettono a chi le consuma di interagire con praticamente tutte le componenti di Visual Studio Online.

Come dice il nome, sono API che sfruttano il protocollo REST ed utilizzano Json sia come input nei request body (di solito utilizzati per operazioni di POST, PUT e PATCH) che come output delle response.

Tutte le richieste verso le API devono seguire questo pattern:

https://{account}.VisualStudio.com/DefaultCollection/_apis[/{area}]/{resource}?api-version=1.0-preview.2

dove “account” sarà il nome dell’account che si vuole usare, “area” il servizio esposto dalle api su cui si vuole operare (l’elenco completo delle aree è disponibile a questa pagina) e “resource” il tipo di risorsa su cui andare ad insistere. Inoltre si noti che la versione delle API deve essere specificata.

Ad esempio, per creare un nuovo Task su un Team Project di nome “tpTest” di un VSO account chiamato “myvso”, l’url della richiesta sarà:

https://myvso.visualstudio.com/defaultcollection/tpTest/_apis/wit/workitems/$task?api-version=1.0-preview.2

REST API: Autenticazione

È importante sottolineare che queste API richiedono l’autenticazione al servizio, che può essere di due tipi: Basic e OAuth 2.0.

Per poter utilizzare l’autenticazione di tipo “Basic” è necessario abilitare le “alternate credentials” per l’account VSO dall’apposito pannellino del portale.

clip_image002

Per poter usare le Alternate Credentials basta entrare sul portale di VSO con l’account a cui si vogliono abilitare, cliccare sul nome utente in alto a destra e scegliere “My Profile”. A questo punto è sufficiente posizionarsi sulla tab “Credentials”, cliccare “Enable alternate credentials” ed inserire la password ed, eventualmente, un username secondario (utile se l’applicazione che vogliamo integrare non supporta il login con un indirizzo email)

Dopo aver eseguito questi passaggi è possibile utilizzarle per l’interazione con la API. Se ad esempio stiamo implementando un’applicazione .Net possiamo utilizzare la classe HttpClient come nell’esempio seguente, dove è riportato anche come costruire correttamente la richiesta (in questo caso una richiesta per recuperare tutte le build di un determinato account):

using System.Net.Http;

using System.Net.Http.Headers;

public static async void GetBuilds()

{

try

{

var username = "username";

var password = "password";

var account = "account";

using (HttpClient client = new HttpClient())

{

client.DefaultRequestHeaders.Accept.Add(

new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",

Convert.ToBase64String(

System.Text.ASCIIEncoding.ASCII.GetBytes(

string.Format("{0}:{1}", username, password))));

using (HttpResponseMessage response = client.GetAsync("https://" + account +

".visualstudio.com/DefaultCollection/_apis/build/builds").Result)

{

response.EnsureSuccessStatusCode();

string responseBody = await response.Content.ReadAsStringAsync();

Console.WriteLine(responseBody);

}

}

}

catch (Exception ex)

{

Console.WriteLine(ex.ToString());

}

}

Con l’autenticazione Basic possono essere utilizzate tutte le aree delle API ad eccezione di “Accounts” e “Profiles”, che quindi possono essere consumate solo utilizzando l’autenticazione OAuth.

REST API: Autenticazione con OAuth 2.0

Sebbene sia possibile, come abbiamo visto, integrarsi con Visual Studio Online usando il metodo di autenticazione Basic, è preferibile utilizzare il protocollo OAuth 2.0 per autorizzare le applicazioni di terze parti e generare un token di accesso. Questo token va utilizzato al posto delle credenziali quando si chiamano le REST API dall’applicazione.

Per usare l’autenticazione con OAuth per prima cosa è necessario registrare l’applicazione su Visual Studio Online (attraverso il portale https://app.vssps.visualstudio.com/app/register) ed ottenere quindi un ID univoco. La prima volta che un nuovo utente userà l’applicazione, dovrà essere fatta una chiamata alle API con quell’ID; VSO si occuperà in autonomia di autenticare l’utente e di generare un token per lui visualizzando una finestra simile alla seguente:

clip_image004

A questo punto ogni volta che il nostro utente utilizzerà di nuovo l’applicazione non dovrà più effettuare il login ma basterà utilizzare il token salvato. (Attenzione che tale token ha una validità limitate nel tempo, quindi alla scadenza sarà necessario rigenerarlo).

Il flusso completo di autenticazione tramite OAuth è descritto dallo schema seguente:

clip_image006

REST API: Utilizzo

Precedentemente, abbiamo visto in un esempio come recuperare le build di un account. Vediamo ora come è possibile creare un Work Item utilizzando le API.

Per farlo, è necessario effettuare una richiesta HTTP PATCH e valorizzare il body della request in base a questo formato:

[

{

"op": "add",

"path": { string }

"value": { string or int, depending on the field }

},

{

"op": "add",

"path": "/relations/-",

"value":

{

"rel": { string },

"url": { string },

"attributes":

{

{ name/value pairs }

}

}

}

]

Un esempio reale di creazione di un task con titolo e descrizione, riprendendo l’url riportato precedentemente ed impostando il Content-type della request a “application/json-patch+json”, sarà:

[

{

"op": "add",

"path": "/fields/System.Title",

"value": "Change blog title height"

},

{

"op": "add",

"path": "/fields/System.Description",

"value": "This is the task description"

},

]

Questa richiesta produce una response come la seguente, in cui si possono trovare tutte le informazioni relative al work item appena creato:

{

"id": 88,

"rev": 1,

"fields": {

"System.AreaPath": "tpTest",

"System.TeamProject": "tpTest",

"System.IterationPath": "tpTest",

"System.WorkItemType": "Task",

"System.State": "To Do",

"System.Reason": "New task",

"System.CreatedDate": "2014-09-30T10:25:12.943Z",

"System.CreatedBy": "Davide Benvegnu",

"System.ChangedDate": "2014-09-30T10:25:12.943Z",

"System.ChangedBy": "Davide Benvegnu,

"System.Title": "Change blog title height",

"System.Description: "This is the task description"

},

"_links": {

"self": {

"href": "https://myvso.visualstudio.com/DefaultCollection/_apis/wit/workItems/88"

},

"workItemUpdates": {

"href": "https://myvso.visualstudio.com/DefaultCollection/_apis/wit/workItems/88/updates"

},

"workItemRevisions": {

"href": "https://myvso.visualstudio.com/DefaultCollection/_apis/wit/workItems/88/revisions"

},

"workItemHistory": {

"href": "https://myvso.visualstudio.com/DefaultCollection/_apis/wit/workItems/88/history"

},

"html": {

"href": "https://myvso.visualstudio.com/web/wi.aspx?pcguid=0fa87894-6f48-4458-957d-3438b6bb9343&id=88"

},

"workItemType": {

"href": "https://myvso.visualstudio.com/DefaultCollection/c4637008-2068-4b3f-828d-a214e2ba5210/_apis/wit/workItemTypes/Task"

},

"fields": {

"href": "https://myvso.visualstudio.com/DefaultCollection/_apis/wit/fields"

}

},

"url": "https://myvso.visualstudio.com/DefaultCollection/_apis/wit/workItems/88"

}

In modo similare è possibile, ad esempio, interrogare l’area relativa al source control e verificare quali modifiche sono state effettuate in un determinato changeset:

Verb e Url della richiesta:

GET https://myvso.visualstudio.com/defaultcollection/_apis/tfvc/changesets/6/changes?api-version=1.0-preview.1

Response:

{

"count": 1,

"value": {

"item": {

"version": 6,

"path": "$/tpTest/Models/IdentityDbInitializer.cs",

"url": "https://myvso.visualstudio.com/DefaultCollection/_apis/tfvc/items/%24/tpTest/Models/IdentityDbInitializer.cs?versionType=Changeset&version=6"

},

"changeType":"edit"

}

}

Service Hooks

Tramite i service hooks è possibile integrarsi a Visual Studio Online sottoscrivendo una serie di eventi che sono scatenati dal servizio.

Allo stato attuale questi sono gli eventi sottoscrivibili:

· Build completed

· Code pushed (Git team projects)

· Code checked in (TFVC team projects)

· Work item created

· Work item updated

· Comments added to work item

È possibile creare una sottoscrizione ad uno o più eventi; si riferirà ad uno specifico Team Project, sarà consumata da un “consumer” e scatenerà una specifica “action”.

È possibile creare una sottoscrizione ad un evento in modo “automatico” (utilizzando cioè il portale di Visual Studio Online) oppure in modo completamente manuale utilizzando le REST API, che sono quindi parte integrante anche di questa funzionalità.

Service Hooks: sottoscrizioni da pannello

Utilizzare il pannello di VSO per creare una sottoscrizione ad un Service Hooks è sicuramente il modo più veloce per utilizzare questa feature.

È sufficiente entrare nel portale del Team Project a cui ci si vuole sottoscrivere e cliccare sul pulsante delle impostazioni (quello con l’ingranaggio, in alto a destra). Le ultime due tab sono quelle relative ai Service Hooks: la prima, omonima, serve per creare le sottoscrizioni e la seconda, denominata semplicemente “Services”, serve per monitorare le sottoscrizioni esistenti.

Per creare una sottoscrizione è innanzitutto necessario scegliere a che tipo di servizio sarà destinata.

clip_image008

Ovviamente a seconda del tipo di consumer selezionato saranno disponibili o meno alcuni eventi ed azioni.

Scelto il servizio da integrare, è necessario configurare l’evento a cui la sottoscrizione si riferirà ed è possibile inserire dei filtri (che dipendono dal tipo di evento selezionato) in modo da limitare la sottoscrizione a ciò che realmente ci interessa.

clip_image010

In questo caso ho deciso di sottoscrivere l’evento generato dal completamento delle Build, solo in caso che le Build siano fallite.

Configurato l’evento, si passa alla configurazione dei parametri del consumer. Vanno indicati gli endpoint e tutti i parametri necessari per poter effettivamente inviare una notifica. Nel mio esempio, ho deciso di utilizzare uno Storage Account su Azure:

clip_image012

Inseriti tutti i valori è possibile effettuare un test di integrazione (con l’apposito pulsante “Test”) e, se tutto ok, completare la creazione della subscription.

Da questo momento ogni volta che sul progetto selezionato una Build fallirà, VSO salverà automaticamente le informazioni sul mio Storage Account.

Service Hooks: sottoscrizioni via API

È possibile creare delle sottoscrizioni anche utilizzando una chiamata alle API. In questo caso non è possibile utilizzare l’autenticazione Basic ma solo quella con OAuth 2.0.

L’url da chiamare per la request, utilizzando il Verb POST, è:

https://{account}.visualstudio.com/defaultcollection/_apis/hooks/subscriptions?api-version=1.0-preview.1

Il request body deve essere costruito con i valori specifici per il Team Project, l’evento, il consumer e l’action che vogliamo configurare.

Ad esempio, per una configurazione simile a quella vista precedentemente, il body sarà come il seguente:

{

"publisherId": "tfs",

"eventType": "build.complete",

"resourceVersion": "1.0-preview.1",

"consumerId": "azureStorageQueue",

"consumerActionId": "enqueue",

"publisherInputs": {

"buildStatus": "failed",

"definitionName": "Continuous Integration",

"projectId": "56479caf-1eeb-4bca-86ab-aaa6f29399d9",

},

"consumerInputs": {

"accountName": "MyStorage",

"accountKey": "abcdefghijklmnopqrstuvzabcdefghijklmnopqrstuvzabcdefghijklmnopqrstuvz",

"queueName": "tptestfailedbuilds",

"visiTimeout": "0",

"ttl": "604800",

},

}

Per la lista completa dei valori per “eventType”, “consumerId”, “consumerActionId” ed i parametri relativi all’evento ed al consumer è possibile consultare questa reference.

Conclusioni

Usando le REST API ed i Service Hooks è possibile estendere Visual Studio Online a tutti gli scenari possibili, anche grazie al formato REST e Json che rendono disponibili le funzionalità su qualsiasi piattaforma e in qualsiasi contesto.


read full article

Mobile camp: Bari e Napoli in ottobre, Venezia, Catania e Torino in novembre, Milano e Roma in dicembre

E-mail Stampa PDF

 

Nel mese di ottobre i mobile camp toccheranno le tappe di Bari e Napoli, a seguire saremo a Venezia, Catania, Torino, Milano e Roma. Ecco i rispettivi link per iscriversi gratuitamente e trovare informazioni più dettagliate:

 

 

Molti di voi sanno bene di cosa si tratta, ma ricapitoliamo in due parole: i mobile camp sono eventi gratuiti organizzati in varie città italiane per permettere agli sviluppatori di entrare in contatto diretto con gli esperti Microsoft e i membri delle community locali. Durante questi eventi vengono presentate alcune brevi sessioni teoriche che riguardano principalmente le ultime novità sulle tecnologie Microsoft, ma la maggior parte del tempo è dedicato allo sviluppo autonomo di progetti sul proprio pc, con l'enorme vantaggio di avere a completa disposizione gli esperti per un confronto faccia a faccia.

Non perdete questa occasione, vi aspettiamo!


read full article

Siete pronti a Windows 10? Sì, se sviluppate Universal App!

E-mail Stampa PDF

 

Il 30 settembre 2014 è stato ufficialmente presentato Windows 10, disegnato con lo scopo di raggiungere un numero sempre maggiore di utenti che utilizzano svariati tipi di device. Questa è la ragione per cui l'unificazione della User Experience assume un ruolo sempre più importante.

Ma quali sono le conseguenze dal punto di vista degli sviluppatori? Sebbene ci sia ancora molto lavoro da fare prima di poter rilasciare qualche dettaglio in più sulla developer experience specifica per Windows 10, Microsoft conferma che la strada da perseguire è quella delle Universal App. Si parte dalla condivisione del codice, con il vantaggio di poter creare App in grado di raggiungere gli utenti su qualsiasi tipo di dispositivo, ma prestando ovviamente particolare attenzione all'ottimizzazione della User Experience sulla base del device e del modo in cui questo viene utilizzato.

image

Con Windows 10, Microsoft prosegue nel lavoro di convergenza della piattaforma iniziato da tempo, completando il layer di API comuni e fornendo strumenti flessibili per garantire agli utenti la migliore User Experience.

Un'altra novità riguarda le Windows Store App, che con Windows 10 potranno girare all'interno delle finestre, con conseguente miglioramento delle performance e migliore adattabilità ai diversi tipi di schermo.

Microsoft conferma anche il progetto di unificazione dello Store: questo significa che gli sviluppatori potranno pubblicare le proprie App e metterle in mostra ad un mercato di utenti sempre più ampio, in maniera semplice, immediata e soprattutto indipendente dal device utilizzato. Inoltre, si sta lavorando per semplificare il meccanismo di distribuzione delle App anche dal punto di vista delle aziende, con la prospettiva di poter personalizzare l'esperienza di utilizzo dello Store.

Se volete vedere e “toccare con mano” un'anteprima di Windows 10 potete semplicemente partecipare al Windows Insider Program, ottenendo in questo modo una pre-release del nuovo Sistema Operativo. Trattandosi però di una versione non definitiva, vi invitiamo a seguire queste linee guida, tanto banali quanto utili:

  • Microsoft sconsiglia l'utilizzo di Windows 10 come Sistema Operativo principale per lo sviluppo di software. Tenete a mente che il Windows App Certification Kit al momento non funziona.
  • Non preoccupatevi se la vostra App non funziona correttamente su Windows 10: trattandosi di una pre-release, c'è ancora molto lavoro da fare per garantire la compatibilità.
  • Tenete in considerazione che, così come per le precedenti preview, anche questa versione del Sistema Operativo non è quella definitiva, sia in termini estetici che di funzionalità.

Per maggiori informazioni riguardo Windows 10 e il Windows Insider Program vi invitiamo a tenere sott'occhio il Blogging Windows.

In conclusione, il percorso che gli sviluppatori sono invitati a seguire è chiaro: le Universal App di oggi sono le fondamenta per lo sviluppo futuro su piattaforma Windows.

Quindi, se non lo avete ancora fatto, è sicuramente un ottimo momento per iniziare a sviluppare la vostra prima Universal App!

E se avete bisogno di un piccolo aiuto, ecco qualche link interessante.

Documentazione ufficiale:

Online training:


read full article

Guest post: Migrare facilmente da Team Foundation Server a Visual Studio Online

E-mail Stampa PDF

Questo post è stato scritto da Davide Benvegnù di DotNetToscana.

Il passato

In passato, quando ancora la versione "on-cloud" di Team Foundation Server (TFS) si chiamava "Team Foundation Services" e non era ancora stata rilasciata in GA, la migrazione da un nostro TFS on-premises alla versione online era, seppur possibile, abbastanza complessa.

L'opzione più rapida, ma che di fatto non era una vera e propria migrazione, era sostanzialmente quella di creare un Team Project nuovo su Team Foundation Services, mapparlo sul workspace, copiare la versione più recente dei sorgenti e fare check-in. Un approccio simile poteva essere usato per i Work Item, bastava infatti creare una query che recupera tutti i work item di quello specifico team project ed aprirla in Excel selezionando tutte le colonne disponibili. A questo punto basta aprire un'altra istanza di Excel, connetterla a TF Service ed incollare tutti i dati dalla prima istanza; un "publish" salverà tutti i dati.

In questo modo avevamo tutti gli elementi di lavoro ed i sorgenti sul sistema online, ma perdendo tutta l'history e, per quanto riguarda i workitem, tutti gli oggetti "avanzati" (campi html, allegati, commenti...)

Un'altra opzione, la migliore disponibile allora, era usare l’Integration Platform, un progetto open source gestito dai TFS Rangers che permette di gestire la sincronia e le migrazioni da e verso Team Foundation Server ed altri sistemi. Sebbene il tool sia molto potente e sicuramente ben realizzato, la migrazione avveniva non senza intoppi e richiedeva comunque una buona dose di interventi manuali (ad esempio la mappatura degli utenti, che richiedeva la modifica di un file xml).

La situazione attuale

Con il rilascio in GA di Visual Studio Online (VSO) e, soprattutto, con l'annuncio della disponibilità delle sue Open API basate su REST, la situazione è notevolmente migliorata. Queste API, infatti, affiancandosi ai normali endpoint di cui sia TFS che VSO sono forniti, permettono un controllo molto più profondo e puntuale sulle singole parti del sistema, sia per quanto riguarda la funzionalità di Source Control sia per la gestione dei WorkItem. È quindi ora possibile realizzare delle soluzioni software che, utilizzando proprio queste API, possono interagire con il sistema e migrare tutti i nostri dati dal nostro TFS on-premises a VSO.

Un'ulteriore buona notizia è che è stata anche rilasciata un'utility completamente gratuita, realizzata dall'azienda OpsHub in stretta collaborazione con il team di Microsoft che si occupa dello sviluppo di TFS e VSO, che ci permette di effettuare la migrazione in pochi passaggi e con pochi clic. Questa utility (il cui nome è OpsHub Visual Studio Online Migration Utility) è inoltre mantenuta costantemente aggiornata.

Perché dovrei passare da TFS a VSO?

Prima di vedere in pratica il "come" fare, analizziamo un attimo il "perché".

Ci sono molti motivi che ci potrebbero spingere a migrare dal TFS che abbiamo in casa ad una soluzione on-cloud. Quelli più frequenti sono:

· Aggiornamento da TFS vecchio (< 2013)

o Se dispongo di un TFS precedente al 2013 e voglio passare all'ultima versione, non è detto che le cose siano semplicissime. Oltre a dovermi preoccupare dell'installazione dell'update, ci sono anche altri elementi che vanno presi in considerazione. Ad esempio una nuova versione di TFS ha dei requisiti HW/SW maggiori rispetto alle versioni precedenti, quindi per poter aggiornare devo verificare che tutti i nuovi requisiti siano soddisfatti e andare ad acquistare nuovo hardware o nuove licenze software dove non lo siano.

o Passando a VSO non mi devo preoccupare di aggiornamenti HW e SW

· Ho già TFS 2013 ma devo scalare

o Supponiamo di avere una nostra infrastruttura interna basata su TFS, dimensionata per gestire al massimo 100 utenti. Cosa succede se il team di lavoro cresce e ci ritroviamo ad avere un team di 300 persone? Oppure se nell'installazione fatta avevamo utilizzato SQL Server Express ma ci accorgiamo che abbiamo bisogno di un'altra versione di SQL Server?

o Se passo a VSO non mi devo preoccupare né dell'Hardware né delle versioni Software in quanto fornito in SaaS

· Sto migrando tutto sul cloud

o Sempre più aziende, soprattutto di piccole e medie dimensioni, stanno abbandonando i DataCenter on-premises per affidarsi totalmente a soluzioni nel Cloud.

o Passando a Visual Studio Online è possibile andare a dismettere anche i server che stiamo utilizzando per gestire la nostra piattaforma di ALM

· Voglio poter avere sempre l'ultima versione disponibile di TFS, senza dovermi preoccupare degli aggiornamenti, delle configurazioni di sistema, dell'installazione…

o Visual Studio Online offre proprio questo (e molto di più).

Per avere una panoramica delle differenze tra la versione di Team Foundation Server disponibile e Visual Studio Online, potete consultare questo link: http://www.visualstudio.com/en-us/news/release-archive-vso

Come funziona l’utility di migrazione

Vediamo come funziona l'utility di migrazione:

· Supporta una migrazione one way (solo da TFS a VSO)

· Supporta la migrazione da TFS 2010, TFS 2012 e TFS 2013

· Utilizza i "normali" endpoint per connettersi a TFS ed esportare i dati

· Utilizza sia gli endpoint classici che le nuove Open API (REST Based) per importare i dati in VSO

· La migrazione avviene a livello di Team Project (non è quindi possibile migrare eventuali dati associati alla Team Project Collection)

L'ultima versione del tool ha introdotto anche la migrazione incrementale, ovvero è possibile ripetere la migrazione più volte andando di volta in volta ad importare su VSO solo gli elementi che precedentemente non erano stati migrati (cosa che non era possibile nelle versioni precedenti)

Il tool ha delle limitazioni su quanto viene migrato. Gli elementi di cui è supportata la migrazione sono:

· Codice sorgente sotto TFVC (inclusi changeset, label e history) – GIT non è supportato

· Aree e Iteration

· Work item, inclusi link, tag ed allegati (Esclusa ogni customizzazione e dati associati, come ad esempio campi custom, workflow custom, ecc)

· Immagini allegate ai work item

· Test suite, test case, test run e test result salvati

· Ogni “history action” per conto dell'utente originale in modo da preservare il più possibile la storia.

È importante notare che il tool non migra le customizzazoni, quindi se abbiamo delle esigenze in tal senso dovremmo orientarci verso altre soluzioni. Attenzione che se, durante la fase di verifica, l'utility rileva personalizzazioni ai Work Item Types restituisce un errore e non sarò possibile procedere alla migrazione.

Per ovviare a questo problema è necessario rimuovere le personalizzazioni; il modo più veloce per farlo è scaricare dal TFS i file xml del process template "standard" usato per creare il Team Project e riapplicarli sul progetto utilizzando il comando:

witadmin importwitd /collection:CollectionURL [/p:ProjectName] /f:FileName [/v]

Migriamo

Innanzitutto bisogna assicurarsi che l'account VSO che useremo per effettuare la migrazione sia membro del gruppo "Project Collection Service Accounts". Se non lo fosse, dobbiamo inserircelo dal portale della nostra sottoscrizione Visual Studio Online.

Dopo aver fatto login al portale, è sufficiente cliccare sul pulsantino delle impostazioni in alto a destra, selezionare il link "Manage collection security and group membership", andare sulla sezione "Users" e da lì impostare il gruppo all'utente.

Fatto questo, è necessario creare su Visual Studio Online un Team Project che abbia esattamente lo stesso nome del progetto che vogliamo migrare e che utilizzi lo stesso tipo di Process Template (ad esempio se ho creato il progetto sulmio TFS usanto il Process Template Scrum, dovrò utilizzare questo template anche per la creazione del progetto su VSO).

A questo punto è possibile iniziare la fase di migrazione vera e propria, lanciando l'utility.

Appena partita, selezioniamo la voce di menu "New Migration"

clip_image002

È necessario poi inserire gli endpoint sia per il TFS che abbiamo on–premises sia per Visual Studio Online. Per TFS è necessario anche specificare la Team Project Collection che contiene il/i progetto/i da migrare.

Per farlo è sufficiente inserire gli stessi dati che andremmo ad inserire in Visual Studio per connetterci:

clip_image004

clip_image006

Cliccando su “Next” è possibile dare un nome alla migrazione che andremo ad effettuare e, soprattutto, scegliere che cosa vogliamo migrare: solo i sorgenti, solo i work item oppure tutto.

clip_image008

Dopo aver nuovamente cliccato su “Next”, l’utility interroga il server TFS per proporre la lista dei progetti presenti nella Team Project Collection che abbiamo precedentemente selezionato e ci viene proposta una pagina in cui selezionare uno o più progetti da migrare.

clip_image010È interessante notare che se selezioniamo un progetto che non è già stato creato anche su VSO l’utility ci avvisa e non ci permette di continuare nella migrazione.

Effettuata la selezione, dobbiamo preoccuparci della mappatura degli utenti. Il tool, infatti, non importa direttamente gli utenti che trova su TFS ma ha bisogno che gli venga indicata una mappatura tra gli utenti. È possibile anche mappare più utenti TFS ad un solo utente VSO, dipende dal livello di coerenza che si vuole mantenere. Nonostante gli utenti siano diversi, a fine migrazione per tutti gli elementi di lavoro sarà comunque disponibile un riferimento all’utente originale.

clip_image012Per mappare uno o più utenti TFS ad un utente VSO è sufficiente cliccare sul nome dell’utente originale nella casella di sinistra e su quello di destinazione nella casella di destra e premere il pulsantino con la freccia. Fino a che non avremo mappato tutti gli utenti, non sarà possibile continuare.

Cliccando su “Next” parte la fase di validazione, in cui l’utility verifica che siano soddisfatti i requisiti per la migrazione (sostanzialmente, verifica che il Project Template usato sia dello stesso tipo su entrambi i progetti e che il progetto TFS non presenti customizzazioni)

clip_image014Se la validazione termina in modo positivo, cliccando su “Finish” si fa partire la migrazione, che avviene in due fasi.

La prima fase è quella della configurazione, in cui vengono raccolti i dati relativi al progetto su TFS e vengono creati script e raccolte che verranno poi utilizzati dalla migrazione effettiva.

clip_image016Se anche questa fase passa senza intoppi, viene proposto un box di conferma che, in caso di risposta positiva, dà il via al processo di migrazione effettivo.

clip_image018

Durante la migrazione, vengono indicati gli stati di progress ed eventuali warning (ovvero gli elementi indicati in “pending for retry”). Se abbiamo deciso di migrare sia i sorgenti che i workitem la schermata che avremo sarà come quella riportata di seguito, altrimenti vedremo solo uno dei due pannelli.

clip_image020Se la migrazione ha dato esito positivo, tutti i campi riporteranno la scritta “Completed” in verde. In caso invece si fossero verificati dei problemi avremo l’indicazione di “Error” con un dettaglio del problema. A seconda dei casi potrebbe essere sufficiente sistemare il problema e riavviare la migrazione oppure potrebbe essere necessario, sempre dopo aver corretto l’errore, cancellare completamente il progetto da VSO e rifare da zero la migrazione.

clip_image022

Conclusioni

Grazie alle recenti feature release di VSO e a questa utility è molto semplice riuscire a migrare i nostri Team Project dal TFS che abbiamo in casa ad un account Visual Studio Online. Tuttavia, come visto, ci sono delle limitazioni che in alcuni casi potrebbero essere impattanti per noi o la nostra azienda.

Il consiglio è quello di fare sempre prima una migrazione di test (approfittando del fatto che VSO è gratuito fino a 5 utenti) e, conseguentemente, valutare se la soluzione proposta può andare bene per gli scenari in cui dobbiamo muoverci.


read full article

Cloud Camp: prossimi appuntamenti

E-mail Stampa PDF

I Cloud Camp sono degli eventi teorici e pratici su Microsoft Azure, primariamente rivolti a sviluppatori o responsabili tecnici. Sono pensati sia per chi è nuovo dei servizi principali offerti da Azure, ma anche e soprattutto, a chi vuole implementare realmente una soluzione basata su Azure, discutendone aspetti di business e di architettura.

La mattina è dedicata alla parte Teorica, in cui viene presentato lo stato dell’arte di alcuni servizi: Virtual Machine, WebSites, Mobile Services, SQL Database, le novità e come usarli da Visual Studio 2013. Per chi conosce già questi servizi, venga preparato con domande da fare, sarà un piacere raccogliere le vostre impressioni e discutere dei dubbi.

Il pomeriggio è dedicato alla discussione dei progetti o delle soluzioni che vorreste portare su Azure. Vedremo di discutere aspetti relativi all’architettura, modelli di business, costi e quanto vi possa essere di aiuto per sfruttare Azure al meglio.

I prossimi Cloud Camp a cui è possibile iscriversi sono i seguenti:

Happy coding!


read full article

Novità per gli sviluppatori Windows e Windows Phone

E-mail Stampa PDF

 

Il MAX (Microsoft Advertising Exchange) apre le porte alle app di Windows Phone e Windows 8, in aggiunta a Skype, Outlook.com e  MSN.

Si tratta di una novità molto importante dal punto di vista degli sviluppatori: l'inserimento della pubblicità all'interno delle app è un valido modello di business, che vi permette di trarre benefici economici dalla vostra passione per lo sviluppo. Ecco perché è fondamentale assicurarsi di avere installato la versione più aggiornata del Microsoft Advertising SDK, tramite Visual Studio (TOOLS > Extensions and update > SDK) o direttamente dal link.

image

Il vantaggio sarà quello di avere a disposizione un numero maggiore di annunci pronti per essere inseriti all'interno delle vostre app e visualizzati dagli utenti, contribuendo quindi in maniera attiva al successo del vostro business.

Ma questa non è l'unica novità interessante per gli sviluppatori: a partire da questa settimana, la registrazione al Dev Center non ha più scadenza annuale. Questo significa che un unico pagamento vi permetterà di pubblicare le vostre app su Windows Store e Windows Phone Store oggi e in futuro, senza alcuna scadenza né rinnovo. Il risultato in termini pratici è che chi possiede già un developer account non dovrà pagare più nulla per mantenerlo, e per chi ancora non lo possiede è sicuramente il momento giusto per procedere con la prima ed unica iscrizione necessaria per pubblicare tutte le vostre app!

P.S.: Ricordate che la prima cosa da fare è riservare il nome della vostra app su Windows Store e Windows Phone Store, anche se non siete pronti per la pubblicazione e soprattutto se non siete in possesso di un marchio registrato.


read full article

Visual Studio mi chiede di fare login. Perchè dovrei?

E-mail Stampa PDF

Questo è un guest post speciale, è stato scritto da Erica Barone, la nuova evangelista del nostro team.
Benvenuta Erica! Sorriso

 

Fare il login su Visual Studio ti permette di impostare e modificare le tue impostazioni personali una sola volta e ritrovare la tua configurazione comoda e familiare di finestre, linguaggi, colori su qualsiasi pc. Anche la gestione delle notifiche viene sincronizzata, evitando di riproporti sul pc di casa la stessa notifica che hai già controllato magari proprio stamattina sul pc del lavoro.

image

Se poi sei in possesso di una licenza MSDN, allora il login è obbligatorio e l'associazione alla tua licenza viene automaticamente riconosciuta. Per questo motivo, anche se lavori prevalentemente offline, basta un semplice login periodico per mantenere attiva l'associazione di Visual Studio con la tua licenza MSDN.


read full article

Prossimi Mobile Camp

E-mail Stampa PDF

Le vacanze sono finite (almeno per la maggior parte di noi Triste) o stanno finendo, per cui è giunto il momento di iscriversi ai prossimi Mobile Camp sullo sviluppo per Windows Phone, Windows 8 e sulle nuovissime Universal App.

Durante il Mobile Camp verranno erogate delle sessioni teoriche e poi si lascerà tutto il tempo a disposizione per sviluppare, fare domande, sperimentare, testare le app su tablet e telefoni, etc…

Si potrà parlare di XAML, C#, VB, HTML, JS, Unity, Xamarin, etc…

Ci vediamo in queste città:

E, per chi è ancora in ferie, buon divertimento! Sole

-Lorenzo


read full article

Pagina 9 di 49

 
 
 
 
Certificazioni