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 verkoop kick-off 2025
liferay verkoop kick-off 2025
Leestijd 4 min
8 MEI 2025

Van 3 tot 5 februari verwelkomde Liferay zijn wereldwijde teams en partners in Athene voor de Liferay Sales Kickoff (SKO) . Tijdens dit jaarlijkse evenement presenteert Liferay haar strategische richting en nieuwe features voor het komende jaar. Liferay SKO is de plek waar sales, marketing en partners samenkomen om inspiratie op te doen, inzichten te delen, best practices te bespreken en nieuwe innovaties binnen Liferay te ontdekken. ACA Group was ook aanwezig om onze strategische samenwerking verder te bespreken en verschillende gezamenlijke initiatieven te initiëren. Benieuwd naar de meest opvallende aankondigingen van Liferay Sales Kickoff 2025? Ontdek ze hieronder! * Disclaimer: De onderstaande informatie en aankondigingen zijn gebaseerd op de huidige inzichten en plannen van Liferay en zijn onder voorbehoud van wijzigingen. Nieuwe functies en producten kunnen nog worden gewijzigd of uitgesteld. Liferay PaaS Premium Beveiliging Liferay's SaaS platform was al uitgerust met een geavanceerde AI-gestuurde firewall die zijn effectiviteit herhaaldelijk heeft bewezen. Door middel van verschillende case studies heeft Liferay laten zien hoe dit slimme beveiligingssysteem moeiteloos miljoenen aanvallen blokkeert, dit alles zonder enige tussenkomst van partners of klanten. Nu brengt Liferay deze bewezen beveiligingstechnologie naar het PaaS-platform! Met het Hyper Security Pack krijgen PaaS-gebruikers toegang tot dezelfde krachtige bescherming die SaaS-gebruikers al genieten. Wat is inbegrepen? 🔹 ML DDoS-bescherming - Robots tegen robots! De AI-gestuurde DDoS-bescherming van SaaS is nu beschikbaar voor PaaS. 🔹 Bots blokkeren - Geavanceerde filters scheiden mensen van machines en bieden regionale configuratieopties. 🔹 Schaalbaarheidsverzekering - Liferay schaalt automatisch mee met uw DXP zonder extra kosten. 🔹 Kwetsbaarheidsmeldingen - Onmiddellijke waarschuwingen voor kritieke kwetsbaarheden, plus hulp bij patchen. 🔹 Verwerking van kwetsbaarheidsrapporten - Dien uw beveiligingsrapport in bij Liferay en ontvang een geprioriteerde lijst met actie-items. Voor SaaS-gebruikers is deze bescherming standaard inbegrepen, terwijl PaaS-gebruikers dit pakket als add-on kunnen toevoegen. Liferay Digital Days: training en evenementen voor klanten Liferay lanceert Digital Days ! Deze hands-on trainingen laten u kennismaken met de nieuwste functies. Maar dat is nog niet alles, want Liferay gaat in 2025 ook met de Customer Summit World Tour de wereld rond! Deze grootschalige evenementen brengen partners en klanten samen en bieden de perfecte gelegenheid om je onder te dompelen in de nieuwste trends, inzichten en mogelijkheden binnen Liferay. Teaser Showcases tonen Liferay's USP's ACA heeft al meerdere Liferay-omgevingen om de eindeloze mogelijkheden van het platform te demonstreren. Nu maakt Liferay dit nog makkelijker. Met 8 Teaser Showcases kunnen we nu de unique selling points (USP's) van Liferay op een duidelijke en aansprekende manier presenteren aan potentiële klanten. Deze Teaser Showcases zijn de perfecte aanvulling op bestaande producttesten en gepersonaliseerde demo's, zodat klanten in hun eigen tempo de mogelijkheden van Liferay kunnen verkennen. Liferay CMS: een kleine maar krachtige nieuwe toevoeging De Liferay familie groeit! Later dit jaar lanceert Liferay een nieuw Liferay CMS , een lichter alternatief voor het uitgebreide Liferay DXP. Hoewel deze kleinere versie niet alle functies van Liferay DXP zal bevatten, is het de perfecte oplossing voor kleinere projecten die een krachtig en flexibel CMS nodig hebben. Nog niet alle details zijn beschikbaar, maar ACA volgt de ontwikkelingen op de voet. We hebben er alle vertrouwen in dat Liferay CMS een waardevolle toevoeging zal zijn aan ons productportfolio. Liferay blijft groeien Liferay blijft indruk maken met zijn wereldwijde groei! Het partnernetwerk is nu uitgebreid tot 400 partners wereldwijd , met een sterke focus op de EMEA-markt . Op productniveau maakt Liferay ook grote stappen. In het Gartner Magic Quadrant blijft het platform oprukken naar de Leaders categorie, een bewijs van zijn kracht en innovatie. Bovendien staat Liferay nu in de top drie van DXP Customer Choice-platforms van Gartner, naast Adobe en Pimcore. Het is een erkenning van het vertrouwen en de waardering van gebruikers wereldwijd. Veel meer nieuwe functies voor Liferay DXP Liferay introduceerde ook tal van nieuwe functies voor het Liferay DXP platform. Hoogtepunten zijn onder andere: Aanpasbare Content Editor: Pas de editor aan aan de behoeften van uw project. Geavanceerde export/export: Een verbeterde import/export functionaliteit met staging ondersteuning en gedetailleerde foutrapportage. Camunda integratie: Soepele tweerichtingsintegratie met Camunda voor een betere workflowautomatisering. Cloud Native Ervaring: Extra tools om zelf gehoste Liferay DXP moeiteloos te draaien op AWS, Google Cloud of Azure . AI Wizard : Een slimme AI-assistent die snel pagina's, blogs en media maakt. Upload een schetsfoto en de wizard genereert een complete paginastructuur met fragmenten! Intelligent zoeken: De zoekfunctie van Liferay krijgt een grote upgrade. Naast het klassieke zoeken op trefwoorden is er nu een krachtige semantische zoekmachine, volledig aanpasbaar aan uw behoeften. Nieuwsgierig naar Liferay's toekomstplannen? Bekijk hun openbare roadmap op https://liferay.com/roadmap. Aan de slag met de nieuwe Liferay updates? Met deze nieuwe ontwikkelingen tilt Liferay zijn platform naar een hoger niveau, waardoor het veiliger, gebruiksvriendelijker en aantrekkelijker dan ooit wordt voor zowel partners als klanten. Voor ACA is het een fantastische kans om onze marktpositie te versterken en optimaal gebruik te maken van deze innovaties. Wilt u weten hoe deze updates uw organisatie ten goede kunnen komen? Wij denken graag met u mee! Neem contact met ons op!

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
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