[Apologies for duplicate messages]
Dear Colleagues,
I'm attaching the updated proposal for automatically
cleaning up the references by name in RIPE Whois Database.
We have incorporated Janos's suggestions to the proposal.
If no more comments come, we plan to apply the procedure
described in the proposal in the first half of January, 2003.
The operation should not take more than a day. We will notify
the community about the actual date of the operation.
Regards,
Engin Gunduz
____________________________
RIPE NCC Database Group
--------------
Proposed solution for cleaning up references by name and other
invalid references in RIPE Whois Database
Motivation:
References by name and invalid references cause two main problems:
1. One reference by name in a single object locks all person
and role objects with that name, that is, they cannot
be deleted, because of referential integrity checks.
2. Having anything other than a NIC handle as a reference makes
the implementation of whois database software considerably
more complex, since the software needs to deal with these
exceptions. This increases the coding time, maintenance time
and testing time of the software.
Classification of the inconsistencies we need to solve and proposed
solutions:
1. Objects that refer to a person or role object by name.
a. There is only one object with this name.
1. The referring inconsistent object is not maintained, or
the maintainers of referring inconsistent object and the
person/role object with this name are the same.
Solution: Update the referring inconsistent object so that it
will contain the NIC handle instead of the name. Add
appropriate remarks and changed attributes to the object
to explain the reason for update.
2. The referring object is maintained, and the maintainers are
different from the maintainers of the object with the
referred name (If the latter object is not maintained, then
the maintainers are by definition different.)
Solution: Create a role object with this name. It will list
the role or person object with this name in its admin-c and
tech-c attributes. Update the inconsistent object to refer
to the NIC handle of this new role object. Add appropriate
remarks and changed attributes to the object to explain the
reason for update.
b. There is no person or role object with this name:
Solution: Create a person object with this name. Clearly
mark this new object putting appropriate remarks attributes
so that users will see it is actually a dummy object.
Update the inconsistent object to refer to the NIC handle
of this new person object. Add appropriate remarks and
changed attributes to the object to explain the reason for
update. Protect it with the inconsistent object's maintainer(s).
c. There are multiple person and role objects with this name.
Solution: Create a role object with this name. It will list
all the other role and person objects with the same name
in its admin-c and tech-c attributes. Update the inconsistent
object to refer to the NIC handle of this new role object.
Add appropriate remarks and changed attributes to the object
to explain the reason for update.
2. Objects that refer to a non-existent NIC handle.
Solution: Create a person object with that NIC handle. Clearly mark
this new object so that users will see it is actually a dummy
object. Name it "person: Place Holder Object". Protect it with
the inconsistent object's maintainer(s). Note that there is no
need to update the inconsistent object itself.
3. Objects that refer to a string which is neither a name, nor a NIC
handle. For example, it might be a phone number in admin-c attribute,
or it might be 'Gunduz', a string that can't be a NIC handle, as
it's longer than 4 letters, nor can it be a name as it has only
one word. Another example could be "Mr. Gunduz", which enters this
category because "Mr" can't appear in a name of person/role object.
Solution: Create a person object for each such reference. Name
the object "person: Place Holder Object" and list the object that
refers to it in its remarks attribute. Protect it with inconsistent
object's maintainer(s). Then update the inconsistent object to refer
to the NIC handle of this new place holder person object.
In each case an object is updated, or created, send appropriate notifications
(determined by "mnt-by" and "notify" attributes, as with all other
updates).
Please note that this proposal does not actually solve the problem
of invalid contact information-- rather, it makes the data set more
uniform, thus decreases the administration and development time of
the whois database.