There are three ways to create groups.
Smart Groups are one of the most powerful features of CiviCRM. However, there are frailties in the system.
Regular groups are just a list of contacts in the databases. Smart Groups were later added, and perhaps for performance reasons, or perhaps to serve as replacements for regular groups, Smart Groups were implemented also as lists in the database. This is known as the “Group Cache”.
Because membership in the Smart Group can change based on any records associated with a contact, the Group Cache needs to be updated regularly. This means that the more groups that need to be updated, the longer the time will be that a group goes between updates. Keeping the number of smart groups in the system low, will allow for updating groups frequently.
Another weakness in the smart group architecture is that there are no protections against deleting a group that is part of the definition of another group. This again, is an argument for keeping the total number groups in the system small, and not using a smart group in the definition of another when the properties desired to filter on can be declared explicitly.
Creating a smart group that filters on another group increases the complexity of the smart group definition and increases the chance of encountering bugs. The smart group system is a pretty amazing feat. Don’t push your luck. Parent-of and Include/Exclude smart groups are the only type of definitions identified so far that require another smart group in the definition, and that is still not always true. Think twice before specifying a smart group in your smart group filter. A regular group is fine to use.
Not groups of children, but groups organized as a sub-set of another “Parent Group”.
Child groups should be removed and avoided to maintain performance of the system.
CiviCRM has a flawed implementation for rebuilding groups when a group is marked as a child of another group.
Child/Parent relationships are managed on the child group. Go to the group settings and remove the parent group.
The recommended technique for creating groups of parents of children, is also a work-around that causes the group to appear empty. See the section on “Parents of” Groups for the description of the work-around technique, which is also generally a good technique and not just a work-around.
When creating a Parent-of Group, there is a bug that presents under the following circumstance:
Known Issue: Exporting a Parent-of group contains the children and not the parents. This is caused by having a search defined that uses the “Display Results as: Related Contacts”.
Work-around: You will have to use the default “Display Results as: Contacts” and instead, use a Relationship filter and target group. NOTE: this also has known issues. If you get no results for your search when you are sure that you should, you will have to reset the form and re-enter your filters.
Agree on a convention for naming groups that indicates the degree of care needed before deleting or updating. And then follow up to ensure that Chapter Leaders are using the conventions.
A smart group is good when you want contacts to automatically be added to a group.
A good example of when you might use a smart group, but really shouldn’t, is when you want to base a mailing off of a criteria that is not going to change before you send the mailing. Instead, perform your search, and use the search action to create a new mailing.
To create a group of the Parents of children, use the “Display Results As” option in the advanced search and select “Related Contacts”. The Group to filter on is then the children and no group filter should be used in the “Relationship” options of the group search.
This is probably the only way to identify contacts that DO NOT have a certain characteristic.
I see a lot of groups getting created to target contacts that have not paid a fee. Perhaps this does not need to be a smart group if scheduling mailings is not the primary motivation. The benefit of the smart groups is you could schedule a reminder email to be sent at the end of the week. You know that some contacts will pay in between scheduling the mailing, and when it is sent. If however, you don’t expect a significant change in the list of contacts before the mailing goes out, then the group can be treated as static. It could work like this: