Mijn Drupal workflow: enkele tips voor het opzetten van een Drupal site (1)

Iemand vroeg mij naar een eenvoudig te gebruiken CMS (content management system) om relatief snel een site mee op te zetten. Ik wist daar niet meteen een antwoord op.

Het laatste half jaar heb ik mij gespecialiseerd in het opzetten van websites met Drupal. Ik ken een aantal eenvoudige CMS systemen maar die zijn meestal niet flexibel genoeg. Drupal is enorm flexibel maar heeft een steile leercurve. Eens je er mee weg bent kan je wel vrij eenvoudig complexe websites opzetten.

Wat volgt zijn mijn ervaringen van de voorbije maanden. Hoe ik aan een project begin en enkele tips en ideeën om het systeem naar uw hand te zetten.

Een soort disclaimer: ik praat hier vrij algemeen maar alles gaat over mijn ervaringen, daarom zijn veel zaken eerder subjectief dan objectief. Ik ga er ook vanuit gaan dat je Drupal op zijn minst eens bekeken hebt en een beetje ervaring hebt in het maken van websites. Soms zeg ik voor de hand liggende zaken, maar het kan nooit kwaad om eens te herhalen. En zoals steeds, je kan hetzelfde en meer elders lezen en er zijn 1001 manieren om te doen wat ik doe.

Drupal 5 vs. Drupal 6

Ik heb hier zelf al wel wat geprutst met de nieuwste versie van Drupal, maar ik heb er nog geen sites mee opgezet. Veel van de  belangrijkste modules waar ik mee werk zijn nog niet stabiel genoeg om gebruik te verantwoorden. Veel zijn ook gewoon nog niet beschikbaar. Vandaar dat deze post en mijn werkmethode vooral van toepassing zal zijn op Drupal 5, hoewel je ongetwijfeld de lijn kan doortrekken.

Pre-installatie: wat voor inhoud heeft uw site?

Soorten Inhoud

Voor je de site gaat opzetten moet je eerst goed nadenken met wat voor inhoud je zit. Je kan hier heel ver in gaan. Het geweldige aan Drupal is dat je zelf verschillende content types (soorten inhoud) kan maken, elk met hun eigen invulformulier. Later kan je dan specifiek per soort inhoud verschillende zaken doen.

Dus. Wat zijn zoal de zaken die de eindgebruiker moet kunnen onderhouden? Een vereiste hierin is dat je alles zo centraal mogelijk houdt. Hoe meer opties er zijn, en hoe meer plaatsen waar er content moet aangepast worden hoe ingewikkelder het wordt. Het mooie aan het systeem van content types is dat je alles in 1 menu kan houden. Create New Content en daaronder een lijst met zaken die je kan aanmaken.

Het gemakkelijkst om te doen is kijken wanneer je een overzicht wilt weergeven van een bepaald iets. Dit overzicht hoeft niet noodzakelijk een pagina op zich te zijn. Gewoonlijk zijn het deze zaken waar je een eigen content type wil aan geven.

Naast het bepalen van uw content types is het ook belangrijk op te schrijven welke velden uw content type nodig gaat hebben zodat we hier van bij de setup rekening mee kunnen houden.

Categorieën

Drupal biedt ook een heel flexibel systeem om uw inhoud in verschillende categorieën te steken. Dit is zeker ook de moeite om goed over na te denken. Je kan categorieën op verschillende manieren gebruiken, je kan ook heel gemakkelijk aanduiden welke categorieën bij welke type inhoud horen.

Categorieën hebben ook steeds een eigen pagina met een overzicht van alle inhoud dat toebehoort aan die categorie.

  • Genereer een lijst met tags (free tagging)
  • Gebruik specifieke categorieën voor uw blogposts
  • Maak een onderscheid tussen verschillende soorten inhoud binnenin uw inhoudstype.

Enkele voorbeelden

1| Op de site komt onderaan elke pagina een blok met sponsors. Je zou de eindgebruiker toegang kunnen geven tot het blokken systeem waar ze dan een blok per sponsors kunnen maken die ze zelf in de footer van de pagina kunnen zetten. Dit kan wel nogal omslachtig en slordig worden.

Gemakkelijker is een content type Sponsor waarbij ze een titel (naam) en link kunnen invullen en waarbij ze een afbeelding kunnen uploaden. Allemaal in het zelfde formulier. Eens op publiceer geklikt wordt staat het waar het moet staan. Eventueel kan je nog een extra veld voorzien om een gewicht aan te duiden waarmee je dan de volgorde van de logo's kan bepalen.

2| Op een bedrijfssite komt er onder de About Us sectie een overzicht van de board members en executive members. Elk met foto, titel en korte bio. Hier kan je één inhouds type van maken. Om dan een onderscheid te maken tussen de mensen van de board en die van het executive team kan je gebruik maken van categoriën.

Dit zijn misschien twee minder voor de hand liggende voorbeelden. Alles hangt natuurlijk ook af van wat voor site je maakt. Gebruik je fantasie maar. Andere voorbeelden zijn: nieuws, activiteit, portfolio item, afbeelding (in een galerij), link, review, enz.

Een veld kan eveneens eender wat zijn: titel, tekst, link, één of meerdere afbeeldingen, audio, youtube video, datum, enz.

Wat is nu het voordeel (of nadeel) van zoveel content types?

Toegegeven, het kan oplopen. Ik heb een site opgezet met 14 verschillende content types. Maar het heeft toch heel wat voordelen als je het mij vraagt.

