Basic Customization > User Interface Customization > Constructing Wizards > Customizing Reusable Wizard Steps
  
Customizing Reusable Wizard Steps
Overview
You need to develop a wizard to capture user input and from that input create or edit a Windchill business object in the database. The wizard will have common steps that already exist in other wizards and should not be duplicated.
Background
Windchill provides many reusable wizard steps that can be configured and added to a custom wizard.
In many cases reusing a wizard step is as simple as adding the correct wizard step tag specifying the wizard step action to your wizard tag. This document is not intended to cover this simplest case. In some cases there can be additional information required by a step or additional customizations you may want to do on a step. This document describes a few available reusable steps that have some additional required information or customization options. This section details when and how to use these steps.
Scope/Applicability/Assumptions
Assume you have created a custom Windchill business object class or subtype and you want to develop a wizard that will allow users to create or edit one instance of that object type in the database.
This document describes common wizard steps that are available for reuse. Additionally, if your custom type extends an existing Windchill business class, such as WTPart, WTDocument, or WTChangeIssue, there may be components more specific to those classes that could or should be used instead of the components described herein. These class-specific components are built on top of the common components described in this document. A discussion of those class-specific components is beyond the scope of this document.
Intended Outcome
Add a preexisting step to the new wizard and configure the step.
Prerequisite Knowledge
To apply this best practice, you need to have an understanding of the following:
The Windchill framework for creating wizards, creating custom wizard steps, and processing wizard data. For more information see:
Building Wizards to Create a Single Object
Building Wizards to Edit a Single Object
These topics have multiple prerequisites of their own which you should also study. This document will build on this knowledge and provide additional information on the components available to help you create and process wizards for the specific purpose of creating a Windchill business object in the database.
Definition of Terms Used
Term
Definition
base type
A hard or subtype class that is the root type of the wizard's type picker. If the wizard does not have a type picker, this is the type of object that will be created. The base type is used to look up the correct JSPs for wizard steps that have different jsp variants for different subtypes until a specific type is selected by the user.
classification attribute
An attribute associated with a classification node that has been assigned to a part. Classification Attributes are generally specified and edited on a separate step from hard and global attributes.
Context
The container (Product, Library, Project, etc.) in which the object(s) are being created.
dependent attribute
An attribute whose value and/or display characteristics are wholly or partially determined by the value of another attribute (called the "driver attribute") via an object initialization rule (OIR), access control policy, or other mechanism.
driver attribute
An attribute whose value drives the value and/or display characteristics of another attribute (called a "dependent" attribute) via an object initialization rule (OIR), access control policy, or other mechanism.
hard attribute
An object attribute defined in a Java class.
hard type
An object type defined in a Java class. Hard types are typically created in java classes using annotations and may extend out-of-the-box Windchill business object classes.
object type
A Java class or subtype defining the attributes and behavior of the business object(s) being created.
global attribute
An attribute of the object defined in the Windchill Type and Attribute Management utility. These attributes are not defined in the Java business object class and are stored in database tables separate from the table for the business class.
subtype
An object type defined using the Type and Attribute Management utility rather than in a Java class. Subtypes may extend other subtypes but all have a hard type as their root type. The Literature object created for the examples at the end of this document is an example of a subtype.