Rozdział 8 pokazał, jak status w przeglądarce trafia na dysk. Ten dodatek pokazuje mechanizm: schemat encji i triggery reagujące na zmianę pola.
Rozdział 8 opisał Task, Shot i Version jako rekordy w bazie danych, bez wchodzenia w to, jak dokładnie programista odpytuje tę bazę ani jak wygląda mechanizm, który pozwala jej „reagować" na zmiany, wspomniany w Rozdziale 18. Ten dodatek pokazuje obie te warstwy.
Encje z Rozdziału 8 — Shot, Task, Version — istnieją w każdym wdrożeniu ShotGrid czy ftrack, ale schemat pól przypisanych do każdej z nich jest w pełni konfigurowalny. Jedno studio dodaje do Taska własne pole sg_priority, inne — pole wskazujące na dział odpowiedzialny za zatwierdzenie, jeszcze inne dorzuca customowy typ encji nieistniejący nigdzie indziej, np. „Sekwencja kamery" dla produkcji motion capture (Dodatek U). To dlatego Rozdział 8 mówił o „tym samym modelu" w trzech narzędziach ostrożnie — model bazowy jest wspólny, ale każde studio buduje na nim swoją, unikalną warstwę pól.
Typowe zapytanie do API systemu śledzenia ma zawsze ten sam kształt: jaką encję chcesz, jakie warunki (filtry) muszą spełniać zwrócone rekordy, i jakie pola faktycznie Cię interesują — API nie zwraca nigdy całego rekordu ze wszystkimi polami, tylko te, o które poprosisz, co ma znaczenie przy zapytaniach zwracających tysiące rekordów naraz.
# przykładowa, uproszczona składnia zapytania tasks = sg.find( "Task", filters=[["sg_status_list", "is", "apr"]], fields=["content", "entity", "task_assignees"] )
Powyższe zapytanie zwraca wszystkie taski o statusie „zatwierdzony", razem z ich nazwą, powiązanym shotem czy assetem i listą przypisanych osób — dokładnie ten sam typ zapytania stoi za każdym dashboardem opisanym w Rozdziale 8.
Mechanizm automatyzacji z Rozdziału 18 opiera się na tym, że każda zmiana w bazie — nowy rekord, zmiana statusu, dodana notatka — tworzy wpis w dzienniku zdarzeń (event log). Osobny, stale działający proces nasłuchuje tego strumienia zdarzeń i porównuje każde nowe zdarzenie z zarejestrowaną listą reguł: „jeśli status Taska zmienił się na apr, uruchom ten skrypt". Kiedy trafi na dopasowanie, wywołuje odpowiedni hook — dokładnie ten drugi z dwóch sposobów podpięcia automatyzacji, które Rozdział 18 opisał jako alternatywę dla hooków wbudowanych bezpośrednio w narzędzie publikujące.