Welcome

This is the generic homepage (aka Aggregate Blog) for a Subtext community website. It aggregates posts from every blog installed in this server. To modify this page, edit the default.aspx page in your Subtext installation.

To learn more about the application, check out the Subtext Project Website.

Powered By:

Blog Stats

  • Blogs - 715
  • Posts - 31104
  • Articles - 310
  • Comments - 111280
  • Trackbacks - 590735

Bloggers (posts, last update)

Latest Posts

IAP - Internet Application Protocol

IAP: Fast, Versatile Alternative to HTTP

http://tutorials.jenkov.com/iap/index.html

posted @ 04/02/2016 8.45 by Alessandro Gervasoni

Delirio TIM

Desidero raccontarvi la mia esperienza con TIM Vision (e che venga indicizzato il mio articolo).

Fine 2015

La TIM mi contatta avvisandomi che la mia offerta ALICE Home TV non esiste più e che mi cambiano il decoder sostituendolo con TIM Vision che mi verrà inviato entro fine anno. Dato che non sono in casa, preoccupato, chiamo per variare l'indirizzo di consegna: troppo tardi, la prima consegna è già andata. Chiedo anche che non ci siano costi aggiuntivi in bolletta: me lo assicurano.
Sapendo come funzionano le cose, richiamo a distanza di poco tempo e mi riconfermano che pagherò sempre lo stesso importo.

Inizio 2016
Arriva il decoder, lo ritiro, lo installo e chiamo la TIM per avere conferma che non ci siano costi aggiuntivi: confermano.

27/01/2016

Arriva una mail dove si avverte che TIM Vision è attivo e pagherò 5 euro al mese. Fantastico! Io guardo poco la TV e utilizzo Tim Vision solo come decoder del digitale terrestre avendo una vecchia TV.

Prima telefonata
Risponde un'operatrice, verifica e mi avvisa che se non voglio pagare i 5 euro devo rispedire il decoder a Roma a mie spese e poi richiamarli per avvisarli. Le spiego in tutti i modi che mi avevano assicurato che non c'erano costi aggiuntivi. Non mi propone altre risposte.

Seconda telefonata
L'operatrice mi conferma che devo restituire il decoder e mi apre la pratica per la restituzione. Mi informo su internet e vedo che molti dicono di non ritirare il decoder.

Terza telefonata
Cade la linea

Quarta telefonata
Cade la linea

Quinta telefonata
Un operatore mi avvisa che hanno problemi sulle linee e che non mi potrà aiutare se non per domande generiche. Chiedo se posso restituire il decoder in un centro TIM, mi risponde negativamente ma mi prospetta l'ipotesi della sospensione temporanea del servizio

Recupero la mail e mi leggo tutto il contratto. Verifico che al punto 6 parla di sospensione temporanea priva di durata per un massimo di 3 volte l'anno. In questo modo il decoder non deve essere rispedito e il servizio non viene fatturato. Verifico anche che è possibile interrompere il servizio e comprarsi il decoder.

Sesta telefonata
L'operatore mi nega la possibilità di sospensione temporanea o di acquisto del decoder e apre un reclamo.

Settima telefonata
L'operatore dice di non saperne nulla ma mi avvisa che sarò contattato da un commerciale entro 48 ore. Mi fornisce anche il numero di una fantomatica amministrazione con determinati orari che risultano poi errati.

28/01/2016
Ottava telefonata
Provo ad anticipare i tempi anche perché ho paura che una cessazione mi obblighi ad acquistare il decoder. L'operatrice IN MENO DI UN MINUTO CON UN CLICK cambia la cessazione in sospensione: INCREDIBILE! Dovrò pagare i 5 euro del primo mese ma, a questo punto, non fa niente.

La sera vengo contattato per la pratica di cessazione, spiego che volevo una sospensione, l'operatrice annulla la cessazione.

A questo punto mi viene il dubbio che l'annullamento si ripercuota sulla sospensione

