| Discussion |
Keywords: Saver, Suggestion
Remote Name: 126.96.36.199
The functionid is the only thing that is repeated across all records comprising a given configuration. The "Category", like Title and Notes, corresponds to a generic Saver property. When the configuration is saved, these properties are saved, each in a single record of the config. There is a distinctive sequence number associated with each of these saved properties, but other applications (e.g. Job Control) should not generally make any assumptions about the internal details of the meta-file, since sequence numbers and state restoration commands are subject to change. Only the application itself and the underlying generic Saver classes need to keep track of sequence numbering conventions used in the state restoration metafiles.
I think the best solution to the problem of distinguishing templates from "live" configurations would be to use a 1-character reserved prefix, say "*", for template functionids. This makes everything easy, requiring no programming or metafile structure changes. If you need to increase the width of the functionid field, that's OK, because the programs have already been designed to avoid the assumption of a hard-wired functionid length. But I would first see if you can make do with the default width of 10, just to play it safe. If you must increase the functionid length, that would still be preferable to any other approach, such as the use of the Category as a way of identifying templates.
The problem with using Category, or anything similar, to identify a template config is now clearer to me, thanks to what both you and Nadya have pointed out. You don't want the result of cloning a template to look like another template. Only the functionid convention will avoid this problem. As for the use of Categories, the appropriate way to use this feature would be as a way of logically classifying configs, e.g. by job type, customer, region, and so on. If you use Categories that way, you can pick up the appropriate defaults when you clone the template. There is a fundamental difference between the template/non-template distinction and other types of Category assignments.