تحديد القيم الافتراضية للحقل
القيم الافتراضية للحقل هي قواعد التحكم في طرق تعيين قيم الحقل تلقائياً. يتم التعبير عن القيم الافتراضية باستخدام ثلاثة أنواع من العناصر: <DEFAULT> ،<COPY>، و <SERVERDEFAULT>.
**<DEFAULT> **عندما يقوم مستخدم بتحرير عنصر عمل أو يقوم بإنشاء عنصر عمل جديد، يقوم العنصر < DEFAULT > بتعبئة قيمة حقل إذا كان هذا الحقل فارغاً. إذا كان الحقل له قيمة بالفعل، يتم تجاهل القاعدة الافتراضية.
<COPY> عندما يقوم مستخدم بتغيير عنصر عمل أو إنشاء عنصر عمل جديد، يقوم العنصر <COPY> بتعبئة قيمة حقل بغض النظر عن أي قيمة موجودة بالفعل في الحقل.
<SERVERDEFAULT> بعكس <DEFAULT> و <COPY>، والتي تقوم بتعبئة القيم في بداية التحرير، فإن قاعدة < SERVERDEFAULT > تقوم بتعبئة القيمة عند إيداع عنصر العمل بقاعدة البيانات. يحدث هذا عند لحظة الحفظ و لا يمكن للمستخدم تجاوز هذه القيمة. تظهر هذه الحقول للقراءة فقط في النموذج. يتم استخدام هذه القاعدة للحقول مثل "آخر تغيير بواسطة" و "آخر تغيير في" لدعم ملحقات التدقيق آمنة.
يأخذ كل من هذه العلامات سمة from="<fromtype>" والتي تعرّف مصدر القيمة. اعتماداً على <fromtype> ، يمكن أن تتبعها سمات أخرى.
هذه هي قيم أنواع from الصالحة:
قيمة تستخدم القيمة من سلسلة حرفية ثابتة تم تحديدها. تتطلب السمة value="abc". valueهو يستخدم فقط من أجل <نسخ> وقواعد <الافتراضي>.
حقل استخدام القيمة من حقل محدد. تتطلب السمة field="abc". By الافتراضي, if the specified "from" field هو empty, nothing هو performed. fieldهو يستخدم فقط من أجل <نسخ> وقواعد <الافتراضي>.
ساعة استخدام التاريخ والوقت الحاليين كقيمة. ليس هناك سمات إضافية مطلوبة. يتم استخدامها للحقول DateTime. بالنسبة لقواعد < COPY > و < DEFAULT >، فإن هذه القيمة تؤخذ من وقت ساعة الكمبيوتر المحلي. بالنسبة لـ < SERVERDEFAULT >، فإن القيمة تأتي من ساعة الخادم في وقت التنفيذ.
المستخدم الحالي استخدام الاسم القصير للمستخدم الحالي كقيمة. ليس هناك سمات إضافية مطلوبة. تستخدم في حقول السلسلة الحرفية.
أمثلة
في المثال التالي، يتم تعيين أفضلية افتراضية.
<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>
في المثال التالي، يتم مسح الحقل الحالة.
<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 ’ Fox t ” ، يجب عليك استخدام علامات اقتباس مزدوجة في XML. فعلى سبيل المثال:
<LISTITEM value="Won’t Fix"/>