PRESENTS
Context toevoegen aan
uw Drupal site met
Organic Groups
Drupal User Group
drupal.be
Me
Stijn De Meyere
Drupal Developer
@stijndm
Organic Groups
Enable users to create and manage their own
'groups'. Each group can have subscribers, and
maintains a group home page whe...
Agenda
● Cases
● Basis concepten van Organic Groups
● Welke API is er voor handen
● Integratie en uitbreiding
● Uitlichten...
Inspireren
Cases
3 cases
● Corporate site met brandsites
● Boekenplatform met e-commerce integratie
● Ledenmanagementplatform
Deme Brandsites
Deme Brandsites - http://deme-group.com
Deme Brandsites - http://deme-group.com
Deme Brandsites - http://deme-group.com
Uitdagingen
● Gedeelde content over corporate site en brandsites
● Delegeren van content over de verschillende brandsites
...
Boeda boekenplatform
Boeda boekenplatform
Boeda boekenplatform
Uitdagingen
● Verschillende type gebruikers
○ Uitgevers
○ Vertegenwoordigers/verkopers
○ Boekhandels
● Elke entiteit kan m...
KSJ Leden management
KSJ Leden management platform
KSJ Leden management platform
● Verschillende type leden
● Verschillende rechten afhankelijk van uw groep en rol binnen
uw groep
● Groep-overkoepelende ...
De basics
Organic groups basics
● Group and Group Audience
● OG membership
● OG permissions
● OG roles
● OG context
Group and
Group
Audience
Group
Field dat een entity als
group aanduidt.
Niet zichtbaar in UI.
Group Audience
Entity refere...
OG
Membership
Entity dat een
lidmaatschap
aanduidt.
bv: gebruiker X is lid
van groep 1
Er kunnen
verschillende types
gedef...
OG roles &
permissions
Een interne rollen
systeem dat toelaat
om op groepniveau
rechten toe te kennen.
bv: een rol die toe...
OG context
Een conditioneel
systeem die toelaat
een groep te activeren
op basis van bepaalde
kenmerken
Net als de core
lan...
OG API
Dé beste resource voor
wat OG doet en kan:
● og.module
● og.api.php
Wat je moet
weten
(1) Entity reference wordt
onderschept en opgeslaan als
og_membership.
EntityFieldQuery kan wel nog gebr...
Groep of groep content
og_is_group($entity_type, $type)
og_is_group_type($entity_type, $bundle_name)
og_is_group_content_t...
Iets of iemand lid maken
og_group($group_type, $gid, $values, $save_created)
og_ungroup($group_type, $gid, $entity_type, $...
Rechten beheren
hook_og_permission()
og_user_access($group_type, $gid, $string, $account, ...)
hook_og_user_access_alter()...
Lidmaatschap opvragen
og_is_member($group_type, $gid, $entity_type, $entity)
og_get_groups_by_user($account, $group_type)
...
When funny things happen
og_flush_caches()
typical databse caches
og_invalidate_cache()
includes static caches
Context
Ook wel, welke groep is er nu eigenlijk actief
og_context($group_type)
Of als je een specifieke groep wil activere...
Rules
Let rules do all the leg
work.
Integregeren en
uitbreiden
Code, cases, demos
Te bekijken
● OG Context
● Autopopulate
● PURL
● Variable & variable realms
● Views integrations
● Dyna...
Limieten & lessen
Revisions zijn lastig
In het algemeen geschiedenis bijhouden van leden en status
Globale admins
User 1 rechten dupliceren
Multiple memberships
& types
OG Membership is nogal single minded
OG Permissions vs Site
Permissions
Dat loopt soms door mekaar en kan onverwachte resultaten
geven. Goed over nadenken.
Heb ik iets gemist?
C-MINE 1 BUS 13
Evence Coppéelaan 91
3600 Genk
Belgium
Phone +32 89 20 15 00
Fax +32 89 20 15 01
Info@nascom.be
Thanks!
Upcoming SlideShare
Loading in …5
×

DUG: Context toevoegen aan uw Drupal site met Organic Groups

300 views

Published on

Screencast van de presentatie kan je vinden op https://www.youtube.com/watch?v=ngOuCkoAuyo

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
300
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

DUG: Context toevoegen aan uw Drupal site met Organic Groups

  1. 1. PRESENTS
  2. 2. Context toevoegen aan uw Drupal site met Organic Groups Drupal User Group drupal.be
  3. 3. Me Stijn De Meyere Drupal Developer @stijndm
  4. 4. Organic Groups
  5. 5. Enable users to create and manage their own 'groups'. Each group can have subscribers, and maintains a group home page where subscribers communicate amongst themselves.
  6. 6. Agenda ● Cases ● Basis concepten van Organic Groups ● Welke API is er voor handen ● Integratie en uitbreiding ● Uitlichten cases ● Nababbelen
  7. 7. Inspireren
  8. 8. Cases
  9. 9. 3 cases ● Corporate site met brandsites ● Boekenplatform met e-commerce integratie ● Ledenmanagementplatform
  10. 10. Deme Brandsites
  11. 11. Deme Brandsites - http://deme-group.com
  12. 12. Deme Brandsites - http://deme-group.com
  13. 13. Deme Brandsites - http://deme-group.com
  14. 14. Uitdagingen ● Gedeelde content over corporate site en brandsites ● Delegeren van content over de verschillende brandsites ● Verschillende content beheerders, met eigen rollen en rechten ● Content workflows ● Zelf aanmaken en beheren van brandsites ● Brandsite beheerders ● (Beperkte) meertaligheid
  15. 15. Boeda boekenplatform
  16. 16. Boeda boekenplatform
  17. 17. Boeda boekenplatform
  18. 18. Uitdagingen ● Verschillende type gebruikers ○ Uitgevers ○ Vertegenwoordigers/verkopers ○ Boekhandels ● Elke entiteit kan meerdere beheerders hebben ● Bepaalde gebruikers moeten overkoepelend kunnen werken ● E-commerce
  19. 19. KSJ Leden management
  20. 20. KSJ Leden management platform
  21. 21. KSJ Leden management platform
  22. 22. ● Verschillende type leden ● Verschillende rechten afhankelijk van uw groep en rol binnen uw groep ● Groep-overkoepelende rollen ● Bijhouden van ledengeschiedenis ● Groepen hiërarchie Uitdagingen
  23. 23. De basics
  24. 24. Organic groups basics ● Group and Group Audience ● OG membership ● OG permissions ● OG roles ● OG context
  25. 25. Group and Group Audience Group Field dat een entity als group aanduidt. Niet zichtbaar in UI. Group Audience Entity reference field met specifiek group gedrag. Koppelt een entity aan een groep.
  26. 26. OG Membership Entity dat een lidmaatschap aanduidt. bv: gebruiker X is lid van groep 1 Er kunnen verschillende types gedefinieerd worden. Vergelijkbaar met type krantenabonnement: 6 maanden vs 12 maanden.
  27. 27. OG roles & permissions Een interne rollen systeem dat toelaat om op groepniveau rechten toe te kennen. bv: een rol die toelaat nieuwsberichten te publiceren in een groep
  28. 28. OG context Een conditioneel systeem die toelaat een groep te activeren op basis van bepaalde kenmerken Net als de core language negotiation
  29. 29. OG API
  30. 30. Dé beste resource voor wat OG doet en kan: ● og.module ● og.api.php
  31. 31. Wat je moet weten (1) Entity reference wordt onderschept en opgeslaan als og_membership. EntityFieldQuery kan wel nog gebruikt worden. Zie: og_entity_query_alter() og_query_og_membership_alter() (2) Alles kan van alles lid zijn. Elke entity kan als groep dienen, elke entity kan als lid fungeren.
  32. 32. Groep of groep content og_is_group($entity_type, $type) og_is_group_type($entity_type, $bundle_name) og_is_group_content_type($entity_type, $bundle_name)
  33. 33. Iets of iemand lid maken og_group($group_type, $gid, $values, $save_created) og_ungroup($group_type, $gid, $entity_type, $etid) og_get_entity_groups($entity_type, $entity, $states)
  34. 34. Rechten beheren hook_og_permission() og_user_access($group_type, $gid, $string, $account, ...) hook_og_user_access_alter() og_role_grant($group_type, $gid, $uid, $rid) og_role_revoke($group_type, $gid, $uid, $rid) og_roles() og_get_user_roles()
  35. 35. Lidmaatschap opvragen og_is_member($group_type, $gid, $entity_type, $entity) og_get_groups_by_user($account, $group_type) og_get_entity_groups($entity_type, $entity, $states) Membership laden op basis van groep en entity og_get_membership()
  36. 36. When funny things happen og_flush_caches() typical databse caches og_invalidate_cache() includes static caches
  37. 37. Context Ook wel, welke groep is er nu eigenlijk actief og_context($group_type) Of als je een specifieke groep wil activeren og_context($group_type, $group) hook_og_context_negotiation_info()
  38. 38. Rules Let rules do all the leg work.
  39. 39. Integregeren en uitbreiden
  40. 40. Code, cases, demos Te bekijken ● OG Context ● Autopopulate ● PURL ● Variable & variable realms ● Views integrations ● Dynamic nodequeues
  41. 41. Limieten & lessen
  42. 42. Revisions zijn lastig In het algemeen geschiedenis bijhouden van leden en status
  43. 43. Globale admins User 1 rechten dupliceren
  44. 44. Multiple memberships & types OG Membership is nogal single minded
  45. 45. OG Permissions vs Site Permissions Dat loopt soms door mekaar en kan onverwachte resultaten geven. Goed over nadenken.
  46. 46. Heb ik iets gemist?
  47. 47. C-MINE 1 BUS 13 Evence Coppéelaan 91 3600 Genk Belgium Phone +32 89 20 15 00 Fax +32 89 20 15 01 Info@nascom.be Thanks!

×