動作是將新記錄提交至資料庫、將記錄從某個狀態移至另一個狀態,以及修改或刪除記錄的一種機制。
當使用者按一下表單上的動作按鈕,或開啟工具列上的動作功能表時,會顯示有效動作清單,且預設動作會以粗體字強調顯示。您可以使用「狀態內容」視窗中的預設動作標籤來定義預設動作。請參閱預設動作。您也可以從連結鉤呼叫預設動作。
根據使用者的權限和記錄的狀態,只有當時可用的動作會顯示出來。為避免可能發生的效能問題,在計算有效動作時不會執行存取控制連結鉤。
您可以定義動作來執行下列作業:
- 建立新記錄,並將它新增到資料庫。
- 修改記錄中的資訊。(與每一個欄位相關聯的行為也可以限制對該記錄特定欄位的存取。)
- 將記錄從某個狀態移至另一個狀態。
- 將一筆記錄標示為另一筆記錄的重複項。
- 執行連結鉤。動作連結鉤可處理存取控制、起始設定、驗證和通知。請參閱新增連結鉤來自訂動作。
- 從資料庫刪除記錄。
您可以控制哪些使用者對哪些動作有存取權,以及何時可以執行動作。
支援常用動作的一些預先定義動作類型,例如「提交」動作和「變更狀態」動作。請參閱支援的動作類型。
在 Designer 中,每一個記錄類型都有「動作」格線來定義該類型的記錄可用的動作。您可以使用「動作」格線來新增、修改及刪除動作,和建立狀態轉移。
支援的動作類型
Rational® ClearQuest® 軟體支援下列動作類型:
- 動作類型
- 說明
- 基本
- 「基本」動作是因為所有其他動作的結果而執行的次要動作。您可以為「基本」動作撰寫一個動作連結鉤,但對多個動作使用該連結鉤。每次發動動作時,「基本」動作會驗證是否符合連結鉤準則;如果符合,「基本」動作會完成其程序。例如,您可以將「通知」動作連結鉤新增到「基本」動作,使得發生「關閉」動作時(將記錄移至「已關閉」狀態的 Change_state 動作類型),「基本」動作會傳送電子郵件通知。「基本」動作不會出現在 Rational ClearQuest 用戶端的動作清單中。
對「基本」動作設定存取控制會影響綱目中的所有動作。您可以修改動作的存取控制,包括可透過套用套件而新增到綱目的動作。不過,對「基本」動作所加諸的任何存取控制限制適用於所有其他動作。
- Change_state
- Change_state 動作只適用於有狀態的記錄類型。Change_state 動作可將記錄從來源狀態移至目的地狀態。Change_state 動作可參照許多來源狀態,但只能參照一個目的地狀態。唯有當現行記錄是其中一個來源狀態時,Change_state 動作才會出現在 Rational ClearQuest 用戶端的動作清單中。
- 刪除
- 「刪除」動作允許使用者從資料庫刪除記錄。「刪除」動作會出現在 Rational ClearQuest 用戶端的動作清單中。
- 複製
- 「重複」動作只適用於有狀態的記錄類型。此動作將記錄鏈結到包含類似資訊的另一筆記錄。唯有當現行記錄是其中一個來源狀態時,「重複」動作才會出現在 Rational ClearQuest 用戶端的動作清單中。
- 匯入
- 「匯入」動作是從另一個來源匯入記錄。所匯入的記錄內容會加以驗證,這是此動作的一部分,但不會執行欄位層次驗證。此外,在匯入一組有狀態的記錄之後,這些記錄會指派為資料檔案中指定的狀態,而不會驗證它們是否已轉移至該狀態。「匯入」動作不會出現在 Rational ClearQuest 用戶端的動作清單中。
- 修改
- 「修改」動作容許使用者修改記錄中的欄位值,而不移動記錄的狀態。「修改」動作會出現在
Rational ClearQuest 用戶端的動作清單中。
- Record_script_alias
- Record_script_alias 使動作名稱與記錄 Script 相關聯。這可讓 record_script_alias 動作出現在 Rational ClearQuest 用戶端的動作清單中。不過,record_script_alias 動作並不是實體動作,因為它們不是記錄類型狀態的一部分,同時不會自動與實體搭配使用,其行為是由記錄 Script 編碼的方式來決定。因此,Record_script_alias 動作並不是如 GetActionName 和 GetActionType 等實體函數,或與實體動作搭配運作之任何其他函數有效參數的一部分。
- 提交
- 「提交」動作會在 Rational ClearQuest 使用者資料庫中輸入新記錄。對於有狀態的記錄,此動作會指派目的地狀態,但不需要來源。每一個記錄類型只能有一個「提交」類型的動作。
- 取消重複
- 「取消重複」動作適用於有狀態的記錄類型。此動作會移除重複記錄之間的鏈結。
建立狀態轉移
Rational ClearQuest 綱目開發人員定義使用者如何在狀態之間移動記錄的規則。狀態轉移由動作實作。若要建立狀態轉移,您可以定義 CHANGE_STATE 類型的動作,然後選取該動作的來源狀態和目的地狀態。
新增連結鉤來自訂動作
您可以新增動作連結鉤,在作用中記錄的生命週期的關鍵時刻實作作業。例如,依預設,所有使用者對每一個動作都有存取權。您可以使用存取控制連結鉤來限制動作的存取權。
支援數個動作連結鉤:存取控制、起始設定、驗證、確定和通知。
如需動作連結鉤的說明和如何使用欄位連結鉤的相關資訊,請參閱使用連結鉤自訂工作流程。若要瞭解如何建立存取控制動作連結鉤,請參閱動作存取控制連結鉤範例。另請參閱 Scripting 語言和動作存取控制
預設動作
您可以定義狀態的預設動作。狀態的預設動作以粗體顯示在 Rational ClearQuest 用戶端的「動作」功能表中。
預設動作對於引導使用者使用狀態模型很有幫助。部分綱目和套件(例如 UCM 綱目和套件)需要預設動作。如果您使用 UCM 綱目或套件,則狀態的預設動作必須提供通往狀態類型模型的有效路徑。如需相關資訊,請參閱新增 IBM® Rational UCM 整合。另外,還可以從連結鉤程式碼呼叫預設動作。
在定義狀態的預設動作之前,您必須先建立狀態轉移。
刪除動作
刪除動作可能需要綱目做其他變更。例如,如果您刪除 CHANGE_STATE 動作,您可能需要修改「狀態轉移矩陣」以補償失去的動作。如果您已參照某個 Script 中的已刪除動作,則必須修改 Script 以刪除該動作的任何參照。