Onze website bevat functionele en analytische cookies die nodig zijn om de website goed te laten functioneren
en jou als bezoeker een goede webervaring te geven. Deze statistieken worden volledig anoniem verwerkt. Meer
informatie is beschikbaar in onze privacyverklaring.
Microsoft Teams (in dit artikel verder genoemd: Teams) is een samenwerkings-app die is gemaakt voor hybride werk (Teams voor online en hybride werk, 2022). Teams telt overigens dit jaar 270 miljoen gebruikers in 181 landen (Curry, 2022).
Bij veel organisaties wordt hard gewerkt om Teams zo in te richten, dat gebruikers deze app goed en veilig kunnen gebruiken. Bij het werken binnen Teams wordt data gebruikt en verwerkt. Deze data (afkomstig uit chat-, kanaal- en bestandengegevens) wordt standaard voor onbepaalde tijd bewaard. In een aantal situaties kan het echter voorkomen dat deze data uit een specifieke Teams-site of van specifieke groep gebruikers niet standaard voor onbepaalde tijd moet worden bewaard. Maar bijvoorbeeld juist moet worden bewaard, gearchiveerd (of vernietigd) na een bepaalde periode. Dit is binnen Teams niet standaard ingericht.
Bewaarbeleid en compliance
Het archiveren van overheidsinformatie is niet vrijblijvend. De Archiefwet verplicht elke overheidsorganisatie om haar informatie duurzaam toegankelijk te maken en te houden, en te vernietigen wanneer de bewaartermijn is verlopen (Archiefwet | Nationaal Archief, 2022). In deze overheidsinformatie staan vaak persoonsgegevens. Daarom moeten overheidsorganisaties zich niet alleen aan de Archiefwet houden, maar ook aan de (Algemene Verordening Gegevensbescherming (AVG) | Autoriteit Persoonsgegevens, 2022). De Politie moet zich daarnaast ook aan de (Wetten.Nl - Regeling - Wet Politiegegevens - BWBR0022463, 2022) houden.
Het is noodzakelijk dat er afspraken worden gemaakt en bewaarbeleid wordt gevormd over het beheren, archiveren, registreren en beschikbaar stellen van deze data.
Bewaarbeleid is volgens de (European Knowledge Center for Information Technology (Ed.), 2018) essentieel om te voldoen aan bijvoorbeeld de regels van Archiefbeheer. En om daarmee Compliant te zijn (Microsoft Compliance, 2022).
De afspraken die in het bewaarbeleid zijn vastgelegd, zijn in Teams maar voor een deel standaard ingericht. Wanneer bijvoorbeeld is bepaald dat Teams’ chat-geschiedenis permanent en automatisch moet worden verwijderd na een bepaalde periode, dan moet daarvoor een zogenaamde Teams beleidsregel (Microsoft Retention, 2022) worden gemaakt, afgestemd op het bewaarbeleid van de organisatie.
Microsoft Purview
Teams ondersteunt bewaarbeleid voor chat- en kanaalberichten, zodat je als IT-administrator proactief beslist of je deze gegevens wilt bewaren, verwijderen of gedurende een bepaalde periode wilt bewaren en vervolgens wilt verwijderen. Het begin van de bewaartermijn voor deze acties is altijd gebaseerd op wanneer een bericht wordt gemaakt. Je kunt een Teams-bewaarbeleid toepassen op de hele organisatie of op specifieke gebruikers en teams. Dergelijke beleidsregels worden gemaakt in wat tegenwoordig de MS Purview wordt genoemd. Purview voegt de voormalige oplossingen en services van Azure Purview en Microsoft 365-compliance samen tot 1 enkel merk en gebruikersinterface (Wat Is Microsoft Purview? | Microsoft Learn, 2022).
Praktijkvoorbeeld
Standaard worden dus chat-, kanaal- en bestandengegevens van Teams voor onbepaalde tijd bewaard. Er zijn situaties waarin de data moet worden verwijderd na een bepaalde periode. Het liefst automatisch (dus door een beleidsregel). Denk bijvoorbeeld aan de volgende voorbeelden:
Journalist: Persmateriaal;
HR: Teams-data van een Directie moet worden gearchiveerd. En na x jaar worden verwijderd;
Docent: bij de voorbereiding van een nieuw te starten studiejaar, data (van studenten van het afgelopen studiejaar) bewaren…..en na vijf jaar automatisch laten verwijderen.
In dit artikel laat ik zien op welke manier het mogelijk is om een Teams-beleidsregel in te stellen aan de hand van het volgende voorbeeld: “Verwijder van alle gebruikers de complete MS Team groep chat-historie na 1 dag (24 uur)”
Let op: Test bovengenoemd voorbeeld uit op een test-omgeving!
In dit voorbeeld wordt gebruik gemaakt van de Engelstalige interface van MS Purview.
Instellen Microsoft Teams Bewaarbeleid in 10 stappen
Er bestaat geen standaard optie om de chathistorie automatisch en permanent te verwijderen. Maar dit is wel mogelijk door onderstaande stappen uit te voeren:
Via portal.office.com log je in (met admin rechten) op de MS365 admin center. En vervolgens via [Compliance] naar MS Purview. Selecteer aan de linkerkant [Policies] en vervolgens [Retention policies].
Zoals je ziet bestaat er geen standaard Retention-policy voor de teams-chat. Dus we maken een nieuwe policy als volgt aan:
Stap 1
Stap 1
Klik op [+New retention policy]
Stap 2
Stap 2
Vul een naam en eventueel omschrijving in en klik vervolgens [next]
Stap 3
Stap 3
Nu moet er een keuze gemaakt worden voor het type retentie-policy.
Selecteer [Static] en vervolgens [next]. De keuze voor static heeft te maken met het feit dat er geen uitgebreide zoekcriteria nodig zijn.
Stap 4
Stap 4
Zoals je ziet zijn de opties voor Teams (standaard) uitgeschakeld.
Stap 5
Stap 5
Aangezien ik een policy wil maken voor de Teams chat van alle gebruikers stel ik deze wel in. Selecteer [on] bij Teams Chats en kies daarna [next].
Stap 6
Stap 6
De standaard retentie is ingesteld op 7 jaar.
Stap 7
Stap 7
Selecteer [custom], aangezien we niet na de standaard 7 jaar items willen verwijderen.
Stap 8
Stap 8
Vul de juiste gegevens in en kies [next]...
Stap 9
Stap 9
... en kies [submit].
Let op: items ouder dan 1 dag zullen permanent worden verwijderd!
Stap 10
Stap 10
De retentie policy is met succes gemaakt!
Samenvatting en conclusie
Bewaarbeleid binnen Teams helpt om de informatie in de organisatie effectiever te beheren. Je kan bewaarinstellingen configureren om gegevens te bewaren die nodig zijn om te voldoen aan het interne beleid, de branchevoorschriften of de wettelijke vereisten voor je organisatie. Je kunt ook bewaarinstellingen configureren om gegevens te verwijderen die als een verplichting worden beschouwd, die je niet langer hoeft te bewaren of die geen wettelijke of zakelijke waarde (meer) hebben.
Het is relatief eenvoudig om een Teams-beleidsregel te maken. In dit voorbeeld zelfs maar in 10 stappen😊. Het is niet alleen van belang om te weten waar je de juiste functionaliteit (knop) kunt vinden binnen Purview. Het is ook belangrijk om te begrijpen waar een knop voor dient (wat is de impact? Voor wie? Waarom?). Daarom adviseer ik dit te communiceren met alle betrokkenen in je organisatie. Vooral de gebruikers.
“The technology you use impresses no one.
The experience you create with it is everything.”
(Sean Gerety)
Mocht je nog vragen hebben en/of meer willen weten: laat het mij weten! Ik denk graag met je mee.
De laatste jaren vindt er een transitie plaats op het gebied van mobile development. Steeds vaker kiezen bedrijven ervoor om hun mobiele applicaties niet langer in Java (voor Android) of Swift (voor iOS) te ontwikkelen, maar kiezen zij voor een hybride framework als basis voor hun mobiele applicatie. In deze blog beschrijf ik één van deze frameworks, namelijk Ionic. Wat is Ionic, hoe werkt het en waarom zou jij de transitie moeten maken naar een native web-framework voor het ontwikkelen van mobiele applicaties.
Wat is Ionic?
Ionic is een open source interface platform waarmee mobiele en desktop-applicaties ontwikkeld kunnen worden met gebruik van web-technologieën als HTML, CSS en JavaScript. Deze toolkit wordt nauw geïntegreerd met een populair Front-end JavaScript framework naar keuze, zoals Angular, Vue en React. In andere woorden maakt Ionic het mogelijk om jouw webapplicatie voor verschillende platforms te ontwikkelen vanuit één codebase en daarbij gebruik te maken van de native functionaliteiten van de apparaten waarop de applicatie draait. Omdat Ionic apps gebaseerd zijn op het web, kun je ook verschillende web-gebaseerde UI libraries gebruiken zoals TailwindCSS of Bootstrap voor de opmaak van je applicatie.
Ionic maakt gebruik van Capacitor. Capacitor is een cross-platform native runtime die verschillende web-gerichte API’s biedt. Daarmee kan de app zoveel mogelijk web standaarden blijven gebruiken en heeft daarbij toegang tot de uitgebreide systeemeigen apparaat-functies. Denk hierbij bijvoorbeeld aan het gebruik van bluetooth, locatie, push notificaties, batterijstatus, opslag en de camera.
Waarom wil je Ionic gebruiken?
Ionic biedt de gebruiker een naadloze ervaring, waar de gebruiker zich ook bevindt. Of dat nu op een telefoon is, op een desktop of in de browser; de gebruiker verwacht consistentie via alle kanalen. Door het gebruik van Ionic kan met een enkele codebase voor al deze kanalen een applicatie uitgerold worden.
Door met Ionic te bouwen, kun je je bestaande web-ontwikkelaars inzetten voor het bouwen van mobiele- en desktop applicaties. Je hoeft niet langer op zoek naar een aparte ontwikkelaar voor ieder platform dat je wilt ondersteunen. De web-ontwikkelaars ontwikkelen de applicatie in Ionic en rollen deze zonder problemen uit naar de verschillende platformen.
Naast bovengenoemde voordelen is Ionic ook nog eens open-source en dus helemaal gratis. Ionic heeft een grote community en vraagstukken waar je als ontwikkelaar tegenaan loopt worden dan ook veel besproken op de verschillende ontwikkelforums. Daarnaast integreert Ionic heel gemakkelijk met bekende tools (bijvoorbeeld met Azure), zodat het uitrollen van applicaties naar de Google Play Store of Apple App Store heel eenvoudig wordt.
Hoe werkt Ionic?
Een native functionaliteit is door het gebruik van Capacitor eenvoudig in een Ionic-app toe te voegen. Zo kunnen we bijvoorbeeld de locatie van ons toestel gebruiken. Als eerst moeten we een nieuwe Ionic applicatie genereren. Dit kunnen we zelf doen via de command-line Interface die Ionic biedt, of via een handige web-interface.
Figuur 1 - Web-interface voor het opzetten van een Ionic-applicatie.
In dit voorbeeld maken wij de applicatie met de CLI. Eerst zorgen we ervoor dat Ionic globaal op onze computer geïnstalleerd is en daarna starten we het initialisatie proces.
$ npm install -g @ionic/cli
$ ionic start
De Ionic-CLI vraagt ons nu een aantal dingen te kiezen voor ons project, zoals welk framework en welke basis-lay-out wij willen in onze app? In mijn voorbeeld kies ik voor Angular met een `blank` applicatie-lay-out, maar andere opties zijn een lay-out met tabbladen of met een menu. De eerste opzet van deze applicatie heeft nog weinig functionaliteit, hier gaan we verandering in brengen.
Figuur 2 - Standaard Ionic-applicatie zonder menu of tabbladen.
Om de locatie-functionaliteit toe te voegen, moeten we de gewenste Capacitor-plug-in installeren in ons project zodat wij deze kunnen gebruiken. In de documentatie van Ionic voor native functionaliteiten (https://ionicframework.com/docs/native) is een uitgebreide lijst te vinden met alle native API’s die geïnstalleerd kunnen worden en hoe deze te gebruiken. Als eerst voeren we de volgende commando’s uit om de locatie plug-in te installeren.
Vervolgens openen wij het Home-component van onze nieuwe Ionic-applicatie die nu nog de standaard template code bevat waarin wij de locatie gaan gebruiken. Door middel van de volgende code kunnen we eenvoudig de locatie van onze gebruiker opvragen. In de initialisatie van dit component vragen we de huidige positie op via de Geolocation-API en tonen deze in het template.
Zoals hierboven te zien is, maakt Ionic het ons erg gemakkelijk. Als ontwikkelaar hoef je je helemaal niet bezig te houden met de functionele werking van de locatiebepaling of welke andere native functionaliteit dan ook. We roepen simpelweg de functies aan die de plug-in ons biedt (zoals ‘getCurrentPosition’ in bovenstaand voorbeeld) en Ionic regelt alles achter de schermen voor ons. Er wordt door het besturingssysteem ook automatisch om toestemming gevraagd voor het gebruiken van de locatie.
Figuur 3 - Locatie-toestemming wordt door de telefoon zelf afgehandeld.
Als de locatie succesvol kan worden opgehaald, zien we dat de coördinaten van de locatie in de app worden weergegeven.
Figuur 4 - Locatie-coördinaten worden succesvol opgehaald en weergegeven.
Een volgende stap kan bijvoorbeeld zijn om deze locatie op een kaart weer te geven of op te slaan in een SQL-database op het apparaat. Ionic biedt hier heel veel mogelijkheden in. Het mag duidelijk zijn dat ik als web-ontwikkelaar geen weet heb van de platform-specifieke vereisten voor het toepassen van deze functionaliteiten. Dit is iets wat Capacitor en Ionic ons volledig uit handen nemen.
Conclusie
Ionic biedt een alles-in-één pakket om mobiele-, desktop- en webapplicaties te ontwikkelen die gebruik kunnen maken van systeemeigen functionaliteiten van je toestel. De voordelen die je hieruit kan halen zijn enorm, maar kort samengevat zijn dat:
Een naadloze, consistente ervaring voor de eindgebruiker via verschillende kanalen.
Eén ontwikkelteam voor zowel mobiele-, desktop- als webapplicaties.
Open-source en dus helemaal gratis.
Geen kennis nodig van complexe, apparaat-eigen functionaliteiten.
Veel grote tech-bedrijven maken al gebruik van Ionic. Voorbeelden van apps die gemaakt zijn met Ionic zijn Sworkit, MarketWatch en Sanvello. Voor meer voorbeelden verwijs ik je naar de website van Ionic zelf!
Benieuwd naar hoe Ionic binnen jouw organisatie ingezet kan worden? Neem gerust contact op, dan bespreken we samen de mogelijkheden. Ben je zelf een ontwikkelaar met interesse in ontwikkelen van Ionic-applicaties? Kom dan eens langs voor een kop koffie!