2011-09-16 115 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

這似乎是一個沉重的one.What你的確切意圖? 也許使用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命名爲namespace? – cpoDesign

+1

這將使第三方插件與您自己的字段或其他派對字段一起工作:假設您創建了字段「批准」,然後嘗試安裝/合併使用批准字段本身的擴展名(例如用於與其他內部目的數據類型)如果你的字段是「MyCompany.Approval」,而另一個字段是「OtherExtension.Approval」,這是沒有問題的,但是如果不使用名稱空間會造成很大的麻煩。 (請記住:創建後不能更改字段名稱或refname)(http://msdn.microsoft.com/zh-cn/library/ms194941(v=VS.100).aspx#ReferenceName) – eFloh