Status of relationships is not under the control of administrators
As set out in the question below, and the linked comments and answers in the CiviCRM Stack exchange, it is apparent that the status of relationship records is not always under the control of administrators, and nor is it explicit under what circumstances the nature of a given relationship might change.
I raised the question nearly two years ago, and since that time there have been a number of responses on the SE site, some of which I find quite surprising. What is evident is that there are circumstances where a given relationship becomes disabled without the explicit knowledge or consent of administrators. As far as I'm aware there are no settings to control these behaviours.
In my own case I look after a site where memberships are a key driver. The members are organisations, and the memberships are configured such than individuals with an employee/employer relationship have the benefit of membership. This includes inclusion on mailing lists which are driven by smart groups, access to member-only content, event discounts, etc.
What I'm seeing is that employee/employer relationships are often disabled, despite the fact that the team that manages the CRM very rarely uses start or end dates for relationships (we rarely have this information). So, when a relationship is created it should stay enabled until such time as it is manually disabled. We'll manually disable a relationship relatively rarely, when we get information that a person has changed jobs or retired, but this is really very infrequent.
What does happen a lot with our system is that records get merged. People register on the site for events, or sign up for a mailing list, etc., and provide inaccurate information which often leads to duplicate records getting created. So there is a regular day to day activity of spotting and merging duplicates. It is therefore my guess - and it is purely guesswork - that it is this act of merging which is leading to relationship records getting disabled.
What should happen:
If there are rules that are working in the background that are leading to relationships getting disabled, and the information in the Stack Exchange post suggests that there are, then these should be:
- Made explicit in the documentation, and
- Controls should be provided either in the UI (preferably), or via the civicrm.settings.php file, whereby site administrators can enable or disable these rules of behaviour.
- Where a suitably privileged user carries out an action that results in a relationship being disabled an on-screen alert should be displayed, with a link to enable the user to override that disablement.
If there are no rules or background systems that are driving these silent disablements, then there's a nasty bug.