# Multi-Project Access Rights

## Key Features

### Record Access
Select current/active Job&Project To gain access to the Multi-Projects Access Rights module, a user who logs in to Agile e6 has to select a job function (respectively a project). The selected project initially is the current/active job (project).
A user can select from All assigned Jobs: all job functions a user is assigned to are displayed for selection Jobs with currently displayed Projects: only those job functions are displayed for selection that belong to the currently displayed projects as defined in the Projects to display list.
The access (view) on objects is initially limited to those which belong to the current project the user has selected (including subordinate projects) when logging in to the Multi-Project Access Rights module. In the diagram above USER-3 has selected Project-3 as the current project thus granting access (view) to the documents D3, D6, D7, D8 and D9.
Projects to display A user can be assigned to several projects via different job functions. However, when selecting a current project, only this project (including subordinate projects) and the objects assigned are displayed. In order to gain access to additional projects a user is assigned to, a function is provided that allows to select any of these projects for display. For example, in the diagram above USER-5 is assigned to both Project-4a and Project-4b. Having selected Project-4b as the current project, Project-4a and the objects assigned are not displayed. Only Project-4b is listed as the project that can be displayed. When activating the checkbox for Project-4a, this project and its assigned objects will be displayed in addition to Project-4b. The current project is always displayed in this list and cannot be deactivated! Only those projects can be selected for display a user is assigned to via a job function! Please note that the DataView manager is not subject to any access limitations. Therefore, the "Projects to display" and "Select current Job" functions don't apply to the DataView manager!
Suppress Inheritance In some cases it may be required to deny a user access to a subordinate project and its assigned objects. This is done by means of the so-called "Suppress Inheritance" function. In the example below, the access to Project-4a is suppressed. As a result, USER-7 doesn't have access on Project-4a. Please note that the "Suppress Inheritance" function can only be performed by a user with manager privileges! In the example above only USER-4 (as Project Manager) can suppress the inheritance on Project-4a. USER-4 has to be assigned to Project-4a via a job function. Otherwise, as a consequence, the view on Project-4a would be surpressed for USER-4 and for USER-7. Since then Project-4a wouldn't be accessable any longer, there was no chance to restore the "Suppress Inheritance" setting for any user assigned to the project. In this case only the DataView Manager would be able to restore the settings!
Global Visibility Objects assigned to a project are only displayed for those users that have access to this project (or a higher-level project) due to their job function. In some cases it might be desirable to grant all users access to a specific object. This is done via the activation of a so-called "View_all flag" on this object. Once this flag is activated, the object will be globally visible for all users. Subordinate objects of an object with activated View_all flag are also displayed.
Members tab On each project mask there's a Members tab displaying the users that are assigned to the project via a job function. Project-specific job functions can be easily defined within the Project Form.

##

### Modifying Project-Object Assignments
Project-specific working offers different ways of editing project-object assignments. When creating an object, the object is automatically assigned to the currently active project and thus integrated into a project structure. However, project-object assignments can be later edited with the following fuctions:
Assignment to additional project Objects that are assigned to a specific project can be assigned to further projects thus enabling other users to view the objects. In the example above, document D2 has been assigned additionally to Project-3. Besides User-2 now User-3 is also able to view D2.
It is only possible to assign an object to an additional project if the user is assigned to this project via a job function and if this project is activated for display!
Assignment to different project Objects can be assigned to a different project. In this case the previous project assignment will be deleted. In the example above, document D5 is assigned to a different project (Project-4b). The previous document-project assignment (D5-Project-4a) will automatically be deleted. Now User-5 has only access to D5 when being logged in to Project-4b.
Delete project-object assignments Project-object assignments can be deleted, thus limiting the view on projects and the objects assigned for any user.
It is only possible to delete project-object assignment that have been created by assigning an object to an additonal project. It is not possible to delete the project-object assignment that was set up when creating the object!
Change job or project during a session A user can switch between projects he/she is assigned to via a job function. In this case all open masks are closed. The selection of a new project is done in the Job Selection window (View>Filter>Job/Position). This window is identical to the one used after logging in.
Define/select a reference project Reference projects are projects that can be used as template for similar projects. Objects or object structures assigned to reference projects can be transferred to the new project. Any project that a user has access to may be used as a reference project. Once a user has defined and selected a reference project, the records of the reference project will be displayed in addition to objects of the current/active project.