Project Program
Project Program
Project and
Program
PLM00049 - 12.3
Contents
Programs
Programs organize data and implement access control based on program membership. Data assigned to
programs can be searched for and viewed in the context of the program and can be distributed across
multiple sites.
To work with programs, you must assign users to programs, set a program as the default program of
each user, set the program security and configure other program features.
Projects
Projects represent and control access to a particular collection of related data that may be accessible to
multiple organizations, such as project teams, development teams, suppliers, and customers.
Projects correlate groups of users, potentially at different physical sites, with the product data. In many
industries, it is typical for a site to own a lead program in the product development environment. Other
sites may share a project within the program or add projects to the program. Users must have access
privileges to the data that they own as well as to data assigned to the project that they work on that is
owned by other sites.
Note:
Users in the Project Administrator role can only manage
projects and programs that they own. They cannot manage
Enable Project and Program Project does not need to be enabled before you use it, but during
installation, this feature must be selected.
The system can be configured to display the Project application as
Program.
To do this, set the display name of the TC_Project business object in
the Configure your business data model in BMIDE to Program.
Note:
The Project application is automatically displayed as Program
when you install the ADS Foundation template.
Note:
You can log on to Teamcenter only once. If you try to log on to
more than one workstation at a time, you see an error
message.
Configure Project and Program You can set various options to:
• Specify whether BOM views and BOM view revisions are assigned
to the project or program when the items or item revisions are
assigned to the project or program.
• Only privileged team members or regular team members who are explicitly granted
ASSIGN_TO_PROJECT or REMOVE_FROM_PROJECT privileges can assign data to and remove data
from projects and programs.
The TC_project_validate_conditions preference controls which team roles and access privileges are
required to add and delete projects.
• Project and program names must be unique within your site. Projects and programs cannot have the
same name as any group at the site.
• Data can be assigned to or removed from projects and programs manually or automatically when the
data item is created, and items can be assigned to more than one project or program.
• Propagation rules define the associated data that is implicitly assigned to a project or program when a
primary item is assigned to the project or program.
• All items in a complete product structure can be assigned to a project or program using the
update_project_bom utility.
• Creation and maintenance of data can be restricted to within the context of a program.
Note:
When the program security attribute on a project is set to true, the project is considered to be a
program and is subject to program-level access rules.
Programs offer all the basic features of projects, but in addition you can:
• Control access to program data at a higher level than typically applied to project data.
Project Administrator role Teamcenter user with privileges to create and administer
in Project Administration projects and programs.
group
Users in the Project Administrator role can:
Note:
These privileges only apply to projects and programs
that the project administrator owns.
Team Administrator role in Project or program team members with privileges to modify
Project Administration project or program information. These privileges apply to the
group project or program metadata, not to the data assigned to
projects and programs.
Users in the Team Administrator role can:
Note:
You can designate multiple team administrators for
each project or program. This is often necessary to
balance resource management tasks for large projects.
Privileged team members Project or program team members with privileges to assign or
remove objects from their projects or programs.
Team members Team members (users) who do not have privileges to assign
objects to or remove objects from their projects or programs.
• Ownership is assigned to the user's current project or program. Users can change the current project
in their user session by choosing Edit→User Setting and selecting a project or program from the list.
• Users can be prevented from creating an object without an owning project or program. This can be
accomplished in two ways:
• Configure the autoAssignToProject extension in the Business Modeler IDE to automatically assign
objects to projects upon creation.
• Owning project or owning program can be used as a basis for controlling access to data.
• Once established, the relationship between an object and its owning project can only be broken if the
TC_allow_remove_owning_project preference is set to allow users to remove objects from owning
projects.
Data objects can be assigned to projects and programs in the following ways:
• Manually assigned to projects or programs by users who are designated as privileged team members.
Privileged team members include:
Note:
Additional project or program security can be achieved using the ASSIGN_TO_PROJECT and
REMOVE_FROM_PROJECT privileges. The exact behavior of these privileges is controlled by the
TC_project_validate_conditions preference.
• Automatically assigned to projects or programs when the object is created. When a new item revision
is created, it is automatically assigned to the project or program in which the user is currently
working.
Teamcenter administrators define which objects can be automatically assigned to projects and
programs using the Business Modeler IDE to configure the autoAssignToProject extension located in
the Extension Definitions folder under Rules.
• Automatically assigned to projects or programs when the primary object is assigned to the project or
program. Project and program propagation rules determine which secondary objects are assigned to a
project or program when a primary object type is assigned.
• My Teamcenter
• Change Manager
• Multi-Structure Manager
• Structure Manager
• Part Planner
• Content Management
3 Project or program definition and Displays information about the selected project or program.
rules
If the Definition tab is selected, the properties of the
project or program are displayed. If the AM Rules tab is
selected, the security rules for the project or program are
displayed. If the Libraries tab is selected, you can view
which data dictionaries are assigned to the project or
assign new dictionaries to the project.
These links appear in both the Project Administration window and the Smart Folder Administration
window.
Groups Filters the display of the organization tree or project member tree by
groups. You can search for a specific group in either tree by entering
the group name in the text box and clicking the Groups button .
Roles Filters the display of the organization tree or project member tree by
roles. You can search for a specific role in either tree by entering the
role name in the text box and clicking the Roles button .
Users Filters the display of the organization tree or project member tree by
users. You can search for a specific user in either tree by entering the
user name in the text box and clicking the Users button .
Clear Clears the search criteria and restores the organization tree or
project member tree to its previous state.
Refresh tree Refreshes the organization tree or project member tree and restores
it to its original state.
Definition Displays the Definition pane. Use this pane to create the project, to
assign project team members, and to designate privileged team
members.
AM Rules Displays the Access Manager Rules pane. Use this pane to apply access
rules to a project.
Note:
Project administrators only have access to the In Project branch of
the rule tree. You cannot modify other branches of the rule tree
from within Project. In addition, moving the In Project branch to a
different position in the tree requires Teamcenter administrative
privileges and must be done using the Access Manager application.
Libraries Displays data dictionaries and libraries that have been defined in the
Classification Admin application, and provides tools for associating these
libraries with specific projects or programs.
2 Smart folder tree Displays the smart folder hierarchy. The smart folder
hierarchy consists of top-level abstract folders and low-level
data-driven folders.
3 Filter tables Displays the set of filters that apply to the selected smart
folder hierarchy node.
Add filter Adds a new row to the filter table that is used to define additional
filters for data-driven folders. Additional filtering criteria can only be
applied to data-driven folders. Abstract folders in the hierarchy can
only apply a single filter criteria.
Remove filter Removes the selected row from either of the filter tables.
1. A project administrator is added to the Project Administrator role in the Project Administration
group by the Teamcenter administrator.
2. A project is created with specific groups, users or roles assigned as team members, privileged team
members, and team administrators.
4. As database objects are created, they are assigned to the project automatically or manually by
privileged team members.
2. Click Search .
Projects and programs matching the keyword are displayed in the tree.
Note:
If no projects or programs are found that match your search criteria, the Project tree pane is
empty.
To restore the tree display, click Reload .
Organization search
Use the search box above the tree on the left side of the Member Selection pane to search the
organization for users, groups, or roles to add as project members.
2. To... Click...
Search for a user in the organization The User button .
Search for a role in the organization The Roles button .
Search for a group in the organization The Groups button .
When you search for a role, the organization tree displays the role within context of the groups
with which it is associated.
Note:
If your search yields no results, the tree pane will be empty. Click the Refresh button or
the Clear button to restore the display.
Member search
Use the search box above the tree on the right side of the Member Selection to search the organization
for users, groups, or roles to add as project members.
2. To... Click...
Search for a user in the project or program The User button .
Search for a role in the project or program The Roles button .
Search for a group in the project or program The Groups button .
When you search for a user, the member tree displays the groups and roles to which the user
belongs. In the graphic above, Jena Rafferty is a project member both in her role as a Designer in
the Engineering group and as a Designer in the LMD group.
Note:
If your search yields no results, the tree pane will be empty. Click the Refresh button or
the Clear button to restore the display.
Click the Refresh button or the Clear button to restore the display.
You can define a new project or program by copying an existing project or program that has similar
characteristics to the project or program you want to define. This allows you to leverage existing
membership assignments, access rules, and associated data dictionaries (libraries).
1. In the Definition pane, select an existing project or program from the Project tree or the Program
tree.
Tip:
To find a project or program in the tree, type a keyword (project or program ID or name) and
click Find .
2. Type a new project or program ID in the ID box. (The maximum length for a project or program ID is
64 characters.)
3. Type a new project or program name in the Name box. (The maximum length for a project or
program name is 32 characters.)
Caution:
You cannot use characters such as , % * @, in project and program names.
4. Modify any of the project or program settings, such as team member assignments and access rules.
5. Click Copy.
Tip:
If the Definition tab is not displayed, click the Project Administration quick link.
3. In the Definition pane, type a unique identifier for the project or program in the ID box. (The
maximum length for a project or program ID is 64 characters.)
For consistency, the format of the project and program ID and name can be controlled by naming
rules.
4. Type a name for the project or program in the Name box. The name must be unique within your
site, and it cannot be the same as the name of any group at your site. (The maximum length for a
project or program name is 32 characters.)
Caution:
You cannot use characters such as , % * @, in project and program names.
Active Activates the project or program, which allows users to manage data within the
project or program.
Inactive Inactivates the project or program. Users can see the project or program, but
they cannot manage data within the project or program.
Inactive and Inactivates the project or program and removes it from the user's display. Only
Invisible project administrators can view the data owned by an inactive and invisible
project or program.
You can restrict a user from objects based on the category of the project. You can set different
permissions for each category of a project.
1. In the Definition pane, select an existing project from the Project tree.
2. Type a new project or program ID in the ID box. The maximum length for a project or program ID is
64 characters.
3. Type a new project in the Name box. The maximum length for a project or program ID is 32
characters.
Categories are defined in the Fnd0ProjectCategories list of values (LOV) found in the Business
Modeler IDE. If you want to change the listed categories, you can change the values in the LOV.
7. Click Create.
1. In the Project tree, select the program you want to create a project under.
3. Select the Inherit member selection from parent check box to inherit the members from the
program to the project.
The Parent box automatically displays the project name, and Project is selected.
You can add an existing project to a new program by creating the program and using Copy and Paste.
4. Select the project folder under the program you want to add it to.
When an existing project is pasted under a new program the project members' status changes:
• Existing project administrators on child projects are changed to project team administrators. The
parent program administrators are added to child project as project administrators.
• Existing project team administrators of the child project will remain as the project team
administrators.
• Privileged members of the child project are added to the parent program as privileged members.
• Team administrators of the child project are added to the parent program as privileged members.
• Regular members of the child project are added to the parent program as regular project members.
Team members can be interited from a parent program using the Project Administration window.
The Inherit member selection from parent check box is only enabled on projects that have a parent.
3. Click Modify.
Siemens Digital Industries Software does not recommend changing the project or program name or ID
after data has been assigned to an active project or program.
You must be a team member in the Project Administrator role in the Project Administration group to
set the status of a project or program.
1. Expand the Project or Program tree and select the project or program.
Tip:
If the Definition tab is not displayed, click the Project Administration quick link.
Option Description
Active Project or program data is visible and can be modified by project or program
team members.
Inactive Project or program data is visible to project or program team members, but the
data cannot be modified.
Inactive and Project or program data is invisible and cannot be modified. Only project
Invisible administrators can view the data owned by an inactive and invisible project or
program.
4. Click Modify for an existing project or program, or click Create for a new project or program.
1. Expand the Project or Program tree, and select the project or program that you want to delete.
Tip:
If the Definition tab is not displayed, click the Project Administration quick link.
3. Click Delete.
You can delete a project or program that has data assigned to it; however, you cannot delete a
project or program that owns data.
4. Click Yes.
Data dictionaries are central repositories for key building blocks or components of designs used in
typical functional and logical design activities. These repositories make it easy to reuse components in
multiple designs across projects or programs. Data dictionaries are modeled as libraries in the
Classification application and can be associated with projects or programs, which allows designers who
are project members to add data from the dictionary to function, logical, or physical model structures.
Tip:
Multiple data dictionaries (libraries) can be associated with a single project or program. In
addition, a single data dictionary can be associated with multiple projects or programs.
Data dictionaries are modeled as libraries using Classification classes. In this procedure, data dictionaries
are referred to as libraries.
3. In the Hierarchy pane, expand the tree until you locate the library that you want to associate with
the selected project.
4. Select the library in the hierarchy, add it to the pane on the right side of the window, and click the
Save button located between the panes.
The library (data dictionary) is now associated with the project. Designers who are project members can
add data from the dictionary to model structures while working in Systems Engineering or Structure
Manager.
1. In the Member selection area of the Definition pane, locate the users in the Organization tree.
Tip:
You can search for users by entering the user name (or partial name and wildcard characters)
in the box and clicking the Find users button .
If your search yields no results, the tree pane will be empty. Click the Refresh button or
the Clear button to restore the display.
3. After team members are assigned to the project or program, you can:
Note:
Only project administrators can designate a project or program team administrator.
4. Click the Create button if you’ve added users to a new project, or click the Modify button if you’ve
added users to an existing project.
• The user named john is to be added to both projects as a nonprivileged member. This user has the
Designer role in the Engineering group.
• The user named jane is to be added to both projects as a privileged member. This user has the
Manager role in the Engineering group.
Argument Values
-projects Proj1,Proj2
-members Engineering/Designer/john
-privileged_members Engineering/Manager/jane
The workflow administrator uses the PROJ-assign-members workflow handler to specify the projects
and members using the properties on the custom form attached to the workflow template.
Hierarchical group behavior applies to the assignment of users to projects and programs. If you select a
group that has subgroups, all users in the parent group and subgroups are assigned membership in the
project or program.
Note:
If a member is added to that group in the Organization application, the same user becomes a
member of a project. In turn, if a member is removed from that group in the Organization
application, the same user is removed from a project.
If a group is added to a project, all members in the group will be added to the project. Users in a
group cannot be removed from the project/program. If a group member is explicitly added to the
project, they can be removed from the project. If a role is added to the project, then all group
members under the role are explicitly added to the project. Group members in a role can be
removed from the project.
1. In the Member Selection area of the Definition pane, locate the group in the Organization tree.
Tip:
You can search for the group by typing the group name (or partial name and wildcard
characters) in the box and clicking the Find groups button .
If your search yields no results, the tree pane will be empty. Click the Refresh button or
the Clear button to restore the display.
The group appears in the table of selected members at the right of the Member Selection pane.
3. After team members are assigned to the project or program, you can:
Note:
Only project administrators can designate a project or program team administrator.
4. Click the Create button if you’ve added users to a new project, or click the Modify button if you’ve
added users to an existing project.
If a role is added to a project, you are explicitly adding those members in that role at the time of the
addition.
1. In the Member Selection area of the Definition pane, locate the role in the Organization tree.
Tip:
You can search for the role by typing the role name (or partial name and wildcard characters)
in the box and clicking the Find roles button .
Teamcenter displays all roles matching the search criteria. The roles are displayed in context
of the groups to which they belong.
If your search yields no results, the tree pane will be empty. Click the Refresh button or
the Clear button to restore the display.
The role appears in the table of selected members at the right of the Member Selection pane.
All users in the role are added as members of the project or program.
3. After team members are assigned to the project or program, you can:
Note:
Only project administrators can designate a project or program team administrator.
4. Click the Create button if you’ve added users to a new project, or click the Modify button if you’ve
added users to an existing project.
Team administrators manage resources for projects and programs by assigning or removing users as
resource needs change. Depending on the size of your projects/programs and the needs of your
organization, you may choose to designate a single team administrator or to designate multiple team
administrators.
Designating multiple team administrators allows you to spread the burden of administrative tasks,
which can be considerable for large projects. For small projects you may also want to designate multiple
team administrators to ensure coverage in the event that your primary team administrator is
unavailable.
2. Go to the Definition view and locate the team members (in the project member tree in the lower-
right of the view) who will be team administrators.
You can search for users, groups, or roles within the project member tree.
If your search yields no results, the tree pane will be empty. Click the Refresh button or the
Clear button to restore the display.
3. Select the team members, right click, and choose Select a project team administrator.
You can select individual users from different groups and roles or you can select all users in a group
or all users in a specific role.
The project member tree is updated, the icon is displayed next to the user’s name, and Team
Administrator is displayed in the Status column of the tree table.
Designating team members as privileged is one step in the process of granting access to users to allow
them to assign data to and remove data from projects and programs.
2. Go to the Definition view and locate the team members (in the project member tree in the lower-
right of the view) who will be designated as privileged users.
You can search for users, groups, or roles within the project member tree.
If your search yields no results, the tree pane will be empty. Click the Refresh button or the
Clear button to restore the display.
3. Select the team members, right click, and choose Set Privileged Users.
You can select individual users from different groups and roles or you can select all users in a group
or all users in a specific role.
The project member tree is updated, the check mark icon is displayed next to the user’s name, and
Privileged is displayed in the Status column of the tree table.
Project administrators with DBA privileges can extend the default security rules, which grant read access
to project or program data to members of the project or program team, on a project-by-project or
program-by-program basis.
Note:
Project administrators with DBA privileges only have access to the In Project() –> Projects
branch of the rule tree.
• Grant or deny access to a particular group of users by applying the Owning Group condition.
• Grant or deny access to groups of users based on the group's categorization as internal (OEM) or
external (supplier) by applying the Owning Group Has Security condition.
Note:
This rule is applied by default to any object assigned to an active project.
• Grant or deny access to users based on their membership in a project by applying the Is Project
Member condition.
• Grant or deny access to users based on their membership in a program by applying the Is Program
Member condition.
• Deny users access to data if the owning program is not the active program in the user's session by
applying the In Current Program condition.
• Deny users access to data if the owning program is inactive by applying the In Inactive Program
condition.
• Deny users access to data if the owning program is invisible by applying the In Invisible Program
condition.
• Grant or deny access to program data by applying the Is Owned By Program condition.
The Access Manager rule tree delivered as part of the standard Teamcenter installation includes the
following rules related to programs and projects:
The Is Project Member(true) –> Project Objects rule specifies whether the user's membership in the
project is evaluated. This condition is true only when the user is a current member of the project.
Note:
The Is Project Member(true) –> Project Objects rule can only be modified by an administrator
using the Access Manager application. It cannot be modified from the Project application.
The Project Objects ACL grants project administrators and project team administrators privileges to
modify projects in which they are members. These privileges apply to the project metadata, not to the
data assigned to projects.
Regular project
member
Administrator project
member
Team Admin project
member
Privileged project
member
World
Note:
You can modify the Project Objects ACL to meet the project access requirements at your site.
In Project rule
The In Project() –> Projects rule grants access to data assigned to projects. This default rule is
applied to any object that is assigned to an active project.
The Projects ACL grants read privileges to the data in a project, as follows.
Read
Project Teams
The Project Teams accessor gives all team members read privileges to the data in a project. For
example, if the Design, Validation, and Documentation groups are selected as a project team, the
Project Teams accessor grants privileges to all members of each group; therefore it is not necessary to
use the Group accessor to grant privileges to each group individually.
The project administrator can create or modify project security rules to meet the requirements of a
specific project by creating a new named ACL for the project or by adding rules under the In Project
condition in the rule tree. Project administrators can modify rules using Project.
Note:
Only an administrator with privileges to use Access Manager can change the placement of the In
Project rule in the AM rule tree. They can also modify the order of the child nodes of the In
Project branch of the rule tree.
The Is Program Member(false) –> Not Program Member rule denies read access to users if the user
is not a member of the owning program or shared program.
The Not Program Member ACL denies read access to the data in the program, as follows.
Read
World
The World accessor denies read access to users if the user is not the member of the owning program or
the shared programs.
Note:
This rule evaluates to true when the object is owned by a program and the session user is
member of the object owning program. Program is basically a project with “program level security”
turned on. When the autoAssignToProject extension is configured and a program is set in the
session, then any object created in that session is owned by that session program. This makes the
Is Progam Member condition apply to the object. It evaluates to true if a given session user is a
member of the program.
The In Current Program(false) –> Not Current Program rule denies write, delete, change, and
export privileges to users if the owning program of the data is not the active program for the user's
session.
The Not Current Program ACL denies the privileges to the data in a program, as follows.
Read
World
The World accessor denies write, delete, change and export privileges to users if the owning program of
the data is not the active program for the user's session.
The In Inactive Program (true) –> Inactive Program rule denies write, delete, change and export
privileges to users if the owning program of the data is in the inactive state.
The Inactive Program ACL denies write, delete, change and export privileges to the data in the
program, as follows.
Read
World
The World accessor denies write, delete, change and export privileges to users if the owning program of
the data is in the inactive state.
The Is Invisible Program (true) –> Invisible Program rule denies read access to users if the owning
program of the data is in the invisible state.
The Invisible Program ACL denies read access to the data in the program, as follows.
Read
World
The World accessor denies read access to program data if the program is in the invisible state.
The Is Owned By Program()–>Projects rule grants or denies access to data based on program or
project ownership.
The Projects ACL grants read access to the data in the program, as follows.
Read
Project Teams
The Is Owned By Program rule can be configured to Enable the exchange of Aerospace and Defense
program data between databases. Exchanging program data requires that the user initiating the import
or export is a member of the program to which the objects being exchanged are assigned.
Configure evaluation of rules that include the Role in Project and Role in
Projects of Object accessors
You can set the AM_PROJECT_MODE preference to configure how the system considers the user's roles
in active projects when evaluating access rules that use the Role in Project or Role in Projects of Object
accessors.
• Evaluates the user's roles in the context of the current project. The user's current project is the project
specified for the active Teamcenter session.
Note:
To view a user's current project, choose Edit→User Setting.
This preference enables the AM evaluation of Role in Project of Object accessors to be effective on the
Roles that are in the sub-group level in Projects.
The prerequisite is the corresponding Role In Project accessor object exists (In order to have the Role In
Project accessor object, at least there has to have either a Group that contains such Role added to the
Project Team directly, or a Group Member with such Role directly added to the Project Team).
Example
It is required to have the Role In Project accessor object created for "r0" in "testproject". The object is
created either by adding the Group which contains the Role directly to the Project Team, or by adding
any Group Member which has the Role to the Project Team. In this case, the Group "global" contains
the role "r0", which is directly added to the Project Team.
We are expecting the "u1" to be able to access the data that's assigned to the Project "testproject".
Item 000022 has been created by the tcadmin user and assigned to "testproject".
Note:
The session Project of "u1" needs to be set as "testproject" (or any Project that's assigned to the
object the User is expecting to have access to).
The access is granted based on the AM rules defined for Role in Projects of Object "r0".
You can set the TC_project_validate_conditions preference to specify how the ASSIGN_TO_PROJECT
and REMOVE_FROM_PROJECT access privileges are validated in conjunction with privileged project
membership.
• Users who are privileged project members can assign objects to or remove objects from projects.
• Users who are either privileged project team members or who have specific ASSIGN_TO_PROJECT
and REMOVE_FROM_PROJECT privileges can assign objects to and remove objects from projects.
• Users who are members of the project, but who are not privileged team members, must have
ASSIGN_TO_PROJECT and REMOVE_FROM_PROJECT privileges to assign objects to and remove
objects from projects.
• Users who are privileged team members and also have ASSIGN_TO_PROJECT and
REMOVE_FROM_PROJECT privileges can assign objects to or remove objects from projects.
• This preference is not included in your Teamcenter installation. You must add it to the database.
• The TC_project_validate_conditions preference has no effect on which projects are displayed in the
Teamcenter interface. Therefore, it is possible that users will see projects displayed in the interface,
for example in the User Settings dialog box, that they do not have access to.
Project categories allow you to control access to objects in a project without using access control rules.
Objects can be added to category and then the administrator can define a rule for that specific category.
Changing the category of a project is a small and easy change that affects all project objects without
changing the AM rule tree.
1. To see the available default categories in the Project application, click the arrow in the Project
Category box.
Note:
These categories are defined in the Fnd0ProjectCategories list of values (LOV) found in the
Business Modeler IDE. If you want to change the listed categories, you can change the values
in the LOV.
2. In the Business Modeler IDE, open the Extensions\LOV folders and double-click the
ProjectCategories list of values.
3. To add a new category, click the Add button to the right of the table and type the new value. (You
can also remove the default values and add completely new values, if desired.)
4. Click Finish.
5. The Project Category box in the Project interface is defined by the fnd0ProjectCategory property.
To see how the categories list of values is attached to the Project Category box, open the
TC_Project business object, click the Properties tab, and scroll to the fnd0ProjectCategory
property in the table. The Fnd0ProjectCategories list of values is shown as attached to this
property in the LOV Attaches table.
Note:
If you want to create your own set of project categories in another list of values, you can
attach your custom LOV to the fnd0ProjectCategory property and use it instead of the
Fnd0ProjectCategories LOV.
6. To save your changes to the template, on the menu bar choose BMIDE→Save Data Model.
Then package the template and use Teamcenter Environment Manager to install the packaged
template to your server.
7. To see the new category in the Project application, click the arrow in the Project Category box.
The following example demonstrates how ABC Company configures access privileges that vary for a
single item object based on the project category and the user in the current session. ABC Company
configures one set of privileges for users who are listed in the Supplier category and configures another
set of privileges for users who are listed in the Internal category.
The administrator of ABC Company uses the Business Modeler IDE to set up the desired categories for
the projects:
The administrator then uses the Has Project Of Category condition to create the following rules to
check access. By calling out this condition, the administrator can search for this specific condition and
see where to apply it.
The following example shows how you can categorize a project under category and give access
permission to that category.
8. Login as myuser_2
Note:
Search will return zero objects because it was restricted by Access Manager.
Note:
Search will return item because it is accessible to myuser_2.
• Users must be assigned to more than one project or program before you can set a default
project or program. If users are only assigned to one project or program, that project or program
is their default project or program.
1. In the Project or Program tree, select a default project or program for the user.
2. In the Member selection area of the Definition pane, right-click the user in the Selected
Members tree, and choose Set Default Project or Set Default Program.
• Project and program IDs are case sensitive and must match exactly across sites. Siemens Digital
Industries Software recommends that you duplicate projects and programs across sites before
attempting to share project or program data.
• Users, groups, projects, and programs must be replicated at all sites that share project or program
data. You can use the dsa_util utility to replicate users and groups. Projects and programs must either
be replicated individually, using the Project or Program application or using the create_project utility,
which enables you to create projects or programs individually based on command line input or in
batch using input from a text file.
• When an object that is assigned to a project or program is exported, the explicitly assigned ID of the
project or program is exported along with the other data associated with the object. When that object
(replica) is imported at the receiving site, it is assigned to the project or program with the same ID. If
an imported object is assigned to multiple projects or programs, it is assigned to the corresponding
projects or programs at the importing site.
Note:
If no matching project or program ID is found at the importing site, the import operation
proceeds. Teamcenter does not issue an error message.
• When a replicated object is imported to a remote site by a user who is not a privileged team member,
the value of the TC_multi_site_project_member_bypass preference determines whether the object
is assigned to the project or program. If the value of the preference is true, the replicated object is
assigned to the defined project or program upon import. If the value of the preference is false, the
replicated object is not assigned to the project or program upon import.
Note:
The TC_multi_site_project_member_bypass preference is not included in your Teamcenter
installation. You must add it to the database.
• Configuring naming rules to control the ID and name format when projects are created.
• Setting preferences that control different aspects of project and program behavior.
• Configuring how the assignment of secondary objects is handled when a primary object is assigned to
a project or program.
• Configuring the autoAssignToProject extension (using the Business Modeler IDE) to automatically
assign objects to projects when they are created.
• Configuring the list of values displayed for the property of an object based on the project that the
object is assigned to.
• Restricting the creation of data to within the context of a project or program by setting the
CreateDataWithNoActiveProgram global constant.
Naming rules are created and attached to project properties using Configure your business data model
in BMIDE.
Teamcenter administrators can configure Teamcenter to implicitly assign related objects to a project or
program when the primary object is assigned to a project or program.
For example, a propagation rule can be defined to assign datasets (secondary objects) to a project or
program when it has a specific relationship to an item revision (primary object) assigned to the project
or program. This is level-one propagation.
Note:
Level-one propagation implicitly propagates forms when the dataset in which they are contained
is assigned to a project.
The secondary object propagation rules are defined by relation type and apply to any secondary object
associated with a primary object by one of the included relation types. By default, the following relation
types are included for propagation:
Specifications
Manifestations
AltReps
Affected Item
Attaches
Solution Item
The propagation rules are valid when the following actions take place in Teamcenter:
• When an item or item revision is assigned to a project or program, the related objects are also
assigned.
• When a related object is cut from the object assigned to the project or program, the related object is
removed from the project or program.
• When an attachment (related object) is pasted to an object, the attachment is assigned to the project
or program to which the primary object is assigned.
• When an imported object (replica) is assigned to a project or program, the associated secondary
objects are also assigned to the project or program according to the propagation rules in effect at the
receiving site.
Generally, you propagate secondary items that are related to the primary item by a Specifications,
Manifestations, Attaches, or AltReps relationship. Secondary items related to primary items by
Requirements and References relationships generally do not need to be implicitly propagated to the
project or program.
Objects contained in a product or manufacturing structure can be assigned to or removed from projects
or programs in batch mode by running the update_project_bom utility.
Note:
Only objects that were added to the project or program using the utility can be removed using the
utility.
The utility can be used to assign or remove objects at either the level-one or level-two propagation level.
Level-one propagation processes BOM objects and their attached datasets. The following structure
(BOM) represents the focus of level-one propagation:
Item
Item revision
Dataset
This structure can be nested at multiple levels within a BOM. The depth to which the utility processes
the structure is determined by the –depth argument. In addition, the utility provides arguments that
allow you to specify the type of object, either item or item revision, to be used for level-one propagation,
the revision rule by which the BOM should be configured, and the unit number, effectivity date, and ID
of the end item associated with the revision rule. Variant rules can also be applied to the structure
before propagation.
Note:
Objects assigned to a project or program as part of level-one propagation are implicitly assigned to
the project or program. Therefore, any change to the relationship between the primary and
secondary objects is reflected in the project or program.
Level-two propagation processes dependent objects related to the datasets associated with level-one
objects. The following data model is supported for level-two propagation:
Item
Item revision
Dataset Relation type Item revision
Dataset Relation type Dataset
Dataset Relation type Item
Note:
Dependent objects assigned through level-two propagation are explicitly assigned to the project or
program. Objects that are explicitly assigned to a project or program must also be explicitly
removed. If the BOM object to which the secondary object is related is removed from the project
or program, the dependent object remains assigned to the project or program.
Argument Values
-assign_projects Proj1,Proj2
-remove_projects Proj3,Proj4
The workflow administrator uses the PROJ-update-assigned-projects workflow handler to specify the
projects using the properties on the custom form attached to the workflow template.
Teamcenter administrators can configure Teamcenter to automatically assign certain types of objects to
a project or program when the specified objects are created by privileged team members.
• Item and item revision subtypes, such as engineering changes and documents
• Forms
• Datasets
For example, Teamcenter can be configured to assign new item revisions to the current project or
program of the user who creates the new item revision.
Note:
Your current project or program is defined in the User Settings dialog box. You can choose
Edit→User Setting to change your current project or program.
Use the Business Modeler IDE to configure the autoAssignToProject extension. This extension defines
the type of objects that are automatically assigned to the user's current project or program when the
specified object is created. When you assign an object to a project automatically, the project becomes
the Owning Project.
Note:
To be able to remove an object from the owning project, add the
TC_allow_remove_owning_project preference and set it to true, which allows you to right-click
the object and choose Project→Remove.
Because the owning_project attribute is assigned only during object creation, you cannot set or change
the owning_project attribute on objects that are already created. To assign the owning project for
newly created objects, you must set the following:
• Configure the autoAssignToProject postaction extension on the create operation of the business
object.
• Make certain the user is a member of any of the object’s projects, not necessarily associated with the
owning project.
Also, you can create propagation rules in the Business Modeler IDE to:
• Automatically assign objects to projects. This rule copies property values from one object type to
another object type using a relationship or a property reference when a certain operation occurs (for
example, at checkin).
• Control the propagation of security data (project assignments, ADA licenses, and Classification
attributes).
The autoAssignToProject extension automatically assigns the selected workspace object to the user's
current project, as defined by the work context or user settings.
The following table describes the types, operations, and extension points for which the
autoAssignToProject extension is valid.
Configuring the autoAssignToProject internal extension for a business object has implications on the
project propagation rules. Project propagation rules determine which secondary objects are assigned to
a project when a primary business object is assigned. When there is a conflict between a propagation
rule and the execution of the autoAssignToProject extension, the extension takes precedence.
Note:
• If a current project is not specified for the user, this extension is ignored and the object is not
automatically assigned. In addition, when the autoAssignToProject extension is configured for
an item or ECO, the project name is preselected in the Assign to Projects page of the item or
ECO create, revise, and save as dialog boxes.
• If you want users to be able to remove objects from an owning project, you must create the
TC_allow_remove_owning_project preference before using the autoAssignToProject
extension. If this preference is not set, objects assigned to owning projects cannot be removed
using the Project→Remove command.
The following points must be considered when implementing the autoAssignToProject extension:
• The autoAssignToProject extension applies only to newly created objects; whereas, propagation of
related objects to projects occurs whenever a relation between two objects is created, modified, or
deleted.
• The autoAssignToProject extension explicitly assigns objects to projects; therefore, the objects can
only be removed from the project by explicitly right-clicking the object in the Teamcenter rich client
and choosing Project→Remove.
• Propagation rules implicitly assign secondary objects to projects. Therefore, when the primary object
is explicitly removed from the project, the secondary object is also removed from the project.
The following scenarios illustrate the relationship between extensions and propagation rules when
assigning objects to projects.
type S related by the Requirements is not specified in the propagation rule list, the
relation. secondary object is not assigned to the project.
The autoAssignToProject extension is Both the primary and secondary object are
configured for types P (primary object) and automatically assigned to the project based on the
types S (secondary object). In addition, the configuration of the extension, resulting in an
Requirements relation is defined as a explicit assignment rather than the implicit
propagation rule. The user creates an assignment that occurs when an object is assigned to
object of type P and an object of type S. a project based on propagation rules.
After creating the objects, the user
attaches the secondary object to the
primary object using the Requirements
relationship.
This feature restricts creation of the following data types (and subtypes of these data types):
• Item
• Item revision
• Dataset
• Collaboration context
• Identifier
Other data types, such as folders and forms, are not restricted by the
CreateDataWithNoActiveProgram global constant.
To allow data creation outside the context of a program, set the global constant
CreateDataWithNoActiveProgram to true.
These conditional lists of values (LOVs) are defined in the Business Modeler IDE. The conditions can only
be defined using the owning_project, project_list, owning_user, and owning_group project
properties.
Smart folders:
• Provide a mechanism for configuring arbitrary subdivisions of data within a project based on
functional and subfunctional units.
• Allow you to filter project data to only the subset of data that is relevant to the project members.
• Maintain the context of the project family and program to which the individual projects belong.
Note:
The project administrator must be a member of the dba group to be able to administrate project
smart folders.
Filtering is applied using the Project application, and the filtered view of project data is presented to
users in the My Projects pane in My Teamcenter.
There are two types of smart folders: abstract smart folders and data-driven smart folders.
Abstract folders:
• Can be nested.
• Can be placed anywhere above or below the project folder in the hierarchy.
Note:
Smart folders are pseudofolders, they are not physical folder objects in Teamcenter.
• Properties by which objects (items) in projects are associated with folders in the hierarchy.
• Represents high-level functional units, such as programs and associated program families.
• Provides context and is visible to all users who are members of projects within the hierarchy.
Program A
Program B
Each branch in the hierarchy is represented by a list of values (LOV) that specifies subbranches in the
hierarchy. The Project Top Level Smart Folders LOV acts as the root of the hierarchy. It defines the
branches in the hierarchy by specifying the LOV associated with each branch.
To create the project top-level smart folder hierarchy shown above, you must:
• Create three exhaustive string LOVs, beginning with the LOVs representing the branches.
• Specify the Project Top Level Smart Folders LOV as the value for the ProjectTopLevelSmartFolders
global constant.
This enables the display of top-level smart folders in Project.
Note:
The LOV limit is 32 characters for LOV names.
1. Create the Program A list of values (LOV), which represents the Program A folder in the hierarchy.
3. Create the Program B list of values (LOV), which represents the Program B folder in the hierarchy.
5. Create the Project Top Level Smart Folders list of values (LOV), which represents the root of the
hierarchy.
6. Add the following values to the Project Top Level Smart Folders LOV:
Program A
Program B
These values connect the Program A and Program B branches to the root of the hierarchy.
7. Specify the Project Top Level Smart Folders as the value of the ProjectTopLevelSmartFolders
global constant.
• Are generally custom properties defined by creating a new form and adding a compound property
rule to display the properties from the form on the item object.
The following process is used to associate items with a program smart folder or a program family smart
folder:
2. Expose the program and program family attributes on the item object.
3. Assign values to the properties of the items that you want to filter.
Note:
Filtering is based on a combination of smart folder, source type, property, and value. Multiple
filter criteria can be applied to data-driven driven smart folders; however, only one filter
criteria can be applied to an abstract smart folder.
The project smart folder hierarchy can be used in the context of a top-level smart folder hierarchy or
independently of a top-level hierarchy.
T467–Side Fittings (Abstract folder representing a subfunctional unit within the project.)
T0247–Frame Backlit Glass (Data-driven folder that displays filtered project data.)
T0248–Frame Frontlit Glass (Data-driven folder that displays filtered project data.)
L678–Side Fittings (Abstract folder Abstract folder representing a subfunctional unit within the project.)
L0395–System Fuel Feed (Data-driven folder that displays filtered project data.)
To create the project smart folder hierarchy shown above, you must:
• Create an exhaustive string LOV with values derived from the TC_Project.project_id reference class.
The following example shows how to set up projects using smart folders and how to reference the
project_id when creating LOV's.
3. Add one classic LOV "SF9ProjA" and add two values "SmartFolder1" and "SmartFolder2".
4. Add one classic LOV "SF9ProjB" and two values "SmartFolder3" and "SmartFolder4".
Note:
User name and password are required to login to the server.
9. Select "ProjA" from the list and click AddSub LOV, select "SF9ProjA" LOV.
10. Select "ProjB" from the list and click AddSub LOV, select "SF9ProB" LOV.
13. Select Global constant named ProjectSmartFolders and set the value to "SF9ProjectSF".
A project or program hierarchy that defines the abstract and data-driven folders used to filter project or
program data based on object type and attribute is created in Business Modeler IDE. This filtering
controls what is displayed when users access their project or program in the My Projects view, and it
enables them to easily locate data in large projects and programs.
After the folder hierarchy is defined in Business Modeler IDE, you can choose object types, properties,
and property values to filter data for display.
You can also filter project or program data in the absence of a smart folder hierarchy by applying filters
within a project or program.
Note:
The ability to use smart folders to structure projects is available in the rich client environment only.
Note:
If a smart folder hierarchy is not defined, only the project or program objects are displayed in
the tree.
3. Select a smart folder that you want to use to apply filtering criteria.
The smart folder name appears in the filter table beneath the check box.
6. From the Property list, select a property corresponding to the object type.
When the project or program hierarchy is evaluated, the smart folder funnels project or program
data of the specified type and property value to the user's project or program display.
7. Continue down the tree, selecting folders and applying object types and properties as filtering
criteria.
The cumulative filter criteria is displayed in the table at the bottom of the window.
8. When you reach the leaf node (data driven folder) that displays the project or program data, you
can define additional filter criteria as follows:
The folder name appears in the filter table beneath the check box.
d. From the Property list, select a property corresponding to the object type.
e. Click Add a filter button to add a new row to the filter table that is used to define
additional filters for data-driven folders.
Note:
Additional filtering criteria can only be added to data-driven folders. Abstract folders in
the hierarchy only accept a single filter criterion.
f. In the new row of the table, select the object type and property.
When setting values to filter for user and group properties, you can filter project data for the
logged-on user or group by setting the value to $USER or $GROUP. In addition, you can filter
data based on properties that have a null value by entering $NULL.
The filter settings are applied to the project. In the My Projects view, the data is displayed
according to this filter criteria.
You can click the My Projects link in the navigation pane to view your projects and associated data. This
view is determined by the project administrator.
The My Projects view is similar to My Teamcenter views but with the following differences:
Note:
The Apply filters dialog box lets you apply filtering based on source types, properties, and
values.
You select a project from the hierarchy to display information in the other My Projects panes.
• Summary
The summary view consists of two tabs:
• Project Data
Displays the filtered objects assigned to the selected project.
• Team
Displays the project team associated with the selected project.
Note:
The content of the My Projects view varies when you install CPG.
• Multiple filter criteria can be applied to a data-driven smart folder . When the multiple filter criteria
is applied, all data that meets the criteria appears under the project or program.
• The TC_UI_SmartFolder_JoinOperator system preference applies the filter criteria between different
filters on data-driven smart folders. The TC_UI_SmartFolder_JoinOperator preference is not provided
OOTB but can be created if required. If you do not create a preference, the default filter criteria
applied between multiple filters is OR.
By default, AND is applied between the filters of abstract folders and data driven folders. Following is
an example of how smart folder filters are applied:
By default the filter criteria for any non-string, runtime and compound properties is AND. If one of the
filters defined contains a non-string/runtime/compound property, the filter criteria is always AND.
If a run time property is defined in the filter, the filter criteria applied is ALWAYS.
1. Click My Projects in the Quick Links section of the navigation pane in My Teamcenter.
2. In the My Projects view, expand a project object to view the data associated with the project.
Note:
Objects are displayed according to the project smart folder hierarchy configuration defined
by the project administrator and/or by any filters that you apply.
If a smart folder hierarchy is configured for your project, you see folders when you expand
your project. Expand these folders to reveal your project data.
The Summary view shows details of the project object. The contents of the Summary view vary
according to the type of object selected.
4. Click the filter button to apply a filter to refine the list of objects for the selected project.
6. Choose filter criteria by clicking the Source Type, Property, and/or Value cells and selecting a
value from the list.
For example, you can add a filter to display the project data owned by the Engineering group.
Note:
You can remove rows from the filter table by clicking the Remove the selected filter button
. Click the Clear the filters button to remove all values from the table.
The list of objects in the My Projects view is updated to reflect the applied filters.
Note:
The filters you apply remain until you remove them. However, you cannot save a filter
configuration and retrieve it for future use.
Asia-Pacific
Americas Suites 4301-4302, 43/F
Granite Park One AIA Kowloon Tower, Landmark East
5800 Granite Parkway 100 How Ming Street
Suite 600 Kwun Tong, Kowloon
Plano, TX 75024 Hong Kong
USA +852 2230 3308
+1 314 264 8499