Gavy
February 16, 2023, 8:33pm
1
Hello,
I’m wondering about the best way to handle authors with multiple affiliation in OJS (we are using OJS 3.3.0.8).
Most of the time the authors of our articles work for more than one entity and want all of them to appear. In addition, we want this information to be consistent with the information in the article’s PDF (where all the affiliations are included).
From what I have read in the documentation and on the forum, it is not possible to enter multiple affiliations for an author. Even the ROR plugin which is very interesting for homogenizing the input of affiliations and automatically adding their location, does not handle multiple affiliations either, from what I understand in this topic .
What is the best way to proceed then ? We could simply add them all in the affiliation field using a separator like “;” but in we also would like to be able to export our articles data to DOAJ for example and I guess that could be a problem if data is not formatted as they would like?
Thank you for reading this to the end and I’m looking forward to any advice you may have.
Regards,
Hi @Gavy ,
See also this related Github entry:
opened 12:42AM - 16 Jun 21 UTC
Enhancement:1:Minor
Apologies if this is already present in another issue or an internal development… plan. I searched in issues but could not find anything related to multiple affiliations for an author.
A [recent study](https://arxiv.org/pdf/1912.05576.pdf) of 22 million articles published in 2019 showed that "almost one in three publications was (co-)authored by authors with multiple affiliations..." and "the share of authors with multiple affiliations increased from around 10% to 16% since 1996." The fact that OJS does not support multiple affiliations for authors means it is increasingly out of step with the realities of academic publishing, and my organization is reluctant to continue using OJS for this reason (among others).
I believe that an author should be able to specify multiple affiliations for a submission. This meshes nicely with the need to uniquely identify affiliations through the use of ROR identifiers. The use of a free text field alone for affiliations makes it difficult for machines to determine that "UC Berkeley" and "University of California - Berkeley" and "University of California, Berkeley" are in fact the same institution.
Having just installed the latest version of OJS, I noticed that affiliation information is stored in the underlying database as a row in `author_settings` using `setting_name` of `affiliation`, but the underlying table has a unique key of (`author_id`,`locale`,`setting_name`), which makes it impossible to store multiple affiliations unless the information is encoded in some way within the `setting_value` field. Our authors are currently listing multiple affiliations with `;` to separate them, but this is a bad practice for the future (much like journals entering bogus email addresses when the field was required).
As I mentioned before, the use of multiple affiliations is already an extremely common practice. The listing of affiliations has multiple purposes, including citation analysis to rank institutions, which strongly affects their funding. The attachment of an affiliation to a paper also strongly influences the reputation of the paper itself, and the inability to list multiple affiliations contributes to a "winner-take-all" attribution of credit, which is damaging to second-tier institutions and their authors.
Accuracy of affiliations is also important for identifying potential conflict of interest among reviewers.
Multiple affiliations are already supported by the following:
1. the [schema](https://github.com/pkp/pkp-lib/blob/main/plugins/importexport/native/pkp-native.xsd) for the `native plugin XSD` allows multiple affiliation tags per author, but when you import to OJS it [appears to discards this information](https://github.com/pkp/pkp-lib/blob/ede753267bd9ff162c981d88d0db31e86988900c/plugins/importexport/native/filter/NativeXmlPKPAuthorFilter.inc.php#L130). Obviously export fails to report multiple affiliations since the database only holds one.
2. the [pubmed/medline XML format](https://www.nlm.nih.gov/bsd/licensee/elements_descriptions.html#medlinecitation)
3. the [doaj xml format](https://doaj.org/docs/xml/)
4. the [datacite xml format](https://support.datacite.org/docs/datacite-metadata-schema-v44-xml-metadata-examples#example-for-affiliation)
5. the [dublin core](https://www.dublincore.org/specifications/dublin-core/dc-citation-guidelines/) supports multiple affiliations, but Recommentation 6 strangely says they should be associated to papers rather than authors. Dublin core is lagging in other things like ORCID IDs.
6. [the crossref api](http://api.crossref.org/works/10.1002/pchj.269) supports them (see their [schema](https://data.crossref.org/reports/help/schema_doc/4.4.2/index.html))
7. the [DOAJ schema](http://doaj.org/static/doaj/doajArticles.xsd) supports it, but the DOAJ export plugin is limited to a single affiliation. They are now compatible with crossref.
8. [medra/onix](http://www.medra.org/schema/onix/DOIMetadata/2.0/ONIX_DOIMetadata_2.0.xsd) but the medra/ONIX export plugin cannot supply them.
Obviously other publishers have already embraced multiple affiliations. ACM has started [capturing structured representations](https://www.acm.org/binaries/content/assets/publications/consolidated-tex-template/acmart.pdf) in their LaTeX class:
```
\affiliation{%
\institution{University of New South Wales}
\department{School of Biomedical Engineering}
\streetaddress{Samuels Building (F25), Kensington Campus}
\city{Sidney}
\state{NSW}
\postcode{2052}
\country{Australia}})
```
This can be useful in case the affiliation does not have a ROR ID, or the author wishes to define it as within a department or institute of a ROR entity (ROR does not catalogue these).
Unfortunately the schema of having a single affiliation is buried deeply in the codebase for OJS. Obviously the core developers of OJS are best able to understand a path forward for addressing this. IOne possible interim solution is to define a new field in `author_settings` with `setting_name` of `affiliationList`. Then populate this with a JSON encoding that can have version information inside it. The code that uses $author->getAffiliation can over time be migrated to $author->getAffiliationList() to return a list of affiliations (perhaps with different locales!). An alternative is to allow `author_settings` to have multiple values for a given `setting_name`.
Regards,
Alec Smecher
Public Knowledge Project Team