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

이렇게하면 thrid party addons가 자신의 필드 또는 다른 thirs party 필드와 함께 작동 할 수 있습니다. "승인"필드를 만든 다음 나중에 승인 필드를 사용하는 확장을 설치/통합하려고합니다 (예 : 내부 용으로 다른 데이터 유형) 필드가 "MyCompany.Approval"이고 다른 필드가 "OtherExtension.Approval"이지만 네임 스페이스를 사용하지 않을 때 큰 문제가 발생할 경우 아무런 문제가 없습니다. (기억 : 필드 이름이나 생성 후 이름을 변경할 수 없습니다.) (http://msdn.microsoft.com/en-us/library/ms194941(v=VS.100).aspx#ReferenceName) – eFloh

관련 문제