Ontwikkelen met Drupal - Een developer centric aanpak

791 views

Published on

Published in: Internet
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
791
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ontwikkelen met Drupal - Een developer centric aanpak

  1. 1. O n t w i k k e l e n m e t D r u p a l E e n d e v e l o p e r - c e n t r i c a a n p a k
  2. 2. #1/ 5 Introductie DOOR: Cies Breijs Richard Bakker DATUM: 2 mei 2014 LOKATIE: InnStyle, Maarssen
  3. 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.
  4. 4. Oxfam Novib
  5. 5. ANWB Motor
  6. 6. TV Rijnmond
  7. 7. Van Oord
  8. 8. Omroep West
  9. 9. Rijk Zwaan
  10. 10. #1 INTRODUCTIE In deze talk… § Inleiding § Drupal ontwikkelen bij Hoppinger: 3 smaken § Developer centric – In Theorie § Developer centric – De Praktijk § Afsluiting & Vragen
  11. 11. #2/ 5 Drupal ontwikkelen bij Hoppinger: 3 smaken  
  12. 12. 1-MAN-1-DRUPAL CODE DRIVEN DEVELOPMENT DEVELOPER CENTRIC #2 ER ZIJN 3 SMAKEN VAN ONTWIKKELEN
  13. 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. 14. #2 ER ZIJN 3 SMAKEN VAN ONTWIKKELEN Code Driven Development   § Instellingen exporteren met de Features module. § Gemakkelijker uitrollen naar een andere omgeving.
  15. 15. #3/ 5 Developer centric – In Theorie  
  16. 16. I WANNA PLAY A GAME
  17. 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).
  18. 18. core = 7.x api = 2 translations[] = nl projects[file_entity][version] = "2.0-alpha3" projects[file_entity][subdir] = "contrib" projects[jquery_update][version] = "2.3" projects[jquery_update][subdir] = "contrib" projects[mailsystem][version] = "2.34" projects[mailsystem][subdir] = "contrib" libraries[swiftmailer][download][type] = "file" libraries[swiftmailer][download][url] = "http://swiftmailer.org/ download_file/swift-4.3.0.tar.gz" libraries[swiftmailer][download][md5] = "d6bc4e1816a332a3731858ecde656db"
  19. 19. #4/ 5 Developer centric – De Praktijk  
  20. 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. 21. #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
  22. 22. #4 DEVELOPER CENTRIC Fixtures   § Te realiseren met de module Kraftwagen Itemnames. §  Meer info: github.com/kraftwagen/kw-itemnames § Eenvoudig ‘default content’ aanmaken.
  23. 23. #4 DEVELOPER CENTRIC Taxonomies en terms   Eenvoudig aan te maken met Kraftwagen Itemnamens.
  24. 24. #4 DEVELOPER CENTRIC Menu blocks § In code definiëren middels hook_menu_block_blocks() § Een heel nieuw menu kun je vastleggen met menu_save()
  25. 25. #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.
  26. 26. #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.
  27. 27. #4 DEVELOPER CENTRIC Permissions   § Rechten en rollen: eenvoudig met Kraftwagen Itemnamens. § Gebruik hiervoor user_role_grant_permissions()
  28. 28. #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()
  29. 29. #4 DEVELOPER CENTRIC Projectstructuur   § Het project opdelen in kleine Drupal modules, zoals voor: § Node types. § Site secties. § Helpers.
  30. 30. #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
  31. 31. #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.
  32. 32. THANK YOU! WE ARE HIRING ;)

×