grommunio's Exchange Web Services z klientami Linux
Od zeszłego roku grommunio wspiera Exchange Web Services (EWS). Usługi te, po raz pierwszy wprowadzone przez Microsoft w Exchange 2007, stanowią kolejny ważny API, za pośrednictwem którego klienci komunikują się z serwerami Exchange (i Office 365, obecnie MS 365). Szczególnie interesujące jest to, że Microsoft otwarcie wprowadził EWS, aby zachęcić zewnętrznych programistów do dostarczania swoich klientów.
I tak się stało, na czym skorzystało również grommunio. Deweloperzy korzystają jednak z ogromnej ilości funkcji debugowania i zarządzania, które oferuje grommunio. W tym miejscu moc modelu rozwoju open source grommunio staje się oczywista. Oprócz wewnętrznego pulpitu grommunio i w pełni obsługiwanych standardowych aplikacji na Windows i Mac (Outlook), a także tych na Androida i iPhone’y, istnieją aplikacje, których integracja EWS jest utrzymywana przez społeczność. Ponieważ są one różnej jakości, przykład nieco “chwiejnego” kandydata pokazuje, jak pomocny i potężny jest grommunio jako serwer i jakie wyjątkowe możliwości oferuje do debugowania, zwłaszcza w porównaniu z Exchange Microsoftu.
Exchange Web Services: W pełni obsługiwany od wersji grommunio 2023.11.3
Po pierwsze: Wraz z najnowszą wersją 2023.11.3 grommunio, EWS wyszedł ze statusu beta i jest teraz w pełni obsługiwany. Funkcja ta jest szczególnie pomocna dla klientów Apple, nie tylko Outlook for Mac, ale także aplikacje takie jak Apple Mail i Calender są teraz obsługiwane przez grommunio. Usługi EWS są domyślnie aktywne od wersji 2023.11.3 - zobacz Release Notes.
Microsoft bardzo szczegółowo określił EWS API i umożliwia on rozbudowane funkcje, w tym administrację i zarządzanie danymi. Jednak EWS jest również szczególnie atrakcyjny, ponieważ producent chce i zachęca do rozwoju klientów przez większą społeczność. EWS ma stać się interfejsem dla innych klientów, narzędzi i przetwarzania danych Exchange, a także dla takich narzędzi jak Sharepoint czy Skype. Jeśli chcesz przeczytać więcej, możesz znaleźć więcej informacji na blogach takich jak TechGenix.
Oprogramowanie do pracy grupowej, zdalna administracja i nie tylko
Przez długi czas istniały implementacje po stronie klienta dla EWS ze świata open source: Mozilla Thunderbird, a także GNOME Evolution i KDE Kontact oferują połączenie z EWS, aczkolwiek z różną jakością i z różnymi założeniami. Ktokolwiek zagłębi się w te implementacje, nie powinien oczekiwać cudów. Nawet jeśli coraz więcej użytkowników polega na wolnym oprogramowaniu w miejscu pracy, pulpit Linuksa nadal pozostaje egzotycznym narzędziem, tylko za MacOS jako systemem klienckim.
Co gorsza, wśród użytkowników Linuksa ci, którzy potrzebują w pełni rozwiniętego klienta oprogramowania do pracy grupowej, takiego jak Outlook, stanowią wyjątek; narzędzia webowe są zwykle całkowicie wystarczające dla tych użytkowników, a istnieją implementacje takie jak grommunio Desktop, które zawsze zapewniają wygląd i działanie strony internetowej na wszystkich systemach operacyjnych w jednolity, bezpieczny i niezależny od przeglądarki sposób. Zaletą takich wariantów Electron jest to, że łączą one wszystkie funkcje w jednym GUI, tak jak pojawiają się one w interfejsie internetowym.
Ale nawet jeśli grupa docelowa dla natywnego klienta EWS lub wtyczki na pulpicie Linuksa jest niewielka, podobnie jak społeczność programistów, wciąż zaskakujące jest to, co społeczność Linuksa już tu osiągnęła (bez wsparcia np. grommunio) i jak daleko można się z nią posunąć w codziennym życiu.
Zwycięzca testu EWS: Evolution
Wśród prawdziwych klientów EWS dla Linuksa, program Gnome Evolution wypada najlepiej i robi to znacznie lepiej niż jego konkurenci. Ze swoim raczej klasycznym i prostym stylem i interfejsem użytkownika, ma zdecydowanie najlepszą integrację EWS, która również działała od razu w teście i automatycznie rozpoznawała wszystkie niezbędne ustawienia, również w połączeniu z grommunio.
W openSUSE najprostszym sposobem na zainstalowanie Evolution z rozszerzeniem EWS jest “zypper in evolution-ews”, który również pobiera wtyczkę EWS. Od wersji Evolution 3.27.91 Oauth 2 działa również z MS 365, obecnie Tumbleweed instaluje już evolution-ews 3.52.
Szczególnie miłe: Po instalacji, przy pierwszym uruchomieniu, Evolution wykonuje całą pracę za użytkownika: Kreator prosi o podanie adresu e-mail, co wystarcza do automatycznego wykrycia wszystkich innych istotnych danych. Jeśli chcesz zrobić to później, możesz zrobić to samo z menu “Konta | Dodaj”.
Dziś zastrzeżone, jutro darmowe: EWS w Mozilla Thunderbird
Mozilla pracuje również nad usługami sieciowymi: “Jeśli chodzi o dalsze plany Microsoftu, EWS jest naszym najlepszym sposobem na zapewnienie wsparcia zarówno dla Exchange Online, jak i instalacji lokalnych”, portal linuksowy Howtogeek cytuje dewelopera Seana Burke’a. Post jest wciąż dość nowy, od lutego 2024 r., Nie ma jeszcze dokładnej daty planów Mozilli, ale przynajmniej jest zobowiązanie. Co więcej, na FOSDEM w Brukseli, po wystąpieniu Jana Engelhardta na temat grommunio, odbyły się rozmowy między programistami na temat EWS w Thunderbirdzie. Biorąc pod uwagę, że narzędzie Mozilli jest dostępne zarówno na Windows, Apple, jak i Linux, brzmi to jak świetny pomysł.
Jednak do tego czasu miłośnicy Thunderbirda będą musieli zadowolić się dodatkiem ExQuilla add-on (niektórzy testerzy woleli termin “walka”), który ma mieszane recenzje. Ze strony internetowej pobierany jest plik .xpi, który użytkownik ładuje do zarządzania rozszerzeniami Thunderbirda.
Brak kalendarza?
Po kliknięciu dramatycznie brzmiącego “Zezwól Exquilli na pełny dostęp do tego komputera”, użytkownik musi jeszcze skonfigurować swoje konto Exchange. Nie daj się zmylić wyświetlanej teraz dokumentacji Exquilla: Nadal pokazuje ona przestarzały interfejs Thunderbirda (poprzez menu główne, “Narzędzia | Exquilla dla MicrosoftExchange | Dodaj konto Microsoft Exchange”). W nowoczesnych Thunderbirdach, po zainstalowaniu rozszerzenia Xpi, bezpośrednio na stronie startowej dostępny jest osobny przycisk do połączenia EWS.
Podobnie jak w przypadku Evolution, automatyczne wykrywanie danych grommunio działa bez problemów, kontakty i maile są przenoszone do Thunderbirda. Na próżno jednak użytkownik będzie szukał kalendarza, gdyż synchronizacja nie należy do zakresu funkcji ExQuilla.
Trzeci w zestawieniu: KDE Kontact z EWS
KDE Kontact - lub “Kmail” - również ma EWS “na pokładzie” od jakiegoś czasu, wtyczka nie jest konieczna, a EWS jest dostępny jako oddzielny typ serwera dla kont w popularnych dystrybucjach Linuksa. Szkoda tylko, że integracja wydaje się być nieco osierocona, jak pokazują prawa autorskie w “oknie dialogowym informacji”, które pochodzą z 2020 roku. W związku z tym integracja jest w niektórych miejscach chwiejna. Na dzień dzisiejszy EWS działa z KDE Kontact, ale nie wydaje się jeszcze godny polecenia; czasami konieczne jest ręczne debugowanie.
Sama instalacja jest bardzo szybka: wystarczy kliknąć przycisk, aby dodać nowe konto. Kliknij ""Setup | Accounts | Add | Custom Mailbox” i wybierz pozycję “Microsoft Exchange Server (EWS)”, a następnie zostanie wyświetlony kreator konfiguracji podobny do tego z Evolution.
Teoretycznie klienci oprogramowania do pracy grupowej typu open source wydają się mieć dość podobne funkcje: Oauth, NTLMv2, z domeną lub bez, użytkownik może wybrać wiele przydatnych ustawień. W większości działa to od razu po wyjęciu z pudełka, tylko Kontact potyka się (przynajmniej z grommunio) o automatyczne wykrywanie adresu URL serwera. Wprowadzenie go ręcznie jest konieczne, aby cieszyć się EWS z KDE na pulpicie Linuksa - z pewnymi wadami i komunikatami o błędach. Deweloperzy grommunio wciąż badają dokładne przyczyny tego stanu rzeczy, w teście musieliśmy po prostu ręcznie wprowadzić adres URL “https://$SERVERNAME/EWS/Exchange.asmx” ($SERVERNAME oczywiście zastąpiono odpowiedzialnym serwerem pocztowym) i wyłączyć uwierzytelnianie NTLMv2.
Oto kroki wymagane dla Kontact z grommunio:
- Otwórz okno dialogowe konfiguracji, klikając “Ustawienia | Konfiguracja Kmail” w menu głównym Kontact. Wybierz zakładkę “Konta | Odbiór” i kliknij “Dodaj | Niestandardowa skrzynka pocztowa”.
- Przypisz nazwę i wprowadź adres e-mail, odznacz “Domain” (Domena)
- Wprowadź nazwę użytkownika (identyczną z adresem e-mail) i hasło
- Dezaktywuj pole wyboru “Automatyczne wykrywanie serwera” dla grommunio i wprowadź następującą wartość jako “EWS URL”: “https://$SERVERNAME/EWS/Exchange.asmx”. Zastąp $SERVERNAME nazwą FQDN swojego serwera pocztowego.
- Kliknij na “Test Connection”. Jeśli nie pojawi się żaden komunikat o błędzie, możesz kontynuować, klikając “Wykonaj” i zakończyć konfigurację, klikając “OK”. Po aktywowaniu pól wyboru w kalendarzu i książce adresowej, dane Exchange (lub dane z grommunio lub MS365) będą dostępne po odświeżeniu poczty e-mail. Podobnie jak w przypadku Evolution, inne zakładki w oknie dialogowym ustawień oferują rozbudowane opcje dostrajania. Zaleca się jednak ostrożność.
grommunio pomaga w debugowaniu
Szczególnie irytujący w teście był błąd we wtyczce EWS, który wydawał się niepotrzebnie obciążać system testowy: komunikat o błędzie “org.kde.pim.ews.client: Nie udało się odczytać żądania EWS - oczekiwany element GetEventsResponseMessage” pojawiał się w dzienniku komunikatów klienta Linux dwa razy na sekundę, wskazując, że wtyczka KDE nadal używa “GetEvents”, podczas gdy inni klienci używają teraz działającego “GetStreamingEvents”. Można było również zaobserwować sporadyczne awarie.
Ale grommunio może również pomóc tutaj: Przejrzystość i przyjazność dla administratora jego oprogramowania open source umożliwia bliższe przyjrzenie się programom. Jeśli aktywujesz debugowanie EWS na serwerze, interfejs administratora grommunio dostarczy szczegółowych informacji o żądaniach klientów - pomocna funkcja nie tylko przy podłączaniu nieobsługiwanych programów do pracy grupowej w systemie Linux, ale także poza Exchange Web Services.

