• Byelex is expert op het gebied van dynamische content publicatie en eenvoudige online interactie, allemaal gebaseerd op Drupal.

Gebruikersregistratie en gebruikersprofielen

Na de Nationale Canon komt er nu ook de Canon van Amsterdam welke we in opdracht van Gemeente Amsterdam ontwikkeld.

Hiervoor zijn we op zoek gegaan naar verschillende modules die het registreren van een account en het bewerken van een profiel moeten vergemakkelijken. Hiertoe zijn we terecht gekomen op de Advanced Profile Kit. Op zichzelf doet deze module niet erg veel behalve dat het enkele panels aanmaakt en wat theming heeft waardoor bijvoorbeeld de comment fields gethemed worden als een gastenboek. Maar de module is wel een goed startpunt om vanuit verder te werken.

Advanced Profile Kit

De Advanced Profile Kit is een wrapper rond een aantal andere modules die de gebruikers settings pagina vervangen. Je kan hiervoor kiezen tussen een aantal opties:

  1. De Bio module
  2. De Node profile module
  3. De Core profile module die standaard bij Drupal zit

Naast deze modules biedt Advanced Profile Kit ook standaard ondersteuning voor de Buddylist, Private Message, User Points, User Titles en User Badges module. Maar deze extra modules gebruiken we niet in dit project. Op de website van de Advanced Profile Kit wordt een vergelijking gemaakt tussen deze 3 modules en een module die niet standaard samenwerkt met de Advanced Profile Kit (usernode).

Bio module

Het voordeel van de Bio module is dat het een simpele oplossing is. Je maakt een contenttype aan en koppelt deze aan de gebruikersprofielen. Middels een checkbox kan je aangeven welke CCK velden uit de Bio module op het registratieformulier gebruikt moeten worden. Enige nadeel is dat je slechts 1 node kan koppelen aan een profiel en dat om de velden in de node later te bewerken er een extra tabblad komt in je gebruikersprofiel beheer pagina. Wat je eigenlijk zou willen is dat je ook aan kan geven welke CCK velden weergegeven moeten worden op de gebruikersprofielen beheer pagina. Deze functionaliteit hebben we dan ook toegevoegd aan deze module.

Node profile

De Node profile module is een vrij complexe oplossing aangezien je een aantal modules moet gebruiken: Node profile, Node family, Subform en voor het gebruikersgemak ga je waarschijnlijk ook Pageroute nodig hebben. Doordat je zoveel modules moet gebruiken is de configuratie van dit systeem uitermate complex en voelt het ook vaak een beetje buggy aan. Deze oplossing biedt veel meer mogelijkheden dan de Bio module maar de complexiteit neemt dan wel enorm toe. Je kunt bijvoorbeeld meerdere nodes per gebruiker hebben (de Bio module kan 1 extra node hebben). Met de Node Family module kan je een maximum instellen per gebruiker. Deze module hebben we uitgebreid om een maximum per user role in te stellen. En de Pageroute module geeft je de mogelijkheid om een soort van wizard aan te maken waardoor je gebruikers door het aanmaken van de accounts heen kan loodsen. Het voordeel is dan weer wel dat je bijvoorbeeld de functionaliteit van de Pageroute of van de Node family module makkelijk kan hergebruiken in combinatie met andere modules.

De Node family module bied namelijk ook de mogelijkheid om een ouder/kind relatie aan te maken voor 2 contenttypes. Hierdoor hebben we deze module gebruikt om een ouder/kind relatie te maken tussen het contenttype uit de Bio module en een ander contenttype. Hierdoor hebben we dus eigenlijk de Bio module de functionaliteit gegeven van de Node profile module zonder de complexe installatie. Om dit voor elkaar te krijgen hebben we wel de Node family module moeten aanpassen, bijvoorbeeld als een ouder node verwijderd wordt dan worden nu ook de kind nodes verwijderd.

Core profile

De derde optie, de core profile module, is eigenlijk de simpelste module aangezien je middels deze module extra velden aan het gebruikersprofiel kan koppelen. Maar omdat het gebruikersprofiel standaard geen node is kan je deze waarden niet hergebruiken in bijvoorbeeld een View. Views 2 schijnt dit probleem echter op te lossen. Een ander nadeel is dat de core profile module voor deze functionaliteit geen CCK gebruikt dus het aantal mogelijke velden is vrij beperkt.

Kiezen tussen account typen

Naast de mogelijkheid om een meer uitgebreid accountprofiel te hebben was het ook van belang dat de gebruiker kan kiezen tussen 2 types accounts bij het aanmaken van zijn account. Het ene type account heeft dan meer mogelijkheden dan het andere type account. Voor deze functionaliteit zijn er een aantal modules maar we hebben er slechts 2 van bekeken (mede omdat de 2e module de functionalteit aanbood die we nodig hadden).

De eerste mogelijkheid is de Membership types and registration modification module. Deze module werkt samen met de Pageroute en de Node Profile module en omdat we in eerste instantie deze modules gepakt hadden leek deze module de beste keuze. De Membership types and registration modification module werkt ook nog eens samen met de Account Types module. Middels de Account Types module kan je meerdere User Roles koppelen aan een Account Type. Net als de Node Profile module bied deze module een enorme hoeveelheid functionaliteit aan maar dit komt dan ook weer met een extra complexiteit. Omdat de extra functionaliteit binnen dit project niet nodig was hebben we gekozen voor een simpelere oplossing.

Deze oplossing is de Auto Assign Role module die de mogelijkheid biedt om een of meerdere roles te kiezen bij het registreren. Deze roles kunnen ook automatisch toegekend worden maar dit hebben we niet gebruikt.

Slotsom

Uiteindelijk gebruiken we de Auto Assign Role module, Bio module, Node Family module en de Advanced Profile Kit module. Het aantal modules binnen Drupal om gebruikers accounts en profielen te beheren is enorm. Vaak bieden meerdere modules bijna dezelfde functionaliteit aan en hierdoor is het vaak moeilijk zoeken/kiezen. Het zou enorm helpen als de zoekmogelijkheden binnen de Drupal.org site verbetererd worden en een rating mogelijkheid zou extreem handig zijn.

0 bezoekers hadden een reactie

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <h1> <h2> <h3><br><br/> <p>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.

Geïnteresseerd?

Contact

Vertel ons vrijblijvend over uw project en ontvang van ons een review of een voorstel

byelex-black.png

Byelex is een website en software ontwikkelaar met een passie voor het ambacht. Waarden als kwaliteit, gebruiksgemak en value-for-money staan bij Byelex hoog in het vaandel. De afgelopen 15 jaar heeft Byelex een schat van ervaring opgebouwd op het gebied van software ontwikkeling, bedrijfsprocessen, grafisch design en content management welke allemaal effectief voor klanten worden ingezet.

Drupal Association Organizational Member
Byelex ontwikkelt in het populaire open-source CMS Drupal. Een grote gemeenschap draagt inmiddels bij aan de ontwikkeling van Drupal en daar profiteert u van mee. Het is ook goed om te weten dat er ook 'grote jongens' zijn die Drupal gebruiken, zoals NASA, Amnesty International en AOL.

Partners

partner-dell.png
partner-bridgizz.png