SlideShare uma empresa Scribd logo
1 de 60
Baixar para ler offline
Kari Kääriäinen
DrupalCamp Finland 2014
What are we going to talk about?
 Organic groups, a contributed module,
version 7.x-2.x
 Laying a foundation for understanding OG
 Background
 What is it good for?
 Setting up
 Testing access control
 These slides will be available in SlideShare
Why?
 OG is powerful but complicated
 Many ways to adjust permissions and access
control
 No out of the box solution for layout
 OG has gone through some major changes
from 6 to 7, and 7.1 to 7.2
Who am I?
 Kari Kääriäinen, kari.kaariainen@nettimaakari.fi
 1980 fooling around with Intel 8086, Assembly
language
 Mostly self taught on computers and web
 Master of Music, Sibelius Academy
 Worked at Sibelius Academy IT department
 Used to develop my own CMS on PHP until finding
Drupal 2008
 www.nettimaakari.fi, self employed
 I build sites, do migrations, some design/theming,
some module programming
Who are you?
 How many of you know at least something
about OG?
 How many of you have tried it but don't
have anything in production at the
moment?
 How many of you have an actual OG
application in mind?
 How many of you are using OG in
production now?
What is Organic groups (OG)?
 Create user groups...
 Only admin creates groups
 Let users create groups ("organic")
 Let users assign admins for groups
 ...Make users become members...
 users apply for membership, you accept
 you assign them
 ... share content with members
Compared with Facebook groups
 Public, Private or Hidden
 Pros
 Finished, complete product, ready to use
 Many users already know it
 Nice layout
 Cons
 You don't own your data
 No exceptions, no tweaks
 No styling or customizing
 Unexpected changes
 OG hooks to the rest of Drupal
Fun fact from the early days
 2004 Carl-Magnus Dumell was looking for a
gallery and club functionality for Finnish
Broadcasting Company, YLE
 Emailed Drupal core developers, Moshe
Weitzman was available -> Organic Groups
4.6.x-1.x
 YLE has been actively promoting Open
source
Short history of OG versions
 Rewrite 6 -> 7
 Entities and fields
 Major change 7.1 -> 7.2
 Group entity was discarded
 Now status quo, good time to come
onboard
Distributions using OG
 To name a few
 Open Atrium 2 (based on Panopoly)
 Acquia Commons
 Open public
 Open publish
 Explore to learn and to see if a good fit for
your needs
 Make sure you have a powerful machine
Testing(/development) environment
 Keep it simple, really simple
 Install WAMP, MAMP, XAMPP, or similar
 Install Drupal, Standard profile
Testing environment (cont.)
 http://localhost/ogtesting/install.php
Testing environment (cont.)
 When installed, disable these modules
 Toolbar
 Search
 Overlay (for now, just to keep urls simple)
Testing environment (cont.)
 Download modules to sites/all/modules
 Needed for OG
○ Chaos tool suite
○ Entity API
○ Entity Reference
○ Organic groups
○ Views Bulk Operations
○ Views
 Not needed for OG, but for our environment
○ Administration menu
○ Module filter
○ Devel
Testing environment (cont.)
 Enable modules
 For OG
○ Chaos tools
○ Entity API
○ Entity Reference
○ Organic groups UI
○ Organic groups
○ Views Bulk Operations
○ Views UI
○ Views
 For testing
environment
○ Administration menu
Toolbar style
○ Administration menu
○ Module filter
○ Devel node access
○ Devel
○ Switch user
Testing environment (cont.)
 http://localhost/ogtesting/
Testing environment (cont.)
 Delete the core content types (you’ll thank
me later)
 Article
 Basic page
Testing environment (cont.)
 http://localhost/ogtesting/admin/structure/types
Testing environment (cont.)
 Create users Insider and Outsider
 http://localhost/ogtesting/admin/people/create
Testing environment (cont.)
 Give both Anonymous and Authenticated
