Basic Customization > User Interface Customization > Constructing Wizards > Building Wizards to Create a Single Object > Limitations
  
Limitations
When laying out the steps and attributes of a Windchill object creation wizard, it is important to keep in mind the interdependencies between the object type, container context, organization context, folder location, default life cycle, and, possibly, other attributes of your new object. These interdependencies can result from:
type definitions
object initialization rules (OIRs)
access control policies (ACLs)
Type Definitions
Many wizards allow a user to create one of several object subtypes derived from a given base type. You can define soft subtypes and global attributes in the Attribute and Type and Attribute Management utility at the organization or site level. This means that the organization container of the object must be known before the list of available object types is displayed and the input fields for global attributes are rendered. Also, the default type for some Windchill business types is determined by preferences which can be set at the container, organization, and site levels so these must also be known
Access Control Policies
The object types which a given user has permission to create are defined by the access control policies for the administrative domain to which the object belongs and by ad hoc rules. Administrative domain is typically, although not always, determined by the object’s folder. In addition, access rules can be further refined based on the initial state of the default life cycle for the object type.
Object Initialization Rules
Object initialization rules are defined by object type at the site, org, and/or container levels. Such rules can dictate whether or not the server assigns an attribute’s value or it is entered by the user; what the default value of an attribute is, if any; whether the value is editable; and other display characteristics of an attribute. Attributes for which OIRs are defined in the out-of-the-box product include:
Organization
Number
Name (variant parts only)
Folder location
Life cycle template
Team template1
Versioning scheme
These OIRs may be modified or deleted by customizers and additional OIRs for other attributes may be written by customizers. These actual and potential interrelationships between properties are illustrated in the following diagram, where the shaded boxes represent wizard elements.
As you can see from this diagram, the relationships between various object properties can become complex and circular. For example, to display an input field for folder location you must know the default folder set by the OIR, which requires knowledge of the type of object being created. However, to display a picker with the available object types you must know the administrative domain, which is determined by the folder.
This document will refer to attributes whose values affect the values of other attributes as “driver attributes.” The affected attributes will be called “dependent” attributes. Driver attribute values must be determined “upstream” of any attribute values dependent on them. By “upstream” we mean either from the wizard launch context, entered by the user on a previous wizard step, or, in some cases, entered by the user in a table or panel on the same step but above that of dependent attributes. Any time a driver attribute value is changed the downstream parts of the wizard must be refreshed if they contain dependent attributes and have been preloaded. (see Loading the wizard step content when it is visited for information on preloaded and non-preloaded steps.)
The exact nature of the interrelationships between attributes depends on how a site defines its OIRs and access control policies. The wizards delivered by PTC are set up to gather attribute information in an order consistent with the access control rules and OIRs defined out-of-the-box and with anticipated common customizations. They make certain assumptions about how a customer site has set up its OIRs and ACLs. These include the following:
A site has OIRs defining the default life cycle for different object types
OIRs are only defined for base types such as WTPart or WTDocument and not defined differently for subtypes of the base types
If these assumptions do not hold or your site introduces additional attribute dependencies via its OIRs or access control policies, the layout of wizard steps and attributes may need to be customized to ensure that driver attributes are always upstream of their dependent attributes.