De Amsterdamse Canon

Drupal is een CMS gemaakt voor en door een community. Van een dergelijk content management systeem verwacht je dan ook dat je er een behoorlijke community site mee kan maken. Maar als je dit met Drupal 5 gaat doen dan loop je toch nog regelmatig in de nodige valkuilen. Het bouwen van de Amsterdamse Canon website met een hoop specifieke eisen vanuit de Gemeente Amsterdam leverde dan ook een hoop uitdagingen op.

De tijdlijn

De eerste uitdaging bevond zich al in de tijdlijn. Hiervoor hebben we gebruik gemaakt van de timeline uit het Simile project gebouwd door de MIT. Deze tijdlijn werkt zoals het hoort: alle events op chronologische volgorde en de afstand tussen de events wordt bepaald door het verschil in tijd.

Bij de Amsterdamse Canon waren er 50 gebeurtenissen of tijdsaanduidingen (vensters) die weergegeven moesten worden met afbeeldingen van 250 pixels groot die geplaatst worden in een tijdspanne van ruim 700 jaar. Een event wordt gekoppeld aan een jaar. Als een jaar 250 pixels breed is dan moet de hele tijdlijn 200.000 pixels breed zijn. In het kader van RSI moest hier dus een betere oplossing voor gevonden worden. De tijdlijn hebben we daarom aanzienlijk moeten verbouwen en nu scrollt de tijdlijn automatisch langs alle events en staan alle events naast elkaar.

Community

De volgende uitdaging was het community gedeelte. Het mijncanon gedeelte van de site is open voor iedereen. Dus het is hier mogelijk om een account aan te maken met een uitgebreid profiel en bij dit account een eigen canon met vensters te maken. De core profile module levert in principe voldoende functionaliteit om een profiel aan te maken. Met CCK en Views is het mogelijk om de vensters te bouwen. Maar er zitten een aantal constraints aan het aanmaken en publiceren van de vensters zodat we genoodzaakt waren om een andere weg in te slaan.

Aan een account zit namelijk een maximum en een minimum aantal vensters dat aangemaakt moet worden voordat een venster gepubliceerd mag worden. Daarnaast moest het profiel verborgen blijven totdat de vensters gepubliceerd werden. Om dit allemaal voor elkaar te krijgen hebben we een combinatie in elkaar gezet op basis van de Advanced Profile Kit, Bio module en de Node family module. Met aanzienlijk wat aanpassingen aan deze modules hebben we een werkende community voor Amsterdam ontwikkeld. Achteraf gezien was het waarschijnlijk minder werk geweest om zelf een module in elkaar te zetten op basis van Profile, CCK en Views. Het Voordeel van deze oplossing is wel dat de Advanced Profile Kit gebaseerd is op Panels en een Guestbook standaard ingebouwd had en dat Bio nodes ook door de Search functie gebruikt kunnen worden (Profile velden niet).

Form theming

Het laatste, maar niet het simpelste punt dat we hebben getackled was om het systeem usable te maken voor een grote groep mensen. Drupal out of the box is niet het simpelste systeem om te gebruiken. Iemand die nog nooit met Drupal gewerkt heeft raakt al snel de weg kwijt tussen de nodes, taxonomies, stories, pages, menus, access roles, etcetera.

Login form

Nu hoeven de gebruikers van het mijncanon gedeelte niet te werken met dit soort zaken maar als je het aanmaken van een node wel eens hebt bekeken dan zal je het niet vreemd vinden dat normale gebruikers hier moeite mee hebben. Om dit op te lossen hebben wij het form themen uitvoerig gebruikt in dit project. Praktisch elk formulier hebben we aangepast en opgeschoond en ik denk dat form_render momenteel wel de meest gebruikte functie in onze canon directory is. Handige pagina’s om te lezen m.b.t. form theming zijn de volgende:

Post new comment
The content of this field is kept private and will not be shown publicly.
By submitting this form, you accept the Mollom privacy policy.