roles permission to switch users -> you are
able to switch freely between any user
(never on production site)
 http://localhost/ogtesting/admin/people/permissions
Testing environment (cont.)
 Assign Switch user block somewhere you
can easily see it
First scenario, public groups
 Everybody can see the group
 Everybody can post to the group
First scenario, public groups (cont.)
 Add content type ”Group”
 Name: Group
 Display settings, Display author and date
information: off
 Comment settings, Default comment setting for
new content: hidden
 Organic groups, Specify how OG should treat
content of this type: Group
First scenario, public groups (cont.)
 http://localhost/ogtesting/admin/structure/types/add
First scenario, public groups (cont.)
 Add content type ”Posting”
 Name: Posting
 Display settings, Display author and date
information: off
 Comment settings, Default comment setting for
new content: hidden
 Organic groups, Specify how OG should treat
content of this type: Group content
First scenario, public groups (cont.)
 http://localhost/ogtesting/admin/structure/types/add
First scenario, public groups (cont.)
 http://localhost/ogtesting/admin/structure/types
First scenario, public groups (cont.)
 Configure OG's permissions
 For Member role, add
○ "Create Posting content"
○ "Edit own Posting content"
○ "Delete own Posting content”
 Note that by design, Non-member cannot get
the right to create Posting content
First scenario, public groups (cont.)
 http://localhost/ogtesting/admin/config/group/permissions/node/group
First scenario, public groups (cont.)
 Create a group ”First group”
 http://localhost/ogtesting/node/add/group
First scenario, public groups (cont.)
 http://localhost/ogtesting/node/1
First scenario, public groups (cont.)
 Assign Insider to group
 http://localhost/ogtesting/group/node/1/admin/people/add-user
First scenario, public groups (cont.)
 Switch user to Insider and post to the group
 http://localhost/ogtesting/node/add/posting
First scenario, public groups (cont.)
 http://localhost/ogtesting/node/2
Rudimentary layout
 Panels
 Preferred by module maintainers
 Pros: flexible, powerful, popular
 Cons: challenging to set up, maybe overkill for
some sites
 OG extras
 Brings back what was in OG 6
Rudimentary layout (cont.)
 Group members block
 Enable OG extras
 Assign OG Extras group members block
somewhere
Rudimentary layout (cont.)
 Group contents listing (also by OG extras)
 Enable EVA (Entity Views Attachment)
 “Latest news” listing automatically appear
First scenario, public groups (cont.)
 Testing
 See who can actually see and do what by
switching users
 Test as Insider and Outsider
First scenario, public groups (cont.)
 Test as Insider
First scenario, public groups (cont.)
 Test as Outsider
Vocabulary in Drupal and OG
 Some fuzziness in term usage
 Permission
 Used as an general term
 Can we DO something to a piece of content, i.e. create, edit or delete
 Can we perform some other action (join a group / subscribe to a group)
 Access
 Can we VIEW a piece of content
 Field access: view field, edit field
 Visibility
 In OG, a user friendly synonym for “Access”
 Is a piece of content private or public
 Private: only group members can see a piece of content
 Public: anyone (who can view published content) can see a piece of content
 Context: when viewing a node, are we "in a group" or not
 Audience: list of groups a piece of content is posted to
Second scenario, private groups
 Everybody can see the group
 Only members can view the posts and post
to the group
Second scenario, private groups
(cont.)
 Core has no (granular) access control, "who
can view"
 Enable OG access control
 Permissions need to be rebuilt
Second scenario, private groups
(cont.)
 Most OG functionality is powered by fields
 Special OG field settings admin tool at
http://localhost/ogtesting/admin/config/group/fields
 Some of this functionality is duplicated for
convenience elsewhere, for example on
Content type edit page, Organic groups
vertical tab, for both Group and Posting
Second scenario, private groups
(cont.)
 Add visibility (=access) fields to Group and
