Type: New Feature
Affects Version/s: None
Fix Version/s: 1.0
This functionality allows users to define new Groups of contacts, edit Group-level info, and view / modify membership lists for each group.
There are two type of groups:
- Static: membership is by explicit assignment. Contacts are 'in' a group solely based on the presence of records in the join table - crm_group_contact.
- Dynamic: membership is determined by matching contact properties to a saved search (sql query) - although members may also be explicitly assigned or excluded via entries in crm_group_contact.
- Groups may be "converted" from dynamic to static type. This is implemented by inserting a crm_group_contact record each currently 'matching' contact.
- Contacts may be explicitly EXCLUDED from a dynamic group. This is implemented by inserting a crm_group_contact record w/ status = 'Out' (same method as removing a member from a static group).
- Contacts may be explicitly INCLUDED in a dynamic group (regardless of whether they 'match' the associated query).
- Contact status relative to a group is retained when they are removed (status=Out, In/Out_date and In/Out_method fields give a history snapshot)
- Creating a New Group should be implemented as a multi-step wizard.
- Saved searches can also be used to retrieve lists of 'potential members' for a static group - both at group inception and subsequently to add more members.
- Group member 'Browse' should support 'Search within this group' (simple search is ok)
- Group member 'Browse' should support filtering by Status (e.g. show me all Pending members...)