Plug-in del modello di processo Classification

Aggiornamento: novembre 2007

Il plug-in Classificazione controlla le iterazioni e la struttura di un progetto team. Il nome del plug-in è Microsoft.ProjectCreationWizard.Classification. Il file XML relativo alla classificazione è denominato Classification.xml ed è posizionato nella cartella Classificazione nella gerarchia delle cartelle del modello di processo. Se necessario, è possibile modificare il nome del file XML e della cartella.

Specificare una o più attività e le relative dipendenze nel file XML. In genere, è sufficiente una singola operazione per specificare tutte le iterazioni e i nodi necessari per un progetto team. Per un esempio di attività in cui vengono specificate iterazioni, vedere il file Classifications.xml nel modello di processo MSF for Agile Software Development.

Nota:

Team Foundation Server non include un meccanismo per la distribuzione di plug-in, criteri o altre modifiche sul lato client. Se si desidera distribuire plug-in, criteri o altre modifiche a Team Explorer, è opportuno utilizzare il programma di distribuzione e installazione di cui si dispone.

Iterazioni

Le iterazioni definite per un processo determinano il numero di ripetizioni da parte del team di un gruppo particolare di attività principali (come pianificazione, sviluppo, test). Le iterazioni hanno effetto sulle query elemento di lavoro e sui report in quanto sono utilizzate per raggruppare gli elementi di lavoro. Ad esempio, un membro di un team può eseguire una query per tutti gli elementi di lavoro Bug dall'iterazione 1. Le iterazioni vengono visualizzate nel campo System.IterationPath per tutti gli elementi di lavoro che fanno riferimento a questo campo.

È necessario specificare il nodo principale per le iterazioni utilizzando la seguente sintassi.

<Node StructureType="ProjectLifecycle" Name="Iteration" >

Specificare quindi zero o più nodi figlio per tutte le iterazioni necessarie per il processo. Utilizzare l'elemento node per specificare ciascuna iterazione. Impostare l'attributo StructureType su ProjectLifecycle.

Nell'esempio riportato di seguito viene mostrato come specificare quattro iterazioni: Milestone 1, Milestone 2, Beta e RTM.

<?xml version="1.0" encoding="utf-8" ?>
<tasks>
   <task
      id="UploadStructure"
      name="Creating project structure"
      plugin="Microsoft.ProjectCreationWizard.Classification"
      completionMessage="Team project structure created.">
      <taskXml>
         <Nodes>
            <Node StructureType="ProjectLifecycle" Name="Iteration" >
               <Children>
                  <Node StructureType="ProjectLifecycle" Name="Milestone 1"></Node>
                  <Node StructureType="ProjectLifecycle" Name="Milestone 2"></Node>
                  <Node StructureType="ProjectLifecycle" Name="Beta"></Node>
                  <Node StructureType="ProjectLifecycle" Name="RTM"></Node>
               </Children>
            </Node>
         </Nodes>
      </taskXml>
   </task>
</tasks>

Aree

Le aree rappresentano gruppi chiave nel progetto team. Ad esempio, un team può organizzare il lavoro sul prodotto come se ci fosse un'area client, un'area server e un'area extensibility. Le aree vengono utilizzate per raggruppare elementi di lavoro per query e report. Le aree sono visualizzate nel campo System.AreaPath per tutti gli elementi di lavoro che fanno riferimento a questo campo.

È necessario specificare il nodo principale delle aree utilizzando la seguente sintassi.

<Node StructureType="ProjectModelHierarchy" Name="Area" >

Specificare quindi zero o più nodi figlio per tutte le aree necessarie per il processo. Utilizzare l'elemento node per specificare ciascuna area. Impostare l'attributo StructureType su ProjectModelHierarchy.

<Node StructureType="ProjectModelHierarchy" Name="" ></Node>

Nell'esempio riportato di seguito viene mostrato come specificare due aree, Client e Server.

