eXo Platform 3.5

## Chapter 74. Organization Service

## Overview

OrganizationService is the service that allows to access the Organization model. This model is composed of :

- Users

- Groups

- Memberships

It is the basis of eXo personalization and authorizations in eXo and is used to all over the platform. The model is abstract and does not rely on any specific storage. Multiple implementations exist in eXo :

- Hibernate : for storage into a RDBMS

- Jndi : for storage into a directory such as an LDAP or MS Active Directory

- Jcr : for storage inside a Java Content Repository

## Organizational Model

### User

- Username used as the identified

- Profile (identity and preferences)

### Group

Gather a set of users

- Applicative or business

- Tree structure

- No inheritance

- Expressed as /group/subgroup/subsubgroup

### Membership

- Qualifies the group belonging

- "Member of group as XXX"

- Expressed as : manager:/organization/hr, *:/partners

## Related articles and how-tos

- JCR Organization Service

- Update ConversationState when user's Membership changed

- Organization Service Initializer

- How to Access User Profile in your code

- How to create your own Organization Listener

- How to manipulate Users and Memberships Programmatically