This Spotlight covers the most interesting new features made in 2021 R5 and R6. For more detailed information, see the release notes and platform documentation.
Quick Link Navigation
JATS/BITS Content Ingestion Updates
- Display of JATS Contrib Details
- Display of abbrev-journal-title in AMA citations
- ISBN Ingestion Standardization
- Alert Management Improvements
- Job Queue now persists through restarts
- Publisher Managed Language Fonts
New Platform Features
Cadmore Media Integration
We now support the display of Cadmore videos within JATS/BITS content. For these to display, the xml should look like this:

The key parts of the data are the specific-use=ācadmoreā attribute on the fig element and the xlink:href attribute on the media tag, which must contain the DOI of the content as registered with Cadmore. In addition, if the transcript is included for indexing, it must be followed as above, with the labels containing timestamps immediately preceding the p for the content. This allows the video embed to display, to fetch the correct video from the Cadmore servers to stream, and to cue the video to the correct location if a search has matched text from the transcript.
There is no control over the color scheme used by the player; we use a neutral scheme based on the one that Cadmore provides as a default.
Note: At this time, the platform search functionality does not support returning the correct timecode information to cue the video but we do expect to implement this enhancement in 2022.
Ability to Associate PubGen Posts with Book and Journal Content
There is now a way to associate a PubGen Post with other loaded content. This allows links to posts to be embedded on journal issue pages or on related article, book, or chapter pages.
There is a new section on the Post edit page:

The text field will auto complete the URI for you. It will also find suggestions for you based on identifier and title.
Once you have content associated with the PubGen post you can use the content list widget to display them on any page you like.

Add the Content List widget where you want it in the layout.

Check the āScope list to associated documentsā to show only content that is associated with the document being viewed.

JATS/BITS Content Ingestion Updates
Display of JATS Contrib Details
In response to multiple clients’ requests, weāve added support for ingesting and displaying <etal>, <on-behalf-of>, <collab>, and <collab-alternatives> elements. To be displayed on the front end, these must currently be provided within a <contrib> element and reloaded from JATS source.
We are also ingesting <contrib-group> elements into <ifp:creator-group> elements. All mappings and indexes have been modified to find dc:creators anywhere within ifp:meta but we are currently not making any changes to the rendering in response to these groups. There is a ticket, PFCORE-12405, to correctly display both these groups and etal/collab/on-behalf-of elements within them. These are already being ingested, so that later ticket should not require a reload once implemented.
The end result of this is that this source xml:

Produces this loaded XML:

And this page display:

Display of abbrev-journal-title in AMA citations
We can now display abbrev-journal-title in AMA article citations if available. We ingest this data as ifp:abbrev-title when creating the journal overview, with a type attribute with the JATS element’s abbrev-type attribute value.
Because the data is in the journal overview, the journal overview must be created after this functionality is deployed. This is not an issue for journals that have not yet been ingested, but if the journal already exists on the server, the overview will need to be deleted and recreated by loading any article in the journal. This will empty the ifp:issue-tocs element in the overview, so we recommend use of this only if the webapp is set to use dynamic journal ToCs.
This functionality only affects AMA citations, so it will not appear if they are not enabled, and will also have no visible effect if the JATS content does not provide an abbrev-journal-title element in the journal-meta data. If multiple abbrev-journal-title elements are provided, the one that appears first in the document will be the one used.
Sample source data:

Here is an example citation:
Amin S, Baine M, Meza J, Lin C. Impact of Immunotherapy on the Survival of Patients With Cancer and Brain Metastases. J Natl Compr Canc Netw. 2020;2020(7):832-840. doi:10.6004/jnccn.2020.7547.2020.7.test
ISBN Ingestion Standardization
Weāve changed how we ingest ISBNs to allow them to be more easily configured. We convert each ISBN element to a standard form, with a scheme of āisbnā and a type matching the publication-format or pub-type of the ISBN. We also duplicate one electronic and one print ISBN to be the standard eISBN and print ISBN to power our ISBN-based functionality.
The default value for format-precedence-order is āprint,ppub,hardcover,paperbackā and the default for online-format-precedence-order is āonline,online-only,electronic,ebook,epub,pdfā so the following isbn elements:

will be ingested as:

Note that the duplicated ISBNs appear first. This is necessary because many of our mappings for ISBN and eISBN select the first one in XML order.
There has also been a ticket created to apply this same change to ISSN elements.
Management Portal Updates
Alert Management Improvements
Our alert triggering system has been somewhat error prone and problems are not typically discovered right away which makes it harder to figure out what went wrong in the first place. In addition to making updates to the code to make it more robust, we have also added an interface in the dashboard to show the status of alerts that have gone out recently.