<?xml version="1.0" encoding="utf-8" ?>
<tasks>
   <task
      id="UploadStructure"
      name="Creating project structure"
      plugin="Microsoft.ProjectCreationWizard.Classification"
      completionMessage="Portfolio project structure created.">
      <taskXml>
         <Nodes>
            <Node StructureType="ProjectModelHierarchy" Name="Teams" >
               <Children>
                  <Node StructureType="ProjectModelHierarchy" Name="Client"></Node>
                  <Node StructureType="ProjectModelHierarchy" Name="Server"></Node>
               </Children>
            </Node>
         </Nodes>
      </taskXml>
   </task>
</tasks>
Nota:

Se si modificano le iterazioni o le aree di un modello di processo, evitare di interrompere le attività delle istanze degli elementi di lavoro in workitems.xml. Tali istanze possono fare riferimento a iterazioni o aree specifiche.

Specifica delle proprietà di mapping campi di Microsoft Project

Il plug-in Classificazione definisce anche mapping campi tra i tipi di elemento di lavoro e Microsoft Project. A differenza di Microsoft Excel, Microsoft Project utilizza un insieme limitato di colonne che include colonne predefinite quali quelle relative al nome di attività e campi personalizzati. Quando un utente pubblica o aggiorna i dati degli elementi di lavoro in un file di Microsoft Project, il mapping campi viene utilizzato per determinare quali campi del database dell'elemento di lavoro corrispondono alle colonne presenti in Microsoft Project.

È possibile personalizzare le associazioni, ad esempio, per supportare un nuovo campo o associare campi a colonne predefinite invece che a colonne personalizzate. Per la documentazione completa sul file di mapping dei campi di Microsoft Project, vedere File di mapping campi di Microsoft Project.

Il mapping dei campi è incluso in un file XML denominato FileMapping.xml. Classification.xml deve contenere una voce che faccia riferimento al file FileMapping.xml come illustrato nell seguente esempio.

<properties>
   <property name="MSPROJ" 
             value="Classification\FileMapping.xml" 
             isFile="true" />
</properties>

In FileMapping.xml specificare i campi associati utilizzando l'elemento Mapping.

<Mappings>
   <Mapping WorkItemTrackingFieldReferenceName="System.Id" 
            ProjectField=""
            ProjectName=""
         ProjectUnits=""
         PublishOnly=""/>
</Mappings>

Nella tabella riportata di seguito vengono descritti gli attributi relativi all'elemento mapping.

Attributo

Descrizione

WorkItemTrackingFieldReferenceName

Obbligatorio. Specifica il nome di riferimento del campo di un tipo di elemento di lavoro.

ProjectField

Obbligatorio. Specifica il nome di una colonna di Microsoft Project. Specificare le colonne predefinite anteponendo il prefisso "pj" al nome, ad esempio pjTaskName per la colonna Task Name. Specificare i campi personalizzati come pjTaskText seguito da un numero, ad esempio pjTaskText11.

ProjectName

Facoltativo. Specifica il nome visualizzato dall'utente come nome della colonna. Se questo attributo non è specificato, viene utilizzato il nome del campo del tipo di elemento di lavoro.

ProjectName

Facoltativo. Specifica il nome visualizzato dall'utente come nome della colonna. Se questo attributo non è specificato, viene utilizzato il nome del campo del tipo di elemento di lavoro.

ProjectUnits

Facoltativo. Specifica il tipo di unità da utilizzare quando si esegue il mapping tra un tipo di campo e Microsoft Project. Tra i valori validi sono compresi pjMinute, pjHour, pjDay, pjWeek e pjMonthUnit.

PublishOnly

Facoltativo. Se è impostato su true, indica che il campo è pubblicato nel database degli elementi di lavoro, ma non aggiornato. Questo valore viene in genere utilizzato per campi calcolati che non devono essere aggiornati in Team Explorer. Se è impostato su no, indica che il campo è pubblicato e aggiornato. Se non viene specificato, il valore predefinito è no.

Nell'esempio riportato di seguito viene mostrato come il modello di processo MSF for Agile Software Development associ i campi degli elementi di lavoro a Microsoft Project.