29/01/2016

Nona telefonata
L'operatore (davvero ignorante) dice che non c'è possibilità di sospensione né di vendita, che si paga il decoder e non il servizio e che l'operazione di cessazione è in corso. Inoltre c'è un reclamo dove io richiedo la cessazione. Litigo, minaccio di denunciarlo e riattacco. Questa persona si è dimostrata altamente incompetente anche perché ormai sono diventato esperto del contratto TIM Vision

Decima telefonata
Chiedo all'operatore di chiudere il reclamo. In realtà lo aggiorna solamente scrivendo che io chiedo una sospensione e non una cessazione. Mi conferma che la pratica di cessazione è in corso, chiedendomi di telefonare tra qualche giorno.

30/01/2016
Undicesima telefonata
L'operatrice, molto maleducata, mi risponde che nel weekend il numero per il Tim Vision è 800187800. Questa cosa è incredibile ma probabilmente ha ragione lei... solo che rispondermi in quella maniera solo perchè le ho fatto ripetere due volte la risposta...

Dodicesima telefonata
Chiamo 800187800 e l'operatrice mi avvisa della presenza di due pratiche: una di recesso e una di sospensione entrambe in lavorazione. Richiamare lunedi.

Continua...

Technorati tags: ,

posted @ 29/01/2016 18.18 by Emanuele Prato

Cancellare Work Item in VSTS

Una delle prime domande che mi sono sempre state fatte in questi anni dagli utenti che iniziano ad usare TFS ed iniziano a “Giocare” con il sistema è: Come posso cancellare un Work Item? 

Questa domanda è sicuramente una delle più fatte, perchè di base, fino alle ultimissme versioni, l’unico modo di cancellare un Work Item era tramite riga di comando (witadmin destroywi). La ragione di questo è abbastanza normale, TFS è un sistema di tracciatura dati che deve garantire l’accountabilty, per cui in realtà non cancellerete mai un Work Item, ma ad esempio lo mettere in stato “Done” oppure per un bug in stato “Chiuso” con reason “duplicato” etc etc.

Purtroppo però esistono situazioni in cui realmente si vuole andare a rimuovere completamente un Work Item, non lasciando traccia nel sistema. Dato che la riga di comando è abbastanza poco user friendly, e soprattutto può solamente essere utilizzata da chi ha sufficienti diritti per cancellare un Work Item, sempre si più si è sentita la necessità di poter cancellare un Work Item direttamente dalla UI Web.

image_thumb[2]

 

Una volta cancellato un Work Item, il sistema avverte che in realtà non è stato realmente cancellato, ma per ora parcheggiato nel Recycle Bin.

image_thumb[5]

Il link al Recycle Bin campeggia anche in bella vista nella schermata dei WORK ITEMS.

image_thumb[8]

Nel recycle bin avete la possibilità di ripristinare il Work Item (1) cosi come la possibilità di cancellarlo definitivamente (2)

image_thumb[11]

Nel caso di Restore l’accountability è garantita, perchè l’operazione di Delete e Restore sono correttamente incluse nella storia del Work Item.

image_thumb[14]

In caso selezionate il Delete dal cestino sarete avvertiti che l’operazione non è reversibile, in questo caso il Work Item, con tutta la sua storia è persa per sempre.

image_thumb[17]

Come ultima nota, se dovete cancellare più Work Item contemporaneamente, potete o selezionare tutti i Work Item che volete cancellare e poi facendo click con il tasto Destro scegliere Delete, oppure direttamente effettuare dal backlog un Drag And Drop sull’icona del cestino.

image_thumb[21]

Questa funzionalità per ora è disponibile solamente in VSTS e non in TFS on-premises.

Gian Maria Ricci.

posted @ 29/01/2016 17.39 by Gian Maria Ricci

Nuovo deploy di VSTS

Potete leggere online tutte le nuove funzionalità disponibili su Visual Studio Team Services rilasciate il 25 gennaio.

