This is a rethinking of the property function in v2.
Registrant view:
- When editing properties, a property displays a SCOPE
- Event - this property is applicable only to this event
- System - this property value is applicable to all events for this Registrant
Per-registrant configuration
reg_properties:
rid | cid | name | scope | value
Example properties entries:
- A registrant who is a staff member for a single event
1050 | 22 | Staff | Event | 1
- A registrant who never wants to receive email
1055 | NULL | EmailOK? | System | 0
Questions
- With the 'scope' thing, can we just say 'CID = null == system-wide scope?'
no row for a specific property would mean it would use the master default value
Configuration / master table view
- Setting up properties is similar to existing setup
config_properties
cid | name | type | default
Example config_properties
- A 'staff' property that is used in every event, defaulting to no
NULL | Staff | Boolean | 0
- A 'volunteer' property for event 55
55 | Volunteer | Boolean | 0
Questions
- There should be a series of 'global' properties that are part of CONGO, and are 'always' there.
Should these be hardcoded somewhere? Probably in the defaults for config_properties. Maybe a column in config_properties "immutable" or something.
- administrator - the person running the con
- staff
- deceased
- active (the more i think of this, the more i like it. it's better than 'deceased'.