Przejdź do treści

Ustawienia plików cookie

Prosimy wybrać, na które rodzaje plików cookie Państwo zezwalają. Wybór można zmienić w dowolnym momencie w Ustawieniach plików cookie na dole każdej strony. Polityka prywatności

Niezbędne

Zawsze włączone

Potrzebne do logowania, zachowania koszyka i zapamiętania wyborów. Są zawsze włączone.

Jakie pliki cookie?
  • weboke_sessie, weboke_klant, weboke_remember: sesja i pozostanie zalogowanym
  • weboke_basket: koszyk
  • wkBtwIncl: wyświetlanie cen z VAT lub bez VAT
  • wok_cookies: wybór dotyczący plików cookie, 12 miesięcy

Mierzą, która reklama prowadzi do odwiedzin lub zamówienia, abyśmy nie płacili za reklamy, które nic nie dają.

Jakie pliki cookie?
  • Google Ads przez Google Tag Manager (_gcl_au, _gcl_aw), do 90 dni
  • OpenAI Ads, reklamy w ChatGPT
  • wok_aff: przez którego partnera trafili Państwo do nas (program partnerski), 60 dni

4,6

Kraj i język

Każdy kraj ma własną stronę z cenami i stawką VAT tego kraju.

Wyświetl

CalDAV i CardDAV: jak synchronizować kalendarz i kontakty

Moduł 5: Kalendarz i kontakty · Czas czytania: 10 minut

Cel lekcji: Po tej lekcji będą Państwo potrafili wyjaśnić, w jaki sposób CalDAV i CardDAV utrzymują spójność kalendarza i kontaktów między serwerem a urządzeniami, dlaczego zauważają to Państwo dopiero przy konfigurowaniu aplikacji oraz jakie dane są potrzebne, aby połączyć aplikację z serwerem.

Kluczowe pojęcia: CalDAV, CardDAV, WebDAV, synchronizacja, adres serwera, .well-known/caldav, .well-known/carddav, principal, hasło aplikacji, Exchange ActiveSync, kalendarz domyślny

Kalendarz i kontakty mieszkają na serwerze

W przypadku Google i Microsoft nie zauważają Państwo, w jaki sposób kalendarz trafia na telefon. Logują się Państwo na swoje konto i kalendarz oraz kontakty po prostu tam są. Za kulisami używają do tego zwykle własnego sposobu synchronizacji: Microsoft wykorzystuje Exchange ActiveSync i własne mechanizmy integracji, Google własną synchronizację kont na Androidzie.

U europejskiego dostawcy odbywa się to niemal zawsze za pomocą dwóch otwartych standardów:

  • CalDAV (RFC 4791) dla kalendarzy i list zadań;
  • CardDAV (RFC 6352) dla kontaktów.

Oba standardy bazują na WebDAV, rozszerzeniu zwykłego ruchu internetowego (HTTPS), które pozwala odczytywać i zapisywać pliki na serwerze. Spotkanie jest dla CalDAV małym plikiem w formacie iCalendar (lekcja 5.2), kontakt małym plikiem w formacie vCard. Serwer przechowuje te pliki w folderze dla każdego kalendarza lub książki adresowej. Telefon, laptop i kalendarz internetowy co kilka minut pytają: "co się zmieniło od ostatniego razu?" i pobierają tylko zmiany.

iPhone  <--CalDAV/HTTPS-->  server: /calendars/anne/werk/  <--CalDAV-->  laptop (Thunderbird)
                                   ^
                                   |
                              webagenda in de browser

Wielką zaletą otwartego standardu jest to, że nie są Państwo związani z jedną aplikacją. Aplikacja Kalendarz w iPhonie, DAVx5 na Androidzie, Thunderbird, Kalendarz na Macu i wiele innych aplikacji obsługują CalDAV. Jeśli w przyszłości przejdą Państwo do innego dostawcy, który również obsługuje CalDAV, wystarczy ponownie skonfigurować te same aplikacje.

Dlaczego nie widać tego, dopóki nie skonfigurują Państwo aplikacji

Po przeniesieniu kalendarza (lekcja 5.2 i 5.3) wszystko jest uporządkowane w kalendarzu internetowym Państwa nowej usługi. Telefon jeszcze nic o tym nie wie. Żadna aplikacja nie pojawi się sama: na każdym urządzeniu trzeba dodać konto. Potrzebują Państwo do tego trzech rzeczy:

