A+Proposal+for+a+Named+Group+and+Color+Manager

I'm going to write this up as a free standing utility program that performs only one function. But of course I would prefer that it be included in a bundled and comprehensive utility program. The proposal is for a Named Group and Color Coding Manager for RM5. This intent is to supplement the Named Group and Color Coding capabilities that are already in RM5. For example,
 * 1) It is possible to create a Named Group from a collection of individuals that are color coded. But it is not possible to create a color coding scheme from Named Groups.
 * 2) The criteria used to create a Named Group or to color code a collection of individuals does not apply to any persons or facts or changes made to the database after the criteria are applied.
 * 3) It is not possible to save the criteria that were used to establish a color coding or to save the criteria used to create a Named Group and later to reapply those criteria.
 * 4) It is not possible to document the purpose of a Named Group or of a color coding with a comment that is associated with the Named Group or color coding.
 * 5) It is not possible to establish a default color coding scheme for a database, to temporarily change some of the color coding in the database, and then automatically to reset the color coding back to the default.
 * 6) There are not timestamps maintained about a Named Group or a color coding to indicate when they were established or when they were last reapplied.
 * 7) It is not possible for the criteria used to define a Named Group or a color coding to include complete Boolean logic (AND, OR, NOT, and parentheses).
 * 8) It is not possible for the criteria used to define a Named Group or a color coding to apply two or more tests to the same fact. For example, the test "census date equal 1850" and the test "census place contains Tennessee" are not guaranteed to be applied to the same census fact.
 * 9) There are a number of criteria that would be useful to include in the definition of a Named Group or in the creation of a color coding that are not supported by RM5. Examples are that it is not possible from within RM5 to search for number of parents or number of children, and there are a number of source and citation fields that cannot be searched.

The intent will be to address all these issues.

Here follows a mockup of a proposed "main screen" for the utility program. The mockup assumes that an RM5 database has been opened and that the database already includes a number of named groups.



Note that one of the groups was created from within RM5 itself. Such groups will not include additional metadata needed by the proposed Group Manager.

The proposed Group Manager will need two additional tables in the RM5 database. A table called the GroupDefTable would contain the following data elements.


 * 1) GroupDefID - a numeric primary key that has no other purpose than to be a unique primary key.
 * 2) OwnerID - a unique foreign key that can be joined to RM5's own GroupTable and LabelTable.
 * 3) CreationDate - the date the Named Group was created.
 * 4) EditedDate - the date the Named Group was lasted edited.
 * 5) Comment - Descriptive text for the group (the area in yellow).
 * 6) Color - the color code to be applied to all the members of the group (if any). This data element is on the Edit Group screen below.
 * 7) ColorDefaultFlag - a flag to indicate whether this group and its color is a part of the default color scheme for this database. This data element is on the Edit Group screen below.

In order to edit the group criteria for an existing group, the user would double click one of the groups in the list, or would single click or scroll to one of the groups in the list and click the Edit Group button at the top of the screen.

In order to delete the group criteria for an existing group and to delete the group, the user would single click or scroll to one of the groups in the list and click the Delete Group button at the top of the screen.

In order to create a new group, the user would click the New Group button at the top of the screen, and the screen would look something like the following.



After entering the data for the new group, click Edit Group to bring up the Edit Group screen where the group criteria are entered.



This screen and the underlying GroupCriteriaTable are not fully formed in my mind just yet. Because this note is becoming so long, I'll return to it later and fill in more details of how this screen would work for entering the group criteria and how the underlying table will work. I'll also follow up with some more details of how the group definition process would interact with color coding.

Jerry