2011-09-16 16 views
2


私はワークアイテムタイプのテンプレートを持っています。私はドロップダウンリストを変更する権利を割り当てようとしています デフォルト値は新しいアイテムの "要求"それを読んで。 ユーザーが "[TEAM FOUNDATION] \ Approvers"または "[TEAM FOUNDATION \ Developers"]グループに属している場合、このアイテムを変更できます。TFSワークアイテムタイプ - 権限に基づくフィールドへのアクセス

ユーザーがいずれかのグループに所属していないと失敗し、空白の表示が無効になります。 これらのアクセス許可を定義するにはどうすればよいですか?

フィールドの定義は以下のとおりです。

<FIELD name="Approval" refname="Approval" type="String" reportable="dimension"> 
    <REQUIRED /> 
    <DEFAULT from="value" value="Requested" /> 
    <ALLOWEDVALUES> 
     <LISTITEM value="Approved" /> 
     <LISTITEM value="Requested" /> 
     <LISTITEM value="Rejected" /> 
    </ALLOWEDVALUES>   
    <DEFAULT from="value" value="Requested" /> 
    <READONLY not="[TEAM FOUNDATION]\Approvers" /> 
    <READONLY not="[TEAM FOUNDATION]\Developers" /> 
    <HELPTEXT>Shows whether the task has been approved by management.</HELPTEXT> 
    </FIELD> 

答えて

0

これは重いもののようです。あなたの正確な意図は何ですか? WHENブロックを使用するか、(フィールド定義の)基本的なものに制限を分割したり、状態や遷移レベルで特殊なものを使用して問題を解決できますか?ところで

<FIELD name="Approval" refname="Approval" type="String" reportable="dimension"> 
    <REQUIRED /> 
    <DEFAULT from="value" value="Requested" /> 
    <WHENNOT field="System.State" value="New"> 
     <READONLY not="[TEAM FOUNDATION]\Developers"/> 
     <READONLY not="[TEAM FOUNDATION]\Approvers"/> 
    </WHENNOT> 
    <HELPTEXT>Shows whether the task has been approved by management.</HELPTEXT> 
</FIELD> 

または

<FIELD name="Approval" refname="Approval" type="String" reportable="dimension"> 
    <REQUIRED /> 
    <ALLOWEDVALUES> 
     <LISTITEM value="Approved" /> 
     <LISTITEM value="Requested" /> 
     <LISTITEM value="Rejected" /> 
    </ALLOWEDVALUES>   
    <DEFAULT from="value" value="Requested" /> 
    <HELPTEXT>Shows whether the task has been approved by management.</HELPTEXT> 
</FIELD> 

<TRANSITION from="" to="New"> 
    <FIELDS> 
     <FIELD refname="Approval"> 
      <READONLY not="[TEAM FOUNDATION]\Developers"/> 
      <READONLY not="[TEAM FOUNDATION]\Approvers"/> 
     </FIELD> 
</TRANSITION> 

:あなたは、例えば、全体の "名前空間" を使用してフィールドをもしrefname必要があります"My.Company.TfsFields.Common.Approval"または "My.Company.TfsFields.Bugs.IsRegression"

+0

これは、開発者がこのアイテムで作業することを承認するために管理者がアクセスできるオプションを作成することです管理者の決定を上書きする必要があるオプションが存在する可能性があるため、開発者が変更するオプションがあります。 – cpoDesign

+0

なぜ私はユーザー名空間としてrefnameする必要がありますか? – cpoDesign

+1

これにより、サードパーティのアドオンが自分のフィールドや他のサードパーティのフィールドと一緒に動作するようになります。フィールド "承認"を作成した後、承認フィールド自体を使用する拡張をインストール/組み込みしようとします(例えば、データ型)これは、フィールドが "MyCompany.Approval"で、他のフィールドが "OtherExtension.Approval"だった場合でも問題ありませんでしたが、名前空間を使用していないと大きな問題を引き起こします。 (覚えて:フィールド名または作成後の名字は変更できません)(http://msdn.microsoft.com/en-us/library/ms194941(v=VS.100).aspx#ReferenceName) – eFloh

関連する問題