What does it do? 

This TYPO3 extension assigns people to pages and displays them in the frontend, for example the dean's office of a faculty page, the participants of a research page or the contact persons of a study programme.

A person is not maintained here: the extension builds on EXT:academic_persons and points at one of the contracts of a profile. Everything that is displayed - the name, the position, the location, the email addresses, the phone numbers and the physical addresses - comes from that contract, so a change to the person has to be made once and reaches every page the person is a contact of.

Contact records 

A contact is a record of its own, maintained either in the Contacts tab of a page or in the Linked pages tab of a contract. Both edit the same record, so a person can be added from the page it belongs on as well as from the person itself.

A contact record consists of:

Page
The page the person is a contact of. Filled automatically when the record is created from a page.
Contract
The contract of the person to display. Filled automatically when the record is created from a contract.
Role
An optional role, for example Dean's office or Student advisors. Contacts sharing a role are rendered as a group below the name of that role, contacts without a role are rendered below the grouped ones — unless Group by role is switched off in the content element, see Group by role. Roles are records of their own and are usually kept in a storage folder.

Frontend output 

The contacts of a page are rendered either with the content element Contacts for this page, which can be placed anywhere on the page, or directly in a page template through the data processor \FGTCLB\AcademicContacts4pages\DataProcessing\ContactsProcessor , which adds the contacts and their roles to the page rendering. Both display the person through the Profile/Item partial of EXT:academic_persons, so contacts look like the profiles rendered by that extension. The content element renders it through a partial of its own, Contacts/Item.html, which a site package overrides to change the card, see The contact item partial.

A contact is only shown while the person behind it is visible in the frontend. A contact whose contract is hidden, or whose profile is hidden, outside its start and end time or restricted to a frontend user group the visitor is not in, is left out of both — together with its role, if it is the only contact holding it. Hiding a profile therefore removes the person from every page it is a contact of, without editing a single contact record.