• Home
  • Nieuw op infamuze
  • Favorieten
  • #plaatvandedag
  • Over infamuze
  • Contact
  • Help
Home

Drupal en versiebeheer

PostDateIcon 2 augustus 2009 - 12:03 | infamuze

De afgelopen dagen heb ik mijn eerste praktische stappen gezet in de wereld van versiebeheer, patches (in Drupal), CVS en Cygwin. Als geheugensteuntje en hopelijk als hulp voor anderen schrijf ik hierover een aantal blogs. In dit artikel leg ik uit wat versiebeheer is en hoe Drupal ermee omgaat. Patches en CVS komen hierbij ook aan bod, Cygwin zie je in een andere blog terug.

De laatste versie van Drupal en modules downloaden

Op www.drupal.org kun je in het blok Download snel de laatst gepubliceerde versie van Drupal zelf ('core') en van aanvullende modules, themes ('templates', de vormgeving) en van taalbestanden vinden. Op iedere pagina kom je een blokje 'Releases' tegen waarin je de vrijgegeven versie(s) van het onderdeel kunt vinden. Als dit blok ontbreekt, dan heeft de ontwikkelaar nog geen versie vrijgegeven. Je kunt de software downloaden via de link die in het blok staat (het installeren op zich wordt hier niet besproken).

Releases

Official releases

In het bovenste blok, 'Official releases', zie je de versies staan die volgens de betrokkenen veilig zijn om gebruikt te worden. Veilig wil zeggen: de versie is getest en er zijn geen (grote) fouten gevonden. Er zullen altijd wel fouten in software zitten, maar daarvoor hebben we versiebeheer! Daar lees je verderop meer over. Je ziet trouwens dat er in dit geval twee versies van de software naast elkaar bestaan. De ene is geschikt voor Drupal 5 en de andere voor Drupal 6, let dus op dat je de versie downloadt voor jouw versie van Drupal! Je ziet de Drupal-versie staan in de kolom 'Status', maar je kunt hem ook afleiden uit het versienummer van de release in de eerste kolom. In de eerste regel in bovenstaande afbeelding zie je als versienummer staan: 6.x-2.6. Het gedeelte voor het streepje geeft aan voor welke Drupal-versie deze software geschikt is. In dit geval is dat voor elke willekeurige Drupal 6-versie. Achter het streepje staat de versie van het project (module, theme of language) waar dit blokje over gaat.

Development snapshots

Zoals gezegd zitten er altijd wel fouten in software, maar soms willen ontwikkelaars de bestaande software ook uitbreiden met nieuwe mogelijkheden. Er wordt dus steeds aan de software gesleuteld. Als er gebouwd en getest wordt, dan kunnen er nog grote fouten in de software zitten. Deze versie van de software wil je dan ook niet inzetten op je website. In de afbeelding hierboven zie je in het tweede blok, 'Development snapshots', versies waaraan nog gewerkt wordt. Je kunt zo'n versie downloaden en op een testsite gebruiken om eens te kijken welke veranderingen zijn en worden doorgevoerd door de ontwikkelaars. In het blok wordt regelmatig automatisch de meest recente ontwikkelversie gepubliceerd vanuit het versiebeheersysteem. In de volgende paragraaf lees je over versiebeheersystemen in het algemeen, daarna is er aandacht voor het versiebeheersysteem dat voor Drupal wordt gebruikt.

Versiebeheersystemen

Voor de uitleg van de werking van een versiebeheersysteem werken we met een voorbeeld. Bij het ontwikkelen van software kunnen meerdere programmeurs tegelijkertijd aan een stuk software werken. Stel je voor dat ontwikkelaar Piet op maandag een cd met software uit de kast pakt en met deze software aan de gang gaat. Collega Erik helpt hem vanaf donderdag en pakt dan de cd van de versie waarmee Piet maandag ook is begonnen. Erik zet de software op zijn eigen systeem en gaat enthousiast fouten zoeken en herstellen. Ondertussen heeft Piet de afgelopen dagen ook al wat fouten hersteld en heeft hij nieuwe mogelijkheden toegevoegd. Op vrijdagmiddag blijken Piet en Erik verschillende wijzigingen in hetzelfde deel van de code te hebben gemaakt. Het wordt nu een flinke klus om uit te zoeken wat 'goed' is. Een versiebeheersysteem kan hierbij helpen. Een simpel voorbeeld: Piet begint op maandag met de versie die van de cd komt en zet elke dag zijn versie van de software in het versiebeheersysteem. Dat doet hij dus ook op woensdag aan het einde van de dag. Als Erik donderdag komt, dan pakt hij de versie die als laatste in het versiebeheersysteem is gezet. Als Erik een fout heeft hersteld, dan kan hij hiervan een patch maken: hij laat het versiebeheersysteem zijn aangepaste code vergelijken met de code die in het versiebeheersysteem staat. Het verschil is de patch die wordt meegenomen in de volgende versie in het versiebeheersysteem.

