-
Notifications
You must be signed in to change notification settings - Fork 11
Person names and IDs
- Every person in the POCOM database has a name and an ID
- We endeavor to capture the most complete form of a name available, expanding all initials where the full name can be found and using given names instead of nicknames
- We use tags to distinguish between parts of a name: surname, given name (forename), and generational names (e.g., "Jr.", "III")
- The ID is derived from the name, according to the following simple rules:
- Order: Last name + Given name + Generation name
- Transformation: 1. Remove punctuation 2. Lower case 3. Replace space with hyphen.
Taken from https://history.state.gov/departmenthistory/people/barnes-harry-george-jr, source at https://github.com/HistoryAtState/pocom/blob/master/people/b/barnes-harry-george-jr.xml.
<person>
<id>barnes-harry-george-jr</id>
<persName>
<surname>Barnes</surname>
<forename>Harry George</forename>
<genName>Jr.</genName>
<altname>Harry G. Barnes, Jr.</altname>
</persName>
[...]
</person>
Notice:
- The name elements are grouped into the
<persName>
element:<surname>
,<forename>
, and<genName>
. - Alternate, common renderings of the name may be captured in
<altname>
. - The filename is derived from the
<id>
:barnes-harry-george-jr.xml
. - The file is stored in the folder of the first letter of the surname:
people/b/barnes-harry-george-jr.xml
When an error is discovered in a person name, or a more complete form of a name is discovered, we update both the name and the ID. Updating the <persName>
elements is straightforward—just change the text—but changing the person's ID is somewhat cumbersome. The procedure is as follows—please follow the order exactly:
-
Do not directly change the source file. Instead, make a copy and make your changes to the new file. To make a copy, find the original file in the oXygen Project pane. Right-click on it file, and select
Copy
. Right-click on it again, and selectPaste
. A copy of the file will appear beneath the original, with- Copy
appended to the filename. Open the copy in oXygen. -
Make any necessary changes to the
<persName>
elements. -
Before making any changes to the
<id>
element, paste this into the file, just beneath the<id>
element:<old-ids> <old-id></old-id> </old-ids>
Paste the original ID into the new
<old-id>
element (that is, just the ID text, not the<id>
open and close tags). -
Now change the
<id>
element to reflect the new name. -
Change the filename of the copied file to match the new ID, by right-clicking on the copied file in the Project pane, selecting
Rename
, entering the new filename into the Project pane, and hitting return. oXygen will present a dialog window; be sure to uncheck theUpdate references...
checkbox before selecting theRename
button. -
Validate the file to ensure all schema checks pass.
-
Update all references to the old ID to match the new ID. In the Project pane, right-click on the
pocom
folder and selectFind/Replace in File(s)
. Enter the old ID in theText to find
field, the new ID in theReplace with
field, make sure theMake backup files
checkbox is unchecked, and select theReplace All
button. In the following dialog that appears, selectPreview
, which will let you review all of the changes to ensure there are no false positives. When you're sure the changes are all correct, selectOK
to complete the replace operation. -
Open all changed files (double-clicking on them in GitHub Desktop), and select
Upload current file to history.state.gov
to upload all changed files to the public website. -
Return to the original person file in oXygen. Select
Delete current file from history.state.gov
to remove the original person file from history.state.gov. -
Delete the original person file on disk by right clicking on it in the Project Pane and selecting
Remove from Disk
. -
Commit the changes to the POCOM GitHub repository using GitHub Desktop.