Techniek achter het platform: van Drupal naar Django

Dit is een artikel over de techniek achter The Cloud Company.

Het afgelopen half jaar hebben we ons platform van Drupal naar Django geport. In dit artikel deel ik een paar van onze ervaringen.

Van Drupal naar Django

Toen we anderhalf jaar geleden begonnen met het samenwerkingsplatform, bouwden we op de basis van Open Atrium. Open Atrium is gebaseerd op het PHP framework Drupal. Het gaf ons een basis sociaal intranet, waarin in groepen gecommuniceerd kan worden. Om Open Atrium goed genoeg voor ons te laten werken, moesten we nog een aantal dingen toevoegen of aanpassen:

  • Compactere grafische weergave
  • What-you-see-is-what-you-get teksteditor
  • Makkelijk bestanden uploaden en plaatjes toevoegen
  • De mogelijkheid om op berichten te stemmen (of te liken)
  • Nederlandse vertaling
  • JSON API voor app

Dankzij het grote aantal beschikbare modules voor Drupal konden we al deze dingen vrij snel ontwikkelen. Helaas werd de complexiteit van de Drupal installatie die daarmee samenhing erg groot. Een standaard Open Atrium installatie bevat meer dan 50 verschillende Drupal modules. Toen we al onze wensen in het platform hadden samengebracht, bleken we 118 modules aan te hebben staan. Niet alleen zorgt dat voor een zware load op de server, ook is het voor een ontwikkelaar steeds moeilijker om de gevolgen van veranderingen te overzien.

Steeds vaker kwamen we onverwacht gedrag (bugs) tegen die te herleiden bleken naar modules die met Atrium samenhangen. Door de grote complexiteit waren deze vaak moeilijk op te lossen. Ook was het maken van een mobiele app op basis van het platform te ingewikkeld. Het was tijd voor een andere aanpak.

The Cloud Company bouwt op PythonWe hadden in persoonlijke projecten en in een paar kleinere custom development projecten ervaring opgedaan met Django, een webontwikkelingsplatform voor Python. Daarom durfden we het wel aan om ook een groter project hiermee te gaan bouwen.

Het opnieuw bouwen van ons platform in Django was de beste technische beslissing die we genomen konden hebben. Ontwikkeling van nieuwe features is nu veel makkelijker. Ook is de kwaliteit van de libraries die we gebruiken van andere ontwikkelaars veel hoger. Waar we in Drupal voor kleine veranderingen soms een tiental files moesten aanpassen, kunnen we onze Django applicatie veel beter ordenen.

Het is weer een genot om te ontwikkelen.

Probeer gratis ons online social platform!