ojsde / dnb

OJS plugin that exports full texts and metadata to the Deutsche Nationalbibliothek (DNB)
GNU General Public License v2.0
3 stars 3 forks source link

Make shure volume, number, day, month and year are numeric otherwise fill "g" field unstructured #5

Closed klausru closed 3 years ago

klausru commented 3 years ago

Dear all according to information from DNB and as to https://nbn-resolving.org/urn:nbn:de:101-2020080413 page 56 the values for volume, number, day, month, year need to numeric: https://github.com/ojsde/dnb/blob/e070821b62655335d3e9970c37bacf26a20b9a6a/filter/DNBXmlFilter.inc.php#L274-L278

According to the Crossref DOI scheme only Volume need to be numeric. The number can be a string of max. 32 chars (see here https://forum.pkp.sfu.ca/t/raising-an-issue-char-length-of-volume/58437) The pubdate is easy to get and is always numeric.

So there needs to be some code like this

if (!empty($volume) && is_numeric($volume)) $this->createSubfieldNode($doc, $issueDatafield773, 'g', 'volume:'.$volume);
if (!empty($number) && is_numeric($number)) $this->createSubfieldNode($doc, $issueDatafield773, 'g', 'number:'.$number);

If especially the number is non-numeric the available info can go as unstructured. However, as far as I can see, if there is unstructured data then the "g" field can only be applied once. So in case any of the fields above are non-numeric all data needs to be filled in a single field.

Alternatively, if $number is non-numeric the code "t" can be used as for a title of the the volume.

klausru commented 3 years ago

Could someone please have a look at my patch: https://github.com/ojsde/dnb/compare/master...klausru:patch-1 I've added ORCID, Affiliations, Issue Title if $issue->$number is empty and issue description

Could someone please help to rewrite the str_replace('https://orcid.org/'... to include http in the search/replace? Does anyone know how to represent the DOI of the issue?

Next I will try to add more data about the journal.

My code works on OJS 3.2.1-3 and still has to be approved by DNB

ronste commented 3 years ago

Dear klausru,

we are generally open to extending the metadata that is provided to the DNB. However, we to this in close collaboration with and only after confirmation of the new metadata scheme by the DNB. That said I suggest to transfer the discussion of the details to our corresponding e-mail thread with the DNB. Once we agreed on an extension of the metadata we can come back for the implementation.

klausru commented 3 years ago

Dear @ronste That's fine. I sent some new data to DNB to be checked. I've even added further data and once this is all fine I'd be happy to submit a pull request. Let's continue in the email thread. All the best Klaus