Posting
Second scenario, private groups
(cont.)
 Make Group public
 http://localhost/ogtesting/node/1/edit
 Make Group content private
 http://localhost/ogtesting/node/2/edit
Second scenario, private groups
(cont.)
 Testing
 Test as Insider and Outsider
 Insider should see Group and Posting
 Outsider should see Group but shouldn't
see Posting (Access denied)
Exceptions to public or private groups
 Visibilities can be mixed
 Private posting to a public group
 Set the visibility to private
 Public posting to private group
 Set the visibility to public
Third scenario, hidden group, one
private field
 One field will be accessible only to Admin members
 Enable OG field access
 New set of permissions appear at
http://localhost/ogtesting/admin/config/group/permissions/node/group
 Initially nobody can see anything
 OG permissions so far
 Creating nodes
 Editing nodes
 New set of permissions added
 Viewing fields
 Editing fields
Third scenario (cont.)
 Create Groupadmin user
 Add it to First group and make it
administrator member
Third scenario (cont.)
 Make Group private
 http://localhost/ogtesting/node/1/edit
Third scenario (cont.)
 Add view permission for all existing fields
for Member role and Administrator member
role
 Create new field,
“Private field” to “Posting”
 Add permission to view “Private field” for
Administrator member only
Third scenario (cont.)
 Why was it
important to keep
it simple?
 Already 14 rows,
3 columns,
42 checkboxes
in just the OG Field
access section
Third scenario (cont.)
 Testing
 Test as Groupadmin, Insider, and Outsider
 Groupadmin should see everything,
including the private field
 Insider should see everything, except
the private field
 Outsider can't see either the group or
the posting (Access denied)
Things to consider
 Managing users
 Let users subscribe to groups, with or without
approval
 Add users to groups
