We leren & delen

ACA Group Blog

Lees meer over onze inzichten en meningen over diverse onderwerpen, nuttige inzichten en advies van onze experts.

Uitgelicht

20 JAN. 2023
Kickstart je volgende project met een kant-en-klare webapplicatie-architectuur
Kickstart je volgende project met een kant-en-klare webapplicatie-architectuur
Leestijd 6 min

Het starten van een nieuw webproject kan een ontmoedigende taak zijn met veel verschillende onderdelen om rekening mee te houden en te configureren. Voor ontwikkelaars kan het zeker handig zijn om toegang te hebben tot een startpunt voor het bouwen van webapps, met alle benodigde bestanden en configuraties al ingesteld. Het bespaart niet alleen veel tijd en moeite in vergelijking met wanneer je alles vanaf nul moet opbouwen, het verhoogt ook de productiviteit en maakt klanten blij omdat ze veel sneller tastbare resultaten kunnen zien. Bij ACA Group doen we veel van dergelijke implementaties en de volgende vereisten zijn gemeenschappelijk voor de meeste webapplicatieprojecten: Een geweldige gebruikerservaring: een snelle, responsieve en vlotte frontend die flexibel genoeg is om elk soort gebruikersinteractie te implementeren Betrouwbare en performante verwerking: een solide database en backend oplossing die gemakkelijk uitbreidbaar, testbaar, onderhoudbaar en begrijpbaar is voor elke ingenieur Gebruikersauthenticatie en -beveiliging: een robuuste en volwassen authenticatieserver die ook SSO en gebruikersfederatie heeft en integreert met veel verschillende providers Eenvoudige en veilige implementatie: toch eenvoudig te ontwikkelen zonder al te veel overhead Ons antwoord op deze terugkerende eisen is een flexibele softwarebasis die out of the box werkt. Met een paar regels in de terminal kun je een nieuw project opstarten dat alle bovenstaande functionaliteiten in een basistoestand heeft, wachtend om uitgebreid en uitgebouwd te worden. De figuur hieronder illustreert de basis van de architectuur die we vaak gebruiken voor kleine en middelgrote webapplicaties, en de verschillende services die een rol spelen. Natuurlijk zijn er nog andere componenten in het spel, maar die worden vaker per geval geïmplementeerd. Backend Laten we beginnen met het brein van de webapplicatie - de backend. Voor ons Python-team is het niet meer dan logisch om deze taal te gebruiken om de ruggengraat van de applicatie te bouwen. FastAPI biedt veel flexibiliteit in termen van hoe je bedrijfslogica en ontwerppatronen implementeert. Het is ook een van de best presterende backend-oplossingen die je kunt kiezen in Python; het heeft geweldige documentatie en wordt ondersteund door een solide community. Een populaire keuze voor projecten met data-analyse, machine learning of AI, een Python backend maakt het gemakkelijker om geavanceerde technologieën dichter bij de gebruiker te brengen. Frontend Voor het ontwerpen van de gebruikerservaring - of de frontend - geven we de voorkeur aan Angular , een volwassen en goed onderzocht JavaScript-framework dat overal in de industrie wordt gebruikt. Het is ontworpen om eenvoudig interactieve webapplicaties van één pagina te maken die in elke moderne webbrowser kunnen draaien. Angular heeft ook een gevestigde reputatie op het gebied van goede prestaties en schaalbaarheid, waardoor het risico op schaalbaarheidsproblemen bij grotere projecten afneemt. Een ander voordeel is dat Angular gestructureerd is en veel lijkt op backend code, waardoor het makkelijker te begrijpen is voor niet-frontend ontwikkelaars. Database en opslag Voor gegevensopslag is PostgreSQL een veelgebruikt en betrouwbaar databasemanagementsysteem (DBMS) dat zeer geschikt is voor verschillende toepassingen, waaronder webontwikkeling. Het staat bekend om zijn prestaties, vooral als het gaat om het verwerken van grote hoeveelheden gegevens. Het kan complexe query's efficiënt verwerken en heeft de reputatie goed te kunnen schalen naarmate de grootte van de database toeneemt. Het is ook rijk aan functies en heeft verschillende opties voor indexering en query optimalisatie. Beveiliging en verificatie Onze beveiligde authenticatieserver is gebouwd op Keycloak , een volwassen IAM-oplossing die organisaties helpt hun applicaties en diensten te beveiligen. Het is niet alleen open-source, maar ook gesponsord door 's werelds leider op het gebied van open source voor bedrijven, RedHat. Het biedt een enkel toegangspunt voor gebruikers om zichzelf te authenticeren en toegang te autoriseren tot verschillende bronnen; en het ondersteunt een breed scala aan authenticatiemechanismen, zoals gebruikersnaam en wachtwoord, twee-factor authenticatie en social login. Infrastructuur Het volgende stukje van de puzzel is NGinx , dat al het inkomende verkeer orkestreert en verdeelt over de services. Het is een krachtige en flexibele webserver en reverse proxy die vaak wordt gebruikt om inkomende klantverzoeken veilig en met hoge prestaties af te handelen. Het staat bekend om zijn vermogen om een groot aantal gelijktijdige verbindingen af te handelen met een laag gebruik van bronnen, en is vooral efficiënt bij het serveren van statische inhoud zoals afbeeldingen, CSS en JavaScript-bestanden. Nginx kan verzoeken van clients doorsturen naar een of meer services, waarbij het verkeer eenvoudig naar de juiste component van de webapplicatie wordt geleid en de belasting over meerdere servers of services wordt verdeeld, zelfs als ze dezelfde rol vervullen. Dit betekent ook dat alle verschillende services uitsluitend via NGinx communiceren met SSL/TLS protocollen, waardoor al het verkeer wordt versleuteld en gevoelige gegevens worden beveiligd. Implementatie Tot slot vergemakkelijkt Docker de implementatie en ontwikkeling. Door de verschillende onderdelen van de app te containeriseren, zoals de backend of de database, wordt het veel eenvoudiger om de app op verschillende hostingomgevingen te implementeren. Dit is vooral belangrijk als klanten verschillende eisen hebben op het gebied van hostingmachines, infrastructuur, enzovoort. Met Docker kunnen de services van de app op een gestandaardiseerde manier worden verpakt en vervolgens consistent worden ingezet in verschillende omgevingen. Docker heeft ook voordelen voor het beheren van de app in productie. Door componenten in containers te plaatsen, kun je eenvoudig op- of afschalen, updates en rollbacks uitrollen en de gezondheid van de app bewaken. Dit kan helpen om de betrouwbaarheid en onderhoudbaarheid van de app te verbeteren. Voor ontwikkelaars maakt Docker het ook makkelijker om de app in verschillende omgevingen te testen, samen te werken met teamleden en taken zoals het bouwen, testen en uitrollen van de app te automatiseren. Kickstart een nieuw project 👊 Het doel van deze architectuur is om een startpunt te bieden voor het bouwen van een webapplicatie met alle benodigde componenten al geconfigureerd. We hebben het verpakt in een sjabloon dat alles bevat wat je nodig hebt om te beginnen, zodat je niet vanaf nul een startarchitectuur hoeft te bouwen. In plaats daarvan kunt u de sjabloon gebruiken als basis en deze vervolgens aanpassen aan uw specifieke behoeften. Om deze template te gebruiken, hebben we gekozen voor een tool genaamd Cookiecutter. Het hoeft maar één keer geïnstalleerd te worden door de persoon die de initiële repository opzet om een nieuw project te maken op basis van een sjabloon van de bovenstaande architectuur. Als onderdeel van dit proces worden een paar waarden gevraagd om het sjabloon aan te passen, zoals de naam van het project, het e-mailadres van de beheerder, welke functies je wilt inschakelen, enzovoort. Zodra je Cookiecutter hebt gebruikt om de projectmap aan te maken, bevat deze alles wat je nodig hebt om de webapplicatie te bouwen en uit te voeren. Om met de app aan de slag te gaan, kun je een eenvoudig Docker-commando uitvoeren en de webapplicatie is in een mum van tijd klaar voor gebruik. Dit maakt live ontwikkeling op elk deel van de applicatie mogelijk met hot reload, en maakt de implementatie zo eenvoudig als een paar klikken. Conclusie Al met al kan een kant-en-klare webapplicatie-architectuur zoals beschreven in deze blog een waardevol hulpmiddel zijn om tijd en moeite te besparen op elk nieuw project. Door een solide basis te bieden voor het bouwen van een webapplicatie, kan het teams helpen om snel een MVP op te starten, zonder vanaf nul te hoeven beginnen. De combinatie van de bovenstaande technologieën bespaart niet alleen tijd en moeite, maar geeft je ook het vertrouwen dat je app goed is uitgerust voor een breed scala aan behoeften.

Lees verder
We leren & delen

ACA Group Blog

Lees meer over onze inzichten en meningen over diverse onderwerpen, nuttige inzichten en advies van onze experts.

Uitgelicht

20 JAN. 2023
Kickstart je volgende project met een kant-en-klare webapplicatie-architectuur
Kickstart je volgende project met een kant-en-klare webapplicatie-architectuur
Leestijd 6 min

Het starten van een nieuw webproject kan een ontmoedigende taak zijn met veel verschillende onderdelen om rekening mee te houden en te configureren. Voor ontwikkelaars kan het zeker handig zijn om toegang te hebben tot een startpunt voor het bouwen van webapps, met alle benodigde bestanden en configuraties al ingesteld. Het bespaart niet alleen veel tijd en moeite in vergelijking met wanneer je alles vanaf nul moet opbouwen, het verhoogt ook de productiviteit en maakt klanten blij omdat ze veel sneller tastbare resultaten kunnen zien. Bij ACA Group doen we veel van dergelijke implementaties en de volgende vereisten zijn gemeenschappelijk voor de meeste webapplicatieprojecten: Een geweldige gebruikerservaring: een snelle, responsieve en vlotte frontend die flexibel genoeg is om elk soort gebruikersinteractie te implementeren Betrouwbare en performante verwerking: een solide database en backend oplossing die gemakkelijk uitbreidbaar, testbaar, onderhoudbaar en begrijpbaar is voor elke ingenieur Gebruikersauthenticatie en -beveiliging: een robuuste en volwassen authenticatieserver die ook SSO en gebruikersfederatie heeft en integreert met veel verschillende providers Eenvoudige en veilige implementatie: toch eenvoudig te ontwikkelen zonder al te veel overhead Ons antwoord op deze terugkerende eisen is een flexibele softwarebasis die out of the box werkt. Met een paar regels in de terminal kun je een nieuw project opstarten dat alle bovenstaande functionaliteiten in een basistoestand heeft, wachtend om uitgebreid en uitgebouwd te worden. De figuur hieronder illustreert de basis van de architectuur die we vaak gebruiken voor kleine en middelgrote webapplicaties, en de verschillende services die een rol spelen. Natuurlijk zijn er nog andere componenten in het spel, maar die worden vaker per geval geïmplementeerd. Backend Laten we beginnen met het brein van de webapplicatie - de backend. Voor ons Python-team is het niet meer dan logisch om deze taal te gebruiken om de ruggengraat van de applicatie te bouwen. FastAPI biedt veel flexibiliteit in termen van hoe je bedrijfslogica en ontwerppatronen implementeert. Het is ook een van de best presterende backend-oplossingen die je kunt kiezen in Python; het heeft geweldige documentatie en wordt ondersteund door een solide community. Een populaire keuze voor projecten met data-analyse, machine learning of AI, een Python backend maakt het gemakkelijker om geavanceerde technologieën dichter bij de gebruiker te brengen. Frontend Voor het ontwerpen van de gebruikerservaring - of de frontend - geven we de voorkeur aan Angular , een volwassen en goed onderzocht JavaScript-framework dat overal in de industrie wordt gebruikt. Het is ontworpen om eenvoudig interactieve webapplicaties van één pagina te maken die in elke moderne webbrowser kunnen draaien. Angular heeft ook een gevestigde reputatie op het gebied van goede prestaties en schaalbaarheid, waardoor het risico op schaalbaarheidsproblemen bij grotere projecten afneemt. Een ander voordeel is dat Angular gestructureerd is en veel lijkt op backend code, waardoor het makkelijker te begrijpen is voor niet-frontend ontwikkelaars. Database en opslag Voor gegevensopslag is PostgreSQL een veelgebruikt en betrouwbaar databasemanagementsysteem (DBMS) dat zeer geschikt is voor verschillende toepassingen, waaronder webontwikkeling. Het staat bekend om zijn prestaties, vooral als het gaat om het verwerken van grote hoeveelheden gegevens. Het kan complexe query's efficiënt verwerken en heeft de reputatie goed te kunnen schalen naarmate de grootte van de database toeneemt. Het is ook rijk aan functies en heeft verschillende opties voor indexering en query optimalisatie. Beveiliging en verificatie Onze beveiligde authenticatieserver is gebouwd op Keycloak , een volwassen IAM-oplossing die organisaties helpt hun applicaties en diensten te beveiligen. Het is niet alleen open-source, maar ook gesponsord door 's werelds leider op het gebied van open source voor bedrijven, RedHat. Het biedt een enkel toegangspunt voor gebruikers om zichzelf te authenticeren en toegang te autoriseren tot verschillende bronnen; en het ondersteunt een breed scala aan authenticatiemechanismen, zoals gebruikersnaam en wachtwoord, twee-factor authenticatie en social login. Infrastructuur Het volgende stukje van de puzzel is NGinx , dat al het inkomende verkeer orkestreert en verdeelt over de services. Het is een krachtige en flexibele webserver en reverse proxy die vaak wordt gebruikt om inkomende klantverzoeken veilig en met hoge prestaties af te handelen. Het staat bekend om zijn vermogen om een groot aantal gelijktijdige verbindingen af te handelen met een laag gebruik van bronnen, en is vooral efficiënt bij het serveren van statische inhoud zoals afbeeldingen, CSS en JavaScript-bestanden. Nginx kan verzoeken van clients doorsturen naar een of meer services, waarbij het verkeer eenvoudig naar de juiste component van de webapplicatie wordt geleid en de belasting over meerdere servers of services wordt verdeeld, zelfs als ze dezelfde rol vervullen. Dit betekent ook dat alle verschillende services uitsluitend via NGinx communiceren met SSL/TLS protocollen, waardoor al het verkeer wordt versleuteld en gevoelige gegevens worden beveiligd. Implementatie Tot slot vergemakkelijkt Docker de implementatie en ontwikkeling. Door de verschillende onderdelen van de app te containeriseren, zoals de backend of de database, wordt het veel eenvoudiger om de app op verschillende hostingomgevingen te implementeren. Dit is vooral belangrijk als klanten verschillende eisen hebben op het gebied van hostingmachines, infrastructuur, enzovoort. Met Docker kunnen de services van de app op een gestandaardiseerde manier worden verpakt en vervolgens consistent worden ingezet in verschillende omgevingen. Docker heeft ook voordelen voor het beheren van de app in productie. Door componenten in containers te plaatsen, kun je eenvoudig op- of afschalen, updates en rollbacks uitrollen en de gezondheid van de app bewaken. Dit kan helpen om de betrouwbaarheid en onderhoudbaarheid van de app te verbeteren. Voor ontwikkelaars maakt Docker het ook makkelijker om de app in verschillende omgevingen te testen, samen te werken met teamleden en taken zoals het bouwen, testen en uitrollen van de app te automatiseren. Kickstart een nieuw project 👊 Het doel van deze architectuur is om een startpunt te bieden voor het bouwen van een webapplicatie met alle benodigde componenten al geconfigureerd. We hebben het verpakt in een sjabloon dat alles bevat wat je nodig hebt om te beginnen, zodat je niet vanaf nul een startarchitectuur hoeft te bouwen. In plaats daarvan kunt u de sjabloon gebruiken als basis en deze vervolgens aanpassen aan uw specifieke behoeften. Om deze template te gebruiken, hebben we gekozen voor een tool genaamd Cookiecutter. Het hoeft maar één keer geïnstalleerd te worden door de persoon die de initiële repository opzet om een nieuw project te maken op basis van een sjabloon van de bovenstaande architectuur. Als onderdeel van dit proces worden een paar waarden gevraagd om het sjabloon aan te passen, zoals de naam van het project, het e-mailadres van de beheerder, welke functies je wilt inschakelen, enzovoort. Zodra je Cookiecutter hebt gebruikt om de projectmap aan te maken, bevat deze alles wat je nodig hebt om de webapplicatie te bouwen en uit te voeren. Om met de app aan de slag te gaan, kun je een eenvoudig Docker-commando uitvoeren en de webapplicatie is in een mum van tijd klaar voor gebruik. Dit maakt live ontwikkeling op elk deel van de applicatie mogelijk met hot reload, en maakt de implementatie zo eenvoudig als een paar klikken. Conclusie Al met al kan een kant-en-klare webapplicatie-architectuur zoals beschreven in deze blog een waardevol hulpmiddel zijn om tijd en moeite te besparen op elk nieuw project. Door een solide basis te bieden voor het bouwen van een webapplicatie, kan het teams helpen om snel een MVP op te starten, zonder vanaf nul te hoeven beginnen. De combinatie van de bovenstaande technologieën bespaart niet alleen tijd en moeite, maar geeft je ook het vertrouwen dat je app goed is uitgerust voor een breed scala aan behoeften.