<?xml version="1.0" encoding="utf-8"?>
<MSProject>
   <Mappings>
      <Mapping WorkItemTrackingFieldReferenceName="System.Id" ProjectField="pjTaskText10" ProjectName="Work Item ID"/>
      <Mapping WorkItemTrackingFieldReferenceName="System.Title" ProjectField="pjTaskName" />
      <Mapping WorkItemTrackingFieldReferenceName="System.WorkItemType" ProjectField="pjTaskText24" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Discipline" ProjectField="pjTaskText17" />
      <Mapping WorkItemTrackingFieldReferenceName="System.AssignedTo" ProjectField="pjTaskResourceNames" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.CompletedWork" ProjectField="pjTaskActualWork" ProjectUnits="pjHour"/>
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.RemainingWork" ProjectField="pjTaskRemainingWork" ProjectUnits="pjHour"/>
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.BaselineWork" ProjectField="pjTaskBaselineWork" ProjectUnits="pjHour"/>
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.StartDate" ProjectField="pjTaskStart" PublishOnly="true"/>
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.FinishDate" ProjectField="pjTaskFinish"  PublishOnly="true"/>
      <Mapping WorkItemTrackingFieldReferenceName="System.State" ProjectField="pjTaskText13" />
      <Mapping WorkItemTrackingFieldReferenceName="System.Reason" ProjectField="pjTaskText14" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Rank" ProjectField="pjTaskText16" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Issue" ProjectField="pjTaskText15" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.ExitCriteria" ProjectField="pjTaskText20" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.QualityOfServiceType" ProjectField="pjTaskText21" />
      <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Priority" ProjectField="pjTaskText19" ProjectName="Work Item Priority" />
      <Mapping WorkItemTrackingFieldReferenceName="System.AreaPath" ProjectField="pjTaskOutlineCode9" />
      <Mapping WorkItemTrackingFieldReferenceName="System.IterationPath" ProjectField="pjTaskOutlineCode10" />
      <Mapping WorkItemTrackingFieldReferenceName="System.Rev" ProjectField="pjTaskText23" />
      <ContextField WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.TaskHierarchy"/>
      <LinksField   ProjectField="pjTaskText26" />
      <SyncField   ProjectField="pjTaskText25" />
   </Mappings>
</MSProject>

L'elenco di mapping dei campi contiene tre colonne speciali. Una rappresenta il campo di sincronizzazione che indica quale colonna funge da campo di sincronizzazione. Il campo di sincronizzazione ha come titolo "Publish and Refresh" e consente all'utente di indicare se una riga dell'attività viene pubblicata o solo aggiornata.

Utilizzare la sintassi XML riportata di seguito per specificare quale colonna viene associata al campo di sincronizzazione. L'attributo ProjectField deve essere impostato su una colonna di Microsoft Project valida.

<SyncField ProjectField="" />

L'altro campo speciale è quello dei collegamenti e degli allegati. La colonna dei collegamenti e degli allegati consente agli utenti di indicare se per una particolare riga dell'attività sono presenti collegamenti o allegati.

Utilizzare la sintassi XML riportata di seguito per specificare quale colonna viene associata al campo dei collegamenti e degli allegati. L'attributo ProjectField deve essere impostato su una colonna di Microsoft Project valida.

<LinksField ProjectField="" />

L'ultimo campo speciale è il campo di contesto. Il campo di contesto è un campo di tipo di elemento di lavoro in cui vengono visualizzate informazioni sulla relazione gerarchica di un'attività con attività di riepilogo. Il campo di contesto viene visualizzato in Team Explorer in modo che gli utenti che non utilizzano Microsoft Project possano comunque visualizzare le attività di riepilogo a cui appartiene una sottoattività.

Utilizzare la seguente sintassi XML per specificare quale campo del tipo di elemento di lavoro è il campo di contesto. L'elemento ContextField viene utilizzato per specificare un campo di contesto. L'attributo WorkItemTrackingFieldReferenceName deve essere impostato su un nome di riferimento valido di un campo di tipo di elemento di lavoro esistente.

<ContextField WorkItemTrackingFieldReferenceName="" />

Vedere anche

Attività

Procedura: verificare le modifiche di Classificazione

Concetti

Plugin del modello di processo Windows SharePoint Services

Plugin del modello di processo del controllo delle versioni

Plug-in del modello di processo Reports

Plug-in del modello di processo Gruppi e autorizzazioni

File di mapping campi di Microsoft Project

Altre risorse

Plug-in del modello di processo Gestione elementi di lavoro