Drupal en versiebeheer

Drupal gebruikt CVS als versiebeheersysteem. Dit is open source software en de afkorting staat voor Concurrent Versions System. Bij software met de omvang van Drupal werken soms vele programmeurs tegelijkertijd aan het verhelpen van fouten en het doorvoeren van verbeteringen. Er is een groep vaste ontwikkelaars ('maintainers') per project, maar omdat Drupal open source is, kan en mag iedereen helpen. Je kunt fouten melden, deelnemen aan discussies over nieuwe functionaliteit of zelf aan de slag gaan om bijvoorbeeld een gevonden fout te herstellen. Voor Drupal zelf en alle modules, themes en languages is afgesproken wie patches daadwerkelijk aan het versiebeheersysteem mogen toevoegen. Deze 'committers' testen elke patch goed en pas als een patch door de kwaliteitscontrole komt wordt hij toegelaten ('gecommit') tot het versiebeheersysteem. Ontwikkelaars die vervolgens verder willen werken aan de software halen de laatste versie weer op uit het versiebeheersysteem en zo begint de cyclus opnieuw...

PostCategoryIcon Bewaar of deel   | PostCategoryIcon infamuze's blog   | PostTagIcon Tags: Drupal, ICT, CVS, patch, versiebeheer

Duidelijk verhaal

Ingediend door Albert Skibinski (niet gecontroleerd) op 3 augustus 2009 - 22:17.

Mooi overzichtelijk verteld, ik denk dat het voor veel beginners erg behulpzaam is! Issue queues bij modules worden vaak actief bijgehouden, het loont dan ook om bij problemen goed rond te pluizen, vaak kom je dan al een oplossing of patch tegen.

Naast -dev kom je overigens ook regelmatig alpha of beta releases tegen (vooral bij nieuwe projectem). Deze zijn vaak al wel 'groen' maar een alpha versie is nog steeds officieel niet stable (bijvoorbeeld stukken functonaliteit die nog niet goed werken). Beta releases zouden alleen nog maar kleinere bugs moeten bevatten waarvan je vaak pas bij real-world gebruik achter komt.

  • beantwoorden
Nieuwe reactie inzenden
De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.
  • Adressen van webpagina's en e-mailadressen worden automatisch naar links omgezet.
  • Toegelaten HTML-tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Regels en paragrafen worden automatisch gesplitst.

Meer informatie over formaatmogelijkheden

Bewaar of deel
Bewaar of deel
#plaatvandedag
02-03-2010
Angus & Julia Stone - Hollywood
01-03-2010
Ricky Koole - Your time to cry
20-02-2010
The Killers - Dustland Fairytale
Meer...
Tags
  • Tags
    • Drupal
    • ICT
    • Innovatie
    • Muziek
    • Restpartij
    • Technologie
  • infamuzeTip
Relevant op infamuze
  • Een site bouwen met Drupal - deel 1: wat heb je nodig voordat je begint
  • Verslag Drupaljam 5 - Utrecht (26 juni 2009)
  • Drupalfan naar Drupaljam (en introductie Drupal)
Korte berichten
  • Muziektip: Kelly Dalton
  • Muziektip: John Gorka
  • Muziektip: Richard Shindell
Meer
Recente reacties
  • Tof zeg! Groetjes Marianne
    7 weken 3 dagen geleden
  • Madtheme
    27 weken 4 uren geleden
  • Prima verslag
    29 weken 3 dagen geleden
  • Duidelijk verhaal
    31 weken 2 dagen geleden
  • Goede suggestie voor iets gevorderde gebruiker
    33 weken 2 dagen geleden
  • Volgens een collega is
    33 weken 3 dagen geleden
  • Aardig overzichtje! Wellicht
    33 weken 3 dagen geleden
Zoeken

© 2009 infamuze

Powered by Drupal and Drupal Theme created with Artisteer.