Skip to content

Conversation

@saddamalsalfi
Copy link

Package URL: https://github.com/saddamalsalfi/ojs-index-copernicus-export/releases/download/v2.0.0.0/copernicus_ojs3.5.0-1.tar.gz
MD5: f309e2680ae144cd9ffd98617a1efdf7
Compatibility: OJS 3.5.x
Summary: Adds "Index Copernicus Export" (importexport) plugin entry to plugins.xml. DOM-based builder with XSD validation, multi-language languageVersion blocks, DOAJ-like author affiliation resolution, DOI & CC license mapping.

@asmecher
Copy link
Member

asmecher commented Sep 3, 2025

Thanks, @saddamalsalfi! @kaitlinnewson, are you available to review this?

@kaitlinnewson
Copy link
Member

Hi @saddamalsalfi, here are some of my initial review comments (I tried adding them to your repo but ran into some GitHub issues):

  • In the metadata, the fallback author affiliation for "QUEEN ARWA UNIVERSITY" should be removed as this will result in incorrect metadata for others using this plugin.
  • Is there a reason to use createCDATASection over something like createTextNode? This results in CDATA tags in the metadata - is this expected by the indexing service?
  • The xsd validation doesn't seem to be working and is throwing errors in the logs, e.g. PHP Warning: DOMDocument::schemaValidate(): Invalid Schema in....
  • Did you look into the existing export interface for Issues? For example, see the pubmed export plugin that is shipped with OJS.
  • It would be best to check the "lead author" based on the publication's primary contact ID (author ID), which you can get with $publication->getData('primaryContactId'));
  • Consider only exporting ORCID if it has been verified - you can check with something like if ($author->hasVerifiedOrcid()) ...
  • It looks like possible missing translations are not being handled consistently in the templates, as some have a default set and some do not - e.g. {translate key="plugins.importexport.copernicus.validateSchema" default="Validate against schema"} (usually we don't set a default so missing translations will show, but it depends on your preference for the plugin)

@saddamalsalfi
Copy link
Author

Hi @kaitlinnewson ,

Thank you for your valuable feedback. Based on your recommendations, we have implemented a series of significant updates to the Index Copernicus export plugin to improve its accuracy, reliability, and adherence to OJS standards.

Summary of Changes:

Reworked Fallback Affiliation: The hardcoded fallback affiliation to "Queen Arwa University" has been removed. By default, if an author has no affiliation, the field is now left blank to ensure correct metadata. However, the functionality to force a fallback has been retained as a configurable option, allowing developers at other institutions to enable it and specify their own default text if their system requires it.

Standardized XML Generation: The use of CDATA has been replaced entirely with the standard createTextNode method. This ensures that special characters are handled correctly and automatically.

Accurate Lead Author Identification: The logic for determining the "Lead Author" has been corrected. It now uses the primaryContactId from the publication's data instead of incorrectly assuming the first author is always the lead.

Verified ORCID Export: An author's ORCID will now only be exported if it has been verified within the OJS system, which enhances the quality and reliability of the exported data.

Improved Multilingual Handling: The logic for selecting author names in multilingual journals has been updated. It now prioritizes the publication's primary locale, ensuring the correct name (e.g., Arabic or English) is chosen to match the article's language.

Consistent UI for Translations: All default="..." parameters have been removed from the templates (.tpl). This standardizes the handling of missing translations, causing them to be clearly displayed as ##key.name##, which aligns with OJS best practices.

Completed Locale Files: The localization files (.po) have been updated with the missing common keys to ensure the user interface is fully translatable.

The updated package is now available for your review.

Download Link: https://github.com/saddamalsalfi/ojs-index-copernicus-export/releases/download/v2.0.0.0/copernicus_ojs3.5.0-1.tar.gz
MD5 Checksum: B1332C75FBF46817EE3DB974B0B0EC4F

Thanks again for your help!

@kaitlinnewson
Copy link
Member

kaitlinnewson commented Oct 17, 2025

Hi @saddamalsalfi, apologies for the delay. It looks like there is still an issue with the XML validation against the schema - based on the errors, it looks like the problem is in the xsd file itself, which I assume came from Index Copernicus. This means that your plugin may be producing invalid XML for their service, and the exports from the plugin may be rejected by Index Copernicus.

I ran the xml produced in my installation through an online service and found a couple of issues, but there may be others:

  • the ISSN is required in their schema, but it's possible for the export not to have it based on the code (there may be other issues but that was one notable one). The plugin should probably block exports (i.e. fail validation) and send a warning if the journal doesn't have any ISSN.
  • some elements are in the wrong order (e.g. keywords is not appearing in the right location).

You may need to manually review the schema against your code in order to ensure all required elements are set and in the right order.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants