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 interfejs 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 może skorzystać 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 w zakresie debugowania, zwłaszcza w porównaniu z Exchange Microsoftu.
Exchange Web Services: W pełni obsługiwane 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] (https://support.apple.com/en-gb/guide/deployment/dep158966b23/web), nie tylko Outlook dla komputerów 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 - patrz Release Notes.
Microsoft bardzo szczegółowo określił swój interfejs API EWS i umożliwia on rozbudowane funkcje, w tym administrowanie 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 do innych klientów, narzędzi i przetwarzania danych dla danych Exchange, a także dla narzędzi takich 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 EWS po stronie klienta 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ć żadnych 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ą pełnego klienta pracy grupowej, takiego jak Outlook, stanowią wyjątek; narzędzia sieciowe 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 Electrona jest to, że łączą wszystkie funkcje w jednym GUI, tak jak pojawiają się one w interfejsie internetowym.

Pulpit grommunio jest również dostępny we wszystkich systemach operacyjnych Linux, ale nie korzysta z EWS.
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ło: 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 to zrobić później, możesz to zrobić za pomocą menu “Konta | Dodaj”.
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”.

Evolution posiada czystą, kompletną integrację i inteligentny kreator konfiguracji.
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 to nasz najlepszy sposób 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. Ponadto 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.

Za opłatą i bez kalendarza: ExQuila for Exchange jest wtyczką dla Mozilla Thunderbird.
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.

KDE Kontact jest również wyposażony w kreator konfiguracji, ale nie udaje mu się (od kwietnia 2024 r.) automatycznie wykryć adresu URL EWS i powoduje komunikaty o błędach.
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 serwera poczty.
- 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. Po aktywowaniu debugowania EWS na serwerze, interfejs WWW administratora grommunio dostarcza szczegółowych informacji o żądaniach klientów - pomocna funkcja nie tylko podczas łączenia nieobsługiwanych programów Linux Groupware, ale także poza Exchange Web Services.
grommunio Exchange Web Services: grommunio-server-log](/img/posts/24-04-22_grommunio-server-log.jpg)
Dziennik serwera pokazuje nieprawidłowe żądania z klienta EWS Kontact.
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.
grommunio Exchange Web Services: Debugowanie](/img/posts/24-04-22_ews-debugging.jpg)
Ustawienia debugowania ruchu EWS na serwerze grommunio powinny zostać zakomentowane podczas pracy.
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 usługami 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ć swoim 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.