Things to consider (cont.)
 Migration from 6.x
 Migrate module (7.x-2.5 even though it's old) is
needed, OG uses that
 Other options exist
 Migration from 7.x-1.x
 Should work, make backups!
Things to consider (cont.)
 Email notifications
 Message notify module preferred by module
maintainers
 Rules module practical for small needs
Where to learn more
 modulesunraveled.com, videos
 lullabot.com, videos
 drupal.stackexchange.com, questions and
answers
 drupal.org/og, issue queue
 Community Documentation, Organic Groups
Version 7.x-2.x at
https://drupal.org/node/1603460
Questions?
 There are no dumb questions
 The next person may be thinking about the
same thing
Thank you!
 Review at SlideShare

Mais conteúdo relacionado

Semelhante a Organic Groups Module Explained for Drupal Site Managers

Simple test drupal7_presentation_la_drupal_jul21-2010
Simple test drupal7_presentation_la_drupal_jul21-2010Simple test drupal7_presentation_la_drupal_jul21-2010
Simple test drupal7_presentation_la_drupal_jul21-2010Miguel Hernandez
 
Drupal Camp LA 2010: Moderating Content in Drupal
Drupal Camp LA 2010: Moderating Content in DrupalDrupal Camp LA 2010: Moderating Content in Drupal
Drupal Camp LA 2010: Moderating Content in DrupalAshok Modi
 
841- Advanced Computer ForensicsUnix Forensics LabDue Date.docx
841- Advanced Computer ForensicsUnix Forensics LabDue Date.docx841- Advanced Computer ForensicsUnix Forensics LabDue Date.docx
841- Advanced Computer ForensicsUnix Forensics LabDue Date.docxevonnehoggarth79783
 
UserGuideHDFS_FinalDocument
UserGuideHDFS_FinalDocumentUserGuideHDFS_FinalDocument
UserGuideHDFS_FinalDocumentAnna Ellis
 
Eclipse_Building_Blocks
Eclipse_Building_BlocksEclipse_Building_Blocks
Eclipse_Building_BlocksRahul Shukla
 
Os gi introduction made by Ly MInh Phuong-SOC team
Os gi introduction made by Ly MInh Phuong-SOC teamOs gi introduction made by Ly MInh Phuong-SOC team
Os gi introduction made by Ly MInh Phuong-SOC teamThuy_Dang
 
TUTORIAL 2/2 (of the second part) ECLAP 2012 Conference, IPR management, IPR ...
TUTORIAL 2/2 (of the second part) ECLAP 2012 Conference, IPR management, IPR ...TUTORIAL 2/2 (of the second part) ECLAP 2012 Conference, IPR management, IPR ...
TUTORIAL 2/2 (of the second part) ECLAP 2012 Conference, IPR management, IPR ...Paolo Nesi
 
DevLearn 2017 - Getting Started with Adapt
DevLearn 2017 - Getting Started with AdaptDevLearn 2017 - Getting Started with Adapt
DevLearn 2017 - Getting Started with AdaptFloat
 
Intro Java Rev010
Intro Java Rev010Intro Java Rev010
Intro Java Rev010Rich Helton
 
From contributing to consuming
From contributing to consumingFrom contributing to consuming
From contributing to consumingMel Chua
 
IEDOTNETUG Silverlight Class Week 6
IEDOTNETUG Silverlight Class Week 6IEDOTNETUG Silverlight Class Week 6
IEDOTNETUG Silverlight Class Week 6iedotnetug
 
Open event (show&tell april 2016)
Open event (show&tell april 2016)Open event (show&tell april 2016)
Open event (show&tell april 2016)Jorge López-Lago
 
Joomla! 2,5 ACL- A use case
Joomla! 2,5 ACL- A use caseJoomla! 2,5 ACL- A use case
Joomla! 2,5 ACL- A use caseRicky D'Cruze
 
Intro to OOP PHP and Github
Intro to OOP PHP and GithubIntro to OOP PHP and Github
Intro to OOP PHP and GithubJo Erik San Jose
 
Groove2007
Groove2007Groove2007
Groove2007venky546
 
An Open Source Workshop
An Open Source WorkshopAn Open Source Workshop
An Open Source Workshophalehmahbod
 

Semelhante a Organic Groups Module Explained for Drupal Site Managers (20)

Simple test drupal7_presentation_la_drupal_jul21-2010
Simple test drupal7_presentation_la_drupal_jul21-2010Simple test drupal7_presentation_la_drupal_jul21-2010
Simple test drupal7_presentation_la_drupal_jul21-2010
 
Drupal Camp LA 2010: Moderating Content in Drupal
Drupal Camp LA 2010: Moderating Content in DrupalDrupal Camp LA 2010: Moderating Content in Drupal
Drupal Camp LA 2010: Moderating Content in Drupal
 
841- Advanced Computer ForensicsUnix Forensics LabDue Date.docx
841- Advanced Computer ForensicsUnix Forensics LabDue Date.docx841- Advanced Computer ForensicsUnix Forensics LabDue Date.docx
841- Advanced Computer ForensicsUnix Forensics LabDue Date.docx
 
UserGuideHDFS_FinalDocument
UserGuideHDFS_FinalDocumentUserGuideHDFS_FinalDocument
UserGuideHDFS_FinalDocument
 
Eclipse_Building_Blocks
Eclipse_Building_BlocksEclipse_Building_Blocks
Eclipse_Building_Blocks
 
Os gi introduction made by Ly MInh Phuong-SOC team
Os gi introduction made by Ly MInh Phuong-SOC teamOs gi introduction made by Ly MInh Phuong-SOC team
Os gi introduction made by Ly MInh Phuong-SOC team
 
TUTORIAL 2/2 (of the second part) ECLAP 2012 Conference, IPR management, IPR ...
TUTORIAL 2/2 (of the second part) ECLAP 2012 Conference, IPR management, IPR ...TUTORIAL 2/2 (of the second part) ECLAP 2012 Conference, IPR management, IPR ...
TUTORIAL 2/2 (of the second part) ECLAP 2012 Conference, IPR management, IPR ...
 
DevLearn 2017 - Getting Started with Adapt
DevLearn 2017 - Getting Started with AdaptDevLearn 2017 - Getting Started with Adapt
DevLearn 2017 - Getting Started with Adapt
 
Drupal in-depth
Drupal in-depthDrupal in-depth
Drupal in-depth
 
Intro Java Rev010
Intro Java Rev010Intro Java Rev010
Intro Java Rev010
 
Foss Presentation
Foss PresentationFoss Presentation
Foss Presentation
 
From contributing to consuming
From contributing to consumingFrom contributing to consuming
From contributing to consuming
 
IEDOTNETUG Silverlight Class Week 6
IEDOTNETUG Silverlight Class Week 6IEDOTNETUG Silverlight Class Week 6
IEDOTNETUG Silverlight Class Week 6
 
Open event (show&tell april 2016)
Open event (show&tell april 2016)Open event (show&tell april 2016)
Open event (show&tell april 2016)
 
Joomla! 2,5 ACL- A use case
Joomla! 2,5 ACL- A use caseJoomla! 2,5 ACL- A use case
Joomla! 2,5 ACL- A use case
 
Intro to OOP PHP and Github
Intro to OOP PHP and GithubIntro to OOP PHP and Github
Intro to OOP PHP and Github
 
Groove2007
Groove2007Groove2007
Groove2007
 
An Open Source Workshop
An Open Source WorkshopAn Open Source Workshop
An Open Source Workshop
 
Drupal Modules
Drupal ModulesDrupal Modules
Drupal Modules
 
Space proposal
Space proposalSpace proposal
Space proposal
 

Último

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Organic Groups Module Explained for Drupal Site Managers

  • 2. What are we going to talk about?  Organic groups, a contributed module, version 7.x-2.x  Laying a foundation for understanding OG  Background  What is it good for?  Setting up  Testing access control  These slides will be available in SlideShare
  • 3. Why?  OG is powerful but complicated  Many ways to adjust permissions and access control  No out of the box solution for layout  OG has gone through some major changes from 6 to 7, and 7.1 to 7.2
  • 4. Who am I?  Kari Kääriäinen, kari.kaariainen@nettimaakari.fi  1980 fooling around with Intel 8086, Assembly language  Mostly self taught on computers and web  Master of Music, Sibelius Academy  Worked at Sibelius Academy IT department  Used to develop my own CMS on PHP until finding Drupal 2008  www.nettimaakari.fi, self employed  I build sites, do migrations, some design/theming, some module programming
  • 5. Who are you?  How many of you know at least something about OG?  How many of you have tried it but don't have anything in production at the moment?  How many of you have an actual OG application in mind?  How many of you are using OG in production now?
  • 6. What is Organic groups (OG)?  Create user groups...  Only admin creates groups  Let users create groups ("organic")  Let users assign admins for groups  ...Make users become members...  users apply for membership, you accept  you assign them  ... share content with members
  • 7. Compared with Facebook groups  Public, Private or Hidden  Pros  Finished, complete product, ready to use  Many users already know it  Nice layout  Cons  You don't own your data  No exceptions, no tweaks  No styling or customizing  Unexpected changes  OG hooks to the rest of Drupal
  • 8. Fun fact from the early days  2004 Carl-Magnus Dumell was looking for a gallery and club functionality for Finnish Broadcasting Company, YLE  Emailed Drupal core developers, Moshe Weitzman was available -> Organic Groups 4.6.x-1.x  YLE has been actively promoting Open source
  • 9. Short history of OG versions  Rewrite 6 -> 7  Entities and fields  Major change 7.1 -> 7.2  Group entity was discarded  Now status quo, good time to come onboard
  • 10. Distributions using OG  To name a few  Open Atrium 2 (based on Panopoly)  Acquia Commons  Open public  Open publish  Explore to learn and to see if a good fit for your needs  Make sure you have a powerful machine
  • 11. Testing(/development) environment  Keep it simple, really simple  Install WAMP, MAMP, XAMPP, or similar  Install Drupal, Standard profile
  • 12. Testing environment (cont.)  http://localhost/ogtesting/install.php
  • 13. Testing environment (cont.)  When installed, disable these modules  Toolbar  Search  Overlay (for now, just to keep urls simple)
  • 14. Testing environment (cont.)  Download modules to sites/all/modules  Needed for OG ○ Chaos tool suite ○ Entity API ○ Entity Reference ○ Organic groups ○ Views Bulk Operations ○ Views  Not needed for OG, but for our environment ○ Administration menu ○ Module filter ○ Devel
  • 15. Testing environment (cont.)  Enable modules  For OG ○ Chaos tools ○ Entity API ○ Entity Reference ○ Organic groups UI ○ Organic groups ○ Views Bulk Operations ○ Views UI ○ Views  For testing environment ○ Administration menu Toolbar style ○ Administration menu ○ Module filter ○ Devel node access ○ Devel ○ Switch user
  • 16. Testing environment (cont.)  http://localhost/ogtesting/
  • 17. Testing environment (cont.)  Delete the core content types (you’ll thank me later)  Article  Basic page
  • 18. Testing environment (cont.)  http://localhost/ogtesting/admin/structure/types
  • 19. Testing environment (cont.)  Create users Insider and Outsider  http://localhost/ogtesting/admin/people/create
  • 20. Testing environment (cont.)  Give both Anonymous and Authenticated roles permission to switch users -> you are able to switch freely between any user (never on production site)  http://localhost/ogtesting/admin/people/permissions
  • 21. Testing environment (cont.)  Assign Switch user block somewhere you can easily see it
  • 22. First scenario, public groups  Everybody can see the group  Everybody can post to the group
  • 23. First scenario, public groups (cont.)  Add content type ”Group”  Name: Group  Display settings, Display author and date information: off  Comment settings, Default comment setting for new content: hidden  Organic groups, Specify how OG should treat content of this type: Group
  • 24. First scenario, public groups (cont.)  http://localhost/ogtesting/admin/structure/types/add
  • 25. First scenario, public groups (cont.)  Add content type ”Posting”  Name: Posting  Display settings, Display author and date information: off  Comment settings, Default comment setting for new content: hidden  Organic groups, Specify how OG should treat content of this type: Group content
  • 26. First scenario, public groups (cont.)  http://localhost/ogtesting/admin/structure/types/add
  • 27. First scenario, public groups (cont.)  http://localhost/ogtesting/admin/structure/types
  • 28. First scenario, public groups (cont.)  Configure OG's permissions  For Member role, add ○ "Create Posting content" ○ "Edit own Posting content" ○ "Delete own Posting content”  Note that by design, Non-member cannot get the right to create Posting content
  • 29. First scenario, public groups (cont.)  http://localhost/ogtesting/admin/config/group/permissions/node/group
  • 30. First scenario, public groups (cont.)  Create a group ”First group”  http://localhost/ogtesting/node/add/group
  • 31. First scenario, public groups (cont.)  http://localhost/ogtesting/node/1
  • 32. First scenario, public groups (cont.)  Assign Insider to group  http://localhost/ogtesting/group/node/1/admin/people/add-user
  • 33. First scenario, public groups (cont.)  Switch user to Insider and post to the group  http://localhost/ogtesting/node/add/posting
  • 34. First scenario, public groups (cont.)  http://localhost/ogtesting/node/2
  • 35. Rudimentary layout  Panels  Preferred by module maintainers  Pros: flexible, powerful, popular  Cons: challenging to set up, maybe overkill for some sites  OG extras  Brings back what was in OG 6
  • 36. Rudimentary layout (cont.)  Group members block  Enable OG extras  Assign OG Extras group members block somewhere
  • 37. Rudimentary layout (cont.)  Group contents listing (also by OG extras)  Enable EVA (Entity Views Attachment)  “Latest news” listing automatically appear
  • 38. First scenario, public groups (cont.)  Testing  See who can actually see and do what by switching users  Test as Insider and Outsider
  • 39. First scenario, public groups (cont.)  Test as Insider
  • 40. First scenario, public groups (cont.)  Test as Outsider
  • 41. Vocabulary in Drupal and OG  Some fuzziness in term usage  Permission  Used as an general term  Can we DO something to a piece of content, i.e. create, edit or delete  Can we perform some other action (join a group / subscribe to a group)  Access  Can we VIEW a piece of content  Field access: view field, edit field  Visibility  In OG, a user friendly synonym for “Access”  Is a piece of content private or public  Private: only group members can see a piece of content  Public: anyone (who can view published content) can see a piece of content  Context: when viewing a node, are we "in a group" or not  Audience: list of groups a piece of content is posted to
  • 42. Second scenario, private groups  Everybody can see the group  Only members can view the posts and post to the group
  • 43. Second scenario, private groups (cont.)  Core has no (granular) access control, "who can view"  Enable OG access control  Permissions need to be rebuilt
  • 44. Second scenario, private groups (cont.)  Most OG functionality is powered by fields  Special OG field settings admin tool at http://localhost/ogtesting/admin/config/group/fields  Some of this functionality is duplicated for convenience elsewhere, for example on Content type edit page, Organic groups vertical tab, for both Group and Posting
  • 45. Second scenario, private groups (cont.)  Add visibility (=access) fields to Group and Posting
  • 46. Second scenario, private groups (cont.)  Make Group public  http://localhost/ogtesting/node/1/edit  Make Group content private  http://localhost/ogtesting/node/2/edit
  • 47. Second scenario, private groups (cont.)  Testing  Test as Insider and Outsider  Insider should see Group and Posting  Outsider should see Group but shouldn't see Posting (Access denied)
  • 48. Exceptions to public or private groups  Visibilities can be mixed  Private posting to a public group  Set the visibility to private  Public posting to private group  Set the visibility to public
  • 49. Third scenario, hidden group, one private field  One field will be accessible only to Admin members  Enable OG field access  New set of permissions appear at http://localhost/ogtesting/admin/config/group/permissions/node/group  Initially nobody can see anything  OG permissions so far  Creating nodes  Editing nodes  New set of permissions added  Viewing fields  Editing fields
  • 50. Third scenario (cont.)  Create Groupadmin user  Add it to First group and make it administrator member
  • 51. Third scenario (cont.)  Make Group private  http://localhost/ogtesting/node/1/edit
  • 52. Third scenario (cont.)  Add view permission for all existing fields for Member role and Administrator member role  Create new field, “Private field” to “Posting”  Add permission to view “Private field” for Administrator member only
  • 53. Third scenario (cont.)  Why was it important to keep it simple?  Already 14 rows, 3 columns, 42 checkboxes in just the OG Field access section
  • 54. Third scenario (cont.)  Testing  Test as Groupadmin, Insider, and Outsider  Groupadmin should see everything, including the private field  Insider should see everything, except the private field  Outsider can't see either the group or the posting (Access denied)
  • 55. Things to consider  Managing users  Let users subscribe to groups, with or without approval  Add users to groups
  • 56. Things to consider (cont.)  Migration from 6.x  Migrate module (7.x-2.5 even though it's old) is needed, OG uses that  Other options exist  Migration from 7.x-1.x  Should work, make backups!
  • 57. Things to consider (cont.)  Email notifications  Message notify module preferred by module maintainers  Rules module practical for small needs
  • 58. Where to learn more  modulesunraveled.com, videos  lullabot.com, videos  drupal.stackexchange.com, questions and answers  drupal.org/og, issue queue  Community Documentation, Organic Groups Version 7.x-2.x at https://drupal.org/node/1603460
  • 59. Questions?  There are no dumb questions  The next person may be thinking about the same thing
  • 60. Thank you!  Review at SlideShare