Sono presenti quattro punti di esecuzione dell'hook durante la visualizzazione di un record:
Prima di eseguire il commit delle modifiche sul database, o quando è richiesta una convalida da un client ClearQuest Web o RCP, il software Rational ClearQuest convalida il record eseguendo gli hook nel seguente ordine:
È possibile modificare il controllo accessi alle azioni, incluse le azioni che potrebbero essere aggiunte allo schema applicando i package. Tuttavia, qualsiasi limitazione del controllo accessi situata nelle azioni base si applica alle altre azioni. Per le azioni nidificate, un hook controllo accessi non viene eseguito.
Se un hook valore campo modificato richiama il metodo SetFieldValue dell'oggetto Entità, l'hook VALUE_CHANGED per tale campo viene eseguito al momento del richiamo SetFieldValue.
Alcuni hook non vengono eseguiti mentre è in corso un'azione nidificata, inclusa l'esecuzione degli hook controllo accessi e tutti gli hook notifica. Per ulteriori informazioni, consultare Azioni e controllo accessi e Hook nelle azioni nidificate in Riferimento API IBM Rational ClearQuest.
Quando un utente modifica un record, gli hook vengono eseguiti nel seguente ordine:
Se l'opzione Limita all'elenco è impostata e l'utente inserisce un valore non consentito, il campo viene contrassegnato come non valido. L'hook successivo viene eseguito solo quando l'utente immette un valore valido.
Se un hook valore campo modificato richiama il metodo SetFieldValue per modificare il valore di un altro campo, l'hook valore campo modificato per tale campo viene eseguito immediatamente.
Se si utilizzano i campi dipendenti con l'opzione Calcola nuovamente l'elenco selezioni, viene eseguito prima l'hook convalida campo, poi l'hook elenco selezioni campo per ogni campo, finché non vengono impostati e convalidati tutti i campi modificati.
Gli hook campo vengono eseguiti solo quando l'utente avvia l'azione Inoltra, a meno che il campo non sia contrassegnato come avente campi dipendenti. Consultare Utilizzo di hook per rilevare una sessione Web.
Prima di eseguire il commit delle modifiche sul database, il software Rational ClearQuest convalida il record eseguendo gli hook nel seguente ordine:
L'hook Commit viene eseguito dopo l'aggiornamento del database con le modifiche al record corrente, ma prima di eseguire il commit della transazione di aggiornamento al database. Non è possibile utilizzare un hook Commit per modificare il record corrente (ad esempio, non è possibile apportare le modifiche ad un campo da un hook Commit).
Il lavoro in un hook Commit viene completato mentre sono presenti dei blocchi nel database, tali blocchi possono impedire agli altri utenti di eseguire query, di creare nuovi record o di modificare quelli esistenti. Per motivi di prestazioni, è preferibile ridurre il lavoro eseguito in un hook Commit.
Utilizzare un hook Commit solo per le azioni sugli altri record che fanno parte della stessa transazione del database come azione principale (ad esempio, la risoluzione di un difetto duplicato quando il difetto padre è stato risolto). È necessario verificare che siano stati inseriti i richiami appropriati nel contesto corretto. Ad esempio, non richiamare Revert da un hook Commit né richiamare Commit da qualsiasi azione diversa da un hook Commit.
Dopo che un record è stato convalidato, gli hook ne eseguono il commit nel database nel seguente ordine:
Per ulteriori informazioni, consultare Modifica in un record esistente in Riferimento API IBM Rational ClearQuest.