Dopo poco dall’introduzione del concetto di Dashboard è ora possibile scrivere nuovi widget come estensioni di VSTS. Molte altre novità sono sempre state rilasciate nell’ambito delle dashboard, tra cui la possibilità di fare auto-refresh delle dashboard stesse (utile nel caso vogliate mettere qualche dashboard sempre visibile su un monitor).

Ci sono moltissime altre modifiche, ma una delle più interessanti è la possibilità di effettuare ricerche contemporaneamente sul codice Git e TFVC, dato che ora vi è la possibilità di avere entrambi i source control su un unico Team Project.

Come sempre non mi stancherò di ripeterlo, una delle ragioni per usare VSTS è la possibilità di rimanere sempre aggiornato con continue novità senza dovere spendere un solo millisecondo ad amministrare server installati on-premises.

Happy VSTS.

Gian Maria.

posted @ 28/01/2016 18.58 by Gian Maria Ricci

DependencyInjecton

DependencyInjection (DI) è un approccio architetturale e culturale prima di ogni altra cosa, una volta che l’avete fatto vostro intimamente scoprite che esistono i container che sono li solo ed esclusivamente per semplificare gli aspetti implementativi.

Se DI per voi non è in primis una filosofia vi ritrovate a far largo uso di ServiceLocator, ViewModelLocator e di un sacco di altre porcate che dovrebbero farvi accapponare la pelle.

In questo caso fatevi delle domande.

posted @ 20/01/2016 16.15 by Mauro Servienti

SOA service model decomposition: il requisito

A Napoli abbiamo parlato di “Services UI Composition” e per arrivare li siamo partiti dal problema che vogliamo risolvere problema inevitabilmente generato da una corretta implementazione dei dettami di SOA e DDD. Prima di tornare a parlare di “Services UI Composition”, argomento vastissimo e complesso, vorrei fare un escursus sul processo di modellazione che, se basato su DDD e SOA, porta a risultati che per alcuni possono essere inaspettati.

Fate un favore a voi stessi dimenticatevi la tecnologia, evitate cioè di cercare immediatamente una soluzione tecnologica a tutto quello che diremo, è controproducente. Inoltre ricordatevi che cosa è un servizio.

Il requisito

Uso il solito esempio trito e ritrito della vendita online, esempio che conosciamo tutti e dominio con cui in qualche modo abbiamo avuto a che fare.

State modellando il vostro bel sistema di e-commerce, il vostro UX architect si presenta con un mockup come il seguente per darvi un’idea delle informazioni che ritiene debbano essere presenti in una ipotetica lista prodotti:

image

Se doveste modellare un dominio che descrive il mockup di cui sopra quanti classi, e quali, definireste? O in altri termini quanti servizi SOA sono coinvolti in quella rappresentazione? o ancora quanti Bounded Context DDD? 1, 2 , 3…5…quante/i?

posted @ 14/01/2016 12.15 by Mauro Servienti

Complessità, apprendimento, esperienza

Roberto commenta e questo genera ispirazione per un altro post, ottimo direi.

image

http://blogs.ugidotnet.org/topics/archive/2015/12/10/architettura-una-ed-una-solahellip.aspx

La frase saliente che riepiloga perfettamente gli ultimi due anni abbondanti della mia carriera è la seguente:

…un lungo processo di affinamento del proprio giudizio…

Aggiungerei anche un lungo percorso di apprendimento.

Le architetture complesse, la complessità in generale, ci mettono a nudo rendendo spesso vane tutte le nostre conoscenze pregresse perché ci rendiamo conto che la stragrande maggioranza di quello che sappiamo è inapplicabile.

Se di fronte a nuove complessità vi sentite nudi e spaesati avete già vinto, perché vuol dire che siete pronti a sperimentare, scoprire e imparare; probabilmente prendendo anche un paio di schiaffoni, ma comunque vada a fare nuova e preziosissima esperienza.

