규칙 평가 방법
여러 규칙을 필드에 적용할 때는 규칙이 어떻게 평가되는지 생각해볼 수 있습니다.규칙이 평가되는 방식은 완전히 결정적인 것이 아닙니다.이 단원에서는 <WHEN*>, <DEFAULT> 및 <COPY> 규칙을 사용하는 경우 예상되는 동작과 상호 작용에 대해 설명합니다.
다음 단계에서는 Team Foundation Server 및 작업 항목 폼 사용자가 수행하는 상호 작용을 올바른 순서로 보여 줍니다.이 중에서 사용자가 수행하는 단계는 1, 8, 13단계뿐입니다.
사용자가 Visual Studio 사용자 인터페이스를 사용하여 새 작업 항목을 만들거나 기존 작업 항목을 편집합니다.
필드 기본값을 입력합니다.모든 필드에 대해 <WHEN*> 규칙에 포함되지 않는 <DEFAULT> 규칙을 사용합니다.
필드 값을 복사합니다.모든 필드에 대해 <WHEN*> 절에 포함되지 않는 <COPY> 규칙을 사용합니다.
<WHEN> 규칙과 일치하는 모든 필드에 대해 먼저 <DEFAULT> 규칙을 수행한 다음 내부에서 <COPY> 규칙을 수행합니다.
<WHENNOT> 규칙과 일치하는 모든 필드에 대해 먼저 <DEFAULT> 규칙을 수행한 다음 내부에서 <COPY> 규칙을 수행합니다.
[!참고]
Team Foundation Server에서는 항상 <WHENNOT> 규칙보다 <WHEN> 규칙을 먼저 처리합니다.
1단계 이후에 값을 변경했고 <WHENCHANGED> 규칙을 포함하는 모든 필드에 대해 먼저 <DEFAULT> 규칙을 수행한 다음 내부에서 <COPY> 규칙을 수행합니다.
사용자가 편집 작업을 시작할 수 있도록 합니다.
사용자가 필드 값을 변경한 다음 필드에서 포커스를 이동합니다.
새 값과 일치하는 필드에 대해 <WHEN> 규칙을 발생시킵니다.
새 값과 일치하는 필드에 대해 <WHENNOT> 규칙을 발생시킵니다.
새 값과 일치하는 필드에 대해 <WHENCHANGED> 규칙을 발생시킵니다.
사용자에게 편집 기능을 반환합니다.
사용자가 변경 내용을 데이터베이스에 저장합니다.
<WHEN> 또는 <WHENNOT> 규칙을 적용하여 직접 또는 간접적으로 필드에 정의한 <SERVERDEFAULT> 작업을 모든 필드에 대해 수행합니다.
키 입력 처리
사용자가 그래픽 사용자 인터페이스를 사용하여 작업 항목 폼을 수정하는 경우 필드에 키를 입력할 때마다 새 값이 설정됩니다.즉, 규칙의 필수 조건이 충족될 때마다 <WHEN*> 규칙이 예기치 않게 발생할 수 있습니다.
다음 XML 예제에서는 의도한 최종 값이 "Approve"가 아니더라도 사용자가 Approved의 문자 "e"를 입력하면 바로 <WHEN*> 규칙이 발생하므로 Status 필드에 "Approved Again"을 입력할 경우 SubStatus가 비게 됩니다.따라서 조건부 규칙을 사용할 경우에는 신중히 검토해야 합니다.
<FIELD refname="MyCorp.SubStatus" />
<WHEN field="MyCorp.Status" value="Approve" >
<EMPTY />
</WHEN>
</FIELD>