Condividi tramite


Definire elenchi di opzioni

È possibile enumerare un set di valori per un campo definendo un elenco di selezione come parte della definizione o in un punto durante il flusso di lavoro. È possibile specificare che l'elenco può contenere solo valori consentiti, non valori proibiti o può suggerire valori. Se si suggeriscono valori, gli utenti possono specificare un valore diverso da quelli nell'elenco di selezione.

È anche possibile definire elenchi di selezione dipendenti, nei quali si definiscono due o più elenchi per un campo, ma in fase di esecuzione appare solo un elenco in base alla valutazione di una regola condizionale.

Contenuto dell'argomento

  • Struttura della sintassi

  • Struttura della sintassi per gli elementi GLOBALLIST e LISTITEM

  • Consentire un valore esistente

  • Specificare un set di valori consentiti

  • Definire gli elenchi di selezione dipendenti

Nota

Per aggiungere o modificare un elenco di selezione per una definizione di FIELD, usare lo strumento da riga di comando witadmin per importare ed esportare la definizione per il tipo di elemento di lavoro.Vedere Importare, esportare e gestire tipi di elemento di lavoro [witadmin].

Struttura della sintassi

È possibile usare gli elementi ALLOWEDVALUES, SUGGESTEDVALUES e PROHIBITEDVALUES per specificare un elenco di valori che un utente deve, può o non deve specificare come valore per un campo. È possibile enumerare un elenco di elementi oppure specificare un elenco globale se si usa ognuno di questi elementi. È possibile usare ALLOWEXISTINGVALUE per consentire a un campo di archiviare un valore esistente nel caso in cui venga eliminato un elemento dall'elenco di selezione.

È possibile specificare questi elementi come elementi figlio degli elementi FIELD (definizione) o FIELD (flusso di lavoro).

  • Usare ALLOWEDVALUES per definire un elenco di valori che gli utenti possono specificare in un form elemento di lavoro o in un editor di query. Gli utenti devono specificare uno dei valori contenuti in GLOBALLIST o nel set di voci LISTITEM.

    <ALLOWEDVALUES for="userGroupName" not="userGroupName" expanditems="true | false" filteritems="excludegroups">
       <GLOBALLIST name="globalListName" />
       <LISTITEM value="Name1" />
       <LISTITEM value="Name2" />
       <LISTITEM value="Name3" />
    . . . 
    </ALLOWEDVALUES>
    
  • Usare PROHIBITEDVALUES per definire un elenco di valori che un campo non può contenere. Gli utenti non possono salvare un elemento di lavoro se il campo contiene un valore proibito. Si usa questo elemento quando si vuole limitare l'utilizzo di un valore che precedentemente era consentito, ma che ora non è più valido.

    <PROHIBITEDVALUES for="userGroupName" not="userGroupName" expanditems="true | false" filteritems="excludegroups">
       <GLOBALLIST name="globalListName" />
       <LISTITEM value="Name1" />
       <LISTITEM value="Name2" />
       <LISTITEM value="Name3" />
    . . . 
    </PROHIBITEDVALUES>
    
  • Si usa SUGGESTEDVALUES per definire un elenco di valori che un campo può contenere. Gli utenti possono specificare altri valori oltre a quelli suggeriti.

    <SUGGESTEDVALUES for="userGroupName" not="userGroupName" expanditems="true | false" filteritems="excludegroups">
       <GLOBALLIST name="globalListName" />
       <LISTITEM value="Name1" />
       <LISTITEM value="Name2" />
       <LISTITEM value="Name3" />
    . . . 
    </SUGGESTEDVALUES>
    

Per ognuno di questi elementi è possibile specificare uno o più attributi descritti nella tabella seguente:

Attributo

Descrizione

for

Parametro facoltativo. Specifica il nome di un utente o un gruppo in Team Foundation a cui è applicabile la regola. I nomi validi sono costituiti da una stringa di testo di lunghezza compresa tra 1 e 255 caratteri.

Valore di schema: ^[^\\]+\\[^\\]+$

Esempio di valore di schema: Dominio\IDUtente

not

Parametro facoltativo. Specifica il nome di un utente o un gruppo in Team Foundation a cui non è applicabile la regola. I nomi validi sono costituiti da una stringa di testo di lunghezza compresa tra 1 e 255 caratteri.

Valore di schema: ^[^\\]+\\[^\\]+$

Esempio di valore di schema: Dominio\IDUtente

expanditems

Parametro facoltativo. Specifica se un gruppo identificato dall'elemento LISTITEM deve essere espanso per includere i gruppi subordinati nell'elenco. Il valore predefinito è true.

filteritems

Parametro facoltativo. Specifica che nell'elenco sono inclusi solo i membri dei gruppi, e non i nomi di gruppo. L'unico valore valido di questo attributo è excludegroups.

Per altre informazioni, vedere Espandere voci elenco ed escludere gruppi dagli elenchi.

Struttura della sintassi per gli elementi GLOBALLIST e LISTITEM

