In Windchill (v9.1 and v10.2 at least, possibly earlier), in the Preference Manager, under the Revise category, there is an option for "Allow Override on Revise". This allows the user to specify any revision (after the current revision, one cannot go backwards) when revising an object. For example, If you are revising a Revision B, you could not go back to A, but you could jump directly to M, N, or O. If you are currently using a file-based or state-based versioning schema where some of your revisions are flagged for 'legacy="true"', this option will also allow you to manually set the revision to a legacy revision. This has been described as "working as intended".
In our situation, we sometimes have to migrate data in without a through clean-up being possible. This means that our schema must contain I, O, Q, S, X, and Z in the schema, but we do not want users to be able to select them after the initial migration of objects into Windchill. We set those revisions in our schema as legacy revisions by using the legacy="true" flag.
Our suggestion is to add an overrideable warning that would occur if the following are true:
The Preference Manager > Revise > Allow Override on Revise = Yes
File-based or State-based versioning is being used
Users attempt to revise an object and manually input a state where the legacy="true" flag is set in the versioning schema
The warning would warn the user that the version that they have selected is intended for legacy purposes only, and would then presumably ask them if they want to reset the revision:
If the user answers "yes" (they want to change the revision), they will be brought back to the Revise window. If they fail to change the revision, or they change it to another legacy revision, the warning will repeat.
If the user answers "no" (they do not want to change the revision), the object will be revised to the legacy revision.