grommunio's Exchange Web Services met Linux-clients
Sinds vorig jaar ondersteunt grommunio Exchange Web Services (EWS). Deze services, voor het eerst geïntroduceerd door Microsoft in Exchange 2007, vertegenwoordigen een andere belangrijke API waarmee clients communiceren met Exchange servers (en Office 365, nu MS 365). Bijzonder interessant is dat Microsoft EWS openlijk heeft geïntroduceerd om externe ontwikkelaars aan te moedigen hun clients bij te dragen.
En dat hebben ze gedaan, waar ook grommunio van kan profiteren. Ontwikkelaars profiteren echter van de enorme hoeveelheid debugging- en beheerfuncties die grommunio biedt. Dat is waar de kracht van grommunio’s open source ontwikkelingsmodel duidelijk wordt. Naast de in-house grommunio desktop en de volledig ondersteunde standaard applicaties op Windows en Mac (Outlook) en die op Android en iPhones, zijn er applicaties waarvan de EWS integratie wordt onderhouden door de gemeenschap. Omdat ze van verschillende kwaliteit zijn, laat het voorbeeld van een ietwat “wankele” kandidaat zien hoe hulpvaardig en krachtig grommunio is als server en welke uitstekende mogelijkheden het biedt voor debugging, vooral in vergelijking met Microsoft’s Exchange.
Exchange Web Services: Volledig ondersteund sinds grommunio 2023.11.3
Eerst het belangrijkste: Met de nieuwste versie 2023.11.3 van grommunio is EWS de beta-status ontgroeid en wordt nu volledig ondersteund. De functie is vooral [nuttig voor Apple clients] (https://support.apple.com/en-gb/guide/deployment/dep158966b23/web), niet alleen Outlook voor Mac maar ook apps zoals Apple Mail en Calender worden nu ondersteund door grommunio. De EWS services zijn standaard actief sinds 2023.11.3 - zie Release Notes.
Microsoft heeft zijn EWS API zeer gedetailleerd gespecificeerd en maakt uitgebreide functies mogelijk, waaronder administratie en gegevensbeheer. EWS is echter ook bijzonder aantrekkelijk omdat de fabrikant de ontwikkeling van clients door de grotere gemeenschap wil en aanmoedigt. EWS moet de interface worden naar andere clients, tools en gegevensverwerking voor Exchange-gegevens, maar ook voor tools als Sharepoint of Skype. Als je meer wilt lezen, kun je meer informatie vinden op blogs zoals TechGenix.
Groupware, beheer op afstand en meer
Er bestaan al lang client-side implementaties voor EWS uit de open source wereld: Zowel Mozilla Thunderbird als GNOME’s Evolution en KDE Kontact bieden de verbinding met EWS, zij het met verschillende kwaliteit en met verschillende uitgangspunten. Wie in deze implementaties duikt moet geen wonderen verwachten. Ook al vertrouwen steeds meer gebruikers op vrije software op de werkplek, de Linux desktop blijft nog steeds een exotische tool, alleen achter MacOS als client systeem.
Erger nog: onder de Linux desktop gebruikers zijn degenen met een behoefte aan een volwaardige groupware client zoals Outlook een uitzondering; webtools zijn meestal volledig toereikend voor deze gebruikers, en er zijn implementaties zoals grommunio Desktop, die altijd de look en feel van de website naar alle besturingssystemen brengen op een uniforme, veilige en browser-onafhankelijke manier. Het mooie van zulke Electron varianten is dat ze alle functies combineren in één GUI, precies zoals ze verschijnen in de webinterface.
grommunio Desktop Mail](/img/posts/24-04-22_grommunio-desktop.jpg)
De grommunio desktop is ook beschikbaar op alle Linux besturingssystemen, maar maakt geen gebruik van EWS.
Maar ook al is de doelgroep voor een native EWS client of plugin op de Linux desktop klein en de ontwikkelaarsgemeenschap ook, het is nog steeds verrassend wat de Linux gemeenschap hier al heeft bereikt (zonder ondersteuning van bijvoorbeeld grommunio), en hoe ver je ermee kunt komen in het dagelijks leven.
EWS-test winnaar: Evolution
Van de echte EWS-clients voor Linux presteert het kabouterprogramma Evolution het beste, en het doet dit veel beter dan zijn concurrenten. Met zijn vrij klassieke en eenvoudige stijl en gebruikersinterface heeft het verreweg de beste EWS-integratie, die ook meteen werkte in de test en automatisch alle benodigde instellingen herkende, ook in combinatie met grommunio.
Onder openSUSE is de eenvoudigste manier om Evolution geïnstalleerd te krijgen met de EWS extensie een “zypper in evolution-ews”, die ook de EWS plugin download. Vanaf Evolution 3.27.91 werkt Oauth 2 ook met MS 365, momenteel installeert Tumbleweed evolution-ews 3.52 al.
grommunio Exchange Web Services: Installatie Evolution EWS](/img/posts/24-04-22_Installatie-Evolution-EWS.jpg)
Vooral leuk: Na de installatie, bij de eerste start, doet Evolution al het werk voor de gebruiker: Een wizard vraagt om het e-mailadres, wat voldoende is om alle andere relevante gegevens automatisch te achterhalen. Als je dit later wilt doen, kun je dat doen met het menu “Accounts | Toevoegen”.
Bijzonder leuk: Na de installatie, bij de eerste start, doet Evolution al het werk voor de gebruiker: Een wizard vraagt om het e-mailadres, wat voldoende is om alle andere relevante gegevens automatisch te achterhalen. Als u dit later wilt doen, kunt u hetzelfde doen met het menu “Accounts | Toevoegen”.
grommunio Exchange Web Services: Evolutie](/img/posts/24-04-22_evolutie.jpg)
Evolution komt met een schone, complete integratie en een slimme setup wizard.
Vandaag propriëtair, morgen gratis: EWS in Mozilla Thunderbird
Mozilla werkt ook aan Web Services: “Wat betreft de verdere plannen van Microsoft is EWS onze beste manier om ondersteuning voor zowel Exchange Online als on-premise installaties te garanderen”, citeert het Linux-portaal Howtogeek ontwikkelaar Sean Burke. Het bericht is nog vrij nieuw, vanaf februari 2024, er is nog geen exacte datum voor Mozilla’s plannen, maar er is in ieder geval een toezegging. Verder zijn er op FOSDEM in Brussel, na Jan Engelhardt’s Talk over grommunio, gesprekken geweest tussen ontwikkelaars over EWS in Thunderbird. Nu Mozilla’s tool zowel op Windows, Apple als Linux beschikbaar is, klinkt dat als een geweldig idee.
Tot die tijd zullen Thunderbird liefhebbers het echter moeten doen met de ExQuilla add-on (sommige testers gaven de voorkeur aan de term “struggle”), die gemengde recensies heeft. Van de website komt een .xpi-bestand, dat de gebruiker in het extensiebeheer van Thunderbird laadt.
Geen kalender?
Nadat de gebruiker op het dramatisch klinkende “Allow Exquilla full access to this computer” heeft geklikt, moet hij zijn Exchange-account nog configureren. Laat je niet in verwarring brengen door de documentatie van Exquilla die nu wordt weergegeven: Het toont nog steeds de verouderde Thunderbird interface (via het hoofdmenu, “Tools | ExQuilla for MicrosoftExchange | Add Microsoft Exchange Account”). In moderne Thunderbirds is er een aparte knop voor de EWS verbinding nadat je de Xpi extensie hebt geïnstalleerd, direct op de startpagina.
Net als bij Evolution werkt het automatisch vinden van grommunio-gegevens zonder problemen, contacten en e-mails worden overgezet naar Thunderbird. De gebruiker zal echter tevergeefs zoeken naar een kalender, omdat synchronisatie geen deel uitmaakt van de functies van ExQuilla.
grommunio Exchange Web Services: ExQuilla](/img/posts/24-04-22_Exquilla.jpg)
Tegen betaling en zonder kalender: ExQuila for Exchange is een plugin voor Mozilla Thunderbird.
Derde in de rij: KDE Kontact met EWS
KDE’s Kontact - of “Kmail” - heeft EWS ook al een tijdje “aan boord”, een plugin is niet nodig, en EWS is beschikbaar als een apart servertype voor de accounts op de gangbare Linux distributies. Het is alleen jammer dat de integratie een beetje verweesd lijkt te zijn, zoals het copyright in het “Info dialoogvenster” laat zien, dat dateert uit 2020. Daarom is de integratie op sommige plaatsen wankel. Zoals het er nu voor staat, werkt EWS met KDE Kontact, maar het lijkt nog geen aanrader; handmatig debuggen is soms noodzakelijk.
grommunio Exchange Web Services: Kontact](/img/posts/24-04-22_Kontact.jpg)
KDE Kontact wordt ook geleverd met een installatiewizard, maar deze slaagt er (vanaf april 2024) niet in om de EWS URL automatisch te detecteren en geeft foutmeldingen.
De installatie zelf is erg snel: klik gewoon op de knop om een nieuw account toe te voegen. Klik op Setup | Accounts | Add | Custom Mailbox en selecteer “Microsoft Exchange Server (EWS)”, waarna je een installatiewizard te zien krijgt die lijkt op die van Evolution.
In theorie lijken de open source groupware clients vergelijkbare mogelijkheden te hebben: Oauth, NTLMv2, met of zonder domein, de gebruiker kan veel nuttige instellingen selecteren. Dit werkt meestal out-of-the-box, alleen Kontact struikelt (in ieder geval met grommunio) bij het automatisch detecteren van de server URL. Handmatig invoeren is nodig om te kunnen genieten van EWS met KDE op de Linux desktop - met enkele nadelen en foutmeldingen. De ontwikkelaars van grommunio onderzoeken nog wat de precieze redenen hiervoor zijn, in de test moesten we gewoon de URL “https://$SERVERNAME/EWS/Exchange.asmx” handmatig invoeren ($SERVERNAME natuurlijk vervangen door de verantwoordelijke mailserver) en de NTLMv2 authenticatie uitschakelen.
Dit zijn de stappen die nodig zijn voor Kontact met grommunio:
- Open het installatiedialoogvenster door te klikken op “Instellingen | Kmail instellen” in het hoofdmenu van Kontact. Selecteer het tabblad “Accounts | Ontvangst” en klik op “Toevoegen | Aangepaste mailbox”.
- Wijs een naam toe en voer een e-mailadres in, schakel “Domein” uit
- Voer een gebruikersnaam (identiek aan het e-mailadres) en wachtwoord in
- Deactiveer het selectievakje “Automatische detectie van de server” voor grommunio en voer de volgende waarde in als “EWS URL”: “https://$SERVERNAME/EWS/Exchange.asmx”. Vervang $SERVERNAME door de FQDN van je mailserver.
- Klik op “Test Connection”. Als er geen foutmelding verschijnt, kun je doorgaan met “Execute” en de configuratie voltooien met “OK”. Na het activeren van de selectievakjes in de agenda en het adresboek zijn de Exchange-gegevens (of de gegevens van grommunio of MS365) beschikbaar zodra u uw e-mail vernieuwt. Net als bij Evolution bieden de andere tabbladen in het instellingenvenster uitgebreide opties voor fijnafstelling. Maar voorzichtigheid is geboden.
grommunio helpt bij het debuggen
Bijzonder vervelend in de test was een fout in de EWS plugin, die het testsysteem onnodig zwaar leek te belasten: de foutmelding “org.kde.pim.ews.client: Failed to read EWS request - expected GetEventsResponseMessage element” verscheen twee keer per seconde in het message journal van de Linux client, wat aangeeft dat de KDE plugin nog steeds “GetEvents” gebruikt, terwijl de andere clients nu het werkende “GetStreamingEvents” gebruiken. Incidentele crashes konden ook worden waargenomen.
Maar grommunio kan hier ook helpen: De transparantie en beheervriendelijkheid van de open source software maakt het mogelijk om de programma’s van dichtbij te bekijken. Als je EWS debugging op de server activeert, geeft de grommunio admin web frontend gedetailleerde informatie over client requests - een handige functie, niet alleen bij het verbinden van niet-ondersteunde Linux groupware programma’s, maar ook buiten Exchange Web Services.
grommunio Exchange Web Services: grommunio-server-log](/img/posts/24-04-22_grommunio-server-log.jpg)
De server log toont de onjuiste verzoeken van Kontact’s EWS client.
Als je het wangedrag zelf wilt opsporen, stel dan het “http_log_level” in grommunio’s configuratiebestand “/etc/gromox/http.cfg” in op de waarde 7 en de parameters ews_request_logging=2 en ews_response_logging=2 in “/etc/gromox/ews.cfg”. grommunio logt dan alle EWS verzoeken en antwoorden volledig in het gromox-http log. Let op: Deze instellingen moeten niet in productieve werking worden gehouden, omdat ze grote hoeveelheden loggegevens kunnen genereren.
grommunio Exchange Web Services: Debugging](/img/posts/24-04-22_ews-debugging.jpg)
De debug-instellingen voor het EWS-verkeer op de grommunio-server moeten worden uitgecommentarieerd tijdens het gebruik.
Conclusie: Evolution ja, Kontact nee, Thunderbird binnenkort
De volledig geïntegreerde EWS services die nu standaard actief zijn in grommunio zijn niet alleen interessant voor Apple clients. Microsoft heeft zich aan zijn belofte gehouden om elke client toe te staan, en grommunio en de hele open source wereld profiteren hier ook van. Maar met grommunio, de eerste volledig functionele open source groupware server met Exchange Web Services is nu beschikbaar, veel klanten maken er al gebruik van en dankzij de transparantie en traceerbaarheid van open source en de vele instelmogelijkheden, kan grommunio ook helpen in gevallen waar Exchange-beheerders aan hun lot worden overgelaten. Met grommunio kunt u uw Exchange-vervanging beheren vanaf een Linux-opdrachtregel, in platte tekstbestanden, met een overvloed aan foutopsporingsinformatie en - als u wilt, kunt, moet - de broncode aanpassen aan uw behoeften.