Vandaag beginnen we, onder grote belangstelling, meteen met de presentatie van Sander Potjer over usability van de backend. Tijdens onze volgende bijeenkomst, op 11 december, laten Marcel en Will zien hoe je SportLink integreert in je Joomla website.

Presentatie van Sander: een gebruiksvriendelijke beheeromgeving

Joomla is een heel mooi CMS, maar is de eindgebruiker er wel altijd blij mee? Als je een site maakt en die over de schutting knikkert met de mededeling “veel succes”, dan komt die gebruiker in een beheeromgeving waarin er heel veel mogelijk is. Dat kan overweldigend zijn.

Je kunt als bouwer heel veel doen om het gebruiksvriendelijker te maken. Een van de mogelijkheden is ACL (gebruikersbeheer), maar sinds Joomla 3.7 kun je ook een mooi menu maken voor het beheer.

Sander is voorstander van het wegnemen van keuzes waar de gebruiker toch niets mee hoeft, en zo veel mogelijk stappen weghalen om iets te doen. Ook bij het inrichten moet je goed nadenken. Modules zijn handig, want je kunt makkelijk blokjes toevoegen, maar het kan heel verwarrend zijn voor de gebruiker. Dus moet je wel een module gebruiken, en zo ja: wat voor module? De vraag is: moet je eigenlijk wel een module doen? Je hebt een aantal moduletypes waarmee automatisch artikelen getoond kunnen worden. Je kunt ook een CCK gebruiken. Of een custom field erin hangen, want hoe meer je bij de core kunt blijven, hoe minder je hoeft te updaten.

Een beheermenu maken

Standaard kun je de eindgebruiker toegang geven tot de hele functionaliteit van je website. Voor dagelijks gebruik is het veel praktischer om je gebruiker een ander account te geven. Daarin kun je dingen weglaten die niet nodig zijn.

Onder “Menu” kun je een menu toevoegen. Daarin is een nieuwe optie gekomen: Locatie. Daar selecteer je of het menu op de website moet komen of in het beheergedeelte. Je kunt een voorinstelling importeren: Joomla of Modern (bij die laatste zitten alle systeemfuncties onder de link “Beheren”).

Als je je nieuwe menu opslaat, zie je dat het menu in tweeën verdeeld is: het gewone menu en het menu dat je net hebt aangemaakt.

Het menu in Joomla is helemaal opgebouwd uit modules. Om de menubalk aan te passen moet je dan dus een module maken (of aanpassen). Als je bij modules selecteert op Beheergedeelte, zie je de modules uit de backend. Een van de modules is het Admin Menu. Daar kun je het te tonen menu aan koppelen. Het is niet zo slim om dat aan te passen, want dan krijgt iedereen die inlogt in de backend hetzelfde menu te zien. Sla het dus op als kopie en ga er dan in werken. Je kunt alle menu-items aanpassen naar terminologie die de gebruiker wel begrijpt: “Formulieren” ipv “RSForm”, “Forum” ipv “Kunena”, etc. Met het menu-item Componenten kun je bepalen wat er zichtbaar is. Wil je helemaal zelf bepalen wat er in het menu komt te staan, dan kun je het ook zelf maken.

Als je geen voorinstelling gebruikt, heb je een leeg menu. Werk met toegangsrechten: standaard ziet de gebruiker het admin menu waar hij zelf de rechten voor heeft.

Toegang Speciaal heeft auteur, manager en super user. Als je niet wilt dat iedereen met die rechten het admin menu ziet, kun je ervoor kiezen om het admin menu alleen zichtbaar te maken voor super users. Dan ziet manager en auteur het admin menu niet meer.

Daarna kun je een menu gaan maken dat alleen zichtbaar is voor bijvoorbeeld manager. Je maakt een nieuwe module aan, voor een administratormenu. Je kiest welk menu getoond moet worden. Laat de optie “Controleer menu” op ja staan, want als er essentiële onderdelen missen wordt er een waarschuwing gegeven. In die waarschuwing staat wat er mist. Voor een menu voor specifieke groepen kun je “Controleer menu” op nee zetten.

Geef je nieuwe menu een positie (menu).

Rechten: public is iedereen op de website, ingelogd of niet. Guest is iedereen die niet is ingelogd. Login kun je dus op guest zetten, en logout op registered: dan ziet iemand die niet ingelogd is de login-knop, en iemand die wel ingelogd is de logout-knop.

Je moet instellen welke groep toegang heeft tot het menu. Als je voor de groep “speciaal” zou kiezen, zou de super user het tweede menu ook zien.

Maak een nieuw toegangsniveau aan en wijs daarin de groep aan die het moet zien. In de module kun je dan je nieuwe toegangsniveau kiezen.

Je kunt allerlei soorten menu-items toevoegen, ook voor onderdelen of functies van componenten. Als de gebruikersgroep de rechten niet heeft om toegang te krijgen tot de beheer interface, zal ook het menu-item niet zichtbaar zijn.