DanePrzykład dla Piekarni De Korrel
Adres serwerahttps://cloud.example.com lub pełny adres DAV, na przykład https://cloud.example.com/remote.php/dav
Nazwa użytkownikaanne
Hasłohasło aplikacji, patrz poniżej

Adres serwera i .well-known

Każda usługa ma własną ścieżkę, pod którą znajdują się CalDAV i CardDAV. W Nextcloud jest to /remote.php/dav, na innych serwerach bywa inaczej. Aby uniknąć konieczności znajomości tej ścieżki przez każdego, istnieje ustalona zasada (RFC 6764): aplikacja, która otrzymuje tylko nazwę domeny, najpierw sprawdza ustalone miejsce:

https://cloud.example.com/.well-known/caldav
https://cloud.example.com/.well-known/carddav

Serwer odpowiada tam przekierowaniem do rzeczywistej ścieżki. Jeśli to przekierowanie działa poprawnie, w iPhonie wystarczy wpisać samo cloud.example.com. Jeśli nie działa, aplikacja zgłosi "nie można zweryfikować konta" i trzeba będzie wpisać pełny adres. Ten sam dokument RFC opisuje również rekordy SRV (_caldavs._tcp.example.com), dzięki którym aplikacja może znaleźć serwer na podstawie domeny e-mail. Nie każda aplikacja z tego korzysta.

Następnie aplikacja pyta serwer o Państwa principal: stałe miejsce Państwa konta na serwerze, zawierające listę Państwa kalendarzy i książek adresowych. Dzięki temu aplikacja automatycznie znajduje wszystkie kalendarze, również te udostępnione Państwu przez inne osoby.

Dlaczego potrzebne jest hasło aplikacji

Większość europejskich usług chmurowych przy logowaniu w przeglądarce wymaga drugiego kroku: kodu przesłanego e-mailem, aplikacji uwierzytelniającej lub klucza passkey. Aplikacja kalendarza na telefonie nie potrafi wykonać tego drugiego kroku. Ma tylko pole na nazwę użytkownika i hasło.

Dlatego dla takiej aplikacji tworzą Państwo hasło aplikacji: długie, losowe hasło, które obowiązuje wyłącznie dla tej jednej aplikacji. Tworzy się je w ustawieniach bezpieczeństwa swojej chmury, nadaje mu się rozpoznawalną nazwę ("Kalendarz iPhone Anna") i wpisuje w aplikacji.

Zalety:

  • Prawdziwe hasło nie jest przechowywane na telefonie.
  • Jeśli zgubią Państwo telefon, wystarczy unieważnić tylko to jedno hasło aplikacji; reszta nadal będzie działać.
  • Jeśli zmienią Państwo zwykłe hasło, aplikacje będą nadal działać.

Niektóre aplikacje potrafią też logować się przez przeglądarkę: otwierają ekran logowania Państwa chmury, wykonują Państwo tam drugi krok, a aplikacja sama otrzymuje hasło aplikacji. DAVx5 na Androidzie potrafi to zrobić na przykład z Nextcloud.

Najbardziej znany komunikat błędu w aplikacjach kalendarza to 401 Unauthorized. Niemal zawsze oznacza to: użyli Państwo zwykłego hasła zamiast hasła aplikacji, albo hasło aplikacji zostało unieważnione.

Kalendarze Exchange i co tracą Państwo przy zmianie

Osoby przechodzące z Microsoft 365 są przyzwyczajone do kilku rzeczy, które w CalDAV działają inaczej lub wcale:

  • Widoczność dostępności współpracowników przy planowaniu. Nextcloud i inne serwery CalDAV mają własną formę tej funkcji (dostępność w obrębie tego samego serwera), ale nie działa ona między różnymi usługami i nie zawsze w każdej aplikacji.
  • Rezerwowanie sal i sprzętu (sala konferencyjna, projektor). Niektóre serwery mają kalendarze zasobów, inne nie.
  • Dostęp delegowany ("sekretarka zarządza kalendarzem dyrektora"). W CalDAV reguluje się to przez udostępnianie z prawami do edycji.