Se vi sentite spavaldamente in grado di affrontare le novità…bhe…buona fortuna :-)

posted @ 12/01/2016 13.46 by Mauro Servienti

Feature.js

A Fast, simple and lightweight browser feature detection library written in plain JavaScript

http://featurejs.com

posted @ 12/01/2016 12.46 by Alessandro Gervasoni

script.js

https://github.com/ded/script.js
$script.js - Async JavaScript loader & dependency manager

posted @ 05/01/2016 14.08 by Alessandro Gervasoni

Tutte le notifiche disabilitate, tutte le notifiche disabilitate, tutte.

Quasi sempre la gente mi guarda male quando dico che ho tutte le notifiche disabilitate, ovunque, e che non ho neanche la suoneria del cellulare, faccio sempre un po' fatica a spiegare quali sono i motivi.

Seth Godin ha una capacità di sintesi fenomenale: http://sethgodin.typepad.com/seths_blog/2015/12/paying-the-smart-phone-tax.html

--

Buon Natale Smile

https://www.youtube.com/watch?v=yMvpJDbWX_c

posted @ 22/12/2015 10.24 by Mauro Servienti

Angular Material


https://material.angularjs.org

For developers using AngularJS, Angular Material is the reference implementation of Google's Material Design Specification. This project provides a set of reusable, well-tested, and accessible UI components based on Material Design.

posted @ 21/12/2015 0.16 by Alessandro Gervasoni

Personalizzazione del process template finalmente su VSTS

Una delle limitazioni più “sentite” della versione “online” di TFS, meglio conosciuta come Visual Studio Online, ora Visual Studio Team Services era l’impossibilità di personalizzare il process template. Finalmente con il deploy del 10 Dicembre questa limitazione lentamente inizia a sparire.

Finalmente è ora possibile in Visual Studio Team Services personalizzare parzialmente il Process Template

Perché dico lentamente? Perché in realtà non si ha ancora la completa personalizzazione del Process Template, come si ha invece per la versione On Premises e la ragione è questa: dato che è Microsoft che si occupa degli aggiornamenti, non può permettersi di verificare se gli aggiornamenti al Process Template sono compatibili con le vostre personalizzazioni, e quindi la struttura di estendibilità di VSTS è stata completamente cambiata. Non è quindi supportata la modalità standard con la quale si poteva scaricare i file XML di definizione, cambiarli e poi ri-uploadarli, perchè questo permetterebbe di personalizzare praticamente tutto.

Vediamo quindi che funzionalità di estensione sono presenti ora in VSTS.

Process Template Ereditati

Nella pagina di amministrazione della Project Collection potete vedere infatti tutti i process template disponibili ed il numero di Team Project che lo usano.

image

 

Questi template sono quelli Base forniti da Microsoft e non possono essere cambiati. Quello che si può fare è creare dei Process template ereditati dove verranno in realtà effettuate le personalizzazioni. Il primo passo per creare le proprie personalizzazioni è quello di creare un nuovo processo ereditato

image

 

image

In questo modo si è creato il proprio processo che eredita da quello Agile. La documentazione ufficiale dettagliata si può trovare qui https://msdn.microsoft.com/en-us/Library/vs/alm/Work/import-process/import-process.

L’ereditarietà dei processi garantisce che nessuno possa modificare i processi base, che sono gestiti da Microsoft, semplificando le operazioni di upgrade.

Appena il vostro nuovo processo ereditato è stato creato vi viene offerta la possibilità di creare un nuovo Team Project basato sul processo ereditato oppure di cambiare un Team Project esistente per usare il nuovo template. Attenzione che in questo secondo caso potete cambiare un Team Project che è basato sul processo master da cui siete partiti. Non è infatti ad esempio possibile portare un Team Project da SCRUM a Agile o CMMI o viceversa.

image

