Set Option: Model object or type-specific attribute
Controls whether the delimiter is a restricted character.
When set to TRUE, the current delimiter is no longer a restricted character for non-project object names. The delimiter is still restricted for versions, types, instances, and projects.
With this feature enabled, object parsing is done from right to left in the sense that the right-most delimiter character is taken to be the delimiter. As a practical matter, object identification is done by first attempting to identify a given string as a name, and if that fails, it is identified as name<delimiter>version. This capability is particularly an issue with create, move, and use.
Note: All databases in the same DCM cluster must use the same value for this attribute. Failure to synchronize this value may result in undesirable behavior similar to having objects with "~" in them, and changing the delimiter to a "~."
With the feature enabled, you can also create non-project objects with versions. However, you will also be unable to use ccm move to set a version on a renamed file. (You can work around this limitation by using the ccm attr command or the Properties dialog to change the version.)
This attribute can also exist on individual types. In this case, the database setting is overridden if the database setting is FALSE and the type-specific setting is TRUE.
These built-in types have allow_delimiter_in_name set to TRUE:
process_rule
processdef
saved_query
releasedef
project_grouping
folder_temp
The default is FALSE.
This option has these restrictions and effects:
- Project names cannot contain the delimiter. If a user attempts to create or migrate a project whose name contains the delimiter, it will fail with an error message.
- After turning on this option, the version can no longer be specified for the create operation in the GUI or CLI; it will always treat the object_spec as the name. (Before this change, you can specify both the name and the version when creating an object, for example, specifying foo-one would create an object named foo with version one. After the delimiter change, it will create an object named foo-one with version 1.) Otherwise, there is no other way to create an object whose name contains the delimiter; you would need to create it and then rename it.
- After turning on this option, CLI commands that use the object reference form name<delim>version will first try to find an object with that name, and if that fails, will try again without the part to the right of the delimiter. For example, if files named foo-one and foo both exist in the work area, and you specify foo-one, it will first look for a file named foo-one. Only if a file with that name is not found will it look for a file named foo with version one. You can still identify the other file (foo version one) using its 4-part name or the selection set reference form.
- After turning on this option, CLI commands will fail for objects that have the delimiter as the first character of the name, if the delimiter is - (dash or minus) because the delimiter is also the option delimiter. For example, the command ccm create -foo.c will fail.
For information about how to set model attribute options, see Setting model object attribute options.