Proszę umieścić to na swojej liście (moduł 3). Rzadko jest to powód, by nie zmieniać dostawcy, ale współpracownicy muszą o tym wiedzieć wcześniej.

W praktyce: jak to wygląda u dostawcy

W Nextcloud od WebOké adresy znajdą Państwo w aplikacji Kalendarz, w lewym dolnym rogu przy Ustawienia Kalendarza: CalDAV URL oraz Adres serwera dla iOS i macOS, każdy z przyciskiem kopiowania. Ogólny adres to https://<Państwa-adres>/remote.php/dav. Hasło aplikacji tworzy się w Ustawienia, Bezpieczeństwo, Urządzenia i sesje. Tam widać też później, które urządzenie i kiedy ostatnio się łączyło, i tam można unieważnić hasło aplikacji. Inni dostawcy Nextcloud działają dokładnie tak samo; u innych europejskich usług (na przykład mailbox.org, Posteo lub środowisko Open-Xchange) adres CalDAV znajduje się na stronach pomocy lub w ustawieniach, a hasła aplikacji nazywane są czasem "hasłem urządzenia" lub "hasłem aplikacji".

Podsumowanie

  • CalDAV (kalendarz, zadania) i CardDAV (kontakty) to otwarte standardy oparte na WebDAV i HTTPS; każda zmiana to mały plik na serwerze.
  • Na każdym urządzeniu trzeba samodzielnie dodać konto: adres serwera, nazwę użytkownika i hasło aplikacji.
  • Dzięki .well-known/caldav i .well-known/carddav aplikacja znajduje rzeczywistą ścieżkę na podstawie samej nazwy domeny; jeśli to nie zadziała, należy wpisać pełny adres DAV.
  • Hasło aplikacji jest potrzebne, ponieważ aplikacje kalendarza nie potrafią wykonać drugiego kroku logowania; komunikat 401 niemal zawsze oznacza błędne hasło.
  • Funkcje Exchange, takie jak dostępność między współpracownikami, rezerwacja sal i delegowanie, działają inaczej; proszę umieścić je na swojej liście.

Quiz

1. Jakiego protokołu używa się do utrzymania spójności kontaktów między serwerem a telefonem?



2. Do czego służy https://cloud.example.com/.well-known/caldav?



3. Anna konfiguruje kalendarz na swoim iPhonie, używając zwykłego hasła do Nextcloud, i otrzymuje komunikat "401 Unauthorized". Jakie jest rozwiązanie?



4. Jaka jest zaleta posiadania osobnego hasła aplikacji dla każdego urządzenia?



5. Piekarnia planuje obecnie spotkania, sprawdzając w Outlooku dostępność pracowników. Jaka jest uczciwa uwaga przy przejściu na kalendarz oparty na CalDAV?



Zadanie

Zadanie A5.1: Czy aplikacja znajduje Państwa kalendarz? Proszę wpisać adres swojej (nowej) chmury, na przykład cloud.example.com. Program sprawdzi, czy /.well-known/caldav i /.well-known/carddav poprawnie przekierowują do ścieżki DAV oraz czy serwer odpowiada tam jako serwer DAV. Dzięki temu dowiedzą się Państwo, czy na telefonie wystarczy wpisać samą nazwę domeny.

Zadanie A5.1: Czy aplikacja znajduje Państwa kalendarz?

Proszę podać adres Państwa chmury. Program wykona to, co robi aplikacja kalendarza: zapyta /.well-known/caldav i /.well-known/carddav, podąży za przekierowaniem i sprawdzi, czy odpowiada tam serwer DAV. Logowanie nie jest wykonywane.



Wprowadzone dane i wyniki sprawdzania nie są zapisywane. Przeglądarka zapamiętuje udzielone odpowiedzi oraz informację, czy zadanie zostało zaliczone. Po zalogowaniu w Moje kursy zapisywana jest jedynie informacja, że zadanie zostało zaliczone (lub prawie zaliczone); tam można ją również usunąć.

Dalsza lektura

Kroki opisane w tych artykułach dotyczą usług WebOké; u innych dostawców działa to w podobny sposób.

Chwileczkę…

Konfiguracja domen

Dla każdej domeny można ustawić serwery nazw, powiązanie z hostingiem oraz to, kto zostanie właścicielem.

Wczytywanie domen…