Als iemand dus maar een bepaald onderdeel van de website beheert, kun je hem dus alleen dat laten doen dat hij nodig heeft.

Let op: als je mensen toegang geeft tot delen van extensies, kan het nog steeds gebeuren dat ze bij onderdelen kunnen komen waar ze eigenlijk niets te zoeken hebben.

Het zijn veel handelingen om elke keer te doen. Met een menu-item Component container kun je best snel dingen van componenten aan- en uitzetten.

De presets zoals ze er nu in staan zijn een eerste aanzet, op termijn (maar nu nog niet) kun je instellingen exporteren en importeren naar een andere site, zodat je lekker snel een menu voor gebruikers kunt aanmaken.

Sub-items kun je, net als bij een frontend menu, aan een hoofd-item hangen.

ACL

Een andere manier van backend vereenvoudigen is ACL. ACL betekent Access Contol List, oftewel: wie mag waar bij, dus rechtenbeheer. Dat kan al snel onoverzichtelijk worden.

Eén deel van ACL gaat over de zichtbaarheid: wat mag je zien. Het andere gaat over de acties: wat mag je doen.

Dat zijn twee verschillende systemen in Joomla. Het bestaat uit: gebruiker, rechten (site login, admin login, instellingen, maken, verwijderen, bewerken etc) gebruikersgroep en toegangsniveau.

Je voegt een gebruiker toe aan een groep. De rechten wijs je toe aan een groep. Toegangsniveaus stel je ook in per groep. Rechten kun je niet meteen instellen voor één specifieke gebruiker; daar kun je wel een groep voor instellen en die de rechten geven. De groep is eigenlijk een rol waar je een gebruiker aan toewijst. Een gebruiker kun je aan meerdere groepen (rollen) toewijzen.

Je kunt het instellen in niveaus binnen Joomla:

  • Algemene instellingen (als je daar bewerken toestaat, geldt het voor de hele website)
  • Component permissies (als je daar iets toestaat, geldt het alleen voor dat component)
  • Categorieën, modules, velden
  • Artikelen

Daar kun je allemaal rechten instellen.

De rechten worden geërfd van groepen. Standaard bij nieuwe groepen staat het niet ingesteld, dat betekent “niet toegestaan”. Als het niet is ingesteld op het hoogste niveau (algemene instellingen) wordt het geërfd naar alle andere niveaus.

Als toegestaan is ingesteld bij algemene instellingen, geldt toegestaan ook voor componenten, categorieën, modules en velden, en artikelen. Wil je categorierechten niet toestaan, dan kun je daar kiezen voor “niet toegestaan”. Dan zal het voor artikelen ook niet toegestaan zijn.

Stel je op het hoogste niveau “niet toegestaan” in, dan kun je bij de andere niet voor “toegestaan” kiezen. Begin met “niet ingesteld” en ga van daaruit verder.

Naast het erven van niveaus, erf je ook binnen de groepen onderling. Het werkt van weinig naar veel, dus van niets mogen naar alles mogen.

Het komt allemaal voort uit het principe Don’t make me think. Laat een gebruiker niet nadenken over keuzes maken.

Standaard zit er in Joomla een setje gebruikersgroepen. Wil je een nieuwe gebruikersgroep aanmaken, wat doe je dan als eerste? Sander verwijdert eerst manager, administrator, auteur, editor en publisher. Dan hou je public, guest, registered en super users over.

Super users hernoemt Sander naar beheerders.

De volgende stap is een nieuwe groep aanmaken. Sander kiest als hoofdgroep meestal voor public. Dan weet je dat een erfelijkheid alleen van een bovenliggend niveau kan komen, en niet van een bovenliggende groep. Als iets niet lukt, dan weet je waar je het moet zoeken.

De volgende stap is gebruikers toewijzen aan de groep (zodat je met een testgebruiker kunt testen).

Wat je nu moet doen is de gebruiker toegang geven tot het beheergedeelte. Public heeft daar namelijk geen toegang toe.

Daarvoor ga je naar de Algemene instellingen van de website, rechten, en kies bij Beheer voor Toegestaan.

Dan kan de gebruiker al wel inloggen, maar verder kan hij niets. Als je je nieuwe groep toevoegt aan het toegangsniveau speciaal, dan zou de gebruiker het wel moeten kunnen zien.

Helpmenu verbergen: knop in admin menu klikken.

Volgende stap is dat je gebruiker dingen kan gaan doen, bijvoorbeeld artikelen aanmaken of bewerken in een bepaalde categorie.

In de categorie kun je ook weer op een tabblad Rechten klikken, en dan instellen.

Wil je dat iemand alleen eigen artikelen kan bewerken, sta dan bewerken niet toe, maar bewerk eigen wel.

Ook voor het artikelbeheer moet je de rechten instellen: toegang tot beheerdersinterface geven. In de artikellijst ziet hij dan de artikelen die hij kan bewerken als links, alle andere artikelen zijn niet klikbaar.

Verwijderen: als je dat niet toestaat, kunnen ze het wel in de prullenbak gooien maar niet de prullenbak leeggooien.

