Basic Customization > User Interface Customization > Customizing HTML Clients Using the Windchill JSP Framework > Checkin/Checkout > Solution
  
Solution
Use the Checkin/Checkout common components with your object.
Prerequisite knowledge
To achieve this objective, you need to have an understanding of the following:
Windchill “work in progress” checkin/checkout concepts.
The actions framework in the Windchill client architecture.
Basic development involving HTML forms, JSP, and XML.
Procedure – Adding checkin/checkout actions to a business object
In the action model xml file that defines the action model with the menufor attribute for your object type add the following actions. This will provide checkin, checkout, checkout & download, undo checkout, replace content, and checkout & edit actions for your object. Note, only add checkout & download and replace content actions if you are adding these actions for an object that implements the FormatContentHolder interface and you expect it may have primary content.
<action name="checkin" type="wip"/>
<action name="checkout" type="object"/>
<action name="checkout_and_download" type="wip"/>
<action name="undocheckout" type="object"/>
<action name="replace_content" type="wip"/>
<action name=" checkoutAndEdit " type="YOUR TYPE FROM YOUR TYPE’S
ACTIONS XML"/>
Checkout and edit however requires additional coding. Create an additional action definition in the actions.xml file for your object type. Name the action “checkoutAndEdit” so that the validation framework will pick it up properly. Then set the url attribute to point to your wizards edit jsp file.
Example:
<action name="checkoutAndEdit">
<command
class="com.ptc.core.components.forms.EditWorkableFormProcessor"
method="execute" url="netmarkets/jsp/document/edit.jsp"
windowType="popup" /
</action>
Add the appropriate entries for this action in your rbinfo file (see actions framework documentation). In your edit jsp file you will need to add the following tag above the wizard declaration.
<%@ taglib prefix="wip"
uri="http://www.ptc.com/windchill/taglib/workinprogress"%>

<wip:autoCheckOutItem />
This will allow the wizard to checkout the object if the object is not already checked out.
* 
Using this tag on wizards other than edit or without a processor that is extending EditWorkableFormProcessor is not supported and may result in unstable code.