DUG: Context toevoegen aan uw Drupal site met Organic Groups
Upcoming SlideShare
Loading in...5
×
 

DUG: Context toevoegen aan uw Drupal site met Organic Groups

on

  • 76 views

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

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

Statistics

Views

Total Views
76
Views on SlideShare
75
Embed Views
1

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 1

http://www.slideee.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

DUG: Context toevoegen aan uw Drupal site met Organic Groups DUG: Context toevoegen aan uw Drupal site met Organic Groups Presentation Transcript

  • 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 where subscribers communicate amongst themselves.
  • Agenda ● Cases ● Basis concepten van Organic Groups ● Welke API is er voor handen ● Integratie en uitbreiding ● Uitlichten cases ● Nababbelen
  • 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 ● Verschillende content beheerders, met eigen rollen en rechten ● Content workflows ● Zelf aanmaken en beheren van brandsites ● Brandsite beheerders ● (Beperkte) meertaligheid
  • Boeda boekenplatform
  • Boeda boekenplatform
  • Boeda boekenplatform
  • Uitdagingen ● Verschillende type gebruikers ○ Uitgevers ○ Vertegenwoordigers/verkopers ○ Boekhandels ● Elke entiteit kan meerdere beheerders hebben ● Bepaalde gebruikers moeten overkoepelend kunnen werken ● E-commerce
  • 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 rollen ● Bijhouden van ledengeschiedenis ● Groepen hiërarchie Uitdagingen
  • 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 reference field met specifiek group gedrag. Koppelt een entity aan een groep.
  • 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.
  • 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
  • OG context Een conditioneel systeem die toelaat een groep te activeren op basis van bepaalde kenmerken Net als de core language negotiation
  • 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 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.
  • 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)
  • 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)
  • 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()
  • 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()
  • 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 activeren og_context($group_type, $group) hook_og_context_negotiation_info()
  • 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 ● Dynamic nodequeues
  • 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!