Het is wat extra werk om alles op te zetten maar onderhoud en beheer van uw content gebeurt heel centraal. Omdat alles gezien wordt als types inhoud hoef je maar naar één plaats te gaan om nieuwe inhoud aan te maken en bestaande inhoud aan te passen. Binnen het systeem kan je heel gemakkelijk een lijst weergeven van alles wat onder één content type hoort om zo alles te beheren. (Je kan uiteraard ook altijd op de edit knop klikken als je de content zelf bekijkt.)

Het schaalt ook gemakkelijk. Misschien vallen er nu maar twee of drie zaken onder die ene inhoudstype en is het niet erg om het nu in een blok te steken, maar wat als er meer van hetzelfde komt. Het onderhouden van verschillende blokken is lang niet zo eenvoudig.

Het is ook gemakkelijk om een content type aan te passen. Heb je toch wat extra info nodig voor die content type dan kan je gemakkelijk een nieuw veld toevoegen zonder dat andere content types hierdoor beïnvloed worden.

Wat het echt de moeite maakt om daar zo ver in te gaan is de flexibiliteit dat het biedt in layout en structuur. Je kan op eenvoudige wijze heel gedetailleerd gaan bepalen wat waar komt te staan en hoe het getoond moet worden. Zo kan je elke content type zijn eigen template geven waarin je reeds vast legt hoe bepaalde velden getoond moeten worden. De eindgebruiker kan dan ook niets fout doen bij het ingeven van de inhoud.

Een niet onoverkomelijk nadeel voor mij is het feit dat alles een unieke URL krijgt. Het zou tof zijn moest er een mogelijkheid zijn om aan te duiden wanneer een bepaalde content type al dan niet een eigen URL nodig heeft. Niet alles heeft een detail pagina nodig.

Neem nu de sponsors uit mijn eerste voorbeeld van hierboven. Die sponsors worden enkel in een overzicht getoond. Je kan weliswaar op de logo's klikken, maar dan ga je naar de site van de sponsor en niet naar een detailpagina.

Op zich is dit geen ramp, de URL naar de detailpagina wordt niet getoond en kan dus ook niet geïndexeerd worden door zoekmachines. Bezoekers zouden een gokje kunnen wagen, maar daar heb je dan al wat geluk (of pech) voor nodig.

Het is ook jammer dat je niet zonder de hulp van een extra module kan aanduiden wat er al dan niet in de zoekresultaten mag getoond worden. Via die zoekresultaten zou je dan wel op die detailpagina's kunnen raken, ware het niet voor die extra module.

Nu je de inhoud bepaald hebt zijn er nog twee zaken waar je best even over nadenkt voor je aan de setup begint.

Pre-installatie: regio's

Een website bestaat altijd uit verschillende regio's, ook al is die niet meteen evident. Tijdens het ontwerpen van de site zelf wordt dit in de eerste fases vrij snel duidelijk: hier komt de inhoud, dit is bijkomende informatie, een header, een footer, enz.

Het gemakkelijkst is even de ontwerpen van de site af te drukken en de verschillende zones aan te duiden. De zones steken we later dan in onze template zodat we ze kunnen beheren vanuit Drupal zelf.

Je kan ook altijd een lijst opstellen van verschillende blokken die moeten aangemaakt worden. Blokken hoeven niet steeds in de sidebar te staan. Een blok kan bv ook een random quote zijn in de header van de pagina. Of onze sponsors blok uit mijn eerste voorbeeld hierboven. Gewoonlijk gaat het wel om zaken als recente berichten of menu's.

Pre-installatie: sitemap

Tot slot bekijken we de andere layout eens. De sitemap zelf. Maak een hiërarchische lijst van de verschillende pagina's die aangemaakt moeten worden met het type inhoud dat er in komt.

Stel ik heb volgende soorten inhoud: pagina, nieuws en project. Mijn menu ziet er als volgt uit:

  • Home
  • About
    • History
    • What we do
    • Mission
    • Our Team
  • News
  • Projects
  • Contact

Dan weet ik dat about en de subpagina's wellicht een simpele pagina zullen zijn. News wordt een overzicht van nieuws waarbij ik kan doorklikken naar hoofdpagina's. Projects een overzicht van project type.

Een sitemap op papier zetten heeft twee grote, simpele voordelen.

1| Het is meteen duidelijk met wat voor een menu je komt te zitten en hoeveel menu's je zult nodig hebben. Heb je enkel een hoofdmenu, of ook nog secundaire of tertiaire navigatie. Het meest voorkomende tot nu toe is een hoofdmenu met hier en daar een submenu en een tweede functionele menu (met de login link, contact enz.). Als je een meertalige site hebt is er nog een derde menu waarmee je van taal kan wisselen.

2| Het schept ook duidelijkheid over de structuur van de URL. In Drupal gaat het dan over path alias. Hoe die alias er zal uitzien kan je volledig zelf bepalen. Het feit dat je een overzicht van het menu heb maakt het gemakkelijk om de structuur van uw menu terug te brengen in uw aliassen.

Om terug te komen op het voorbeeld van hierboven:

  • About wordt /about
    • History wordt /about/history
    • What we do wordt /about/what-we-do
  • News wordt /news met de berichten op /news/titel of /news/jjjj/mm/titel

Om af te ronden voor vandaag

Het lijkt heel wat werk om al die zaken op papier te zetten maar als er op voorhand goed is nagedacht over de inhoud van de site gaat dit allemaal vanzelf. Je zal blij zijn dat je tijdens de setup een overzicht hebt dat je toelaat heel wat dubbelwerk te vermijden.

In het volgende deel beginnen we met de echte setup en overloop ik enkele van mijn favoriete modules. In een derde deel zal ik wat tips over themeing geven.

Hier vind je alvast het vervolg.

27 juni 2008

drupal, tips, werkwijze, workflow

back to top