Infatti come si può vedere dalla figura successiva, solamente i Team Project basati sul template Agile sono disponibili per essere migrati al nuovo progetto.

Per ora non è possibile migrare un Team Project da un processo ad un altro (es da Scrum ad Agile), ma solamente tra processi ereditati.

image

In questo modo quando Microsoft deve aggiornare uno dei Process Template base, può farlo senza problemi, perché tutte le modifiche vengono in realtà effettuate su di un processo che “eredita” le caratteristiche di quello base e su di lui imposta le personalizzazioni.

personalizzazione web based

A questo punto potete andare ad effettuare le personalizzazioni del template direttamente tramite l’interfaccia web senza dovere editare manualmente file XML.

Per la personalizzazione dei template di VSTS non è più necessario l’editing manuale di file XML, ma tutte le operazioni vengono fatte dall’interfaccia web.

Cliccando su uno dei process template ereditati, si può procedere alla personalizzazione.

image

Cliccando nella Work Item Types posso ad esempio andare ad aggiungere un nuovo campo al Work Item di tipo Bug, supponiamo di volere aggiungere un campo che permetta di identificare il cliente che ha segnalato il bug.

image

Potete chiaramente sia aggiungere un Field esistente (perché magari presente su un altro Process Template ereditato) sia crearne uno nuovo.

image

Per ora non è possibile aggiungere l’intero set delle regole che sono normalmente disponibili per i campi dei Work Item. Le regole sono limitate al valore di default e obbligatorietà del campo. Il posizionamento nell’interfaccia invece viene semplicemente fatto con drag and drop andando a posizionare il campo dove si preferisce.

image

La gestione dei campi è ora radicalmente semplificata, è possibile infatti avere anche la lista di tutti i field, e sapere esattamente da quali Work Item questi field sono referenziati.

image

Infine è possibile anche gestire la sicurezza di questo Process Template ereditato, stabilendo chiaramente chi può modificarlo, cancellarlo o creare ulteriori processi ereditati.

image

Il vostro nuovo campo è ora disponibile ai vostri utenti.

image

Conclusioni

Con questo primo deploy, inizia a cadere una delle più sentite limitazioni di VSTS rispetto alla versione on premises, ovvero la possibilità di adattare il process template alle proprie esigenze. Sicuramente in futuro le possibilità di espansione verranno aumentate e come sempre vi consiglio di seguire il nostro blog per rimanere sempre aggiornati. :)

Buone feste a tutti.

posted @ 19/12/2015 13.01 by Gian Maria Ricci

reqres.in

Test your front-end against a real API


http://reqres.in/

posted @ 18/12/2015 8.58 by Alessandro Gervasoni

Falsi miti: il modello in lettura di CQRS è asincrono

Una strana corrente di pensiero dice che CQRS porta con se la necessità di andare d’accordo con la consistenza eventuale perché il modello in lettura è asincrono, con l’ovvia conseguenza che ci vediamo costretti a portarci a casa un bus di qualche tipo per far si che modello in scrittura e modello in lettura siano allineati.

Concedetemi il francesismo: balle :-)

CQRS si limita a postulare che il canale di scrittura e il canale di lettura devono essere diversi. Fine, punto e capo.

Cosa ci vieta quindi di avere un repository che usa un contesto di EntityFramework per maneggiare gli aggregati e un contesto di EF, o una ISession di NHibernate, completamente diverso che legge delle viste, o le tabelle stesse, su SQL Server?

Avete tutti i benefici di CQRS, potete costruire tanti modelli in lettura che mappano 1:1 gli scenari utente, potete giovare di un modello di scrittura che sia incapsulato e pensato per l’esecuzione di comandi e la consistenza, etc…etc…

Con Nazareno abbiamo lavorato sodo per dimostrare che si può fare ed è pure facile.

posted @ 16/12/2015 9.34 by Mauro Servienti

[OT] Santa Claus Tracker

https://santatracker.google.com/#village

