Currently, the source for each part is under a directory whose name is the part name:
stepmod/data/modules/<module name>
for modules, or:
stepmod/data/application_protocols/<AP name>
for APs.
Renaming a directory in CVS is tedious and error-prone. Furthermore, part names occur in many places throughout STEPMOD, both within the part source directory, and in global files. As a result, it is very difficult to rename a part.
Rather than trying to rename a part "in place", users generally find it more reliable to run mkmodule to create a new part and then copy and merge files over from the old directory. But even that is difficult and error-prone.
One possible solution would be to put each part under a directory whose name is a non-human-readable identifier generated by the system at the time the part is created:
stepmod/data/modules/<module id>
stepmod/data/application_protocols/<AP id>
or even:
stepmod/data/<part id>
The identifier should not be the part number, because even that can change. It could be a UUID.
Another possible solution would be to provide a tool to rename a part.
Logged In: YES
user_id=1135568
Originator: NO
Another possible solution is to give each document (ballot/module/ap/resource) it's own project and to keep stepmod as the project for the non-data non-ballot items in stepmod.