Dziennik serwera pokazuje nieprawidłowe żądania od klienta Kontact EWS.
Jeśli chcesz samodzielnie wyśledzić nieprawidłowe zachowanie, ustaw “http_log_level” w pliku konfiguracyjnym grommunio “/etc/gromox/http.cfg” na wartość 7 oraz parametry ews_request_logging=2 i ews_response_logging=2 w “/etc/gromox/ews.cfg”. grommox rejestruje wtedy wszystkie żądania i odpowiedzi EWS w dzienniku gromox-http. Uwaga: Ustawienia te nie powinny być utrzymywane podczas produktywnej pracy, ponieważ mogą generować duże ilości danych dziennika.
Wnioski: Evolution tak, Kontact nie, Thunderbird wkrótce
W pełni zintegrowane usługi EWS, które są teraz domyślnie aktywne w grommunio, są interesujące nie tylko dla klientów Apple. Microsoft dotrzymał obietnicy, że pozwoli każdemu klientowi, a grommunio i cały świat open source również na tym skorzystają. Ale dzięki grommunio, pierwszy w pełni funkcjonalny serwer oprogramowania do pracy grupowej typu open source z Exchange Web Services jest już dostępny, wielu klientów już z niego korzysta, a dzięki przejrzystości i identyfikowalności open source oraz wielu opcjom ustawień, grommunio może również pomóc w przypadkach, gdy administratorzy Exchange są pozostawieni samym sobie. Dzięki grommunio możesz administrować zamiennikiem Exchange z linii poleceń Linuksa, w plikach tekstowych, z dużą ilością informacji debugowania i - jeśli chcesz, możesz, potrzebujesz - dostosować kod źródłowy do swoich potrzeb.