Lees verder

Alle blogs

Liferay AI search
Leestijd 3 min
8 MEI 2025

Liferay DXP is de afgelopen jaren uitgegroeid tot een veelgebruikt portaalplatform voor het bouwen en beheren van geavanceerde digitale ervaringen. Organisaties gebruiken het voor intranetten, klantportalen, self-service platforms en meer. Hoewel Liferay DXP bekend staat om zijn gebruiksvriendelijkheid, kan de standaard zoekfunctionaliteit verder worden geoptimaliseerd om te voldoen aan de moderne verwachtingen van gebruikers. Om dit aan te pakken heeft ACA een geavanceerde oplossing ontwikkeld die de standaard zoekmogelijkheden van Liferay aanzienlijk verbetert. Lees er alles over in deze blog. Zoeken in Liferay: niet altijd efficiënt Traditioneel waren organisatorische zoekopdrachten gebaseerd op individuele trefwoorden . Intranetgebruikers zochten bijvoorbeeld op termen als "verlof" of "vergoeding" om de informatie te vinden die ze nodig hadden. Dit resulteerde vaak in een overvloed aan resultaten en documenten , waardoor gebruikers deze handmatig moesten uitpluizen om relevante informatie te vinden - een tijdrovend en inefficiënt proces dat de gebruikerservaring belemmert. De manier waarop gebruikers zoeken is veranderd De opkomst van AI-tools zoals ChatGPT heeft de manier waarop mensen naar informatie zoeken veranderd. Dit is ook zichtbaar in online zoekmachines zoals Google, waar gebruikers hun zoekopdrachten steeds vaker formuleren als complete vragen. Bijvoorbeeld: "Hoe vraag ik verlof aan?" of "Op welke reiskostenvergoeding heb ik recht?" . Om aan deze veranderende zoekbehoeften te voldoen, moet de zoekfunctionaliteit niet alleen snel zijn, maar ook natuurlijke taal kunnen begrijpen. Helaas schiet de standaard zoekfunctie van Liferay op dit gebied tekort. ACA ontwikkelt geavanceerde AI-gestuurde zoekfunctie voor Liferay Om tegemoet te komen aan het hedendaagse zoekgedrag, heeft ACA een geavanceerde oplossing ontwikkeld voor Liferay DXP 7.4 installaties: Liferay AI Search . Door gebruik te maken van het GPT-4o taalmodel zijn we erin geslaagd om de standaard zoekmogelijkheden van Liferay aanzienlijk te verbeteren. GPT-4o is een state-of-the-art taalmodel getraind op een uitgebreide dataset van tekstuele informatie. Door GPT-4o in onze oplossing te integreren, hebben we de zoekalgoritmes aangepast om complexere zoekopdrachten te verwerken , inclusief vragen in natuurlijke taal. Hoe werkt Liferay AI Search? Gesloten dataset Het AI model heeft alleen toegang tot data binnen de gesloten Liferay omgeving. Dit zorgt ervoor dat alleen relevante documenten - zoals die uit de Bibliotheek en Mediabibliotheek - toegankelijk zijn voor het model. Beheerders controle Beheerders kunnen bepalen welke content wordt opgenomen in de GPT-4o dataset, waardoor ze de nauwkeurigheid en relevantie van zoekresultaten verder kunnen optimaliseren. Afhankelijk van het profiel van de gebruiker worden de antwoorden en zoekresultaten afgestemd op de informatie waartoe hij of zij toegang heeft. Directe antwoorden Dankzij de GPT-4o integratie biedt de zoekfunctionaliteit niet alleen traditionele resultaten, maar ook directe antwoorden op gebruikersvragen. Hierdoor hoeven gebruikers niet meer door zoekresultaten te spitten om de specifieke informatie te vinden die ze nodig hebben. De vergelijking hieronder illustreert het verschil tussen de zoekresultaten van Liferay DXP's standaard zoekfunctie en de verbeterde resultaten van ACA's Liferay AI Search. Wilt u Liferay AI Search in actie zien? Bekijk de demo hieronder of via deze link! Voordelen van Liferay AI Search Of u nu Liferay DXP gebruikt voor uw klantenplatform of intranet, Liferay AI Search biedt tal van voordelen voor uw organisatie: Verhoogde gebruikerstevredenheid: Gebruikers kunnen snel precieze antwoorden vinden op hun vragen. Verbeterde productiviteit: Er wordt minder tijd besteed aan het zoeken naar informatie. Verbeterde kennisdeling: Belangrijke informatie is makkelijker te vinden en te delen. Conclusie Met Liferay AI Search verhoogt ACA de zoekfunctionaliteit van Liferay DXP om te voldoen aan de moderne verwachtingen van gebruikers. Door GPT-4o te integreren in Liferay DXP 7.4 levert deze oplossing niet alleen traditionele zoekresultaten, maar ook directe, relevante antwoorden op complexe zoekopdrachten in natuurlijke taal. Dit leidt tot een snellere, gebruiksvriendelijkere en efficiëntere zoekervaring die zowel de productiviteit als de gebruikerstevredenheid aanzienlijk verhoogt. Klaar om de zoekfunctionaliteit van uw Liferay platform te optimaliseren Neem vandaag nog contact met ons op!

Lees verder
eventsourcing en cqrs
eventsourcing en cqrs
Leestijd 5 min
8 MEI 2025

