A ContactList is an abstract base type of XML element. Its purpose is to provide various mechanisms for supplying a list of email addresses to other components in the system, especially for DeliveryByEMail. The concrete implementations are:
- ContactListXML - which supports an XML based arbitrary list of contacts, entered via a simple form.
- ContactListGroup - which manages a list of contacts based on actual users within a given system-defined group.
To support contact lists within your system:
- Create a new subtype of XML named ContactList. This is an abstract base with no real content; it has no schema.
- Create a new subtype of ContactList name ContactListXML.
Define a schema for it and load plugins/schemas/contactlist/SchemaContactListXML into it - Create a new subtype of ContactList name ContactListGroup.
Define a schema for it and load plugins/schemas/contactlist/SchemaContactListGroup into it - Assign appropriate permissions.
NOTE that read permission for visitors is often highly desired so that the contact list can be used as source of email addresses
You can now drop instances of an appropriate contact list into various other components in the system. In particular, Surveys and Documents (with their corresponding DeliveryByEMail) are typical users of a contact list. And a ContactListXML can server as a simple web-based rolodex.