Variables Everywhere

871 views

Published on

Session on Drupalcamp Gent 26.05.2012

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

  • Be the first to like this

No Downloads
Views
Total views
871
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Variables Everywhere

    1. 1. Variables Everywhere Kristof Coomans
    2. 2. Wie ben ik• technical Lead bij Statik• Cyberwolf http://drupal.org/user/536282• Twitter @kristofcoomans 2
    3. 3. Wie zijn jullie?• rol?• code-driven development met Features? 3
    4. 4. Uitgangspunten (1/3)• admin interface van modules zoals Views / ctools Page Manager / Panels is niet geschikt voor 90 % van onze klanten • gemaakt voor site builders, niet voor editors • doolhof aan instellingen • TE krachtig -> fouten • wijzigingen aan bouwblokken aangeleverd vanuit code: overridden: EVIL ! 4
    5. 5. Uitgangspunten (2/3)• site builders vinden het doorgaans niet leuk om het werk te doen dat de content editor zou moeten kunnen doen • kleinere instellingen, bv. • Views header, footer, empty text • termen wijzigen in Views filters• ... en dan bovendien telkens te moeten exporteren naar code en onder versiebeheer te plaatsen 5
    6. 6. Uitgangspunten (3/3)• gulden middenweg tussen wat (hard)coded is en wat configureerbaar moet zijn door ‘dummies’• uniforme aanpak voor verschillende soorten ‘bouwblokken’• multilingual support 6
    7. 7. Variables Everywhere• gebruik van Drupal variables in allerlei soorten ‘bouwblokken’ • Views • ctools Page Manager/Panels • Blocks (todo) • ...• requirement: Variable module 7
    8. 8. Variable (1/2)• register van Drupal variable metadata• hook_variable_group_info(): definitie groepen • titel & omschrijving, permissie• hook_variable_info(): definitie variabelen, o.a. • titel & omschrijving • type • default waarde 8
    9. 9. Variable (2/2)• alternatieve API voor het opvragen van waarden, inclusief default values: variable_get($name, $default) vs. variable_get_value($name)• variable type is gekoppeld aan FAPI element, API om settings forms te genereren• basis voor i18n_variables (multilingual support) 9
    10. 10. Variables Everywhere methodiek (1/2)• code • definieer de nodige permissies in hook_permission() • Definieer je variables: hook_variable_group_info() en hook_variable_info()• point & click • gebruik alternatieve types plugins/handlers voor configuratie d.m.v. variables 10
    11. 11. Variables Everywhere methodiek (2/2)• export naar code (Features / ...) 11
    12. 12. Demo part 1 12
    13. 13. Variable Client (1/2)• gelijkaardig aan Localization client: on-page translation editor• houdt bij van welke variables de waarde is opgevraagd• dialoogvenster om de waarden te editeren• gebruikt API van Variable module voor generatie van de correcte FAPI elementen 13
    14. 14. Variable Client (2/2)• werkt momenteel enkel met waarden opgevraagd via variable_get_value()• geen hooks beschikbaar in variable_get() om opvraging van variabele waarde bij te houden• support voor reguliere variable_get() calls wordt onderzocht, mogelijk de array in global $conf vervangen door klasse die PHP’s ArrayAccess interface implementeert 14
    15. 15. Demo part 2 15
    16. 16. Code• Variables Everywhere: http://drupal.org/sandbox/ Cyberwolf/1602110• Variable Client: http://drupal.org/sandbox/ Cyberwolf/1602116 16
    17. 17. Credits• team: • Ward Brems (SgtPepper) • Hans Langouche (HnLn) • Sven Peremans (screenage) • Steven Verbiest • Sander Vleugels (alduya) 17
    18. 18. Vragen? 18
    19. 19. Feedback & follow-up:http://drupalcampgent.be/feedback

    ×