AquaLogic Interaction Development Kit (IDK) 6.0.0 |

# Plumtree.Remote.PRC.Collaboration.Security Namespace

Provides classes and interfaces for managing Collaboration project security and object access levels. See Security Examples.

Since IDK 5.1

Namespace hierarchy

### Interfaces

Interface | Description
--- | ---
IRole | Interface that represents a project role that specifies which groups and users can access the objects in this project. Users, groups and communities can be added to and removed from a role. Note: Adding a non-existent user, group or community ID will succeed until the role has been updated and stored permanently via the `Store` method, at which time the role instance will get refreshed. All other modifications also require the `Store` method to be called. See Security Examples.

### Enumerations

Enumeration | Description
--- | ---
AccessLevels | An enumerated type used to describe the access levels of collaboration objects. The five access levels are `Admin`, `Edit`, `Write`, `Read`, and `None`. The default access level for each role is respectively: Project Leader - `Admin` Project Member - `Write` Project Guest - `Read` Below are the different permissions granted by each Access Level by default, grouped by functional areas: (arranged in ascending order - i.e., `Read` access permissions are included in `Write` access, `Write` access permissions are included in `Edit` access, and vice versa) `Read` - Discussion: Read - Task List: Read - Document: Read - Calendar: Read `Write` - Discussion: Post Messages - Task List: Create Tasks, Claim Tasks, Update Task Status - Document: Create/Insert Documents, Check-in documents, Check-out documents - Calendar: Create Events `Edit` - Discussion: Create, Edit, Attach Links - Task List: Create, Copy, Edit, Attach Links, Assign Owners - Document: Copy, Edit, Insert sub-folders, Rename Folders, Attach Links - Calendar: Edit Events, Attach Links `Admin` - Discussion: Delete, Edit Security - Task List: Delete, Edit Security - Document: Delete, Edit Security - Calendar: Delete, Edit Security `AccessLevel` is used in `Get/SetAccessLevel` methods in `IRole` and other collaboration objects.
CommunityMemberTypes | An enumerated type used to describe the type of member in a community to be added to a role.
FunctionalAreas | An enumerated type used to describe Collaboration functional areas, used in `IRole.Get/SetRolePermission.`
MemberQueryTypes | An enumerated type used to retrieve a specific type of member in a role, used in `IRole.GetMemberIDs`.
MemberTypes | An enumerated type used to describe the type of the member in a role, used in `IRole.AddMember`, and `IRole.RemoveMember`.
RoleTypes | An enumerated type used to describe the default roles for projects.