Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Corona ProjectContainer Guest
Eclipse Home | Corona Wiki Home | Development |
Corona's exemplary implementation for its collaboration framework is its ProjectContainer (PC). This distributed container model enables a multiple Eclipse Workbenches to collaborate in a workgroup.
Access to the PC is restricted to the users listed in the container's TeamMemberRepository. However, it is possible to enable a PCC to allow users to access the container as a guest team member.
Contents
Use Case
Actors
- PC
- A ProjectContainer
- User
- The person who is not a member of the PC's team, but is requesting access to it.
Description
A user who is not part of a PC's team, requests access to the PC. The PC is enabled for guest access and allows the user to open the PCC.
Assumptions
- The user has a Corona enabled Eclipse Workbench client
- A Corona server is available that has the PC defined
- The PC has been enabled for guest access
- PC property guest.max set the maximum number of guest users allowed. A value of 0 indicates that no guests are allowed.
- The PC's TeamMember supports the concept of roles (ProjectLeader, Committer, Contributor, Guest)
- The PC's TeamMember list has the ability to add/remove transient guest users
Steps
- User start Eclipse Workbench enabled with Corona client plug-ins
- User selects a PC to open
- Request is sent to Corona server to open PC on behalf of User
- Corona server receives request to open PC
- ProjectContainerManager (PCM) handles the open request
- PCM loads (not open) the PC
- PCM checks if the user is listed in the PC's TeamMemberRepository
- The use is not listed in the PC's TeamMemberRepository
- PCM checks if the PC is enabled for guest users
- PCM retrieves the PC's property guest.max
- The value for guest.max is > 0
- guest.max is 10, so guest are allowed
- PCM checks if the PC' guest.count < guest.max
- Since this is the 1st user, test is true
- PCM allows the user as guest
- PCM increments the value for guest.count
- PCM adds the user as a guest to the PC's list of team member
- ProjectContainerManager (PCM) handles the open request
- User is able to access the PC
- User closes the PC
- Notification sent to Corona server to close PC on behalf of User
- Corona server receives PC close request
- PCM retrieves the PC from its open container cache
- PCM checks if User is a guest
- PCM decrements the PC's guest.count
- PCM removes the user from the PC's list of team member
Required Functionality
ProjectConatiner
- Manage guest access counts
ProjectContainerManager
- Interact with PC and TeamMember to manage guest access
TeamMember
- Ability to manage transient users