User Tools

Site Tools


middleware:devel:ed:pid-gen

PID Generation Bean

Author Daniel Fisher
Date 2007/01/29

Requirements

Problem Statements

  • Users need a means by which to select a PID

Functional Requirements

  1. Ability to look up a person's PID given their UID
  2. Ability to generate a list of potential PIDs for a given user
    • must be temporarily reserved on behalf of the user for 10 minutes
  3. Ability to set a person's PID given:
    • person's UID
    • requested PID
      • may or may not come from the provided list
    • PID shelve date
    • whether this person agreed to the AUP
    • whether the PID should be created in an active state
      • a non-active account is created in the LOCKED state
  4. Person must have an allowed PID Generation Affiliation to generate a PID
  5. Person must have an allowed Email Generation Affiliation to generate an email account
  6. PIDs must meet the PID Requirements
  7. PIDs set for revokable people must be assigned a shelve date upon creation
    • shelve date must be in the future
  8. PIDs set for employees must be suppressed
    • employees may unsuppress their PID later
  9. Any unused reserved PIDs should be unreserved

Nonfunctional Requirements

  1. Must be implemented as a clustered stateless session bean.
  2. All methods must accept UIDs as input, not UUPIDs.
  3. Methods must be exposed as web services.

PID Suggestion Rules

PIDs are suggested using the following person data:

  • First Name (fname)
  • Initial of Middle Name (minitial)
  • Initial of Last Name (linitial)
  • 2 Digit Birth Year (byear)
  • 2 Digit Current Year (cyear)

PIDs are suggested in the following order, based on availability and validity:

  1. linitial + 7 chars of fname
  2. minitial + linitial + 6 chars of fname
  3. 7 chars of fname + linitial
  4. 6 chars of fname + minitial + linitial
  5. 8 chars of fname
  6. linitial + 5 chars of fname + cyear
  7. minitial + linitial + 4 chars of fname + cyear
  8. 5 chars of fname + linitial + cyear
  9. 4 chars of fname + minitial + linitial + cyear
  10. 6 chars of fname + cyear
  11. linitial + 5 chars of fname + byear
  12. minitial + linitial + 4 chars of fname + byear
  13. 5 chars of fname + linitial + byear
  14. 4 chars of fname + minitial + linitial + byear
  15. 6 chars of fname + byear
  16. linitial + 6 chars of fname + digits 1 thru 9
  17. minitial + linitial + 5 chars of fname + digits 1 thru 9
  18. 6 chars of fname + linitial + digits 1 thru 9
  19. 5 chars of fname + minitial + linitial + digits 1 thru 9
  20. 7 chars of fname + digits 1 thru 9

PID Generation Affiliations

the following person affiliations are allowed to create PIDs

Affiliation
VCOM-ACTIVE-MEMBER
VCOM-EMPLOYEE
VCOM-FACULTY
VCOM-STAFF
VCOM-STUDENT-ENROLLED
VT-ACTIVE-MEMBER
VT-ALUM
VT-EMPLOYEE
VT-EMPLOYEE-NON-STATE
VT-EMPLOYEE-PREHIRE
VT-EMPLOYEE-RETIREE
VT-EMPLOYEE-STATE
VT-EMPLOYEE-WAGE
VT-FACULTY
VT-STAFF
VT-STUDENT
VT-STUDENT-ENROLLED
VT-STUDENT-FUTURE
VT-STUDENT-RECENT
VT-STUDENT-WAGE

Email Generation Affiliations

the following person affiliations are allowed to have VT Email Accounts

Affiliation
VT-ACTIVE-MEMBER
VT-ALUM
VT-EMPLOYEE
VT-EMPLOYEE-NON-STATE
VT-EMPLOYEE-PREHIRE
VT-EMPLOYEE-RETIREE
VT-EMPLOYEE-STATE
VT-EMPLOYEE-WAGE
VT-FACULTY
VT-STAFF
VT-STUDENT-ENROLLED
VT-STUDENT-FUTURE
VT-STUDENT-RECENT
VT-STUDENT-WAGE

Comments

middleware/devel/ed/pid-gen.txt · Last modified: 2015/06/01 12:02 (external edit)