| 1 | = Enterprise Directory Record Lifecycle (LDAP_REG.STATE) = |
| 2 | Original author: Beth Mercer - 20090108 |
| 3 | |
| 4 | This document introduces the concept of record lifecycle as implemented in the Enterprise |
| 5 | Directory (EDIR) through its batch processes. Records receive an initial state when first |
| 6 | created after which state may be changed. Possible states are recorded in LDAP_REG_STATES |
| 7 | and vary by record type (see the query report_state_counts) as well as by stage of |
| 8 | processing. As of 20080107, possible states are these: |
| 9 | |
| 10 | ||= STATE =||= DESCRIPTION =|| |
| 11 | || A || PEOPLE ENTITIES - ACTIVE RECORDS || |
| 12 | || B || PEOPLE ENTITIES - BAD RECORDS || |
| 13 | || b || PEOPLE ENTITIES - FLAGGED FOR BAD PROCESSING || |
| 14 | || D || DEPARTMENT ENTITIES - ACTIVE RECORDS || |
| 15 | || E || PEOPLE ENTITIES - EXPECTED RECORDS || |
| 16 | || G || GROUP ENTITIES - ACTIVE RECORDS || |
| 17 | || I || PEOPLE ENTITIES - INACTIVE RECORDS || |
| 18 | || i || PEOPLE ENTITIES - FLAGGED FOR INACTIVE PROCESSING || |
| 19 | || N || PEOPLE ENTITIES - FLAGGED FOR DIRECTORY RECORD CREATION || |
| 20 | || O || ROUTING ENTITIES - ACTIVE RECORDS || |
| 21 | || P || ALL ENTITIES - PURGED RECORDS || |
| 22 | || p || PEOPLE ENTITIES - FLAGGED FOR PURGE PROCESSING || |
| 23 | || R || RESOURCE ENTITIES - ACTIVE RECORDS || |
| 24 | || S || PEOPLE ENTITIES - SPONSORED RECORDS || |
| 25 | || X || FLAGGED FOR EXCLUSION FROM BATCH PROCESSING || |
| 26 | |
| 27 | ''NOTE: ''With one exception, transitional states are lowercase. The state N, though |
| 28 | uppercase, is a transitional state establish early in the evolution of lifecyle processing. |
| 29 | If someone had the time to change the dependent code, changing N to n would be desirable. |
| 30 | |
| 31 | People records have the most complex lifecycle, as reflected by number of possible states, |
| 32 | because peoples' relationships with the University are the most changeable. Automated batch |
| 33 | processes have evolved to address that complexity and rely on the various possible states |
| 34 | for people records. More about them later is in this document. |
| 35 | |
| 36 | DEPARTMENT, GROUP, RESOURCE and ROUTING RECORDS |
| 37 | =============================================== |
| 38 | When department, group, resource and routing records are first created, they are given a state |
| 39 | reflecting the type of record. The only other supported (by batch processing) state is P for |
| 40 | purged. |
| 41 | |
| 42 | STATE DESCRIPTION |
| 43 | ----- ------------------------------------------------------------ |
| 44 | D DEPARTMENT ENTITIES - ACTIVE RECORDS |
| 45 | G GROUP ENTITIES - ACTIVE RECORDS |
| 46 | R RESOURCE ENTITIES - ACTIVE RECORDS |
| 47 | O ROUTING ENTITIES - ACTIVE RECORDS |
| 48 | P ALL ENTITIES - PURGED RECORDS |
| 49 | |
| 50 | So, a group record is given a state of G when created. That state is changed to P when purged. |
| 51 | The initial state of G is reestablished if a previously purged record is restored. The same holds |
| 52 | true for department, resource and routing records. |
| 53 | |
| 54 | D | G | R | O when department, group, resource and routing records created |
| 55 | P when purged |
| 56 | D | G | R | O if purged record subsequently restored |
| 57 | |
| 58 | Department records are created via two processes: a monthly batch update process driven by |
| 59 | changes to OIR's BOR table (see UPDT_unit_changes) and the EDIR Seed Department form. Department |
| 60 | records are deleted and restored by the same processes with certain restrictions. The EDIR Seed |
| 61 | Department form will only delete and restore "faux" records - those created via the form. The Seed |
| 62 | Department form will not delete those department records originating from the BOR table. |
| 63 | |
| 64 | Group, resource and routing records are all created, deleted and restored via the corresponding |
| 65 | AUTHSERV or EDIR forms (Seed Group, Seed Resource and Seed Routing) |
| 66 | |
| 67 | PEOPLE RECORDS |
| 68 | ============== |
| 69 | For people records, the initial state reflects a subcategory of people records (A for records matched |
| 70 | to Banner with active employee or student affiliation, E for records matched to Banner for which |
| 71 | active employee or student affiliation is expected but does not yet exist, S for records with no |
| 72 | match in Banner [generally thought of as "guest accounts"]). |
| 73 | |
| 74 | STATE DESCRIPTION |
| 75 | ----- ------------------------------------------------------------ |
| 76 | A PEOPLE ENTITIES - ACTIVE RECORDS |
| 77 | E PEOPLE ENTITIES - EXPECTED RECORDS |
| 78 | S PEOPLE ENTITIES - SPONSORED RECORDS |
| 79 | |
| 80 | Aside from signifying a subcatetory of people records, state on people records is also used for |
| 81 | batch process control. |
| 82 | |
| 83 | A state records are subject to record aging and will be flagged for inactivation by the EDIR |
| 84 | Banner Extract process when the record no longer meets the active affiliation test. Inactivated |
| 85 | records are present but hidden in EDIR. The EDIR Banner extract process is the primary source |
| 86 | of people records with an initial state of A. However, the AUTHSERV Sponsor Account form can |
| 87 | also restore previously purged records. Those restored records have an initial state of A and |
| 88 | will be inactivated due to lack of active affiliation unless subsequently sponsored. |
| 89 | |
| 90 | E state records are exempt from inactivation processing. Their state is changed from E to A by |
| 91 | the EDIR Banner Extract process once the record meets the normal extract criteria. A now obsoleted |
| 92 | AUTHSERV form was the only source of people records with an initial state of E. The current AUTHSERV |
| 93 | Sponsor Account form is now used to sponsor regular accounts as well as guest accounts making the |
| 94 | E state obsolete. |
| 95 | |
| 96 | NOTE: As of 1/8/2009, there were still 10 EDIR records with a state of E. |
| 97 | |
| 98 | S state records are also exempt from inactivation processing. State changes from S to A only when |
| 99 | sponsorship is revoked. The AUTHSERV Sponsor Account form is the only source of people records |
| 100 | with an initial state of S. |
| 101 | |
| 102 | There are additional LDAP_REG values that reflect alternate and transitional states for people |
| 103 | records. |
| 104 | |
| 105 | STATE DESCRIPTION |
| 106 | ----- ------------------------------------------------------------ |
| 107 | I PEOPLE ENTITIES - INACTIVE RECORDS |
| 108 | B PEOPLE ENTITIES - BAD RECORDS |
| 109 | P ALL ENTITIES - PURGED RECORDS |
| 110 | N PEOPLE ENTITIES - FLAGGED FOR DIRECTORY RECORD CREATION |
| 111 | i PEOPLE ENTITIES - FLAGGED FOR INACTIVE PROCESSING |
| 112 | b PEOPLE ENTITIES - FLAGGED FOR BAD PROCESSING |
| 113 | p PEOPLE ENTITIES - FLAGGED FOR PURGE PROCESSING |
| 114 | |
| 115 | One step in the EDIR Banner Extract process flags people records with the transitional states of N |
| 116 | (new), i (inactive) or b (bad). A final step generates directory LDIF based on the transitional |
| 117 | states and then changes the state to A (active), I (inactive) or B (bad) accordingly. |
| 118 | |
| 119 | NOTE: The fact that the N state is upper case rather than lowercase is an unfortunate by-product of |
| 120 | how lifecycle processing developed for EDIR. |
| 121 | |
| 122 | The process of purging the directory of inactive and bad people records (see UPDT_process_purge) |
| 123 | has not been run since 2007. When the purge is performed, LDAP_REG is changed to the transitional |
| 124 | state of p (purge), directory LDIF is generated and then state is changed to P (purged). |
| 125 | |
| 126 | There is one special people record state not previously mentioned - X (exclude). |
| 127 | |
| 128 | STATE DESCRIPTION |
| 129 | ----- ------------------------------------------------------------ |
| 130 | X FLAGGED FOR EXCLUSION FROM BATCH PROCESSING |
| 131 | |
| 132 | The state X, which is a kludge that addressed a security/privacy issue that cropped up for one |
| 133 | user's record, must be established and removed manually. Records with a state of X are excluded |
| 134 | from processing by the EDIR Banner Extract. If state is X, the EDIR Banner Extract process neither |
| 135 | updates the registry with Banner data nor changes the record state. |
| 136 | |
| 137 | NOTE: As of 1/8/2009, there was only 1 EDIR records with a state of X. |
| 138 | |
| 139 | WARNING: Place no reliance on state X without first investigating how it is currently used. |
| 140 | |
| 141 | SAMPLE PEOPLE RECORD STATE FLOWS: |
| 142 | |
| 143 | <<regular people records>> |
| 144 | N when EDIR Banner Extract process identifies a qualifying entity which no directory record exists |
| 145 | NOTE: this could be a previously purged record |
| 146 | A once the EDIR Banner Extract process (or AUTHSERV Sponsor Account form) generates the directory record |
| 147 | i when the EDIR Banner Extract process flags the record for inactivation |
| 148 | I after the EDIR Banner Extract process inactivates the record |
| 149 | p when the record is flagged for purging |
| 150 | P after the record has been purged |
| 151 | A when the AUTHSERV Sponsor Account form restores the purged record |
| 152 | S when record is sponsored by AUTHSERV Sponsor Account form |
| 153 | A when sponsorship is revoked |
| 154 | i when the EDIR Banner Extract process flags the record for inactivation |
| 155 | I after the EDIR Banner Extract process inactivates the record |
| 156 | p when the record is flagged for purging |
| 157 | P after the record has been purged |
| 158 | |
| 159 | N when EDIR Banner Extract process identifies a qualifying entity which no directory record exists |
| 160 | A once the EDIR Banner Extract process (or AUTHSERV Sponsor Account form) generates the directory record |
| 161 | ... |
| 162 | b when EDIR Banner Extract process flags record as "bad" (as result of Banner multiple PIDM cleanup) |
| 163 | B after the EDIR Banner Extract process inactivates the "bad" record |
| 164 | p when the record is flagged for purging |
| 165 | P after the record has been purged |
| 166 | |
| 167 | <<guest records>> |
| 168 | S when record is sponsored by AUTHSERV Sponsor Account form |
| 169 | A when sponsorship is revoked |
| 170 | i when the EDIR Banner Extract process flags the record for inactivation |
| 171 | I after the EDIR Banner Extract process inactivates the record |
| 172 | p when the record is flagged for purging |
| 173 | P after the record has been purged |
| 174 | A when the AUTHSERV Sponsor Account form restores the purged record |
| 175 | S when record is sponsored by AUTHSERV Sponsor Account form |
| 176 | A when sponsorship is revoked |
| 177 | i when the EDIR Banner Extract process flags the record for inactivation |
| 178 | I after the EDIR Banner Extract process inactivates the record |
| 179 | p when the record is flagged for purging |
| 180 | P after the record has been purged |
| 181 | |
| 182 | |