Op de hoogte blijven van de nieuwste trends en best practices is cruciaal in de snel evoluerende wereld van softwareontwikkeling. Innovatieve benaderingen zoals EventSourcing en CQRS kunnen ontwikkelaars in staat stellen flexibele, schaalbare en veilige systemen te bouwen. Op Domain-Driven Design (DDD) Europe 2022 gaf Paolo Banfi een verhelderende lezing over deze twee technieken. Wat is EventSourcing? EventSourcing is een innovatieve benadering van gegevensopslag die prioriteit geeft aan de historische context van een object. In plaats van alleen de huidige status van een object vast te leggen, slaat EventSourcing alle gebeurtenissen op die tot die status hebben geleid. Het creëren van een goed ontworpen event model is cruciaal bij het implementeren van EventSourcing. Het eventmodel definieert de events die zullen worden opgeslagen en hoe ze zullen worden gestructureerd. Zorgvuldige planning van het eventmodel is cruciaal omdat het het gemak van gegevensanalyse beïnvloedt. Het eventmodel aanpassen na de implementatie kan lastig zijn, dus het is belangrijk om het vanaf het begin goed te doen. Wat is CQRS CQRS (Command Query Responsibility Segregation) is een techniek die lees- en schrijfbewerkingen in een systeem scheidt om de efficiëntie en begrijpelijkheid te verbeteren. In een traditionele architectuur interageert een applicatie met een database door middel van een enkele interface. CQRS scheidt echter de lees- en schrijfbewerkingen, die elk door verschillende componenten worden afgehandeld. EventSourcing en CQRS combineren Een van de voordelen van het combineren van EventSourcing en CQRS is dat het bijhouden van wijzigingen en het controleren van gegevens eenvoudiger wordt. Door alle gebeurtenissen bij te houden die tot een bepaalde toestand hebben geleid, is het eenvoudiger om veranderingen in de loop van de tijd bij te houden. Dit kan vooral nuttig zijn voor toepassingen die auditing of regelgeving vereisen. Bovendien biedt het scheiden van lees- en schrijfbewerkingen op deze manier verschillende voordelen. Ten eerste optimaliseert het het systeem door het verminderen van conflicten en het verbeteren van de schaalbaarheid. Ten tweede vereenvoudigt het het systeem door de zorgen van elke kant te isoleren. Ten slotte verbetert het de beveiliging van gevoelige gegevens door de toegang tot de schrijfkant van het systeem te beperken. Een ander belangrijk voordeel van het implementeren van CQRS is de eliminatie van de noodzaak om de hele gebeurtenisstroom te doorlopen om de huidige status te bepalen. Door lees- en schrijfoperaties te scheiden, kan de leeszijde van het systeem speciale modellen onderhouden die geoptimaliseerd zijn voor het bevragen en ophalen van specifieke gegevensweergaven. Als gevolg hiervan is het niet langer nodig om de hele gebeurtenisstroom te doorlopen wanneer het systeem om de laatste status wordt gevraagd. In plaats daarvan kunnen de geoptimaliseerde leesmodellen efficiënt de benodigde gegevens leveren, wat leidt tot betere prestaties en minder vertraging. Wanneer EventSourcind en CQRS gebruiken? Het is belangrijk op te merken dat EventSourcing en CQRS niet voor elk project geschikt zijn. Het implementeren van EventSourcing en CQRS kan vooraf meer werk vergen dan traditionele benaderingen. Ontwikkelaars moeten tijd investeren in het begrijpen en effectief implementeren van deze benaderingen. Voor systemen die een hoge schaalbaarheid, flexibiliteit of beveiliging vereisen, kunnen EventSourcing en CQRS echter een uitstekende oplossing bieden. De beslissing om CQRS of EventSourcing te gebruiken voor uw toepassing hangt af van verschillende factoren, zoals de complexiteit van uw domeinmodel, de schaalbaarheidsvereisten en de behoefte aan een uitgebreid controlespoor van systeemgebeurtenissen. Ontwikkelaars moeten de specifieke behoeften van hun project evalueren voordat ze beslissen of ze deze benaderingen gaan gebruiken. CQRS is vooral nuttig voor applicaties met complexe domeinmodellen die verschillende gegevensweergaven vereisen voor verschillende use cases. Door de lees- en schrijfbewerkingen in afzonderlijke modellen te scheiden, kun je de leesbewerkingen optimaliseren voor prestaties en schaalbaarheid, terwijl je toch een enkele bron van waarheid voor de gegevens behoudt. Event Sourcing is ideaal als je een volledige en nauwkeurige registratie van alle wijzigingen in je systeem in de loop van de tijd moet bijhouden. Door elke gebeurtenis vast te leggen en op te slaan in een alleen-append log, kun je een onveranderlijke audit trail creëren die gebruikt kan worden voor debugging, compliance en andere doeleinden. Conclusie De combinatie van EventSourcing en CQRS kan ontwikkelaars aanzienlijke voordelen bieden, zoals meer flexibiliteit, schaalbaarheid en beveiliging. Ze bieden een frisse benadering van softwareontwikkeling die ontwikkelaars kan helpen toepassingen te maken die beter aansluiten bij de behoeften van moderne organisaties. Als je meer wilt weten over EventSourcing en CQRS, dan zijn er online veel uitstekende bronnen beschikbaar. Conferenties en lezingen zoals DDD Europe zijn ook uitstekende gelegenheden om op de hoogte te blijven van de laatste trends en best practices in softwareontwikkeling. Zorg ervoor dat je deze kansen niet mist als je voorop wilt blijven lopen! De volgende editie van Domain-Driven Design Europe vindt plaats in Amsterdam van 5 tot 9 juni 2023. Wist je dat ACA Group een van de trotse sponsors is van DDD Europe? {% module_block module "widget_bc90125a-7f60-4a63-bddb-c60cc6f4ee41" %}{% module_attribute "buttons" is_json="true" %}{% raw %}[{"appearance":{"link_color":"light","primary_color":"primary","secondary_color":"primary","tertiary_color":"light","tertiary_icon_accent_color":"dark","tertiary_text_color":"dark","variant":"primary"},"content":{"arrow":"right","icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"tertiary_icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"text":"More about ACA Group"},"target":{"link":{"no_follow":false,"open_in_new_tab":false,"rel":"","sponsored":false,"url":{"content_id":null,"href":"https://acagroup.be/en/aca-as-a-company/","href_with_scheme":"https://acagroup.be/en/aca-as-a-company/","type":"EXTERNAL"},"user_generated_content":false}},"type":"normal"}]{% endraw %}{% end_module_attribute %}{% module_attribute "child_css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "definition_id" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "field_types" is_json="true" %}{% raw %}{"buttons":"group","styles":"group"}{% endraw %}{% end_module_attribute %}{% module_attribute "isJsModule" is_json="true" %}{% raw %}true{% endraw %}{% end_module_attribute %}{% module_attribute "label" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "module_id" is_json="true" %}{% raw %}201493994716{% endraw %}{% end_module_attribute %}{% module_attribute "path" is_json="true" %}{% raw %}"@projects/aca-group-project/aca-group-app/components/modules/ButtonGroup"{% endraw %}{% end_module_attribute %}{% module_attribute "schema_version" is_json="true" %}{% raw %}2{% endraw %}{% end_module_attribute %}{% module_attribute "smart_objects" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "smart_type" is_json="true" %}{% raw %}"NOT_SMART"{% endraw %}{% end_module_attribute %}{% module_attribute "tag" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "type" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "wrap_field_tag" is_json="true" %}{% raw %}"div"{% endraw %}{% end_module_attribute %}{% end_module_block %}

Lees verder
Leestijd 3 min
8 MEI 2025

Je kunt niet iets ontwerpen of ontwikkelen voor alle 7,9 miljard mensen op deze planeet. Dus als we aan een project beginnen, bepalen we een doelgroep om het te beperken. Van daaruit bouwen we onze functies en ontwerpen op een manier die geschikt lijkt voor die doelgroep. Wat we echter niet kunnen beperken zijn de toegankelijkheidsfuncties. Iedereen moet de mogelijkheid hebben om jouw creatie te gebruiken of te ervaren. Sommige apparaten hebben ingebouwde functies zoals Google Talkback , waarbij je apparaat je kan vertellen wat er op het scherm gebeurt en die informatie zelfs kan gebruiken met een digitale braillelezer. Of soms zorgen we ervoor dat onze platforms toegankelijk zijn om te gebruiken, zoals onze website, die overigens een Google Lighthouse toegankelijkheidscore van 98 heeft! Maar waarom zouden we het daarbij laten? Elk stuk content moet toegankelijk zijn voor iedereen. Dit geldt ook voor PDF-bestanden. Ga aan de slag met deze 3 tips die we hebben verzameld aan de hand van een MediMarket Case Study : Doe een toegankelijkheidscontrole met Acrobat Pro First things first: doe een toegankelijkheidscontrole met Adobe Acrobat Pro. Deze controle geeft meteen in een duidelijke lijst aan welke problemen je moet aanpakken. Sommige van deze problemen kun je direct in Acrobat Pro oplossen, voor andere moet je terug naar je bronbestand of handmatig controleren. Je kunt wat meer kennis vergaren door op de optie Document automatisch markeren te klikken. Hierdoor wordt de PDF gelezen en krijg je nog een toegankelijkheidsoverzicht over ontbrekende alt-tekst, maar daarover later meer. Besef het belang van de leesvolgorde Heb je ooit een schermlezer horen flippen omdat hij je leesvolgorde of structuur in het PDF-bestand niet begrijpt? Stel je iemand voor die veel te snel praat, zonder te stoppen en zonder enig idee wat hij wil zeggen. Klinkt chaotisch, toch? Denk nu eens aan de gebruikers die echt afhankelijk zijn van dit soort digitale hulpmiddelen. Je PDF is in principe nutteloos als dit gebeurt. Zorg er dus voor dat je een gestructureerd document hebt met de juiste identiteitskoppen, paragrafen en secties wanneer je de PDF maakt. Wil je dit toevoegen aan een bestaande PDF? Met Acrobat Pro kun je de leesvolgorde later lezen dankzij hun toegankelijkheidsopties. In deze schermafbeelding kun je duidelijk zien wat de schermlezer als eerste, tweede, derde enzovoort zal lezen. Wist je dat Alt Text ook mogelijk is in PDF-bestanden? Is dit de verrassing van de dag of heb je nooit de moeite genomen om een alternatieve tekst toe te voegen aan je documenten? Nou, begin met het toevoegen van alt-tekst op afbeeldingen of interactieve velden. Een schermlezer kan je JPEG-bestanden niet lezen en je moet uitleggen wat er wordt weergegeven. Overdrijf het echter niet, je gebruiker hoeft echt niet te weten dat je die schattige kattenfoto als opvulling hebt toegevoegd. Doe dit niet alleen met afbeeldingen. Audio- en video-elementen hebben ook alt-tekst nodig. Dit is niet alleen nodig voor gebruikers die slecht zien of horen, maar ook voor gebruikers met een slechte internetverbinding die alleen de tekst van je PDF kunnen downloaden. Er is nog veel meer mogelijk, maar deze 3 tips kunnen je zeker op weg helpen! Wat ik echter echt wilde bereiken met deze blogpost is dat je gaat nadenken over het toegankelijker maken van al je content. Wil je meer informatie over toegankelijkheid, bijvoorbeeld in mobiele applicaties? Ga naar onze diensten en kijk zelf waar we je mee kunnen helpen!

Lees verder
teamwork
teamwork
Verder gaan dan functies: Maximaliseer resultaten, minimaliseer uitvoer
Leestijd 9 min
6 MEI 2025

Bij het bouwen van producten wordt steeds meer erkend dat succes niet alleen te maken heeft met het leveren van functies of het halen van deadlines. In plaats daarvan gaat het om het leveren van echte waarde aan klanten en het bereiken van zakelijke impact. Dit vereist een mentaliteitsverandering van outputgericht naar resultaatgericht denken. In dit artikel onderzoeken we waarom het belangrijker is om uitkomsten prioriteit te geven dan output om succesvolle producten te maken en hoe je deze benadering kunt toepassen in je eigen werk. Wat betekent "uitkomsten boven output"? In de bedrijfswereld worden de termen resultaat en output vaak door elkaar gebruikt, wat voor enige verwarring zorgt. Het is echter belangrijk om het onderscheid tussen deze twee termen goed te begrijpen. Hoewel ze misschien eenvoudig lijken, laten we ze toch eens definiëren om ervoor te zorgen dat we allemaal op dezelfde golflengte zitten. Laten we ons eens voorstellen dat je je de laatste tijd uitgeput voelt, dus begin je te trainen in de sportschool om je energieker te voelen. Sommige mensen zouden kunnen zeggen dat het resultaat van je fitnessroutine het aantal uren dat je hebt gesport en de hoeveelheid gewicht die je hebt getild is. Maar het echte resultaat van je routine is veel belangrijker dan dat . Het resultaat is dat je je sterker, zelfverzekerder en gezonder voelt. Het resultaat is de manier waarop je harde werk (de output) zich heeft vertaald in een betere levenskwaliteit en een positiever zelfbeeld. Het resultaat is de manier waarop je probleem werd opgelost door de output. In een zakelijke context verwijst een resultaat naar de impact die je product heeft op de organisatie en haar klanten en belanghebbenden, terwijl een output verwijst naar de tastbare dingen die je (ontwikkel)team produceert, zoals documenten, software en tests. Focussen op resultaat boven output betekent succes definiëren op basis van het bereiken van een specifiek resultaat en vooruitgang meten op basis van hoe dicht je bij het bereiken van dat resultaat bent. Het doel van je team is niet om output te produceren; het is om een specifiek resultaat te bereiken. Een succesvol team streeft ernaar het gewenste resultaat te maximaliseren en tegelijkertijd de hoeveelheid geproduceerd werk te minimaliseren. De voordelen van een resultaatgerichte aanpak 1. Het helpt je te ontsnappen aan de bouwval Het eerste Agile Principe stelt dat je topprioriteit is om je klanten gelukkig te maken door waardevolle software zo vroeg en consistent mogelijk op te leveren. Naarmate agile werkwijzen op verschillende gebieden worden toegepast, hebben mensen dit principe geherformuleerd om het belang van het snel en consistent leveren van waarde aan klanten te benadrukken. Als je succes meet op basis van een resultaatgerichte metriek, zoals " het aantal doorkliks op nieuwsbrieven binnen zes maanden met 15% verhogen ", koppel je de inspanningen van je team onmiddellijk aan de waarde voor je organisatie en klanten. Dit helpt je te begrijpen welke impact je maakt en wanneer je echt een verschil maakt. Als je daarentegen succes meet door alleen te kijken naar de dingen die je produceert, zoals " het aantal opgeleverde features " of " het aantal voltooide punten in een scrum sprint ", loop je het risico in wat Melissa Perri (product management expert, spreker en auteur) "de bouwval" noemt. Deze valkuil houdt in dat je je alleen richt op het maken van features zonder rekening te houden met de gewenste resultaten. Wanneer organisaties prioriteit geven aan output boven uitkomsten, lopen ze het risico verstrikt te raken in een cyclus van het bouwen van meer en meer features zonder echt te begrijpen of ze klantproblemen oplossen of bedrijfswaarde creëren. Door je te fixeren op het opleveren van features als maatstaf voor succes, kun je het grotere geheel uit het oog verliezen. Het vertelt je niet of je de juiste dingen bouwt. Het is dus essentieel om je focus te verleggen naar de resultaten die er toe doen. Dit vereist een mentaliteitsverandering die de behoeften en gewenste resultaten van de klant op de voorgrond plaatst. Door succes te definiëren op basis van resultaten, kan je team ontsnappen aan de bouwval . 2. Het helpt je te focussen op leren en itereren Als je kritisch gaat denken over het leveren van waarde in plaats van features, loop je al snel tegen het probleem aan waar ik het eerder over had: hoe weet je zeker dat de features die je bouwt ook echt waarde gaan leveren? Een resultaatgerichte aanpak erkent dat je misschien niet vanaf het begin alle antwoorden hebt en dat leren een belangrijk onderdeel van het proces is. Daarom heb je bij het werken met uitkomsten een hulpmiddel nodig: het experiment. Wanneer je resultaatgericht denken combineert met een proces dat gebaseerd is op het uitvoeren van experimenten, begin je echt het ware potentieel van agile benaderingen te ontsluiten. Dit is vooral waardevol in situaties waar veel onzekerheid is. Als je bijvoorbeeld een nieuw softwareproduct maakt, weet je misschien niet zeker of het de gewenste impact zal hebben op je bedrijf en of alle mooie functies die je hebt bedacht wel nodig zijn. Door te focussen op resultaten, kun je doelen stellen die je team toelaten om te experimenteren en verschillende oplossingen uit te proberen tot ze vinden wat het beste werkt. In een agile context behandelen we elke stap als een hypothese en een experiment gericht op het bereiken van een specifiek resultaat. Dit is waar het concept van een MVP, of Minimum Viable Product , om de hoek komt kijken. Beschouw MVP als het kleinste ding dat je kunt doen of het kleinste ding dat je kunt bouwen om te leren of je hypothese juist is. Dit iteratieve proces van testen, leren en aanpassen stelt teams in staat om te experimenteren, om verschillende oplossingen uit te proberen, totdat ze de oplossing vinden die werkt. 3. Het helpt je team meer autonomie te bereiken Werknemers vinden het vaak een uitdaging om een diep gevoel van doelgerichtheid en motivatie te ervaren, enkel door de output die ze produceren. Wat mensen echt drijft om elke dag op het werk te verschijnen, zijn niet de specifieke taken waarmee ze zich elke dag bezighouden, maar eerder de betekenisvolle resultaten waar hun werk uiteindelijk aan zal bijdragen . De nadruk op resultaten helpt om je team op één lijn te krijgen rond een gemeenschappelijk doel en gedeelde doelen. Door duidelijkheid te verschaffen over wat er bereikt moet worden, kun je je team motiveren en in staat stellen om samen te werken aan duidelijke doelen die het product moet bereiken. Hierdoor kan je team prioriteiten stellen in hun werk en functies bouwen die bijdragen aan het bereiken van die doelen. Door hen beslissingen te laten nemen over de functies die ze bouwen, krijgen ze een groter gevoel van eigenaarschap over het werk dat ze doen. De resultaten voor je product definiëren en implementeren Nu ben je het er misschien wel mee eens dat focussen op resultaten klinkt als een goed idee, maar ze daadwerkelijk implementeren in onze bedrijfspraktijken is niet zo eenvoudig . Elke methodologie heeft zijn nadelen. Eén uitdaging is dat uitkomsten minder gemakkelijk te meten en te kwantificeren zijn dan outputs. Ten tweede staan veel bedrijven onder druk om snel door te gaan naar het volgende project als het ene is afgerond . Helaas wordt het iteratieve proces van testen, leren en aanpassen nog steeds niet vaak toegepast. Tot slot, wat het moeilijk maakt, is dat we vaak doelen stellen die te hoog gegrepen zijn . Als je het team bijvoorbeeld vraagt om het bedrijf winstgevender te maken of de risico's te verminderen, dan is dat te complex omdat die uitdagingen bestaan uit veel variabelen om te beïnvloeden. Deze doelen op impactniveau zijn te complex voor teams. In plaats daarvan moet je je richten op kleinere en beter beheersbare doelen . Om dit te doen, moet je je team vragen om zich te concentreren op het veranderen van klantgedrag op manieren die positieve bedrijfsresultaten opleveren. In zijn boek "Outcomes Over Output: Why Customer Behavior Is The Key Metric For Business Success" presenteert Joshua Seiden drie magische vragen die je kunnen helpen bij het identificeren van geschikte resultaten: Wat zijn de gedragingen van gebruikers en klanten die bedrijfsresultaten genereren? (Dit is het resultaat dat je probeert te creëren.) Hoe kunnen we mensen meer van dat gedrag laten vertonen? (Dit zijn de functies, beleidswijzigingen, etc. die je gaat doen om te proberen de resultaten te creëren). Hoe weten we of we gelijk hebben? (Dit onthult de experimenten en statistieken die je zult gebruiken om de voortgang te meten). Ik zal je een voorbeeld geven van hoe dit werkt. Stel je voor dat je een e-commerce kledingwinkel runt en je hebt te maken met zware concurrentie van een concurrerend bedrijf. Je doel is om de klantloyaliteit te verbeteren, dus stel je het team een breed doel om de frequentie van klantbezoeken te verhogen van één keer per maand naar twee keer per maand. Om dit effect te bereiken, moet u specifiek gedrag van klanten identificeren dat correleert met het bezoeken van uw site. U merkt bijvoorbeeld dat klanten de neiging hebben om de site te bezoeken na het openen van de maandelijkse nieuwsbrief waarin nieuwe artikelen worden gepresenteerd. Daarom zou een mogelijke uitkomst kunnen zijn om de doorklikratio van de nieuwsbrief te verhogen. Daarnaast merkt u dat klanten de site ook bezoeken nadat een vriend een afbeelding van een van de artikelen heeft gedeeld op sociale media. Een andere mogelijke uitkomst is dus om klanten aan te moedigen vaker afbeeldingen van artikelen te delen. Door je te richten op deze klantgedragingen die het gewenste resultaat van sitebezoeken bepalen, zorg je ervoor dat je doelen zowel observeerbaar als meetbaar zijn. Dit is cruciaal omdat je zo de voortgang effectief kunt beheren en bijhouden. Ik hoop dat dit voorbeeld duidelijk maakt hoe resultaten specifiek kunnen zijn en gemakkelijk kunnen worden uitgesplitst. Onthoud dat een resultaat een gedrag is dat klanten vertonen en dat direct van invloed is op de bedrijfsresultaten. Door dit gedrag te begrijpen, kunt u uw inspanningen afstemmen op de resultaten die echt belangrijk zijn voor uw bedrijf. Aanknopingspunten Een resultaat verwijst naar de impact die je product heeft op de organisatie en haar klanten en belanghebbenden, terwijl een output verwijst naar de tastbare dingen die je team produceert, zoals documenten, software en tests. Het doel van je team is niet om output te produceren; het is om een specifieke uitkomst te bereiken. Een succesvol team streeft ernaar om het gewenste resultaat te maximaliseren en tegelijkertijd de hoeveelheid geproduceerd werk te minimaliseren. Door je te fixeren op feature delivery als maatstaf voor succes, kun je het grotere geheel uit het oog verliezen. Het vertelt je niet of je de juiste dingen bouwt. Het is dus essentieel om je focus te verleggen naar de resultaten. Een resultaatgerichte aanpak erkent dat je misschien niet meteen alle antwoorden hebt en dat leren een belangrijk onderdeel is van het proces. Daarom heb je bij het werken met uitkomsten een hulpmiddel nodig: het experiment. Als je je werk plant, wees dan duidelijk over je aannames. Wees bereid om je veronderstellingen te testen door je werk uit te drukken als hypotheses. Test je hypotheses voortdurend door in kleine iteraties te werken, te experimenteren en te reageren op de gegevens en feedback die je verzamelt. Verwar impact - ambitieuze doelen op hoog niveau - niet met uitkomsten. Impact is belangrijk, maar deze doelen zijn te complex voor teams omdat ze bestaan uit veel variabelen om te beïnvloeden. Gebruik deze vragen om resultaten te definiëren: wat zijn de menselijke gedragingen die bedrijfsresultaten stimuleren? Hoe kunnen we mensen meer van deze dingen laten doen? Hoe weten we of we gelijk hebben? 👀 Meer weten over onze diensten ? Klik hier om meer te weten te komen!

Lees verder
liferay azuur
liferay azuur
Klantcase: Azure B2C opzetten met Liferay-integratie
Leestijd 4 min
6 MEI 2025

Met de groeiende behoefte aan naadloze gebruikerservaringen en robuuste beveiligingsmaatregelen is de integratie van geavanceerde oplossingen voor identiteitsbeheer zoals Azure AD B2C met platforms zoals Liferay essentieel geworden. In dit artikel wordt onderzocht hoe ACA Group een bedrijf heeft geholpen bij het succesvol implementeren van Azure B2C om hun klantenportaal te verbeteren, zodat hun gebruikers een gestroomlijnde en veilige ervaring hebben. Van het begrijpen van de grondbeginselen van Azure B2C tot het aanpakken van de integratie-uitdagingen, deze casestudy biedt waardevolle inzichten in het proces en de voordelen van moderne oplossingen voor identiteitsbeheer . Wat is Azure AD B2C? Azure AD B2C is een cloudgebaseerde identiteitsprovider die is ontworpen voor bedrijven om gebruikersidentiteiten veilig en eenvoudig te beheren. Het richt zich op externe gebruikers zoals klanten, partners en verkopers en biedt een schaalbare oplossing voor inloggegevens en identiteitsverificatie. Azure B2C is gericht op het vereenvoudigen van aanmeldings- en registratieprocessen voor gebruikers, terwijl het uitgebreide aanpassingsopties biedt om de gebruikerservaring op maat te maken en naadloos te integreren met bestaande applicaties. Belangrijkste kenmerken van Azure B2C Ondersteunt verschillende identiteitsproviders, waaronder Facebook, X en LinkedIn. Biedt een veilig kader voor het beheren van persoonlijke gegevens en zorgt voor naleving van regelgeving. Beheert de toegang tot meerdere applicaties met één account, waardoor de beveiliging wordt verbeterd. Verbetert de algehele gebruikerservaring door het belang van digitale identiteit in online interacties te erkennen. Klantcase: authenticatie klantportaal Context Deze case betreft een bedrijf dat het luchtverkeer in het Belgische luchtruim beheert en zorgt voor de veiligheid, efficiëntie en punctualiteit van vluchten. Ze houden toezicht op vluchtbeheer, navigatie, communicatiesystemen en meteorologische diensten en werken nauw samen met luchtvaartmaatschappijen, luchthavens en internationale luchtverkeersleidingscentra. Hun klantenportaal dient als een gecentraliseerd platform voor klanten om toegang te krijgen tot vitale informatie over operaties en diensten en zorgt voor transparantie en efficiënte communicatie. Met honderden dagelijkse gebruikers speelt de portal een cruciale rol in het onderhouden van efficiënte communicatie en klanttevredenheid. Aanpak oplossing We hebben deze case methodisch en gezamenlijk benaderd. We begonnen met een testontwerp om onze oplossing te schetsen, waarbij we ervoor zorgden dat deze aansloot bij de behoeften van de klant. Vervolgens bespraken we de oplossing met de klant om feedback te verzamelen. Nadat we hun input hadden overwogen, gingen we terug om onze aanpak te verfijnen. We realiseerden ons dat een op maat gemaakte oplossing nodig was en besloten om aangepaste beleidsregels te implementeren. Dit iteratieve proces stelde ons in staat om onze oplossing aan te passen en te verfijnen, zodat deze perfect voldeed aan de verwachtingen van de klant. Uitdagingen Aangepaste beleidsregels ontwikkelen om volledig te integreren met Liferay, vereiste gedetailleerde aanpassingen met behulp van XML-bestanden. Het inlogproces werd op maat gemaakt voor SAML 2.0-authenticatie, waarbij alles werd aangepast, van persoonlijke gegevens zoals namen tot voorkeuren zoals taal en zakelijke telefoon. Voldoen aan de eisen van de klant was cruciaal, dus bepaalde velden waren verplicht en andere hadden specifieke opmaakbehoeften. Elke stap, van het aanmaken van profielen tot het verzenden van gegevens naar Liferay, werd nauwkeurig aangepast aan de doelstellingen van het project. Hoewel dit project complex was, was het een spannende uitdaging die het probleemoplossend vermogen en de creativiteit van ons team liet zien. Geleerde lessen Testen door niet-technische gebruikers was een spelbreker en hielp ons problemen in een vroeg stadium op te sporen. Regelmatige updates met de klant hielden iedereen op de hoogte en stelden ons in staat om tijdig wijzigingen aan te brengen. Door niet-technische belanghebbenden erbij te betrekken en de communicatie open te houden, konden we problemen snel aanpakken en een oplossing van topkwaliteit leveren. Deze gezamenlijke aanpak bouwde vertrouwen op en zorgde ervoor dat iedereen op één lijn zat, wat leidde tot een succesvol projectresultaat. Onze bijdragen aan Azure B2C Het werken met Azure B2C liet ons zien hoe cruciaal aangepaste beleidsregels zijn voor een soepel systeem. Deze policies vormen de ruggengraat van onze SAML 2.0 integratie, waardoor identiteitsbeheer veilig en efficiënt wordt. Om de gebruikerservaring te verbeteren, ontwikkelden we een aangepast B2C inlogportaal dat is afgestemd op de behoeften van de organisatie. Dit portaal vereenvoudigt de registratie en fungeert als brug, waarbij gebruikersinformatie naar Liferay wordt overgebracht. Na registratie stromen de gebruikersgegevens naar Liferay, waar automatisch een gebruikersprofiel wordt aangemaakt. Deze integratie maakt onboarding eenvoudig, waardoor ons customer affairs team snel accountrechten kan toewijzen. Door profielen aan te maken in zowel Azure B2C als Liferay blijven de gegevens consistent op alle platforms. Zodra profielen zijn aangemaakt, controleren we de nauwkeurigheid en legitimiteit van de gebruikersinformatie. Na verificatie krijgen gebruikers toegang tot een veilig en gepersonaliseerd klantenportaal op Liferay, dat een gecentraliseerde en gestroomlijnde ervaring biedt voor alle interacties. Optimalisatie van gebruikersreizen Door aangepaste beleidsregels, SAML 2.0, Azure B2C en Liferay te integreren, hebben we een soepelere en efficiëntere gebruikerservaring gecreëerd. Deze naadloze verbinding automatiseert taken zoals het aanmaken en verifiëren van gebruikers, waardoor registratie een fluitje van een cent wordt. Het resultaat? Een sneller proces dat tijd bespaart, frustraties vermindert en de betrokkenheid en tevredenheid van gebruikers verhoogt. Conclusie De integratie van aangepaste beleidsregels, SAML 2.0, Azure B2C en Liferay creëert een solide basis voor veilige gebruikersregistratie en toegangsbeheer. Deze tools helpen organisaties bij het leveren van gepersonaliseerde, vertrouwde gebruikerservaringen. Klaar om uw user journeys te optimaliseren? Neem contact op met ons team op hello@acagroup.be. We helpen u graag op weg!

Lees verder
Liferay bijwerken
Liferay bijwerken
Leestijd 13 min
6 MEI 2025

ACA is al vele jaren Liferay Partner en is zelfs de enige Liferay Platinum Partner in België. Een van de voordelen van dit partnerschap is dat we nieuwe producten kunnen bekijken en beoordelen in een pre-release versie. Onlangs ontvingen we een pre-release versie van de nieuwe Liferay DXP 7.2, die net begin juni is gelanceerd. Hier volgt een korte samenvatting van wat Liferay wil bereiken met deze nieuwe versie: In deze nieuwe release wil Liferay het makkelijker maken voor de niet-technische gebruiker om een soepele klantervaring te creëren . Het realiseert dit door nog meer tools en updates van al bestaande tools te bieden. Een andere belangrijke upgrade is het feit dat Audience Targeting nu is opgenomen in de kern van Liferay . Hierdoor hebben Audience Targeting en gebruikerssegmentatie een betere integratie met alle content building functionaliteiten in Liferay. Liferay richt zich op privacy met verbeteringen aan de Personal Data Erasure functie geïntroduceerd in Liferay DXP 7.1. Moderne website bouwen Er zijn een aantal grote verbeteringen in de manieren waarop niet-technische gebruikers nog betere gebruikerservaringen kunnen bieden, iets wat Liferay sinds Liferay DXP 7.1 het Modern Site Building project noemt . De nieuwe functies hebben betrekking op Content Pages , Display Pages , Fragments , Navigation Menus en Pages Administration . Inhoud Pagina's Naast een verbeterde visuele weergave van de content pagina's, zijn er ook verschillende upgrades van de styling mogelijkheden voor zakelijke gebruikers. Zakelijke gebruikers kunnen nu... achtergrondkleuren, afbeeldingen, spatiëring en meer aanpassen voor secties op de inhoudspagina. een indicatief beeld krijgen van de lay-out van een inhoudspagina terwijl ze deze maken. Met de sectiebouwer aan de rechterkant kunnen verschillende soorten lay-outs worden toegevoegd aan de inhoudspagina. Verschillende lay-outs komen uit de doos, ontworpen door Liferay zelf, en bieden verschillende hoeveelheden kolommen. Pas lay-outs aan tijdens het gebruik en met betrekking tot de specifieke context van een pagina. Met behulp van een bootstrap-achtige visuele weergave kan de breedte van de kolommen eenvoudig worden aangepast door de kolommen te verslepen. Het is nu ook mogelijk om de lay-out te voorzien van een achtergrondkleur of zelfs een afbeelding. Pas het aantal kolommen, de spatiëring, opvulling, marge en meer aan dankzij het kleine optiemenu. Om deze lay-outs te vullen, biedt Liferay verschillende basiscomponenten die Fragmenten worden genoemd. Deze Fragmenten bestaan uit verschillende HTML-basiscomponenten zoals verschillende soorten kopteksten, tekstvelden, knoppen, afbeeldingen en kaarten (waar sommige basiscomponenten al zijn gegroepeerd). Er zijn ook verschillende voorgedefinieerde secties die lay-outs en componenten combineren tot complexere componenten, die klaar zijn om aan de pagina te worden toegevoegd. Er zijn verschillende soorten kop- en voetteksten, banners, een highlight center en nog veel meer! Het mooie van al deze componenten is dat ze kunnen worden gekoppeld aan een Web Content Item. Elk veld van het contentitem kan worden gebruikt voor de elementen in het component. Hierdoor kan de gebruiker de content op één plaats onderhouden (het content management gedeelte van de site) en deze, of delen ervan, hergebruiken in verschillende content pagina's. Sinds Liferay DXP 7.1 konden zakelijke gebruikers widgets toevoegen aan Content Pages. Een ontwikkelaar moest een Fragment maken dat de widget bevatte, die een zakelijke gebruiker vervolgens kon configureren. Met de upgrade naar Liferay DXP 7.2 zijn zakelijke gebruikers echter in staat om elke widget direct aan elk fragment toe te voegen, zodat ze gebruik kunnen maken van bijvoorbeeld de asset publisher, web content display, alerts, wiki, blogs, ... Al deze updates worden nu uitgevoerd binnen de context van de actuele pagina. De styling en vaste onderdelen zoals kop- en voetteksten en het gedrag van het thema worden direct toegepast op de inhoudspagina. Een zakelijke gebruiker kan ze bewerken terwijl hij er als eindgebruiker naar kijkt, wat een realistischere ervaring van contentbewerking oplevert. Pagina's weergeven Alle bovenstaande wijzigingen voor Content Pages gelden ook voor Display Pages, omdat ze op dezelfde bouwstenen zijn gebaseerd. De belangrijkste update hier is de mogelijkheid voor een ontwikkelaar om ondersteuning voor Display Pages toe te voegen in aangepaste entiteiten. Door middel van implementatie kunnen ontwikkelaars webmasters de nodige opties bieden om specifieke weergavepagina's voor het item te selecteren. Webmasters krijgen dan een keuzelijst te zien om te selecteren welke Displaypagina moet worden gebruikt. Fragmenten We hebben Fragmenten al eerder genoemd als bouwstenen voor het samenstellen van Content en Display Pages. Ze worden meestal gemaakt door een webontwikkelaar en gebruikt door de webmaster. Ze worden gedefinieerd door een HTML-blok samen met CSS en eventueel JavaScript voor dynamisch gedrag. Liferay heeft de Fragment Editor, die te vinden is in het Configuratiescherm, verbeterd om deze Fragmenten te ontwikkelen. De Fragment Editor biedt nu ook een vorm van code voltooiing voor de standaard lfr tag bibliotheek. Het Fragment kan ook worden voorzien van een resource of een verzameling resources die in het Fragment kunnen worden gebruikt. Dit zijn in feite afbeeldingen waarnaar kan worden verwezen op naam, hetzij in het Fragment zelf of in de ondersteunende CSS (bijvoorbeeld voor de achtergrondafbeelding). De offline ontwikkeling voor Fragmenten is ook gemakkelijker gemaakt door Liferay via de Fragment Toolkit. Dit is een nieuwe npm tool voor het genereren van een Fragment module, die offline ontwikkeling van een Fragment in een IDE naar keuze mogelijk maakt. De Fragment module kan ook worden toegevoegd aan de codebase van het project en worden uitgerold op alle omgevingen. Navigatie Menu's Liferay DXP 7.1 introduceerde Navigatie Menu's om sitenavigatie los te koppelen van de pagina hiërarchie. Er zijn enkele verbeteringen aangebracht in het licht van: het verplaatsen van pagina's in de hiërarchie; het selecteren van zowel publieke als private pagina's voor het menu; het toevoegen van de optie 'verborgen' voor pagina's, zodat pagina's in geen enkel navigatiemenu worden getoond; het automatisch toevoegen van een pagina aan een navigatiemenu. Pagina Beheer Om gemakkelijk door pagina's te kunnen navigeren terwijl u ze bewerkt, heeft Liferay de optie toegevoegd om pagina's gemakkelijker te zoeken en te vinden door middel van een zoekbalk in de pagina administratie voor zoeken op tekst; de Page Navigation tool in de dockbar voor Site administrators, die nu een dropdown menu met zoekfunctionaliteit biedt; verbeteringen in de visualisaties van de paginahiërarchie en -structuur. Inhoud bewerken Terwijl bovenstaande updates betrekking hebben op het schrijven van pagina's, zijn er ook verbeteringen aan het schrijven van content zelf. Een van deze verbeteringen omvat nu de mogelijkheid voor webmasters om een overzicht te zien van het gebruik van het Content Item . Dit gebruik wordt bepaald door de portlets Web Content Display en Asset Publisher, maar ook door het gebruik in Fragmenten via Content Pages en Display Pages. Webmasters kunnen nu dus duidelijk zien waar in de site eventuele wijzigingen gevolgen hebben voor de eindgebruiker. Een andere verbetering is dat het nu makkelijker is voor webmasters om een voorbeeld van de webinhoud te bekijken in alle fasen van de workflow en in verschillende contexten. Gebruikers kunnen verschillende sjablonen selecteren, de voorvertoning van een paginasjabloon bekijken en binnen een pagina is het contentitem al toegevoegd. Er zijn ook updates geweest op het gebied van de contentstructuur en templates. Vanaf Liferay DXP 7.2 en nieuwer is het niet langer nodig om een sjabloon te selecteren voor een Content Item . Zoals hierboven besproken kunnen Content Items gebruikt worden in Fragmenten voor Content Pages en Display Pages. Dit betekent dat het mogelijk is dat het Content Item niet langer wordt vertegenwoordigd door een sjabloon. Tot slot is de weergave voor het maken van een structuur en het bewerken van een Content Item bijgewerkt . Het ziet er nu netter uit, met een duidelijke scheiding tussen content en metadata. Audience Targeting Met Liferay DXP 7.2 bevat de Liferay core de Audience Targeting module. De Audience Targeting module zorgt voor betere en nog meer integratiepunten met andere kernfunctionaliteiten van Liferay. Vanwege deze verandering is een klein migratieproces noodzakelijk voor huidige Audience Targeting klanten . Dit zou een semi-automatisch datamigratieproces moeten zijn met behoud van bestaande segmentaties. De Audience Targeting module zelf is verplaatst naar buiten het Control Panel en is nu te vinden onder Site People Segments . Over segmenten gesproken, het is nog steeds mogelijk om segmenten te definiëren op basis van regels. Regels kunnen worden gemaakt op basis van User properties, Organization properties en Session properties. Veel hiervan zal bekend klinken voor de Audience Targeting-klant. Een leuke aanpassing is dat Custom Fields nu direct toegankelijk zijn vanuit het menu. Klanten die gebruik maken van Liferay Analytics Cloud zullen ook blij zijn om te horen dat vanaf nu de segmenten die gedefinieerd zijn in Analytics Cloud hergebruikt kunnen worden in Liferay DXP . Dit betekent dat segmentatie in DXP nu direct gebaseerd kan worden op de gebruikersinformatie of het gedrag en de interesses verzameld in Liferay Analytics Cloud. Vanwege de integratie van Audience Targeting in de Liferay core, hebben de Liferay ontwikkelaars ook verschillende API's beschikbaar gesteld om informatie over gebruikerssegmentatie te verkrijgen. Hierdoor kunnen externe applicaties die gebruik maken van Liferay content management mogelijkheden ook gebruikerssegmentatie toepassen. Informatie die kan worden opgevraagd zijn onder andere de segmenten van een site, de segmenten waartoe een gebruiker behoort en zelfs de gebruikers die tot een segment behoren. Gepersonaliseerde ervaringen Het gebruik van gebruikerssegmenten in Content Pages is ook beschikbaar voor het bieden van gepersonaliseerde ervaringen . Bij het ontwerpen van Content Pages kan een webmaster de secties en de inhoud differentiëren op basis van gebruikerssegmenten. Met de nieuwe optie Experience Administration kunnen deze ervaringen worden gemaakt en beheerd via een eenvoudige UI. De volgorde van de Gepersonaliseerde Ervaringen is hier belangrijk omdat het de prioriteit aangeeft. Als een gebruiker tot meerdere doelgroepen en dus meerdere ervaringen behoort, wordt degene met de hoogste prioriteit (top-down) toegepast. Helaas wordt deze ervaringspersonalisatie niet toegepast op de portlet Web Content Display wanneer deze aanwezig is op de Content Page. Deze portlet toont altijd hetzelfde Content-item, ongeacht de geselecteerde ervaring. Inhoudsets Een andere nieuwigheid in het licht van Audience Targeting is de definitie van Content Sets. Dit is een verzameling Content Items die kunnen worden hergebruikt op de site pagina's met behulp van de Asset Publisher portlet . Bij het maken van een nieuwe contentset worden de contentitems die er deel van uitmaken statisch of dynamisch gedefinieerd door regels te definiëren. U kunt deze regels differentiëren met behulp van gebruikerssegmenten. Net als bij Gepersonaliseerde ervaringen voor inhoudspagina's kunnen contentsets verschillende regels bevatten op basis van de gebruikerssegmenten. In deze context worden ze Personalized Variations genoemd, maar de functionaliteit is vrijwel hetzelfde. Hoewel het onduidelijk is of hier enige prioriteit wordt toegepast. Deze contentsets zijn ook beschikbaar via de headless API, dus ze kunnen buiten Liferay worden gebruikt om inhoudsvariaties te verkrijgen op basis van het gebruikerssegment. Een eigenaardigheid die ik tegenkwam toen ik Audience Targeting bekeek, is dat wanneer gebruikerssegmenten worden gemaakt, deze niet meer beschikbaar zijn voor het categoriseren van Content Items. In eerdere versies was het mogelijk om de gebruikerssegmenten te gebruiken als een soort categorisatie voor contentitems. Onder 'Metadata' verscheen een nieuwe sectie genaamd 'User Segments' zodra de gebruikerssegmenten waren gedefinieerd. Echter, gezien de mogelijkheden van segmentatie in Content Sets, Content Pagina's en Display Pagina's, heeft Liferay dit gebruik van gebruikerssegmenten waarschijnlijk gewoon weggelaten. DMS functies Liferay's Document Management mogelijkheden hebben ook een upgrade gekregen. Er is nu een integratie met Google Docs beschikbaar , zodat dit soort documenten gemaakt en bewerkt kunnen worden binnen de Google context. Het document wordt uiteindelijk opgeslagen in de Liferay DMS zelf. Je moet een Google Drive API aanmaken voor je project en die informatie in Liferay opgeven om de integratie met Google Docs te starten. Voor alle niet-Google gebruikers zijn er ook andere belangrijke updates doorgevoerd in de 'gewone' DMS functies van Liferay, voornamelijk met betrekking tot het delen van bestanden, versiebeheer van bestanden en bulk editing. Bestanden delen Documenten en Media kunnen nu worden gedeeld met andere gebruikers in de portal , zelfs als ze geen lid zijn van de Site waarin het item is gedefinieerd. De ontvangende gebruiker ziet niets van de Site waarin het document is aangemaakt. Je kunt ze ook rechten geven voor Commentaar of Bijwerken in plaats van alleen de rechten voor Bekijken . Als je de optie Toestaan dat het document wordt gedeeld met andere gebruikers selecteert, geef je de ontvangende gebruiker de macht om dit document verder te delen. De gebruiker met wie je een document deelt, wordt hiervan op de hoogte gesteld via het notificatiesysteem van Liferay. U kunt alle gedeelde inhoud vinden in het gebruikersprofiel menu. Op dit moment is er nog geen specifieke portlet beschikbaar om alle gedeelde content te tonen. Technisch gezien is het belangrijk om te weten dat er geen nieuw document wordt aangemaakt bij het delen. Liferay heeft ervoor gekozen om een nieuwe tabel aan te maken in de database die deze informatie over het delen tussen items en gebruikers bevat. Na het delen van een document is het ook mogelijk om de toegang van gebruikers tot het document in te trekken of de rechten te beheren vanuit het informatiepaneel van het document onder de link Collaborateurs beheren . Versiebeheer van bestanden Webmasters kunnen nu handmatig een nieuwe versie selecteren wanneer ze een document bewerken . Onder het tabblad Versiebeheer is er een nieuw toegevoegde schuifbalk om de handmatige selectie van versiebeheer te activeren. De gebruiker kan beslissen en een nieuwe hoofdversie of een nieuwe kleine versie opgeven, of kan zelfs kiezen om helemaal geen versie-upgrade uit te voeren. Bij elke selectie is het ook mogelijk om commentaar te geven om andere gebruikers te informeren, of gewoon voor toekomstige referentie, welke aanpassingen er zijn gemaakt of waarom de geselecteerde optie is gekozen. Als de activeringsschuif is uitgeschakeld, wat de standaardinstelling is, past Liferay zijn automatische versiebeheersysteem toe. Dit systeem heeft op zijn beurt ook enkele updates gekregen en zal nu altijd volgens de volgende regels spelen: een grote upgrade wordt gemaakt als de feitelijke inhoud is veranderd. een kleine upgrade wordt gemaakt als de metadata is veranderd. in alle andere gevallen is er geen versie-upgrade. bijv. alleen het bewerken van tags, categorieën, rechten of opmerkingen. Interessant om weten is dat deze regelset kan worden uitgebreid omdat er een Versioning Policy API is geïntroduceerd. Door een aangepaste component te ontwikkelen en te implementeren, kunnen de criteria worden aangepast. Een nog ontbrekende schakel voor versiebeheer is dat deze opties niet beschikbaar zijn bij het bewerken met de afbeeldingseditor. Bulkbewerking De laatste grote update in het Liferay DMS systeem is de beschikbaarheid om tags voor documenten in bulk te bewerken . Op dit moment is het bewerken van tags de enige optie, maar Liferay heeft beloofd in de nabije toekomst ook categorisatie aan te bieden. Na het selecteren van een of meer documenten in de Documenten Media Galerij, verschijnt de optie Tags bewerken in de werkbalk. Dit opent een modaal dialoogvenster waarin alle opties en gedeelde tags worden weergegeven. Door Bewerken te selecteren , beheren webmasters alleen de opgesomde tags, door er een of meer te verwijderen of nieuwe toe te voegen voor alle geselecteerde documenten. De optie Vervangen past alleen de lijst met tags toe op alle geselecteerde documenten, wat betekent dat alle niet-gedeelde tags worden verwijderd. Dit laatste is zeer belangrijk om te onthouden omdat het enkele neveneffecten kan veroorzaken waarbij filters op tags plots geen items meer zullen bevatten. Gebruikersbeheer We hebben Audience Targeting en een aantal opvallende updates al besproken. Er zijn echter ook enkele verbeteringen aangebracht aan het individuele gebruikersbeheer. Deze hebben voornamelijk te maken met GDPR en gebruikersgegevensbeheer. In Liferay DXP 7.2 zijn er verbeteringen in de functie om persoonlijke gegevens te wissen en content te anonimiseren . Persoonlijke gegevens kunnen ook worden geëxporteerd en gedownload als een zip-bestand dat verwijst naar de gerelateerde assets. In het onderdeel Gebruikersbeheer zijn deze acties nog steeds te vinden in het contextmenu. Een beheerder krijgt nu een overzichtelijk dashboard om de anonimisering uit te voeren. De inhoud kan worden gescoped op de persoonlijke site, reguliere site of instantie van de gebruiker. De inhoud wordt hiërarchisch weergegeven met filteropties. Dit geeft de beheerder context over de contentitems en waar ze worden gebruikt. De beheerder kan ook selectief persoonlijke gegevens wissen. Op dit moment ondersteunen alleen Documents Media en Message Boards deze nieuwe functionaliteit. Het exporteren van persoonlijke gegevens wordt op dezelfde manier beheerd met een soortgelijk uitziend dashboard. Wanneer het exportproces is voltooid, wordt een overzicht getoond van de verschillende contentitems die afzonderlijk als zip-bestand kunnen worden gedownload. In het proces van auto-anonimisering kan de beheerder nu ook zien welke toepassingen gegevens bevatten die auto-anonimisering ondersteunen. Extra: Kunstmatige intelligentie Liferay is ook begonnen met het omarmen van de kracht van AI. Een voorbeeld hiervan is het automatisch taggen van afbeeldingen . Deze functie vermindert de handmatige handelingen die een webmaster moet uitvoeren en maakt het mogelijk om snel collecties op te bouwen. We zullen zeker meer AI-functionaliteiten zien in de komende releases. De auto-tagging functionaliteit is nog in een vroeg stadium en daarom worden alleen Engelse tags ondersteund. Het is ook standaard uitgeschakeld en moet worden geactiveerd door een beheerder in het configuratiescherm. Dit kan echter op verschillende niveaus worden uitgevoerd: globaal, instantie of site. Naast TensorFlow, dat de standaard provider is, ondersteunt Liferay ook Google CloudVision en Microsoft Cognitive Services. Meenemen Liferay DXP 7.2 biedt een heleboel nieuwe mogelijkheden. Als je het mij vraagt, zijn dit de dingen die er echt uitspringen in deze nieuwe release: documenten delen; prachtige in-context bewerking van Content Pages; integratie van Audience Targeting, met enige voorzichtigheid over hoe het categoriseren van Content Items via Segments zal gebeuren in toekomstige releases; en het koppelen van Content Pages met Web Content Items. Ben je net zo enthousiast over deze nieuwe release als wij? Sluit je dan aan bij ons fantastische team 🙂 Bedankt voor het lezen! Bronnen: https://community.liferay.com/blogs/-/blogs/web-experience-new-features-in-liferay-portal-7-2-b1 https://community.liferay.com/de/blogs/-/blogs/creating-personalized-experiences-with-liferay-7-2 https://community.liferay.com/de/blogs/-/blogs/liferay-portal-7-2-ce-alpha-1-release https://community.liferay.com/de/blogs/-/blogs/liferay-portal-7-2-ce-beta-1-release

Lees verder
aca prijs
aca prijs
Leestijd 7 min
6 MEI 2025

De Global Accessibility Awareness Day vindt elk jaar plaats op de derde donderdag van mei met als doel toegankelijkheid in de kijker te zetten. Voor ACA Group zijn de toegankelijkheid, gebruiksvriendelijkheid en inclusie van technologie al lang een belangrijk aandachtspunt. In deze blog ontdek je enkele van onze projecten waarbij toegankelijkheid hoog op de prioriteitenlijst stond. De bedoeling van de Global Accessibility Awareness Day (GAAD) is om zoveel mogelijk mensen te laten nadenken en praten over hoe technologie toegankelijk kan worden gemaakt voor mensen met een beperking. Op deze manier wil het initiatief bijdragen aan een meer inclusieve digitale wereld. Wat is toegankelijkheid? Digitale toegankelijkheid betekent dat digitale technologieën, zoals online tools, applicaties en elektronische documenten, zo zijn ontworpen dat ze voor iedereen toegankelijk zijn, ook voor mensen met een beperking. Hierdoor kunnen zij, net als iedereen, blijven deelnemen aan de digitale economie en samenleving. Een van de belangrijkste aspecten van toegankelijkheid is dat mensen met een visuele, auditieve, cognitieve of fysieke beperking digitale content effectief kunnen waarnemen, begrijpen, ermee kunnen navigeren en ermee kunnen interageren. De visie van ACA Group op toegankelijkheid "Ons duurzaamheidsbeleid is veel meer dan onze sponsoring van goede doelen," zegt Dorien Jorissen , Chief Digital Officer Sustainability Manager bij ACA Group. "We streven ernaar om alle aspecten van duurzaamheid te analyseren en te integreren in onze activiteiten. Toegankelijkheid is ook een integraal onderdeel van ons duurzaamheidsbeleid. " De SDG's (Sustainable Development Goals) van de Verenigde Naties vormen de basis van het duurzaamheidskader van ACA Group. "Dit willen we niet alleen uitdragen in onze kantoren, in ons team en bij onze stakeholders, maar ook in onze digitale dienstverlening en onze projectmethodiek ", zegt Dorien. "In een snel evoluerende wereld, waarin technologie steeds meer verweven raakt met ons dagelijks leven, zijn we als toonaangevend IT-bedrijf verplicht om digitale toegankelijkheid hoog op de agenda te houden." Hieronder een foto van ACA Group die de DataNews Award 2022 voor Most Environmentally Responsible ICT Company of the Year'👇🏻 wint. Toegankelijkheid in de praktijk Hieronder vind je drie projecten van ACA Group waarvoor toegankelijkheid een belangrijke ontwerpeis was. ⭐️ Mobiele app voor De Lijn met focus op toegankelijkheid Toegankelijkheid is heel belangrijk voor De Lijn . Niet alleen in termen van gemakkelijke toegang tot hun voertuigen, maar ook in termen van hun digitale toepassingen, zoals de mobiele app. De uitdaging De vervoersmaatschappij wil dat hun app toegankelijk en gebruiksvriendelijk is voor iedereen, ook voor mensen met een visuele beperking. Zij zijn vaak afhankelijk van het openbaar vervoer en moeten de app daarom gemakkelijk kunnen gebruiken. "In het verleden konden mensen met een visuele beperking gebruikmaken van een aparte app die routes en realtime informatie beter kon voorlezen", zegt Joren Vos , Mobile Solution Engineer bij ACA Group. "Deze app was echter verouderd. Daarnaast was ook de algemene app van De Lijn aan een update toe." De oplossing Er was dus nood aan een update van zowel de gewone De Lijn app als de BLS app . Daarom werd besloten om de BLS-app en de algemene De Lijn-app te integreren in één gebruiksvriendelijke app voor iedereen. "In het nieuwe ontwerp van de app hebben we ons gefocust op eenvoudige en gebruiksvriendelijke navigatie," legt Joren uit. "We vervingen de oude complexe navigatiestructuur door een gebruiksvriendelijke navigatiebalk onderaan het scherm. We realiseerden ook een duidelijke context bij het lezen vanaf het scherm, de ondersteuning van grotere tekstgroottes en een voice-over." "We hebben ook de realtime informatie verbeterd en een filebarometer toegevoegd. Hiermee kan een reiziger zien hoe druk het is op een bepaalde bus of tram." Het resultaat Dankzij de nieuwe menustructuur maakt de vernieuwde app van De Lijn het voor iedereen veel gemakkelijker om tickets te kopen, openbaar vervoerroutes uit te stippelen en haltes en bestemmingen op te zoeken. Dankzij nieuwe functionaliteiten zoals voice-over, waarschuwingen bij het uitstappen en de ondersteuning van grotere lettergroottes kunnen ook mensen met een visuele beperking de app gemakkelijk gebruiken. Na een toegankelijkheidsonderzoek door Eleven Ways en het behalen van het vereiste label mag de app van De Lijn zich nu officieel 'toegankelijk' noemen. ⭐️ ACA website volgens Web Content Accessibility Guidelines In 2020 wilden we de ACA-website een redesign geven. Stijn Schutyser , tegenwoordig UI/UX designer bij ACA Website, was destijds als copywriter en SEO Specialist betrokken bij het project. Hij zegt: "We vinden het belangrijk om onze collega's bij elke fase van zo'n project te betrekken. Daarom hebben we tijdens de voorbereidingsfase intern een eerste voorstel gestuurd. Een van de ACA-collega's stelde voor om vanaf het begin extra aandacht te besteden aan toegankelijkheid voor mensen met een beperking. Aangezien inclusie een belangrijke focus is van ons duurzaamheidsbeleid, zijn we meteen aan de slag gegaan met dit fantastische idee." Webontwikkeling volgens internationale standaard "We besloten de website te ontwikkelen volgens de Web Content Accessibility Guidelines," legt Stijn uit. "Het was de eerste keer dat we een website volgens deze internationale standaard zouden ontwikkelen. Dat maakte het een hele uitdaging voor ons technische team: de richtlijnen bestuderen, nagaan hoe we ze het best konden implementeren, de codering, ..." "Een van de belangrijkste doelen was om de website gebruiksvriendelijk te maken voor mensen die gebruik maken van een screenreader die de tekst op een website voorleest. We hebben er bijvoorbeeld voor gezorgd dat een schermlezer met één druk op de knop direct naar de hoofdinhoud van een pagina springt, zonder de overbodige inhoud in de menubalk voor te lezen, enzovoort." Audit door Eleven Ways en AnySurfer "Na de ontwikkeling en lancering van de nieuwe website hebben we deze laten testen door Eleven Ways ," vertelt Stijn. "Zij gaven ons een aantal werkpunten mee die we moesten aanpakken om aan de richtlijnen te voldoen. Na deze aanpassingen hebben we de site laten auditen door AnySurfer met als doel het AnySurfer-label niveau AA te ontvangen. Dat label bewijst dat je website is getest door AnySurfer en dat hij voldoet aan de WCAG-standaard om te spreken van een toegankelijke website." Wist je trouwens dat de website van ACA een Lighthouse toegankelijkheidscore van 98 heeft, een bijna perfecte score. Toegankelijkheid zal ook in de toekomst een belangrijke ontwerpparameter zijn voor onze website. ⭐️ Hoe we de toegankelijkheid van PDF-bestanden verbeteren Toegankelijkheid is niet alleen belangrijk voor websites en apps. "Elk stukje content moet toegankelijk zijn voor iedereen, dus ook PDF-bestanden", zegt Ibn Renders , Lead Branding bij ACA Group. "Daarom zorgen we er bij ACA Group voor dat onze PDF-bestanden worden aangepast voor mensen met een visuele beperking die een schermlezer gebruiken." Hieronder geeft Ibn drie tips om PDF-bestanden voor iedereen toegankelijk te maken: Toegankelijkheidscontrole: Om de toegankelijkheid van onze PDF-documenten te verbeteren, gebruiken we de functie 'toegankelijkheidscontrole' van Acrobat Pro. Deze tool controleert je document en geeft aan welke dingen je moet aanpassen. Leesvolgorde: Het is belangrijk om je PDF-bestand te structureren met de juiste koppen en paragrafen. Als je dat niet doet, wordt je document één grote chaos voor mensen met een schermlezer. In Acrobat Pro kun je met de toegankelijkheidsopties eenvoudig de gewenste leesvolgorde bepalen. Alt-tekst: Schermlezers weten niet wat er op een afbeelding, audio- of video-element staat. Gelukkig kun je ze helpen door een alt-tekst toe te voegen met een korte beschrijving van het relevante audiovisuele element. Wil je meer weten over toegankelijkheid voor PDF-bestanden? Lees het blogartikel "3 eenvoudige tips om je PDF-bestanden voor iedereen toegankelijk te maken" . Conclusie In een steeds digitalere wereld moeten we ervoor zorgen dat iedereen, ook mensen met een handicap, toegang blijft houden tot online en offline digitale oplossingen en content. Als toonaangevend IT-bedrijf willen we samen met ACA Group onze verantwoordelijkheid nemen om toegankelijkheid te integreren in onze diensten, onze methodologie en onze oplossingen. We doen al veel inspanningen om dit te bereiken, maar het blijft een voortdurende inspanning om het nog beter te doen. Op zoek naar een IT-partner die u echt begrijpt? {% module_block module "widget_721f158c-b460-4017-9a15-8780ca97dc15" %}{% module_attribute "buttons" is_json="true" %}{% raw %}[{"appearance":{"link_color":"light","primary_color":"primary","secondary_color":"primary","tertiary_color":"light","tertiary_icon_accent_color":"dark","tertiary_text_color":"dark","variant":"primary"},"content":{"arrow":"right","icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"tertiary_icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"text":"Let's talk"},"target":{"link":{"no_follow":false,"open_in_new_tab":false,"rel":"","sponsored":false,"url":{"content_id":230950468795,"href":"https://25145356.hs-sites-eu1.com/en/contact","href_with_scheme":null,"type":"CONTENT"},"user_generated_content":false}},"type":"normal"}]{% endraw %}{% end_module_attribute %}{% module_attribute "child_css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "definition_id" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "field_types" is_json="true" %}{% raw %}{"buttons":"group","styles":"group"}{% endraw %}{% end_module_attribute %}{% module_attribute "isJsModule" is_json="true" %}{% raw %}true{% endraw %}{% end_module_attribute %}{% module_attribute "label" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "module_id" is_json="true" %}{% raw %}201493994716{% endraw %}{% end_module_attribute %}{% module_attribute "path" is_json="true" %}{% raw %}"@projects/aca-group-project/aca-group-app/components/modules/ButtonGroup"{% endraw %}{% end_module_attribute %}{% module_attribute "schema_version" is_json="true" %}{% raw %}2{% endraw %}{% end_module_attribute %}{% module_attribute "smart_objects" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "smart_type" is_json="true" %}{% raw %}"NOT_SMART"{% endraw %}{% end_module_attribute %}{% module_attribute "tag" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "type" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "wrap_field_tag" is_json="true" %}{% raw %}"div"{% endraw %}{% end_module_attribute %}{% end_module_block %}

Lees verder
ulrich ACA Groep
ulrich ACA Groep
Leestijd 4 min
6 MEI 2025

ACA Group staat al meer dan twintig jaar bekend om haar sterke projectmethodologie. Na de laatste jaren van exponentiële groei was het noodzakelijk om onze gezamenlijke projectaanpak kritisch te bekijken en op elkaar af te stemmen. Al was het maar om ons te heroriënteren op één uniforme methodologie die alle teams toepassen voor hun projecten. We willen immers ook in de toekomst de gekende ACA-kwaliteit blijven garanderen. Om tot één uniforme methodologie te komen voor alle business units en teams van ACA, werd een chapter* van projectmanagers en analisten opgericht om de bijgewerkte methodologie te stroomlijnen, te focussen en uit te dagen. Ulrich Bervoets , leider van de ACA chapters, vertelt er alles over in dit artikel. Waarom is een projectmethodologie zo belangrijk voor ACA Group? "Onze projectmethodologie biedt een gestructureerde aanpak voor de uitvoering van projecten. Het stelt ons niet alleen in staat om duidelijke doelstellingen te bepalen en de reikwijdte van het project te definiëren, maar ook om te voorspellen wanneer het project klaar zal zijn en hoeveel het zal kosten. Dankzij open communicatiekanalen kunnen we effectief samenwerken met onze klanten. Onze methodologie omvat ook risicobeheer, kwaliteitsborging en regelmatige rapportering, wat resulteert in een hoger succespercentage en meer tevredenheid bij onze klanten. Kortom, onze projectmethodologie zorgt ervoor dat projecten op tijd, binnen budget en naar tevredenheid worden afgerond." ACA Group werkt al meer dan twintig jaar volgens een Agile-gebaseerde methodologie en is daarmee een van de pioniers. Waarom was een update nodig? "De afgelopen jaren is ACA Group sterk gegroeid. In korte tijd zijn er veel nieuwe collega's en nieuwe business units bijgekomen. Hoewel elke afdeling oorspronkelijk startte vanuit dezelfde methodologie, om in te spelen op de behoeften van de klant, zijn er gaandeweg verschillen ontstaan in de manier waarop projecten worden benaderd. Met onze vernieuwde methodologie willen we organisatiebreed werken met een uniforme aanpak. Zo kunnen we onze bekende ACA-kwaliteit ook in de toekomst blijven bieden. Een klant die met verschillende ACA-afdelingen werkt, heeft er baat bij dat elk project op dezelfde manier wordt benaderd. Het zorgt voor maximale voorspelbaarheid, transparantie en vertrouwen." Zijn ACA Group en haar medewerkers ook gebaat bij deze uniforme projectmethodiek? "Zeker! Het bevordert de samenwerking tussen verschillende afdelingen. Als elk bedrijfsonderdeel op dezelfde manier werkt, is het veel gemakkelijker om analisten en projectmanagers in te schakelen voor verschillende projecten in verschillende bedrijfsonderdelen. Zo'n uniforme projectaanpak is ook heel gemakkelijk voor onze teamleiders en managers. Als iedereen dezelfde tools en principes gebruikt, wordt interne communicatie en informatie-uitwisseling een stuk eenvoudiger. Bovendien is onze methodologie niet alleen efficiënt en innovatief, maar ook leuk. Dankzij ons chapterwerk komen al onze analisten en projectmanagers regelmatig samen om kennis te delen en elkaar uit te dagen. Het helpt onze collega's om voortdurend te groeien in hun rol. We merken dat onze unieke manier van werken erg aantrekkelijk is voor analisten en projectmanagers die bij ons willen komen werken. Het heeft dus ook voordelen op het gebied van employer branding." Hoe willen jullie ervoor zorgen dat elke ACA-medewerker de nieuwe methodiek kent en consequent toepast, ook op de lange termijn? "Eerst en vooral zullen we nieuwe collega's vanaf onboarding onderdompelen in onze methodologie via verschillende leertrajecten. Daarnaast willen we een algemeen bewustzijn opbouwen over onze technieken en projectaanpak. Door middel van interactieve kennisdeling en inspiratiesessies, waar plezier en leren wordt gecombineerd, willen we collega's informeren en hen ondersteunen in hun ontwikkeling als ACA-methodologieambassadeurs. Op dit moment willen we de verschillende business units en teams zoveel mogelijk ondersteunen bij het opstarten van een nieuw project en hen doelgericht coachen tijdens het project. Daarnaast willen we onze teamleads motiveren om dit proces voor zijn/haar eigen team te ondersteunen en op te volgen. We merken in onze huidige projecten dat onze methodiek zijn vruchten afwerpt, maar we willen deze in de toekomst blijven verbeteren." * Over de ACA chapters : De chapters dienen om ACA-medewerkers met vergelijkbare rollen en verantwoordelijkheden over verschillende bedrijfsonderdelen en locaties met elkaar in contact te brengen. Hun belangrijkste doel is om een consistente benadering van het werk te creëren. Hierdoor vergemakkelijken ze de kennisuitwisseling en bevorderen ze wederzijdse groei en samenwerking. Bovendien brengen deze chapters duidelijkheid voor klanten die met meerdere business units werken, omdat ze een gestandaardiseerde werkmethode kunnen verwachten. Op dit moment heeft ACA hoofdstukken opgesteld voor projectmanagers, analisten en ondersteunend personeel. Meer weten over de ACA-methodologie? {% module_block module "widget_e6f1bc5e-ecdc-42fd-b274-0ae73b961a78" %}{% module_attribute "buttons" is_json="true" %}{% raw %}[{"appearance":{"link_color":"light","primary_color":"primary","secondary_color":"primary","tertiary_color":"light","tertiary_icon_accent_color":"dark","tertiary_text_color":"dark","variant":"primary"},"content":{"arrow":"right","icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"tertiary_icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"text":"Discover our Methodology here"},"target":{"link":{"no_follow":false,"open_in_new_tab":false,"rel":"","sponsored":false,"url":{"content_id":null,"href":"","href_with_scheme":"","type":"CONTENT"},"user_generated_content":false}},"type":"normal"}]{% endraw %}{% end_module_attribute %}{% module_attribute "child_css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "definition_id" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "field_types" is_json="true" %}{% raw %}{"buttons":"group","styles":"group"}{% endraw %}{% end_module_attribute %}{% module_attribute "isJsModule" is_json="true" %}{% raw %}true{% endraw %}{% end_module_attribute %}{% module_attribute "label" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "module_id" is_json="true" %}{% raw %}201493994716{% endraw %}{% end_module_attribute %}{% module_attribute "path" is_json="true" %}{% raw %}"@projects/aca-group-project/aca-group-app/components/modules/ButtonGroup"{% endraw %}{% end_module_attribute %}{% module_attribute "schema_version" is_json="true" %}{% raw %}2{% endraw %}{% end_module_attribute %}{% module_attribute "smart_objects" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "smart_type" is_json="true" %}{% raw %}"NOT_SMART"{% endraw %}{% end_module_attribute %}{% module_attribute "tag" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "type" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "wrap_field_tag" is_json="true" %}{% raw %}"div"{% endraw %}{% end_module_attribute %}{% end_module_block %}

Lees verder
drupal logo
drupal logo
Leestijd 4 min
6 MEI 2025

Drupal, een krachtig en populair Content Management Systeem (CMS), is al meer dan tien jaar een steunpilaar voor talloze websites. Er nadert echter een belangrijke mijlpaal voor Drupal 7 gebruikers: de naderende end-of-life (EOL) op 5 januari 2025. Dit betekent dat Drupal 7 geen officiële ondersteuning of updates meer zal ontvangen van de Drupal-gemeenschap, waardoor website-eigenaren en -ontwikkelaars voor een cruciale beslissing komen te staan. In deze uitgebreide blogpost verkennen we de implicaties van de EOL van Drupal 7, de risico's van een niet-ondersteund platform en de beschikbare opties om ervoor te zorgen dat uw website veilig, functioneel en toekomstbestendig blijft. Wat betekent Drupal 7 end-of-life? In de softwarewereld betekent "end-of-life" dat een softwareversie niet langer actief wordt onderhouden. Voor Drupal 7 heeft dit een aantal cruciale gevolgen: Geen beveiligingsupdates meer: Kwetsbaarheden in de beveiliging zijn een constante dreiging online. Zonder voortdurende beveiligingsupdates wordt uw Drupal 7 website steeds vatbaarder voor hacks en datalekken. Dit kan ernstige gevolgen hebben, zoals financiële verliezen, reputatieschade en zelfs juridische problemen als gevoelige gegevens gecompromitteerd zijn. Bugfixes blijven onopgelost : Bestaande bugs en fouten in Drupal 7 worden niet langer aangepakt. Dit kan leiden tot websitestoringen, compatibiliteitsproblemen met plugins en een frustrerende gebruikerservaring voor zowel beheerders als bezoekers van de website. Beperkte ondersteuning : De Drupal-gemeenschap zal geen officiële technische ondersteuning meer bieden voor Drupal 7. Als u na de EOL technische problemen ondervindt, moet u zelf op zoek naar oplossingen. Risico's van Drupal 7 na EOL Het blijven gebruiken van Drupal 7 na de end-of-life datum brengt aanzienlijke risico's met zich mee waar website-eigenaren rekening mee moeten houden: Verhoogde beveiligingsrisico's : Zonder beveiligingsupdates wordt uw website een belangrijk doelwit voor hackers. Een succesvolle aanval kan resulteren in gestolen gegevens, verstoorde activiteiten en een verlies van vertrouwen van uw websitebezoekers. Beperkte functionaliteit: Naarmate de technologie zich verder ontwikkelt, wordt het steeds moeilijker om Drupal 7 te integreren met nieuwere technologieën en plugins. Dit kan de functionaliteit van uw website beperken en uw vermogen om u aan te passen aan veranderende online trends belemmeren. Compliance problemen : Wanneer Drupal 7 zijn end-of-life (EOL) bereikt, brengt het blijven gebruiken ervan aanzienlijke compliance risico's met zich mee, met name onder GDPR. Bedrijven die gevoelige gegevens verwerken, moeten ervoor zorgen dat hun CMS regelmatig wordt bijgewerkt en beveiligd om inbreuken te voorkomen. Een niet-ondersteund CMS zoals Drupal 7 voldoet niet aan de GDPR-eisen en riskeert hoge boetes en straffen. Wat zijn uw opties na de EOL van Drupal 7? Nu het einde van de levensduur van Drupal 7 snel nadert, is het cruciaal om uw opties te overwegen om het succes en de veiligheid van uw website op de lange termijn te garanderen: Upgrade naar een nieuwere versie van Drupal : Drupal biedt recentere versies met verbeterde functionaliteit, verbeterde beveiliging en voortdurende ondersteuning. Upgraden kan echter een complex proces zijn, afhankelijk van de complexiteit van uw website. Migreren naar een ander CMS : Verschillende robuuste CMS-platforms, zoals Liferay DXP, bieden moderne functies en een sterke beveiliging. Het verkennen van deze alternatieven kan zorgen voor een frisse start en nieuwe mogelijkheden voor uw website. Drupal 7 blijven gebruiken (niet aanbevolen) : Hoewel het technisch mogelijk is, is dit de minst aanbevolen optie vanwege de aanzienlijke beveiligingsrisico's en beperkingen die hierboven zijn besproken. Onderneem vandaag nog actie om de toekomst van uw Drupal 7 website veilig te stellen De aankomende Drupal 7 EOL vormt een kritiek beslissingsmoment voor website-eigenaren. We raden u aan om meer te weten te komen over uw migratieopties en proactieve stappen te nemen om de toekomst van uw website veilig te stellen. In onze volgende blogpost gaan we in op de voordelen van migratie van Drupal 7 naar Liferay DXP, een krachtig en veilig CMS platform dat uw website naadloos naar een hoger niveau kan tillen. In de tussentijd kunt u een afspraak maken voor een gratis migratiegesprek met ons team van experts. Wacht niet tot het te laat is! Onderneem nu actie om ervoor te zorgen dat uw website veilig, functioneel en concurrerend blijft na de Drupal 7 end-of-life. Wilt u de overgang naar Drupal 7 EOL soepel laten verlopen? {% module_block module "widget_a92bc401-d6ad-4b8d-ab07-af5c75b79f92" %}{% module_attribute "buttons" is_json="true" %}{% raw %}[{"appearance":{"link_color":"light","primary_color":"primary","secondary_color":"primary","tertiary_color":"light","tertiary_icon_accent_color":"dark","tertiary_text_color":"dark","variant":"primary"},"content":{"arrow":"right","icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"tertiary_icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"text":"Contact our experts now"},"target":{"link":{"no_follow":false,"open_in_new_tab":false,"rel":"","sponsored":false,"url":{"content_id":null,"href":"","href_with_scheme":"","type":"CONTENT"},"user_generated_content":false}},"type":"normal"}]{% endraw %}{% end_module_attribute %}{% module_attribute "child_css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "definition_id" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "field_types" is_json="true" %}{% raw %}{"buttons":"group","styles":"group"}{% endraw %}{% end_module_attribute %}{% module_attribute "isJsModule" is_json="true" %}{% raw %}true{% endraw %}{% end_module_attribute %}{% module_attribute "label" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "module_id" is_json="true" %}{% raw %}201493994716{% endraw %}{% end_module_attribute %}{% module_attribute "path" is_json="true" %}{% raw %}"@projects/aca-group-project/aca-group-app/components/modules/ButtonGroup"{% endraw %}{% end_module_attribute %}{% module_attribute "schema_version" is_json="true" %}{% raw %}2{% endraw %}{% end_module_attribute %}{% module_attribute "smart_objects" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "smart_type" is_json="true" %}{% raw %}"NOT_SMART"{% endraw %}{% end_module_attribute %}{% module_attribute "tag" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "type" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "wrap_field_tag" is_json="true" %}{% raw %}"div"{% endraw %}{% end_module_attribute %}{% end_module_block %}

Lees verder
liferay wachtwoord
liferay wachtwoord
Leestijd 3 min
6 MEI 2025

Het ongemakkelijke moment waarop je inloggegevens niet werken wanneer je snel wat wijzigingen moet aanbrengen, de verlegenheid van het niet onthouden van de enige beheerdersinlog wanneer je collega ze nodig heeft. Je beheerdersinloggegevens zijn kwijt . Het is waarschijnlijk al velen van ons overkomen. Dit kan erg problematisch zijn wanneer je te maken hebt met de inloggegevens van de standaard beheerdersaccount in Liferay . Dit account, ook bekend als test@liferay.com , wordt vaak gebruikt op test- en ontwikkelingsinstallaties van Liferay. Het verliezen van de credentials voor dit account betekent meestal het verlies van alle controle over Liferay op deze installaties. "Je had deze gegevens ergens moeten documenteren!" (Willekeurige ontwikkelaar) Had gemoeten, had gekund... maar deed het niet. Het is inderdaad waar dat het bijhouden van volledige en correcte documentatie dit soort situaties kan voorkomen . Het hebben van een projectwiki helpt enorm bij het beheren van alle belangrijke informatie die gedeeld moet worden. Ik schrijf deze blogpost echter niet om je alle voor- en nadelen van een wiki te vertellen. Ons wachtwoord is kwijt en we willen het terug, nu meteen! Geen paniek. Naast het proberen te achterhalen van iemand die het wachtwoord wel weet of zelfs het installeren van een nieuwe Liferay, zijn er 2 vrij eenvoudige en rechttoe rechtaan methodes om de controle over je account terug te krijgen. Beide zijn echter afhankelijk van toegang tot Liferay's database, dus hopelijk ben je in ieder geval nog in staat om in te loggen in de database. De eerste methode is om Liferay's ingebouwde passwordEncrypted flag te gebruiken: Ga naar de user_ tabel in de database. Zoek de gebruiker waar je toegang tot wilt krijgen. Stel het veld password_ in op een wachtwoord in platte tekst. Stel het veld passwordEncrypted in op 0. Stel het veld passwordReset in op 1. Start Liferay opnieuw op! Log in. Hiermee kun je eenmalig inloggen met je eigen ingestelde wachtwoord. Liferay zal je vragen om een nieuw wachtwoord in te stellen en dat is alles. U heeft met succes de controle terug! Je wachtwoord wordt automatisch weer versleuteld in de database, dus daar hoef je je geen zorgen over te maken. De tweede methode is wat grover en vereist een tweede Liferay-instantie bij de hand, maar werkt net zo goed: Ga naar de user_ tabel van de tweede instantie, en kopieer het versleutelde wachtwoord van een gebruiker waarvan je het wachtwoord weet. Plak dit wachtwoord in het password_ veld van de user_ tabel van de eerste Liferay instance. Start Liferay opnieuw op! Log in. En opnieuw, groot succes! Deze methode kan handig zijn als onbevoegde ogen je bespioneren. Een wachtwoord zal nooit zichtbaar zijn in platte tekst. Heb je problemen met Liferay? Als de enige Platinum Partner in de Benelux staan we klaar om je te helpen! {% module_block module "widget_cf1d144d-8279-481c-9ccd-60a9faf0cc03" %}{% module_attribute "buttons" is_json="true" %}{% raw %}[{"appearance":{"link_color":"light","primary_color":"primary","secondary_color":"primary","tertiary_color":"light","tertiary_icon_accent_color":"dark","tertiary_text_color":"dark","variant":"primary"},"content":{"arrow":"right","icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"tertiary_icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"text":"Our Liferay services"},"target":{"link":{"no_follow":false,"open_in_new_tab":false,"rel":"","sponsored":false,"url":null,"user_generated_content":false}},"type":"normal"}]{% endraw %}{% end_module_attribute %}{% module_attribute "child_css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "definition_id" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "field_types" is_json="true" %}{% raw %}{"buttons":"group","styles":"group"}{% endraw %}{% end_module_attribute %}{% module_attribute "isJsModule" is_json="true" %}{% raw %}true{% endraw %}{% end_module_attribute %}{% module_attribute "label" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "module_id" is_json="true" %}{% raw %}201493994716{% endraw %}{% end_module_attribute %}{% module_attribute "path" is_json="true" %}{% raw %}"@projects/aca-group-project/aca-group-app/components/modules/ButtonGroup"{% endraw %}{% end_module_attribute %}{% module_attribute "schema_version" is_json="true" %}{% raw %}2{% endraw %}{% end_module_attribute %}{% module_attribute "smart_objects" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "smart_type" is_json="true" %}{% raw %}"NOT_SMART"{% endraw %}{% end_module_attribute %}{% module_attribute "tag" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "type" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "wrap_field_tag" is_json="true" %}{% raw %}"div"{% endraw %}{% end_module_attribute %}{% end_module_block %}

Lees verder
laptop applicatie
laptop applicatie
Leestijd 4 min
6 MEI 2025

Enkele verschillen: de labels Shop en Shop/Upgrade zijn niet consistent, de vage labels staan op een andere plaats, zoals "Support" en "Account", "TV", "labels" en "Aanmelden" zijn soms labels en soms pictogrammen, de zoekfunctie ontbreekt in de bovenste header, alleen de eerste header had een hamburger menu. Je herkent deze situatie misschien wel: als je applicatie groeit, groeit de diversiteit aan elementen mee. Knoppen op verschillende pagina's staan net iets anders of niet precies op dezelfde plek, pictogrammen behoren niet allemaal tot dezelfde set, nieuwere formulieren volgen niet dezelfde structuur als vorige, er zijn verschillende lettertypen of -groottes voor hetzelfde doel, enzovoort. Dat is vervelend en ronduit rommelig. Het is nog erger als deze inconsistentie ervoor zorgt dat je applicatie volgens je gebruikers niet meer werkt zoals verwacht omdat er ook te weinig consistentie is in de interactiepatronen. Dit kan ertoe leiden dat gebruikers je applicatie of een deel ervan steeds minder gebruiken of er zelfs niet meer mee werken. Het belang van consistentie "Consistentie" is een belangrijke metriek die de meeste bedrijven onderschatten. Consistentie is een cruciaal onderdeel van elk bedrijf met een digitaal platform of dienst. Het zorgt niet alleen voor een gebruiksvriendelijk product, maar ook voor tal van andere voordelen, zoals: een uniforme ervaring op verschillende apparaten, correcte implementatie van branding, merkbekendheid en nog veel meer... We erkennen allemaal het belang van die consistentie, maar hoe kun je er nu voor zorgen dat je dit ook binnen je organisatie waarborgt? Wat is een 'design systeem'? Een ontwerpsysteem is een centrale plek waar alle onderdelen van een digitaal product of set van digitale producten worden beschreven . Je kunt het zien als een soort bibliotheek waarin verschillende visuele componenten zijn opgeslagen voor gebruik in je website, app of social media content. Kleur en typografie zijn primaire componenten in een design systeem, net als knoppen, formulieren, voetteksten en andere componenten. Ontwerpsysteem 'Atomus' , gratis beschikbaar binnen Figma De voordelen van een ontwerpsysteem Het gebruik van een ontwerpsysteem heeft 3 grote voordelen: het creëert meer samenhang en consistentie, het zorgt voor een hoge mate van herbruikbaarheid, en is zeer eenvoudig te gebruiken. Een ontwerpsysteem helpt bij het creëren van een consistent merkimago . Als je eenmaal een ontwerpsysteem hebt gemaakt, wordt het de "enige bron van waarheid" voor je visuele identiteit. Iedereen kan ontwerpen maken die er hetzelfde uitzien, hetzelfde aanvoelen en volgens dezelfde interactiepatronen werken. Hoge mate van herbruikbaarheid Je team kan snel nieuwe componenten ontwerpen op basis van bestaande kleinere elementen die atomen worden genoemd. Je kunt je huidige atomen dus altijd hergebruiken om nieuwe dingen te maken die meteen passen binnen het ontwerp en de look feel van je ontwerpsysteem. Snel en eenvoudig te gebruiken Bestaande of nieuwe collega's die minder ervaring hebben met UX- of UI-ontwerp kunnen helpen bij het maken van moderne, gebruiksvriendelijke en mooie interfaces. Dit versnelt het werk van uw ontwikkelaars en verhoogt uw efficiëntie! Daarnaast biedt deze efficiëntie nog een ander voordeel, namelijk dat veranderingen in uw product of dienst zeer snel kunnen worden doorgevoerd. Dit betekent dat u een veel snellere time-to-market kunt realiseren. Herkent u een of meer van deze uitdagingen? Hebben je applicaties soms last van een inconsistente werking of visuele weergave en ben je benieuwd hoe je dit kunt verhelpen met een ontwerpsysteem? Of heb je vragen over hoe je een ontwerpsysteem precies kunt inrichten om ervoor te zorgen dat je niet tegen consistentieproblemen aanloopt? Reserveer dan hieronder een gratis en vrijblijvend plekje in onze agenda voor een vraag- en antwoordsessie. Tijdens dit gesprek luisteren we graag naar je vragen en geven we je gericht advies. {% module_block module "widget_4ef2ded0-7241-4df2-939c-0070891b3837" %}{% module_attribute "buttons" is_json="true" %}{% raw %}[{"appearance":{"link_color":"light","primary_color":"primary","secondary_color":"primary","tertiary_color":"light","tertiary_icon_accent_color":"dark","tertiary_text_color":"dark","variant":"primary"},"content":{"arrow":"right","icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"tertiary_icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"text":"Book Q A session with an expert"},"target":{"link":{"no_follow":false,"open_in_new_tab":true,"rel":"noopener","sponsored":false,"url":{"content_id":null,"href":"https://calendly.com/q-and-a-session/boek-een-q-a-sessie-met-onze-expert-clone?month=2022-11","href_with_scheme":"https://calendly.com/q-and-a-session/boek-een-q-a-sessie-met-onze-expert-clone?month=2022-11","type":"EXTERNAL"},"user_generated_content":false}},"type":"normal"}]{% endraw %}{% end_module_attribute %}{% module_attribute "child_css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "definition_id" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "field_types" is_json="true" %}{% raw %}{"buttons":"group","styles":"group"}{% endraw %}{% end_module_attribute %}{% module_attribute "isJsModule" is_json="true" %}{% raw %}true{% endraw %}{% end_module_attribute %}{% module_attribute "label" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "module_id" is_json="true" %}{% raw %}201493994716{% endraw %}{% end_module_attribute %}{% module_attribute "path" is_json="true" %}{% raw %}"@projects/aca-group-project/aca-group-app/components/modules/ButtonGroup"{% endraw %}{% end_module_attribute %}{% module_attribute "schema_version" is_json="true" %}{% raw %}2{% endraw %}{% end_module_attribute %}{% module_attribute "smart_objects" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "smart_type" is_json="true" %}{% raw %}"NOT_SMART"{% endraw %}{% end_module_attribute %}{% module_attribute "tag" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "type" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "wrap_field_tag" is_json="true" %}{% raw %}"div"{% endraw %}{% end_module_attribute %}{% end_module_block %}

Lees verder
azuurblauwe vuurtoren
azuurblauwe vuurtoren
Azure Lighthouse: Wat, hoe en waarom?
Leestijd 4 min
6 MEI 2025

Iedereen die in het verleden meerdere Azure accounts heeft moeten beheren weet dat het vaak een heel gedoe is. Je moet bijvoorbeeld bij elke Azure tenant apart inloggen met de juiste inloggegevens. Er is geen sprake van een centraal beheer en het handmatig instellen van individuele omgevingen is erg lastig. Ook het implementeren van consistent toegangsbeheer en beveiligingsbeleid is bijna onmogelijk. Gelukkig is er een oplossing: Azure Lighthouse. Lees er alles over in deze blog. DevOps of system engineers moeten regelmatig op verschillende Azure tenants werken en dat loopt niet altijd even soepel. Sommige klanten willen dat je een login van hen gebruikt, andere klanten nodigen je liever uit als gast om hun omgeving te beheren. Het gevolg is dat je vaak handmatig moet schakelen tussen verschillende Azure tenants. Bovendien moet je soms zoeken naar de juiste inloggegevens, waardoor kostbare tijd verloren gaat. Gelukkig is er nu Azure Lighthouse waarmee je de resources binnen een abonnement op een eenvoudige en overzichtelijke manier kunt beheren. Wat is Azure Lighthouse? Azure Lighthouse is een Microsoft Azure beheerdienst die een centraal platform biedt voor het beheren en monitoren van meerdere klantomgevingen (tenants) en hun resources. Het stelt serviceproviders of bedrijven met meerdere Azure-abonnementen in staat om de Azure-omgevingen van hun klanten of dochterondernemingen efficiënt te beheren en te controleren. Hierdoor kunnen ze operationele processen stroomlijnen, de beveiliging verbeteren en de algehele efficiëntie verhogen door een consistente beheerervaring te bieden voor alle beheerde tenants. Voordelen van Azure Lighthouse Beheer van meerdere huurders Als serviceprovider kun je meerdere Azure abonnementen of tenants bekijken en beheren vanuit één Azure portal of API endpoint. Je kunt ook verschillende beheertaken uitvoeren, zoals het inzetten en beheren van resources, het toepassen van beleidsregels en het bewaken van de prestaties, voor alle beheerde tenants. Toegang tot delegaties Met Azure Lighthouse kun je gedelegeerde toegang verlenen aan klanten of dochterondernemingen zodat ze hun eigen Azure resources kunnen beheren binnen gedefinieerde grenzen. Deze delegatie is gebaseerd op Azure Role-Based Access Control (RBAC), dat een fijne controle biedt over privileges en scheiding van taken. Beveiligde multi-tenant omgeving Ingebouwde beveiligingscontroles houden de gegevens en bronnen van elke tenant geïsoleerd en beschermd. Het biedt granulaire toegangscontroles, veilige multi-factor authenticatie (MFA) en de mogelijkheid om Azure Policy en Azure Security Center toe te passen op alle beheerde tenants. Branding voor serviceproviders Azure Lighthouse maakt het mogelijk om de Azure portaalervaring voor klanten aan te passen door het toepassen van aangepaste brandingelementen zoals logo's en thema's. Dit helpt bij het behouden van een consistente merkidentiteit en -stijl. Dit helpt bij het behouden van een consistente merkidentiteit en verbetert de algehele klantervaring. Integratie met Azure Marketplace Als serviceprovider kun je je managed services of oplossingen publiceren op de Azure Marketplace. Hierdoor kunnen klanten deze diensten gemakkelijk ontdekken en zich erop abonneren, waardoor de relatie tussen dienstverlener en klant verder wordt vereenvoudigd. Hoe werkt Azure Lighthouse precies? De Azure toegangen worden per abonnement ingesteld. Als dienstverlener is het jouw taak om een Azure Resource Manager (ARM) sjabloon te publiceren. Templates gepubliceerd via de Azure store kunnen door iedereen gelezen worden. Wil je liever slechts een paar klanten beheren, of een specifiek klantenbestand? Dan is er de optie om de resource templates direct bij de klant te laten importeren. Zo doe je dat: Zoek in je tenant naar Azure Lighthouse. Kies Service Providers weergeven . Kies View Service Provider Offers . Lees hier het nieuwe serviceaanbod in. Zo'n resource template bevat allerlei informatie zoals tenant ID van de klant en van de service provider, offer name, description en welke rol je aan de service provider wilt geven. Waarom is Azure Lighthouse interessant voor jou? Dankzij Azure Lighthouse heb je minder gedoe met klantspecifieke accounts of externe invites. Toegangsbeheer gebeurt volledig via je eigen portal als service provider. Hierdoor hoef je de lokale IT van de klant niet meer lastig te vallen voor toegang of het versturen van uitnodigingen. Alles is centraal geregeld. Als er nieuwe collega's bijkomen of vertrekken, kun je hun accounts eenvoudig verwijderen uit de relevante Azure Active Directory groepen, waardoor hun toegang tot de klantomgeving automatisch wordt gesynchroniseerd. Daarnaast behoudt de klant volledige controle over zijn abonnementen en kan hij op elk moment de service provider van bepaalde licenties ontkoppelen. Alle extra rompslomp die vroeger nodig was, is nu verdwenen dankzij Azure Lighthouse. Het hele proces verloopt soepel en efficiënt. Conclusie Azure Lighthouse vereenvoudigt het beheer en de governance van meerdere Azure-omgevingen en geeft serviceproviders centrale controle, waardoor ze veel beheertijd besparen. Bovendien kunnen klanten hun resources efficiënt beheren terwijl ze profiteren van de expertise en services die hun providers bieden. De verhoogde beveiliging is ook een extra troef. Ga voor meer informatie naar de officiële FAQ-pagina's van Microsoft en de officiële Azure Lighthouse productpagina . Vragen over Azure Lighthouse? {% module_block module "widget_3fabed10-ae39-4bfa-8d68-e13814ecdf36" %}{% module_attribute "buttons" is_json="true" %}{% raw %}[{"appearance":{"link_color":"light","primary_color":"primary","secondary_color":"primary","tertiary_color":"light","tertiary_icon_accent_color":"dark","tertiary_text_color":"dark","variant":"primary"},"content":{"arrow":"right","icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"tertiary_icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"text":"Contact our experts"},"target":{"link":{"no_follow":false,"open_in_new_tab":false,"rel":"","sponsored":false,"url":{"content_id":230950468795,"href":"https://25145356.hs-sites-eu1.com/en/contact","href_with_scheme":null,"type":"CONTENT"},"user_generated_content":false}},"type":"normal"}]{% endraw %}{% end_module_attribute %}{% module_attribute "child_css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "definition_id" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "field_types" is_json="true" %}{% raw %}{"buttons":"group","styles":"group"}{% endraw %}{% end_module_attribute %}{% module_attribute "isJsModule" is_json="true" %}{% raw %}true{% endraw %}{% end_module_attribute %}{% module_attribute "label" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "module_id" is_json="true" %}{% raw %}201493994716{% endraw %}{% end_module_attribute %}{% module_attribute "path" is_json="true" %}{% raw %}"@projects/aca-group-project/aca-group-app/components/modules/ButtonGroup"{% endraw %}{% end_module_attribute %}{% module_attribute "schema_version" is_json="true" %}{% raw %}2{% endraw %}{% end_module_attribute %}{% module_attribute "smart_objects" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "smart_type" is_json="true" %}{% raw %}"NOT_SMART"{% endraw %}{% end_module_attribute %}{% module_attribute "tag" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "type" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "wrap_field_tag" is_json="true" %}{% raw %}"div"{% endraw %}{% end_module_attribute %}{% end_module_block %}

Lees verder