Je kunt mensen dus alleen toegang geven tot een bepaald onderdeel waar ze moeten zijn.

Sinds versie 3.7 kun je de standaard Joomla editor (Tiny MCE) per groep instellen. Onder plugins – tekstverwerker. Daar kun je van alles instellen. Buttons verplaatsen. Onder Uitgebreid kun je extra sets bij maken.

Heb je verschillende groepen met dezelfde basisrechten, dan kan het slim zijn om een bovenliggende groep te maken waar je al wat rechten instelt. Die worden dan overgenomen voor de groepen daaronder.

“Niet toegestaan” wint altijd van toegestaan. Gebruik die dus niet maar ga juist toestaan in plaats van verbieden. Begin bij public (daar is vrijwel alles “niet ingesteld”, dat is een betere optie dan “niet toegestaan”) en werk van daaruit verder.

Dokter Joomla

Vraag: Sander, jij hebt een extensie gemaakt die ACL manager heet, wat doet de diagnostische tool daarvan?

Antwoord: Die bekijkt alles rond ACL in de database. Alle rechten worden opgeslagen in de assets-tabel. Die database bevat waarden, en die waarden kloppen soms niet. Het is niet dat Joomla daardoor niet werkt, maar het kan er wel trager van worden. Die conflicten detecteert ACL manager en je kunt ze ermee repareren. Bijvoorbeeld ontbrekende informatie in de assets-tabel toevoegen of informatie corrigeren.

Vraag: Moet er niet meer marketing gedaan worden van Joomla ten opzichte van Wordpress?

Antwoord Sander: Daarom ben ik er groot voorstander van dat je elke site die je oplevert gebruiksvriendelijk maakt. Daar wordt de ervaring anders van, en op die manier kun je laten zien dat je als gebruiker prima met Joomla uit de voeten kan. Als je wat meer wilt dan alleen artikeltjes schrijven, dan wordt Wordpress al heel snel niet meer gebruiksvriendelijk. Ik denk dat we zeker meer moeten doen met marketing, en daarbij is alle hulp welkom. Achter Wordpress zit een corporate bedrijf, met een marketingteam. Joomla bestaat uit vrijwilligers, dus het komt aan op de vrije uurtjes van mensen om daar iets mee te doen. Dat maakt het soms lastig om verder te komen en keuzes te maken.

Aanvulling uit de groep: Je site voorbereiden op de nieuwe privacywetgeving, dat zie ik bij Wordpress nog niet makkelijk gebeuren. Wat de wet o.a. inhoudt is: iedereen die iets doet met de website moet tekenen voor wat er gebeurt met gegevens die zijn te herleiden naar personen. Als webbouwer moet je dus een bewerkingsovereenkomst tekenen, en formeel zou je als webbouwer ook naar je webhost moeten gaan met zo’n bewerkingsovereenkomst. Het is slim om nu alvast te gaan inventariseren welke data wordt opgeslagen en of het nodig is dat dat opgeslagen wordt, eventueel instellen dat het niet opgeslagen wordt, nadenken over wat ermee kan gebeuren als de gegevens op straat liggen. En bij wie welke verantwoordelijkheid ligt.

Vraag: Ik heb een site overgenomen met veel achterstallig onderhoud. Daar draait Virtuemart op, er moeten 20 extensies worden geüpdatet, het is Joomla 3.7.2. Virtuemart geeft een melding: ga eerst Virtuemart updaten voor je Joomla update. De beheerder heeft het andersom gedaan en nu kan ik Virtuemart niet meer updaten.

Antwoord: Met Joomla 3.8 zijn er wel wat sites omgevallen, want er zijn classes verplaatst. Daarom is het slim om altijd eerst de extensies bij te werken voor je de Joomla-versie bijwerkt, vaak is er al een fix in de extensie. In jouw geval kun je misschien een nieuwe versie installeren van Virtuemart, gewoon over de oude heen. Maar wel op een testomgeving!

Vraag: Kun je in XAMPP een standaard Joomla website maken en die steeds als basis gebruiken?

Antwoord: Ja: site maken en altijd netjes updaten, Akeeba Backup installeren en dan steeds een backup kickstarten. Je zou ook Options Manager van Peter Martin kunnen gebruiken om al je instellingen te exporteren en importeren in een nieuwe site.

Vraag: Ik ben bezig met een website, op de mobiel krijg ik het menu niet responsive, maar als ik het scherm draai wel. Sommige mobiele browsers tonen een submenu als je iets aantikt, maar geven je niet de tijd om het sub-item te kiezen. Hoe kunnen we dat op een makkelijke manier oplossen?

Antwoord: Je moet het zoeken in je template, bij de breakpoints. Maar wat vooral geldt: hoe meer subniveaus in een menu, hoe minder gebruiksvriendelijk. Probeer te voorkomen dat je verschillende niveaus diep gaat, en los het op een andere manier op. Overigens heeft Protostar sowieso het probleem dat menu-items te snel dichtklappen op de Windows Phone.

Reageer

1000 Resterende tekens