Coda.io - Kalendarz zmian w projekcie #wzorCoda
Posiadam aktualnie rejestr zmian w projekcie (LINK), w postaci tabeli. Informacje przenoszą się automatycznie z tabeli aktualnie prowadzonych prac, ale w dalszym ciągu widok nie jest zadowalający. W tym wpisie zagnieździmy tabelę ze zmianami piętro niżej, a na wierzch wyciągniemy kalendarz pokazujący harmonogram zmian.

Standardowo już, zaczyna mód utworzenia widoku alternatywnego dla rejestru zmian. Tym razem widok utworzę inaczej niż do tej pory pokazując inną drogę: Można w dowolnym miejscu tekstowym wstawić “/” a następnie rozpocząć pisanie nazwy tabeli do której chcemy utworzyć widok alternatywny:

Zmianiam nazwę widoku na “Kalendarz zmian w projekcie”

Nie klikając nic więcej, bez żadnych dodatkowych ustawień już uzyskujemy widok kalendarza z opisami jak oczekiwałem. Na etykietach są nazwy zmiana, a pozycje tabeli są przydzielone do kalendarza po ustalonych datach modyfikacji:

Przy formatowaniu zauwazyłem problem, że RowID nie zawsze jest cyframi od 1 do X. RowId jest nadawane w każdej tabeli tylko raz i po usunięciu wiersza inny wiersz już nie dostaje numeru jak ten usunięty. To powoduje luki. Dlatego utworzyłem kolumnę, w którą wprowadziłem formułę generującą wartości od 1 do X nie będąc w żaden sposób powiązaną z parametrem RowId:

Teraz zmieniłem formatowanie warunkowe, które było ustawione podczas tworzenia tabeli na wartości kolumny RowId. Aktualnie jest to kolumna Number i dzięki temu nasz kalendarz wygląda teraz tak:

Dodałem jeszcze link do pełnej wersji rejestru z prawej strony i mamy to:

Na koniec utworzę sobie automatyzację, która będzie alarmować mnie jeśli przez 3 dni nie zrobię żadnej zmiany w projekcie. Na ten moment jest to przedział czasowy jaki jest dla mnie osiągalny. Do przesyłania powiadomień wykorzystam wykonaną ostatnio integrację z Gmailem (link do wpisu z integracją).
Taką automatyzację można zrealizować na kilka sposobów: najprościej i najszybciej byłoby utworzyć automatyzacje opartą o wywoływanie czasowe (np. codziennie o 8:00), która weryfikowałaby czy czas ods ostatniej publikacji jest większy niż ustalone 3 dni. Minusem takiego rozwiązanie będzie wywoływanie codzienne automatyzacji, która w planie PRO jest ograniczona do 100 miesięcznie (tych wywoływanych cyklicznie o danym czasie)

W związku z powyższym zrobimy automatyzacje opartą o zdarzenia:
Tworzę w tabeli rejestru zmian w projekcie nową kolumnę, którą definiuje jako checkbox.
Wprowadzam funkcję, która po 3 dniach przerwy od OSTATNIEGO wpisu oznaczy checkbox jako PRAWDA

Ta formuła zabezpiecza mnie przed naliczaniem czasu na pozycjach, które nie są ostatnie w mojej tabeli. Gdyby zastosować formułę jedynie sprawdzająca warunek DATA < Today() – 3, to przy publikacjach codziennie jednej zmiany, w czwartek otrzymałbym monit, że wpis poniedziałkowy wywołał alarm o braku aktualizacji. Dlatego, żeby uniknąć takiej sytuacji, nasza kolumna będzie aktualizowała tylko w stosunku do ostatniej pozycji – czyli taj najbardziej aktualnej.
Teraz wykonamy automatyzacje bazującą na evencie zdarzenia:
- Nasłuchiwanie na zmiany w nowej utworzonej kolumnie
- Określenie warunku startu automatyzacji: Zmiana na kolumnie “3 dni przerwy?” musi = true. Tutaj wykorzystujemy “Step 1 Result”, który zwraca wiersz w tabeli wywołujący automatyzację.
- Automatyzacja wysłania wiadomości email
Dajemy ON, na automatyzacji i mamy to gotowe
Na koniec ukrywamy widoczność kolumny, gdyż nie jest to kolumna, która musi być widoczna i całość będzie dziać się “w tle”.