If the failed count goes up suddenly please log a ticket and we will look into the problem.
Job Queue now persists through restarts
Previously the job loading queue would not persist through a restart of the Management Portal. Now it will and if there was a job running at the time it will be restarted as well.
Publisher Managed Language Fonts
Some of our publishers need special language fonts. These fonts change often as more content is published in that language. In order to support the updating of these fonts without requiring a platform updates we have added a font management interface to the Management Portal.
Data Requirements
A client must provide their XML content with xml:lang attributes on any element they want to display in that font.
We will take that xml:lang attribute and transform it into a lang attribute in the rendered html. This also means that if a client has static content, static pages, or any other CMS content they want to use language fonts on they can do so by adding a lang attribute.
If a client provides us the following XML content mark-up:
<styled-content xml:lang=”mid-Mand”>ą”ą”ą” ą”ą”ą”</styled-content>
it will get transformed into:
<styled-content lang=”mid-Mand”>ą”ą”ą” ą”ą”ą”</styled-content>
and will have any āmid-Mandā language font rules that exist applied to it.
Adding/Managing Language Fonts
In the Content Editor drop down in the Management portal you will find a new option called āManage Language Fontsā

The Manage Language Fonts page:

Users need to enter what the xml:lang attribute value will be, the font family, and upload the font file at a minimum to add a new Language font. We also support adding additional CSS properties.
Once the font file is uploaded we will attempt to save that font so this should be done last.
These fonts are at a global platform level so all SiteGen sites will be able to use them and there is no way to define a site specific font.
Example
Here is an example of an abstract that includes text using a font called mid-Mand:

Layout Engine Updates
Version History
When editing Layout Engine layouts, a version history is now kept for each layout. Every time a user saves or publishes a layout a new record is added to the version history.
When editing a layout a new link is provided to view the history of the layout:

The history page shows all versions with a link to view and/or restore that version:

When viewing a version from this history, the layout is in a “read only” mode. You cannot make changes to the layout in this view but you can use the copy tool. There is a button at the top of the layout to restore this version.

We keep old revisions according to the following rules:
- All published revisions
- All draft revisions from the past 30 days
- One draft revision per week beyond 30 days (midnight on Sunday is used as the week boundary)
AMS Updates
PSI Registry Integration
We now have the ability to link an AMX to fetch the IPās for organizations from the PSI Registry.
The PSI Registry has two levels of offerings which we have created ways to link into. With both tiers from the PSI Registry, IP Editing will be disabled in the AMS UI. All IP editing must done through the PSI Registry interface. When the PSI Registry is enabled, in the account access tab, when you click on edit, the IP Address fields are now disabled. There is also a new button which has been added, this will refresh the IP Addresses for an organization:

For all tiers, if there is a match between the AMS Account PSI External Identifier, and PSI Registry account identifier all IP addresses will be replaced with the ones from PSI Registry, if no match occurs IP address data will not change. For accounts with no match, the account will need to be added to the PSI Registry and then re-fetched to update in the PubFactory AMS.
Note that a formal agreement between PSI and the publisher needs to be inplace before we can turn on this integration for a particular PubFactory installation.
Note also that this integration is separate from the usage reporting PSI Metrics integration.
E-Commerce Updates
Shopping Cart
The E-Commerce module has been updated to add a new level of support. We have added the ability to support a shopping cart. This will allow users to add multiple items to the shopping cart and then pay for the items in a single transaction.
Platform Updates
Cited By Updates
We have noticed that in certain cases forward linking citations were missing. This happened for two reasons:
- Our DOI searches are case sensitive
- So when searching for a DOI of a cited work where the citation DOI is in a different case than our data we would not find that citation
- When we harvest citations, if we did not have the cited document in our database we did not save that citation
- We assumed that in-order for CrossRef to have a doi we would have had to have that content to register it.
We have addressed these two issues by making the DOI lookup a case insensitive index. We are now using an index separate from the normal identifier index to do DOI lookups.
We are also now saving all forward linking citations we find regardless of if we have a publication for them or not. This should mean better support for citations of content that comes to our platform after it has been registered in CrossRef.
Improved Support for CrossRef Deposits and CHORUS
We have improved our CrossRef deposits with more complete FundRef information if available. This will ensure that eligible content will be indexed correctly by CHORUS.
We have also added syndication URLs for funder harvesting.
Quick links to access other Spotlight articles