posted @ 11/12/2015 11.06 by Alessandro Gervasoni

Architettura: una ed una sola…?!?!

Secondo me il problema è tutto li e ruota attorno all’uso del singolare e il problema siamo sempre noi sviluppatori. Abbiamo parlato di bene e male ci siamo lasciati con una domanda, poco tempo fa abbiamo invece dettagliato che cosa sia un servizio.

In quest’ultimo periodo mi rendo sempre più conto che quando sento parlare di architettura, applicata ad uno scenario reale, sento sempre parlare di una sola architettura, perché tendiamo a pensare all’applicazione, o peggio ancora al sistema, nel suo insieme.

I bounded context di DDD, che possono essere per certi versi accumunati con i servizi di SOA, sono e devono essere isolati, esattamente come i servizi, altrimenti non si chiamerebbero bounded :-)

Dato che sono isolati e potenzialmente lo possono essere anche dal punto di vista del deploy perché ci danniamo per far si che la stessa scelta architetturale sia adottata da tutti i servizi? Potremmo giovare di motori di persistenza diversa, di design architetturali diversi, il tutto in base al contesto, i requisiti e le necessità del momento.

Invece no: se abbiamo scelto `event sourcing` (la prima che mi è venuta in mente) allora ci ostiniamo a fare tutto con `event sourcing` ritrovandoci di conseguenza a fare magheggi tecnologici ove `event sourcing` non sia la scelta adeguata.

Comincio a sospettare che, noi dev, siamo causa di più grattacapi di quelli che risolviamo :-)

posted @ 10/12/2015 10.13 by Mauro Servienti

#NoEstimatesBook

http://noestimatesbook.com/

posted @ 09/12/2015 15.14 by Alessandro Gervasoni

jquerymy.js

A lightweight jQuery plugin for complex two-way  data binding in real time.
http://jquerymy.com

posted @ 01/12/2015 16.10 by Alessandro Gervasoni

Di riffa o di raffa… (cit.)

Il commento di Roberto al post che parla di `domain event` e di commistione degli stessi con il concetto di `event` in Pub/Sub mi porta a fare una considerazione:

image

Un sistema complesso porta con se delle complessità, direi che è quasi lapalissiano. Quello che vogliamo evitare come la peste è che le complessità si tramutino in complicazioni che hanno il solo effetto di ritorcersi contro il sistema stesso.

La complessità purtroppo difficilmente la possiamo evitare, probabilmente la possiamo arginare, ma la cosa importante è avere gli strumenti che ci permettano di capire quando il lavoro di arginamento che stiamo facendo ci stia portando dalla complessità verso la complicazione.

Il problema odierno, come evidenzia indirettamente Roberto, è che gli strumenti che abbiamo a disposizione danno pochissimo, se non zero, supporto quando ci troviamo di fronte alla costruzione di un sistema complesso, e magari anche distribuito, diventa quindi fondamentale comprendere tutte le insidie che si nascondono nella complessità ed è estremamente importante essere rigorosi e addirittura pignoli ad ogni piè sospinto.

Differenze

Un `domain event` è parte integrante, o fondante in alcuni casi, del dominio, vive in un `bounded context` e come ogni altre parte del dominio è incapsulata, e protetta, all’interno del BC di appartenenza. Un `domain event` nasce per soddisfare una necessità ben precisa: event sourcing, tale necessità determina che l’evento deve per forza di cose contenere tutte informazioni necessarie a ricostruire lo stato nel BC dove l’evento si è verificato.
Incapsulare un `domain event` è fondamentale per proteggere gli altri, quelli che stanno fuori, al fine di evitare che possano avere dipendenze da informazioni che non gli appartengono.

Dall’altra parte un evento, in un modello basato su `pub/sub`, ha uno scopo diametralmente opposto, quello di superare i confini del BC è destinato per il grande pubblico, grande pubblico che tipicamente non è noto a chi pubblica l’evento. In questo scenario le informazioni che l’evento porta con se sono il minimo indispensabile, sono ridotte all’osso con lo scopo di proteggere se stessi e il grande pubblico.

