What is Orphan Control?
Applicable Versions: Single User Free, Single User Pro, Multi User Pro
The term “orphan” is colloquialy used to refer to child records whose parent records have been deleted. For instance, if you were to log time against a project and then delete that project, the associated time records would be orphans. They would reference a Project ID number that did not have a corresponding project.
CC Time offers a way to prevent the creation of orphans. When “Orphan Control” is turned on (from theSettings screen of the About tab) the software will prevent users from deleting parent records if they have children associated with them.
(Note that unless you add some security to CC Time, users can still navigate to the CCTimeData file and delete records by hand. Orphan control applies to deletions run through the CC Time interface. See the FAQ entry “How do I secure CC Time” for more information.)
For example, if Oprhan Control is “on” you would not be able to delete Projects that have Tasks associated with them (whether or not there is time logged against the Project). Similarly, you would not be able to delete users once they have logged any time. In all these cases you can mark the records “inactive: instead of deleting them. You can then use the “Show only active items” checkbox, available on most screens, to hide these inactive items so they don’t get in the way. You can further use an additional setting to “Prohibit Logging Time on Inactive Items.”
Note that Orphan Control does not apply to the deletion of cards. Since cards are really just filter collections, not “parent” records, per se, you can always delete a card, even if there is time which matches its filter critera. Remenber that in many cases, a given time record will fall under the filter criteria of more than one card.
You can also use the orphan control mechanism to test for your own record deletion rules and return dynamic messages when users attempt to violate those rules. Check out the “Orphan Control” and “Orphan Control Message” scripts in CC Time.