Setting up pseudonym internal links

In a relation of the Pseudonym internal link type you can associate proper names (aka "main" names) with pseudonyms. This allows you to register e.g. the proper name of an author as well as his or her pseudonym(s) in the Persons and institutions data source and link these names to each other in a way that doesn't prefer one name over the other.
The Standard and Advanced search in Axiell Collections allow the use of a pseudonym operator when you search Persons and institutions or when you search a field in another database, linking to Persons and institutions. When you are searching using pseudonym, you search on the proper name and all its pseudonyms as specified in the Pseudonym entry field (in Persons and institutions), provided these names have the same domain (name type) as the linked field you are searching. It doesn't matter if the name you enter is a proper name or pseudonym and it also doesn't matter if the search key actually does appear in records for the search to succeed on the other names in the pseudonym relation. For example:

author.name pseudonym "Kopland, Rutger"

In this example all records would be retrieved in which the author name is either the search key itself or the proper name or any pseudonym of the search key.

Pseudonyms can be entered in Persons and institutions records once relevant fields and internal links have been added to the database structure and screens. When your application is ready for it and the user has actually registered pseudonyms and you try to validate field data linking to Persons and institutions, you may encounter the following icons in the first column of the list on the View table tab of the Find data for the field window:

ACProperNameIcon ACPseudonymIcon

A star with an exclamation mark indicates a proper name while an open star indicates a pseudonym. Pseudonyms can be registered in linked fields just like proper names: there won't be any automatic substitution of names.

If pseudonym fields are not present in your application yet (typically in model applications older than version 4.5.2), you can set them up as follows:

1. In the people.inf database structure, create two linked fields pseudonym and pseudonym_for with accompanying link reference fields. The relevant properties of the two linked fields are: Maximum length 255 (as long as the Name field); Repeatable marked for pseudonym, deselected for pseudonym_for); Linked database folder . and Database =, Lookup field name and use accompanying link reference field, No domain, Strict validation, Link only first occurrence and Allow the creation of new linked records should be marked; Relation fields Preferred field use, Equivalent field equivalent_name, Broader field part_of, Narrower field parts, Related field relationship, Pseudonym For field pseudonym_for, Pseudonym field pseudonym; Link screen ../screens/lnkaddr, Zoom screen ../screens/zm_organ, Zoom/edit screen ../screens/zm_organ; Linked field mapping Source field name and Destination field pseudonym (if that is the current field) or pseudonym_for if that is the current field.
2. Create integer indexes for both link reference fields and reindex them (to create the relevant SQL tables).
3. Add an internal link to the people.inf, with the following properties:
 
DSpseudonymSetup
4. Now you need to set the relation fields for pseudonym and pseudonym_for for all fields in other databases linking to the people database. Luckily you won't have to do that manually, but still there's some work involved: just start at the top of the database list in the tree view in the Application browser and click the Fields list header of a database structure to open the fields list in the right window pane; in there, click the Linked database column header once or twice to sort the list so that all fields linking to people are grouped; select all these linked fields by clicking the first field and then Shift-clicking the last field; right-click this field selection and choose Set relation fields in the pop-up menu to set all available relation fields automatically. Do this for every database except for people.inf.
 
DSsetRelationFields
5. Edit the name.fmt screen and add the pseudonym fields, Pseudonym is a repeated field, Pseudonym for is not repeatable.
 
DSscreenWithPseudonymFields
6. Save all your changes and recycle the Axiell Collections application pool when nobody is working in Collections.