フィールド既定値を指定する
更新 : 2007 年 11 月
フィールド既定値は、フィールド値の自動的な割り当てを制御するための規則です。フィールド既定値は、<DEFAULT>、<COPY>、および <SERVERDEFAULT> の 3 種類の要素で表記します。
**<DEFAULT> **新しい作業項目の作成時または作業項目の編集時に、フィールドが空の場合に <DEFAULT> 要素の値がフィールドに設定されます。フィールドに既に値がある場合は、既定の規則は無視されます。
<COPY> 新しい作業項目の作成時または作業項目の編集時に、フィールド既定値とは無関係に <COPY> 要素の値がフィールドに設定されます。
<SERVERDEFAULT> 編集を始めたときに値が設定される <DEFAULT> や <COPY> とは異なり、<SERVERDEFAULT> 規則では、作業項目がデータベースにコミットされる時点で値が設定されます。これが実行されるのは保存時です。ユーザーは値をオーバーライドできません。このようなフィールドは、フォームには読み取り専用で表示されます。この規則が使用されるのは、セキュリティ監査のトラッキングをサポートするための "最終更新者" や "最終更新日時" などのフィールドです。
これらのタグには、値をどこから取得するかを from="<fromtype>" 属性で指定します。<fromtype> によっては、他の属性を続けて指定する場合もあります。
有効な from 型の値を以下に示します。
value 指定の文字列定数の値を使用します。value="abc" 属性が必須です。value を使用するのは、<COPY> 規則と <DEFAULT> 規則だけです。
field 指定のフィールドの値を使用します。field="abc" 属性が必須です。既定では、指定の "from" フィールドが空の場合、何も実行されません。field を使用するのは、<COPY> 規則と <DEFAULT> 規則だけです。
clock 現在の日付と時刻を値として使用します。他の属性は必要ありません。DateTime フィールドに使用します。<COPY> 規則と <DEFAULT> 規則の場合、この値はローカル コンピュータのクロック時間から取得されます。<SERVERDEFAULT> の場合、この値はコミット時にサーバー クロックから取得されます。
currentuser 現在のユーザーの短いユーザー名を値として使用します。他の属性は必要ありません。文字列のフィールドに使用します。
例
次の例では、既定の優先度を指定します。
<FIELD refname="MyCorp.Priority" name="Priority" type="String">
<HELPTEXT>Enter the severity of the problem</HELPTEXT>
<ALLOWEDVALUES>
<LISTITEM value="P1"/>
<LISTITEM value="P2"/>
<LISTITEM value="P3"/>
</ALLOWEDVALUES>
<DEFAULT from="value" value="P3"/>
</FIELD>
次の例では、status フィールドをクリアします。
<FIELD refname="MyCorp.Status" name="Status" type="String">
<COPY from="value" value="" />
</FIELD>
次の例では、作業項目を最後に保存したユーザーの名前を保存します。
<FIELD refname="System.Last Changed By" name="Last Changed By" type="String">
<HELPTEXT>The user name of the person who last modified this bug</HELPTEXT>
<VALIDUSER group="[Project]\MyProjectMembers" />
<SERVERDEFAULT from="currentuser" />
</FIELD>
次の例では、フィールドの値として現在の日付を使用しますが、ユーザーがこの値を変更することもできます。
<FIELD refname="MyCorp.FoundOn" name="Found On" type="DateTime">
<HELPTEXT>Defines when a bug was found.</HELPTEXT>
<DEFAULT from="clock" />
</FIELD>
メモ : |
---|
アポストロフィが含まれる "Won’t Fix" などの値の場合は、二重引用符を XML で使用する必要があります。例 : <LISTITEM value="Won’t Fix"/> |