State changes are an essential part of the overall business process. There are 4 main possibilities:
1. The Manager of a Product or Library can use Set State.
2. Users can create a Promotion Request if they have Create permission. In general, Promotion Requests are routed to others for approval, via the workflow process associated with the Promotion Request. Following approval, the product data state gets changed by the system to the requested state.
Note: OTB, there are two promotion processes, and the user who creates the request selects one of them. One process requires approval; the other simply notifies selected users. This is sort of like "I gave myself a raise and I'm just letting you know." Pretty much no real business can use this. So, you have to also manipulate one or more preferences for Promotion. These map a workflow process to the target state (e.g. Released). See Promotion Preference Manager.
3. A document or Part could have an advanced lifecycle associated with it, such that a workflow process is started on creation (or possibly when it gets to another state). The workflow would include Set State robots which would set the state.
4. Full Windchill change management (Request, Notice, Task) can be used. Following final approval of the Change Notice, the data goes to the state configured in the Lifecycle with the Change transition.
This planning is much, much easier if you use a two-dimensional grid, with states along the horizontal, and Revisions along the vertical.