È possibile usare gli elementi GLOBALLIST e LISTITEM per enumerare un elenco di elementi che può essere aggiornato globalmente o che sono specifici di un solo campo.

  • Usare GLOBALLIST per definire un set di elementi LISTITEM archiviato per una raccolta di progetti team e che tutti i progetti team in quella raccolta possono utilizzare. GLOBALLIST è un elemento figlio obbligatorio dell'elemento GLOBALLISTS e un elemento figlio facoltativo degli elementi ALLOWEDVALUES, SUGGESTEDVALUES e PROHIBITEDVALUES. È possibile definire un elenco globale in una definizione dell'elemento di lavoro, in una definizione dell'elenco globale o in un flusso di lavoro globale.

    <GLOBALLIST name="globalListName">
       <LISTITEM value="Name1" />
       <LISTITEM value="Name2" />
       <LISTITEM value="Name3" />
    . . . 
    </GLOBALLIST> 
    

    globalListName: stringa di testo contenente da 1 a 255 caratteri.

    Importante

    Se si definisce un elenco globale in un file XML che definisce un tipo di elemento di lavoro, è necessario assegnare all'elenco un nome univoco.In caso contrario, è possibile che si sovrascriva un elenco esistente definito per la raccolta.

  • Usare LISTITEM per enumerare un set di valori. LISTITEM è un elemento figlio obbligatorio di GLOBALLIST e un elemento figlio facoltativo degli elementi ALLOWEDVALUES, SUGGESTEDVALUES e PROHIBITEDVALUES.

    <LISTITEM value="listName" />
    

    listName: stringa di testo contenente da 1 a 255 caratteri.

Consentire un valore esistente

È possibile usare l'elemento ALLOWEXISTINGVALUE per consentire a un campo di mantenere valori esistenti, dopo avere specificato un elenco di selezione di elementi usando l'elemento ALLOWEDVALUES. Se non si specifica l'elemento ALLOWEXISTINGVALUE, si forza l'utente, al momento della modifica, a specificare uno dei valori validi correnti per quel campo. L'elemento ALLOWEXISTINGVALUE modifica solo gli elementi che si trovano nello stesso blocco.

<ALLOWEXISTINGVALUE />

Specificare questo elemento sotto l'elemento FIELD (flusso di lavoro) per applicarlo alle regole definite per il campo. Quest'applicazione include le regole specificate dagli elementi STATE, TRANSITION, DEFAULTREASON e REASON del campo. Questo elemento viene specificato sotto l'elemento STATE per applicarlo non solo alle regole definite nello stato per il campo, ma anche alle regole definite per il campo per tutte le transizioni nello stato.

Questo elemento viene specificato sotto l'elemento TRANSITION per applicarlo non solo alle regole definite nella transizione per il campo, ma anche alle regole definite per il campo negli elementi REASON e DEFAULTREASON.

Specificare un elenco

Gli elenchi campi sono composti da singoli elementi di elenco. Ogni elenco campi deve contenere almeno un elemento.

Nota

Gli elenchi globali non devono includere gruppi con ambito di progetto perché non hanno l'ambito in un progetto.

Per specificare gli elementi di un elenco, utilizzare l'elemento <LISTITEM value="">. È possibile specificare una stringa, un nome utente o un nome del gruppo.

<LISTITEM value="Emergency"/>
<LISTITEM value="Major"/>
<LISTITEM value="Minor"/>
<LISTITEM value="Domain\joe"/>
<LISTITEM value="[Global]\GlobalGroup" />
<LISTITEM value="[Project]\ProjectGroup" />

Nota

In fase di esecuzione, gli elementi all'interno di un elenco appaiono in ordine alfabetico in base alla lingua del server che esegue Visual Studio Team Foundation Server.

Specificare un set di valori consentiti

Nell'esempio riportato di seguito il campo Customer Severity può avere uno dei tre valori: Emergency, Major e Minor. Il campo viene definito come obbligatorio con un valore predefinito di Minor. In fase di esecuzione, gli utenti possono specificare uno dei valori in un elenco a discesa.

<FIELD refname="System.Title" name="Title" type="String">
<HELPTEXT>Provide a brief description of the work item</HELPTEXT>
<REQUIRED/>
</FIELD>
<FIELD refname="MyCorp.CusSeverity" name="Customer Severity" type="String">
<HELPTEXT>Indicate the severity of the problem</HELPTEXT>
    <ALLOWEDVALUES>
        <LISTITEM value="Emergency">
        <LISTITEM value="Major">
        <LISTITEM value="Minor">
    </ALLOWEDVALUES>
<DEFAULT from="value" value="Minor"/>
</FIELD>

Definire gli elenchi di selezione dipendenti

È possibile definire un elenco di selezione che è attivo solo quando la clausola condizionale padre è vera. Nell'esempio seguente vengono definiti due set di elenchi di selezione per My Field. In fase di esecuzione, appare solo un elenco in base all'assegnazione o meno dei requisiti al campo MyCompany.MyTeam.Discipline.

Nota

Le regole WHEN e WHENNOT in questo esempio possono essere applicate anche ad altre regole per specificare quando valutare tali regole.Per altre informazioni, vedere Assegnare valori e regole condizionali.

<FIELD name="My Field" refname="MyCompany.MyProcess.MyField" type="String" reportable="dimension">
  <WHEN field="MyCompany.MyTeam.Discipline" value="Requirements"> 
    <ALLOWEDVALUES> 
      <LISTITEM value="Planning" /> 
      <LISTITEM value="Review" /> 
    </ALLOWEDVALUES> 
  </WHEN> 
  <WHENNOT field=" MyCompany.MyTeam.Discipline" value="Requirements"> 
    <ALLOWEDVALUES> 
      <LISTITEM value="Process Management" /> 
      <LISTITEM value="Planning" /> 
      <LISTITEM value="Review" /> 
    </ALLOWEDVALUES> 
  </WHENNOT>
</FIELD>

Vedere anche

Altre risorse

Gestione elementi di lavoro: indice delle definizioni di elementi XML

Modificare o aggiungere un campo per supportare query, report e flusso di lavoro