Package wt.admin

Provides classes to represent and manage AdministrativeDomain objects.

See:
          Description

Interface Summary
AdministrativeDomainManager The AdministrativeDomainManager is an interface that contains signatures of methods that retrieve and manipulate domain objects.
AdministrativeDomainManagerSvr

Supported API: true

Extendable: false
DomainAdministered DomainAdministered is the interface that objects with administrative behavior must implement.
 

Class Summary
AdminDomainRef The AdminDomainRef class encapsulates a reference to an AdministrativeDomain object.
AdministrativeDomain The AdministrativeDomain class represents the set of objects that are subject to the same administrative behavior.
AdministrativeDomainHelper The AdministrativeDomainHelper class facilitates access to the current implementation of the AdministrativeDomainManager interface.
AdministrativeDomainManagerEvent AdministrativeDomainManagerEvent encapsulates the events posted by an AdministrativeDomainManager.
AdministrativeDomainManagerFwd The AdministrativeDomainManager is an interface that contains signatures of methods that retrieve and manipulate domain objects.
AdministrativeDomainServerHelper

Supported API: true

Extendable: false
ClassnameCollationKeyFactory A collation key factory for classes.
CompareSystemAndUserDomainRulesR6ToR7 This MethodServer migrator reports on the differences between WTPrincipal-related access and notification rules in the global system domain and those in the global user domain.
CompareSystemAndUserDomainRulesR6ToR7.PolicyInfo A utility class that maintains all the grant and deny permissions for a given WTPrincipalReference and AccessSelector
CompareSystemAndUserDomainRulesR6ToR7.Server  
DomainAdministeredHelper The DomainAdministeredHelper class provides methods for manipulating the administrative domain reference information held by objects that implement the DomainAdministered interface.
DomainRefCollationKeyFactory A collation key factory for admin domain refs.
DomainReferenceSearch Search for a reference to the Administrative Domain listed.
Install Install is the class responsible for creating a basic set of installation information, containing: A default set of administrative domains to provide administration for System, User (personal) and Business information An Administrators group A default Administrator belonging to the Administrators group An access control rule granting the Administrators group all permissions to all object types in all domains An access control rule granting object owners all permissions to all object types in the User domain The names of the domains, the Administrator user, and the Administrators group can be set in the wt.properties file.
MigrateDomainAccess This migrator moves users into organization-specific domains, and updates their personal cabinets if necessary.
PolicyRuleMigrator PolicyRuleMigrator Windchill Release 6.2 changes the domain that access control, indexing and notification rules belong to from the System domain to the domain the rule is for.
ReparentDomainsMigrator Prior to R6, the parent of all domains was the global system domain.
Selector The Selector class represents the antecedents of indexing and notification policy rules.
StandardAdministrativeDomainManager The StandardAdministrativeDomainManager provides the default implementation of the AdministrativeDomainManager.
 

Exception Summary
AdministrativeDomainException Exception thrown when an error occurs during the processing of administrative objects.
PolicyRuleAlreadyExistsException A PolicyRuleAlreadyExistsException is to be thrown when an attempt is made to create an administrative policy rule that duplicates an existing rule.
PolicyRuleDoesNotExistException

Supported API: false

Extendable: false
 

Package wt.admin Description

Provides classes to represent and manage AdministrativeDomain objects.

The administrative domain manager is responsible for defining domains and assigning domains to business and system objects. Policies supported include access control (see the wt.access package), file vaulting (see the wt.fv package), indexing (see the wt.index package), and notification (see the wt.notify package).

Design Overview

An administrative domain can be regarded as the set of all objects that have the same administrative behavior. Administrative policies are defined for objects that belong to a domain. For an object to belong to a domain, its class must implement the DomainAdministered interface. A DomainAdministered object contains a reference to the domain to which it belongs.

Administrative Domain Model

The AdministrativeDomain class extends Item (from the wt.fc package) that is also DomainAdministered. That is, domains are themselves subject to administrative rules and belong to another domain. All domains are descendants of the root domain. . The AdministrativeDomain class implements the AdHocControlled interface (from the wt.access package) and the WTContained interface (from the wt.inf.container package).

External Interface

Access and manipulation of the domain of an object is accomplished by the DomainAdministeredHelper, which both defines and implements the API. The methods in this class are static. The methods for setting domains can be used only with objects that have not yet been stored in the database (persisted). The functionality defined in the AdministrativeDomainManager and AdministrativeDomainManagerSvr can be accessed through the helper classes AdministrativeDomainHelper and AdministrativeDomainServerHelper,respectively. Changing the domain of a persistent object causes the posting of PRE and POST events (see Event processing later in this section).

Business Rules

Four special domains are defined in the Site container during the installation process: the Root, the System, the Default and the User domains. These predefined domains cannot be deleted or modified (the names for these predefined domains are configurable through the wt.properties file). For more information about these domains and about administering domains, refer to the Windchill Business Administrator's Guide.

Changing the domain of an object is a valid operation and can be used to alter the administrative behavior of the object (for example, moving an object to the User domain gives the owner of the object unrestricted rights over the object).

All domain administered objects must belong to a domain. The domain should be assigned during object initialization (by the initialize method). Objects that extend the Item class are placed in the Default domain in the Item’s initialization. This can be overridden (or not) by the extending class. Failure to assign a domain to a domain administered object may cause runtime errors.

Event Processing

This service posts two events in case a change of domain is performed on a domain administered object that is persistent. These events are: PRE_CHANGE_DOMAIN and POST_CHANGE_DOMAIN.

The administration service listens for the following events:

PersistenceManagerEvent.PRE_DELETE - Listen to attempts to delete AdministrativeDomain objects, to veto deleting any of the pre-defined domains and any referenced domains.

PersistenceManagerEvent.INSERT and PersistenceManagerEvent.PRE_STORE - Listen to attempts to create AdministrativeDomain objects, to veto attempts to create domains in the Windchill PDM container with the same name and parent as one of the four predefined domains in the Site container.

PersistenceManagerEvent.PRE_MODIFY - Listen to attempts to modify AdministrativeDomain objects, to veto 1) attempts at renaming any of the pre-defined domains or 2) attempts at renaming domains in the Windchill PDM container that would result in a domain having the same name and parent as one of the four predefined domains in the Site Container.