[Date Prev][Date Next] [Chronological] [Thread] [Top]

Design Question - Multiple Objects In Custom inetOrgPerson Objects



Greets,

I have a design question for all the LDAP gurus out there.  I have a
directory that contains custom hospPerson objects, which are derived
from inetOrgPerson, and have a number of custom attributes.  I need to
be able to "stamp" each user with their seniority hours on a specific
date.  This can happen regularly; the reason why is I need to be able to
look at all employee's seniority hours on a specific date, but the date
must be uniform for all employees.

I have created a custom unionSeniority object, which I derived from
organizationalUnit, that has two custom members: seniorityHours and
seniorityFreezeDate.  I added this object to my hospPerson object.

My hospPerson object must be able to have zero or more unionSeniority
objects.  I must be able to search an employee and find their respective
unionSeniority object by seniorityFreezeDate.  However, I'm not sure how
I should tag the ou portion of the unionSeniority object.  If I use the
date as part of the ou, I limit myself from using any other
date-sensitive objects that may be necessary in the future.

Here is a small example illustrating my dilemma:

dn: cn=jmowat,ou=people,o=sbgh
cn: jmowat
objectClass: hospPerson
ou: people
givenName: Jason
sn: Mowat

dn: cn=ssmith,ou=people,o=sbgh
cn: ssmith
objectClass: hospPerson
ou: people
givenName: Sam
sn: Smith

I want to freeze these two employee's seniority hours as of January 1,
2003, so I create the following objects for each of them:

dn: ou=????, cn=jmowat, ou=people, o=sbgh
ou: ???
objectClass: unionSeniority
seniorityHours: 10000
seniorityFreezeDate: 20040101

dn: ou=????, cn=ssmith, ou=people, o=sbgh
ou: ???
objectClass: unionSeniority
seniorityHours: 5000
seniorityFreezeDate: 20040101

To continue, imagine that I have to add yet another unionSeniority
object to my employees 3 months later:

dn: ou=????, cn=jmowat, ou=people, o=sbgh
ou: ???
objectClass: unionSeniority
seniorityHours: 10480
seniorityFreezeDate: 20040401

dn: ou=????, cn=ssmith, ou=people, o=sbgh
ou: ???
objectClass: unionSeniority
seniorityHours: 5480
seniorityFreezeDate: 20040401

My question is: how do I tag these so that I can find the different
values by date, especially if there is more than one?  Should I be
looking at constructs other than organizationalUnits?  I feel that I
need to do it this way because I need to keep the seniority hours linked
to the actual seniorityFreezeDate.  I am open to any solutions!

Thanks in advance,
Jason Mowat