Basic Customization > User Interface Customization > Constructing Wizards > Customizing Reusable Wizard Steps > Reusable Wizard Steps > defineItemAttributesWizStep > Customizations > Configure the Type Picker
  
Configure the Type Picker
The base type for the wizard is derived from an attribute on the InitializeItem tag or, if none, from the object type associated with the wizard action. (More about the InitializeItem tag later.) If you want to allow users to create either the base type or a subtype of the base type you would include a type picker in your wizard.
The list of types available in the type picker is typically determined as follows:
1. Compute the list of hard and soft subtypes of the base type. Soft subtypes are the instantiable subtypes defined for the base type in the given organization container.
2. Determine the default life cycle and initial life cycle state for the base type and each subtype based on the composite object initialization rules for the type in the given container.
3. Determine a default folder location context for the new object. This is done as follows:
4. If the renderer constraint “SelectGeneratedFolderByDefault” is defined in the composite OIRs for the base type or the user is creating a shared object from the shared-to container’s folder browser
Use the folder defined by the OIRs for the base type in the target container
If no OIR folder is defined, use the default cabinet for the target container
5. If no renderer constraint is defined and it is not a shared-to object
Use the folder selected in the launch context. This could be the folder checked in the folder browser table, the folder highlighted in the left pane of the folder browser, or the folder associated with the business object from whose info page the create action was launched.
If no folder can be determined from the launch context, determine the folder as shown under item i. above
6. Based on the default initial life cycle state and the administrative domain of the folder location, determine whether the user has create permission for each type. If not, filter that type from the list.
7. Display the remaining types in the picker.
The default value for the type picker is determined from a preference for some base types, as follows:
Base Type
Preference
WTPart
Create and Edit -> Part Create Default Type
WTDocument
Create and Edit -> Document Create Default Type
WTChangeIssue (ProblemReport)
Create and Edit -> Problem Report Create Default Type
WTChangeRequest2 (Change Request)
Create and Edit -> Change Request Create Defaualt Type
WTChangeOrder2 (Change Notice)
Create and Edit -> Change Notice Create Default Type
WTChangeActivity2 (Change Task)
Create and Edit -> Change Task Create Default Type
WTVariance (Variance)
Create and Edit -> Variance Create Default Type
For all other wizards, the base type is used as the default type.
When the user selects a type in the type picker, javascript is executed that refreshes the driver attributes panel below it and all following wizard steps. This is necessary because object type can affect which jsps are used for subsequent steps as well as the attribute input fields displayed.