Quick comments:
On disallowing of setting "disallow free text" when you have no entries:
I would argue that would go against the current interface, which
allows you to create asset statistical categories without entries (and
asset statistical categories have no free text option to begin with).
This is at least in part because there is no way to add entries until
the statistical category has been created.
Also, individual org units can have entries, so a consortia-wide
statistical category may not have any entries at the level you are
looking at, for example. Or you may want to provide the category, but
allow libraries to create the entries to fill it. Especially as
creating stat cats and creating stat cat entries are different
permissions, so the person creating the entries may not have rights to
make the stat cat itself.
On the "one default entry" stuff:
This may be best done as an inherited mapping of org unit, stat cat,
and default. This would allow different org units to have different
default entries, but still allowing a general consortium-level default
if a library hasn't picked one. This may also be best done for both
actor and asset stat cats, for multiple reasons.
My reasoning for org unit level defaults is that as each org unit can
have different entries. With no guarantee of consortia-wide entries
available, there may not be a single entry that *can* be the default
globally.
Other considerations:
In addition to providing a "disallow free text" option, a regex
validator for the free text might be useful. You could then say that
an existing entry has to be selected OR the free text has to match the
regex. This would allow, say, date entry in a specifically decided
upon format, say a "Friend of Library Until" category. The entries
could then include a "Permanent" or "Board Member" type option that
isn't subject to the date regex.
Finally, I have worked with both the statistical categories and editor
for them (adding the SIP Export options, for example) as well as the
patron editor (dynamic required fields and multiple validation
options) to be of help in getting this going. If you need assistance,
let me know.
Thomas Berezansky
Merrimack Valley Library Consortium
Quoting Scott Prater <[email protected]>:
I've created a proposal on the wiki to enhance Patron Statistical Categories:
http://evergreen-ils.org/dokuwiki/doku.php?id=dev:proposal:patron_statistical_categories
And a corresponding blueprint:
https://blueprints.launchpad.net/evergreen/+spec/enhanced-patron-stistical-categories
In summary, these enhancements are as follows:
* Allow administrators to set Patron Statistical Categories as
required fields;
* Allow administrators to set a flag that prevents users from
entering free text in a Patron Statistical Category;
* Allow administrators to set a default entry from the list of
fixed entries available in the Patron Statistical Category
Basically, the purpose of these enhancements is to improve the quality
of data entered in the categories. Reports generated from this data
may be used to inform funding decisions, so there's a great deal of
interest in making sure that the data is both comprehensive and
consistent.
I'm working with Bibliomation to implement these changes; our hope is
to have something working and ready to roll into the codebase by the
end of the calendar year. I'm new to Evergreen and the Evergreen
development community, and would appreciate any comments, pointers,
criticisms, etc. more experienced developers may have. In particular,
I understand that changes to the database schema are adopted very
cautiously. These enhancements entail the addition of three new
fields to the table actor.stat_cat -- if anyone has any questions
about those additions, or sees some potential problems with adding the
new fields, I'd love to discuss it.
thanks!
-- Scott