<?xml version="1.0" encoding="UTF-8"?>
<!--Arbortext, Inc., 1988-2015, v.4002-->
<!DOCTYPE pubsConcept PUBLIC "-//PTC//DTD PUBS DITA Concept//EN"
 "pubsConcept.dtd">
<?Pub UDT template _font?>
<?Pub Inc?>
<pubsConcept id="_ACL_configuration_management_50792" xml:lang="en"
xmlns:import="http://www.oberontech.com/import"
import:style="0_TopicSub"
import:map-object="2Heading_to_concept_in_conceptH1">
<title>Development Path ACLs</title>
<prolog>
<metadata><keywords>
<indexterm>ACLs<indexterm>variant sandbox</indexterm></indexterm>
<indexterm>variant sandbox</indexterm>
<indexterm>ACLs<indexterm>dev path</indexterm></indexterm>
<indexterm>dev path</indexterm>
<indexterm>ACLs<indexterm>development path and permission inheritance</indexterm
></indexterm>
<indexterm>development path and permission inheritance</indexterm>
<indexterm>development path<indexterm>permission inheritance</indexterm
></indexterm>
<indexterm>permission inheritance</indexterm>
<indexterm>permission<indexterm>inheritance<indexterm>dev path</indexterm
></indexterm></indexterm>
<indexterm>inheritance<indexterm>dev path</indexterm></indexterm>
<indexterm>dev path</indexterm>
</keywords></metadata>
</prolog>
<pubsConbody>
<p>Development path, or variant, ACLs follow the same model as a project
ACL; except they are applied to a variant on a development path.</p>
<note><p import:style="NoteTop">If the global default for Dev Path
Inheritance is set to false and no variant ACL is defined, a variant
Sandbox inherits its permissions from the top level, global <codeph
import:style="Literal8">mks:si</codeph> ACL.</p><p
import:style="NoteBody">If the global default for Dev Path Inheritance
is changed to true and no variant ACL is defined, the variant Sandbox
inherits its permissions from the master project in the tree.</p><p
import:style="NoteBottom">The Dev Path Inheritance policy set for
a specific development path overrides the global Dev Path Inheritance
policy.</p></note>
<p>To create a variant Sandbox, users require explicit permissions
specified through a variant ACL, unless the user already has all permissions,
such as an administrator has.</p>
<p>Using the CLI, you can set the permissions for a variant project
before creating the actual development path. From the <ph
conkeyref="text_variables/ProdName06"></ph>, you must create the variant
project in the <ph conkeyref="text_variables/ProdName05"></ph> before
creating the development path ACLs.</p>
<note type="tip"><p>When creating a development path ACL, remember
to assign the same name to the variant project so that the principals
and permissions can be applied by the system.</p></note>
<p>You can copy ACLs from the mainline or development path to another
development path that exists on the same project. The <uicontrol>Copy
Project Permissions</uicontrol> can be launched from the right-click
menu in the <menucascade><uicontrol>Configuration Management</uicontrol>
<uicontrol>Development Path</uicontrol></menucascade> permissions
view in the <ph conref="../common/text_variables.dita#text_variables/ProdName06"
></ph>. You can also copy ACLs from the <ph
conref="../common/text_variables.dita#text_variables/ProdName06"></ph> menu
bar <menucascade><uicontrol>ACL</uicontrol><uicontrol>Copy Project
Permissions</uicontrol></menucascade>. As the permissions view does
not provide the required project context, you need to select a project
in the <uicontrol>Open Project Wizard</uicontrol>.</p>
<p otherprops="Help">For more information, see <xref format="dita"
href="../int-getting_started/client_copy_project_permissions.dita"
scope="local" type="pubsConcept">“Copy Project Permissions”</xref
>.</p>
<p otherprops="Manuals">For more information, see “Copy Project Permissions”
in the <ph
conref="../common/text_variables.dita#text_variables/_Guide_Integrity_User_IM"
></ph>.</p>
<section id="_ACL_configuration_management_10929"
import:style="0_TopicSub2"><title>Development Path ACLs and Permission
Inheritance</title><p>Working with development path ACLs allows you
to provide a finer level of control over your projects. For example,
you could grant permissions to individual developers allowing them
to modify only the variant projects they work on. Permissions on the
main trunk could then be restricted to limit the types of operations
performed there.</p><p>For a development path, the default behavior
is to inherit all permissions from the master project. If the master
project does not specifically allow or deny a permission, the variant
project ultimately inherits its permissions from the <codeph
import:style="Literal">mks:si</codeph> ACL.</p><p>When first creating
a variant, you are presented with the same set of permissions as the
master project. You can further customize the variant ACLs as required
for your work environment. Whenever you attempt to change permissions
on an inherited ACL, you are prompted to confirm your choice.</p><p
>You can enable or disable permission inheritance behavior both at
the global level or for each individual development path ACL you create.</p
><p>When permission inheritance is set to true, permissions are inherited
from the master project in the tree. When permission inheritance is
set to false, permissions are inherited from the top level <codeph
import:style="Literal">mks:si</codeph> ACL.</p><table
import:table-style="Format A">
<tgroup cols="2"><colspec colname="1" colwidth="148.49423*"/><colspec
colname="2" colwidth="148.49423*"/>
<thead>
<row>
<entry colname="1" morerows="0" nameend="1" namest="1" valign="middle"
><p>Permission Inheritance</p></entry>
<entry colname="2" morerows="0" nameend="2" namest="2" valign="middle"
><p>Inherited From</p></entry>
</row>
</thead>
<tbody>
<row>
<entry colname="1" morerows="0" nameend="1" namest="1" valign="top"
><p>True</p></entry>
<entry colname="2" morerows="0" nameend="2" namest="2" valign="top"
><p>master project and then from <codeph import:style="Literal8">mks:si</codeph
></p></entry>
</row>
<row>
<entry colname="1" morerows="0" nameend="1" namest="1" valign="top"
><p>False</p></entry>
<entry colname="2" morerows="0" nameend="2" namest="2" valign="top"
><p><codeph import:style="Literal8">mks:si</codeph></p></entry>
</row>
</tbody>
</tgroup>
</table><note><p import:style="NoteTop">When development path permission
inheritance is set to true, the <ph
conkeyref="text_variables/ProdName04"></ph> queries the ACL database
for the user’s access permissions, working upwards through the variant
project tree name space structure. If no permissions are found explicitly
allowing or denying, the search resumes from the equivalent starting
point on the master project tree.</p><p import:style="NoteBottom"
>When development path permission inheritance is set to false, the <ph
conkeyref="text_variables/ProdName04"></ph> queries the ACL database
for the user’s access permissions, working upwards through the variant
project tree name space structure. If no permissions are found explicitly
allowing or denying, the search resumes in the <codeph
import:style="Literal">mks:si</codeph> ACL.</p></note><p>The global
default behavior for controlling development path inheritance is set
in the <uicontrol>Integrity</uicontrol> view under the <uicontrol
import:style="GUI">Permissions</uicontrol> section. When you choose <uicontrol
import:style="GUI">Global</uicontrol> and select <menucascade>
<uicontrol>Permission</uicontrol><uicontrol>Dev Path Inheritance</uicontrol>
</menucascade>, the policy for <codeph import:style="Literal">DevPathInheritACL</codeph
> is changed from the default <codeph import:style="Literal">true</codeph
> to <codeph import:style="Literal">false</codeph> allowing development
path permissions to be inherited from the project ACL. </p><p>To set
permission inheritance for an individual development path, highlight
the target ACL and select <menucascade><uicontrol>Permission</uicontrol>
<uicontrol>Inherit Permissions</uicontrol></menucascade> from the
main menu. To inherit permissions from the master project, choose <uicontrol
import:style="GUI">True</uicontrol>. To inherit permissions from the <codeph
import:style="Literal">mks:si</codeph> ACL, choose <uicontrol
import:style="GUI">False</uicontrol>. To reset to the default behavior
set for the global policy, choose <uicontrol import:style="GUI">Use
Global Policy</uicontrol>.</p><?Pub Caret 116?><note><p
import:style="Note">When creating a development path ACL, you cannot
grant the <codeph import:style="Literal8">CreateDevPath</codeph> permission
to any principal. The <codeph import:style="Literal8">CreateDevPath</codeph
> permission can only be allowed when working in reference to the
top level <codeph import:style="Literal8">mks:si</codeph> ACL or project
ACL.</p></note></section>
</pubsConbody>
</pubsConcept>