Una metafora:

Pensate di correre con qualcuno, avete due scelte:

  1. correre abbracciati;
  2. correre tenendovi per mano;

Il primo caso richiede un enorme affiatamento e il cambio di comportamento di uno dei corridori influenza moltissimo l’altro, facendogli correre anche dei rischi; la seconda modalità concede molta più libertà ai corridori facendo si che anche due perfetti sconosciuti siano in grado di correre insieme con facilità.

  • correre abbracciati => domain event;
  • correre tenendovi per mano => event;

Di riffa o di raffa…da qui non si scappa ;-)

posted @ 01/12/2015 10.02 by Mauro Servienti

Nuovo deploy di VSO ooopps VSTS :)

Questo novembre è stato decisamente interessante per quanto riguarda Visual Studio Online, ribattezzato oramai in Visual Studio Team Services come già detto da Antonio nel suo post sulle novità di connect().

Con il deploy del 18 Novembre, di cui potete leggere qui, sono state rese pubbliche moltissime novità. Una delle più interessanti è il Release Management vNext in public preview. Chiunque abbia lavorato con Release Management non avrà mancato di notare che la UI era molto difforme dalle UI standard di VSTS / TFS, questo perchè in realtà il prodotto era il vecchio InRelease di InCycle Software, acquisito da Microsoft.

Come per tutte le altre funzionalità, anche la nuova versione di Release Management è completamente Web Based e non richiede l’installazione di un client separato.

La seconda succosa novità è il supporto per i package, come descritto in questo post. Per ora si parla solamente di Nuget, ma sicuramente verrà aggiunto il supporto ad altre tecnologie. La cosa interessante è che nel post viene detto come il package management service sia stato scritto come estensione di VSTS. Questo mostra come la tradizione di DogFooding sia sempre attiva in MS.

Infine anche la parte di testing ha avuto le sue novità, iniziando da un nuovo hub nell’area di TEST per visualizzare il risultato degli unit testing delle Build, con molte funzionalità interessanti, per finire con una estensione di Chrome per eseguire sessioni di Exploratory testing senza la necessità di installare MTM, ma con una esperienza browser based.

Ebbene, non facciamo in tempo a compiacerci di queste nuove funzionalità che già abbiamo un ulteriore annuncio di un nuovo deploy del 24 novembre. Se pensate che questo sia un rilascio minore, viste le novità rilasciate 6 giorni prima, vi sbagliate di grosso.

Finalmente in questo rilascio viene data la possibilità di usare Git e TFVC nello stesso Team Project, una delle funzionalità più richieste dall’introduzione di Git in TFS / VSTS.

Nella build è ora presente un nuovo task dedicato alla pubblicazione di NuGet nel feed interno di VSTS, rendendo di fatto veramente banale creare e pubblicare i propri package nuget da una build di TFS.

Per le Dashboard abbiamo un nuovo widget dedicato alle Pull Request, in modo da massimizzare la visibilità delle stesse a livello di team.

E’ stata poi introdotta una sintassi per cui con il carattere @ si può effettuare una mention di un membro del progetto e con # si può menzionare un work item. Questa sintassi è supportata nelle pull request, nei comment dei changeset, nei commenti degli shelveset, e piano piano verrà estesa a tutte le aree di TFS / VSTS. La parte veramente interessante è che, menzionando un membro del team con @, verrà inviata una mail di alert per avvertire la persona che è stata menzionata.

Infine sono state introdotte le shortcut per favorire la navigazione.

In conclusione, abbiamo sempre più ragioni per scegliere VSTS come nostra piattaforma di gestione ALM.

Gian Maria.

posted @ 27/11/2015 18.48 by Gian Maria Ricci

Latest Images

From miscellaneous
From miscellaneous
From miscellaneous
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini