3. #1 INTRODUCTIE
Wie zijn wij
§ Hoppinger is een full service internetbureau uit Rotterdam.
§ Ongeveer 35 medewerkers.
§ Wij bouwen systemen onder andere op basis van Drupal,
Wordpress, Ruby on Rails en Symfony.
13. #2 ER ZIJN 3 SMAKEN VAN ONTWIKKELEN
1-Man-1-Drupal
§ Lekker snel starten.
§ Geen backups; niet gemakkelijk een ‘roll back’ te doen.
§ Lastig uit te rollen naar een andere omgeving (foutgevoelig).
14. #2 ER ZIJN 3 SMAKEN VAN ONTWIKKELEN
Code Driven Development
§ Instellingen exporteren met de Features module.
§ Gemakkelijker uitrollen naar een andere omgeving.
17. #3 DEVELOPER CENTRIC
Kraftwagen
§ Een deployment tool voor Drupal.
§ Meer info: kraftwagen.org
§ Faciliteert samenwerking in ontwikkelteams.
§ Niet het-wiel-opnieuw: gebruikt Drush Make en install profiles.
§ Sla alleen projectspecifieke code op in versiebeheer.
§ Trefzeker uitrollen naar verschillende omgevingen (OTAP).
20. #4 DEVELOPER CENTRIC
Node types
§ Node types definiëren: hook_node_info()
§ Body veld: node_add_body_field()
§ Extra velden: ‘field_configure’ module
§ Meer info: github.com/rolfvandekrol/field_configure
§ Field settings: hook_field_info()
hook_formatter_info()
hook_field_widget_info()
21.
22.
23.
24. #4 DEVELOPER CENTRIC
Kraftwagen Manifests
§ Vind je hier: github.com/kraftwagen/kw-manifests
§ Een project kan meerdere manifests bevatten.
§ Lijkt op hook_update_n() maar kan vaker worden aangeroepen.
§ Manifests uitvoeren met commando: drush kw-m
25.
26. #4 DEVELOPER CENTRIC
Fixtures
§ Te realiseren met de module Kraftwagen Itemnames.
§ Meer info: github.com/kraftwagen/kw-itemnames
§ Eenvoudig ‘default content’ aanmaken.
30. #4 DEVELOPER CENTRIC
Menu blocks
§ In code definiëren middels hook_menu_block_blocks()
§ Een heel nieuw menu kun je vastleggen met menu_save()
31.
32. #4 DEVELOPER CENTRIC
Contexts
§ Contexts worden snel onoverzichtelijk (overlappen elkaar).
§ Je kunt hiervoor ook hook_node_view() implementeren…
§ …of gebruik maken van de Context API.
33.
34.
35.
36. #4 DEVELOPER CENTRIC
Lijsten maken
§ Een lijstweergave kan eenvoudig gemaakt worden.
§ Een page callback, implementeer hiervoor hook_menu()
§ Een get functie (query).
§ Enkele theme wrappers.
37.
38.
39.
40.
41. #4 DEVELOPER CENTRIC
Permissions
§ Rechten en rollen: eenvoudig met Kraftwagen Itemnamens.
§ Gebruik hiervoor user_role_grant_permissions()
42.
43. #4 DEVELOPER CENTRIC
Variables/Settings
§ Instellingen van Drupal Core worden opgeslagen in variables.
§ Veel modules slaan ook configuratie op in variables.
§ Instellingen zijn eenvoudig op te slaan met variable_set()
46. #4 DEVELOPER CENTRIC
Capistrano
§ Capistrano is een deployment tool.
§ Meer info: github.com/capistrano/capistrano
§ ‘Capwagen’ is een Capistrano-integratie voor Kraftwagen.
§ Meer info: github.com/kraftwagen/capwagen
47. #5/ 5
Afsluiting
§ Developer-centric ontwikkelen met Drupal:
§ Razendsnel nieuwe projecten opzetten (code hergebruiken).
§ Samenwerken in ontwikkelteams: alles in code.
§ Trefzeker uitrollen: maakt efficiënt OTAP’en mogelijk.
§ Maar… ieder project en iedere klant is anders.