Coda.io - Integracja z kalendarzem Google
Celem tej zmiany będzie utworzenie listy spotkań (lub zadań) zintegrowanej z kalendarzem Google.
Zacznę od utworzenia na potrzeby tego wpisu odrębnego kalendarza na koncie Google. Dla siebie nazwę go tak samo jak nazwa projektu (wzorCoda) i w nim będę umieszczał wszystkie informacje dotyczące projektu wymagające powiązania z kalendarzem.

Coda dostarcza paczkę z gotową integracją dla kalendarza Google:
Wystarczy wybrać interesującą nas opcje. Jednak aby działały należy wykonać pierwsze połączenie z kalendarzem. Do tego celu wybiorę pierwszą z opcji umożliwiającą pobranie listy kalendarzy, a następnie sprawdzę dalsze opcje:
Po połączeniu z kontem Google, należy wykonać pierwszą synchronizację poprzez kliknięcie “sync nów” i uzyskuje dostęp do zdefiniowanych kalendarzy (jest też ostatnio utworzony kalendarz “wzorCoda”). Ważne jest, by zauważyć, że te dane są tutaj w postaci standardowej tabeli Coda.io. Umożliwia ona dodawanie nowych kolumn, filtrowanie, sortowanie, grupowanie, formatowanie, dodawanie funkcji i automatyzacji → wszystkie funkcje znane z tabel tworzonych ręcznie są tutaj dostępne.

Po najechaniu kursorem na pierwszą kolumnę w tabeli dostaniemy informacje jakie są pobierane z kalendarza Google o danym kalendarzu. Są to dane o kalendarzu, a nie o jego zawartości. Na potrzeby mojego projektu ten widok był tylko potrzebny abym miał pewność, że całe połączenie przeszło poprawnie – nie będę potrzebował listy wszystkich moich kalendarzy, ale chcąc zarządzać kilkoma kalendarzami w organizacji ten widok może być pomocny (np. dla kalendarza z osobistymi zadaniami i spotkaniami grupowymi osobno)

Następnie tworzę widok zdarzeń dla utworzonego przez nas kalendarz wzorCoda. Wcześniej utworzyłem z poziomu kalendarza dwa spotkania testowe, aby już na starcie wyświetliły się konkretne dane (standardowo tworzone po stronie kalendarza Google). Powstała tabela, która zawiera standardowo 30 kolumn. W moim przypadku wykorzystuje tylko 5, więc pozostałe są ukryte automatycznie, ale można w każdej chwili to edytować:

Po zaznaczeniu możliwości edycji wpisów w dwóch kierunkach, możemy edytować pola w kolumnach, a te zostaną od razu zaktualizowane w naszym kalendarzu (tutaj dla testów wydłużyłem czas trwania pierwszego zadania zmieniając godzinę w kolumnie “End”

Jest jeszcze kilka rzeczy do zrobienia:
Chciałbym mieć reprezentacje ustawionych zadań w formie kalendarza. Dzięki temu, że całość jest w formie tabeli mogę skorzystać z wbudowanego rozwiązania stworzenia alternatywnego widoku tabeli w formie kalendarza

Chciałbym mieć reprezentacje ustawionych zadań w formie kalendarza. Dzięki temu, że całość jest w formie tabeli mogę skorzystać z wbudowanego rozwiązania stworzenia alternatywnego widoku tabeli w formie kalendarza
Teraz pora na jedną z ważniejszych opcji = dodawanie nowych pozycji w kalendarzu:
Istnieje wbudowany przycisk pozwalający na dodanie nowej pozycji w kalendarzu, ale to rozwiązanie nie jest dla mnie interesujące – chcę uzyskać listę zadań, w której będę określał czas potrzebny na realizacje zadania, jego godzinę startu oraz obecność w kalendarzu.
Istnieje wbudowany przycisk pozwalający na dodanie nowej pozycji w kalendarzu, ale to rozwiązanie nie jest dla mnie interesujące – chcę uzyskać listę zadań, w której będę określał czas potrzebny na realizacje zadania, jego godzinę startu oraz obecność w kalendarzu.
Utworzę swoją tabelę zadań, w której będę definiował zadania, ale pierwsza kolumna będzie powiązana relacyjnie z tabelą zadań synchronizowanych z kalendarzem google. Następne kolumny to:
- Data i godzina startu dla rozpoczęcia realizacji zadania
- zarezerwowany czas na realizacje zadania
- czas zakończenia zadania obliczany automatycznie po zadanym czasie dla realizacji
- checkbox “kalendarz” sprawdza czy zadanie znajduje się w kalendarzu google
- “Dodaj zadanie” pozwala na dodanie zadania do kalendarza Google – aktywny, jeśli zadanie nie istnieje w kalendarzu
- “Aktualizuj zadanie” pozwala zaktualizować zadanie w kalendarzu Google – aktywny, jeśli zadanie istnieje w kalendarzu → ten przycisk nie jest potrzeby, ponieważ edycję zadań najlepiej wykonywać z poziomu kalendarza
Wykonując pierwszy test dodania nowego zadania ukazał się brak w postaci braku odświeżania kalendarza po dodaniu nowego zadania. Zadanie wpadło do kalendarza Google, ale nie odświeżyło informacji w kalendarzu znajdującym się w Coda.io. W tym celu umieszczam dodatkowy przycisk “Pobierz aktualny kalendarz”, który odświeża widok.

Zadanie dodało się prawidłowo:

Ponieważ edycja zadań odbywać się będzie z poziomu tabeli Zadania (tabela), w tabelę “Lista zadań” zmienię na tabelę do dowania nowych zadań. Zaznaczam tutaj, że można definiować zadania cykliczne poprzez wstawianie kilkukrotne tego samego zadania. Każde może mieć inne parametry (np. czasu trwania). Pod tabelą umieściłem przycisk aktywujący wszystkie przyciski z tabeli “Dodaj nowe zadania”

Na koniec zmiany wizualne:
- Na głównej stronie “Organizacja” pozostawiam tylko kalendarz.
- Widok tabeli zadań oraz możliwości dodania nowego zadania umieszczam w osobnym dokumencie “Lista zadań”
- Do widoku tabeli z zadaniami oraz w tabeli do dodawania nowych zadań umieszczam możliwość filtrowania oraz dodajer formatowanie warunkowe dla oddzieleania zadań powtarzających się od tych pojedynczych
- Formatowanie kolorem uzyskałem poprzez dodanie kolumny z numerem zadania. Formuła sprawdza czy zadanie występuje już w tabeli. Jeśli nie, nadaje nowy numer indywidualny dla zadania, a jeśli istnieje to przypisuje numer z pierwszego występowania danego zadania w tabeli. Następnie numery określają kolor całego wiersza w tabeli. Finalnie tą kolumnę ukrywam,
- Dodałem jeszcze możliwość usuwania zadań z poziomu tabeli – prosty przycisk pobierający informacje o ID zadania, które chcemy usunąć i usuwający je
Podsumuwując:
Mamy kalendarz Google powiązany z Coda.io w dwóch kierunkach:
- Elementy definiowane w kalendarzu Google znajdą się w Coda.io
- Elementy definiowane z poziomu Coda.io znajdą się w kalendarzy Google
Kalendarz przejął formatowanie ustawione w tabeli:

W następnym wpisie do utworzonych zadań wykonam automatyzację, która pozwoli oznaczać zadania jako powtarzające się “tygodniowo” lub “miesięcznie”. Początek będzie podobny do wpisu realizowanego przy tworzeniu automatyzacji przedłużającej harmonogram w kalendarzu pracy: LINK
