It concerns me a little bit that the Fez code is relying on hard-coded
numbers for status (e.g., the publish step in the workflow sets the
status to 2). Yet these statuses can also be edited by the user--
which means someone could redefine or rename those.
Our suggestion is that this should become an array or a set of
constants (like an enum) so the named states could then be referenced
in the code, which would have the additional benefit of making the
code more readable.
I'm not sure the status definitions even need to be in the database--
this could be done pretty simply in config file, with a warning that
the first two states (unpublished & published) should not be
modified. Anyone who is adding states will probably have to be
making other code changes anyway, so they ought to be comfortable with
editing the config file.
Rebecca Sutton Koeser, Ph.D.