[OJS 3.1.1.4] I can't update DOI plugin crossref

OJS 3.1.1.4

Hello.

I can submit an article on crossref. True.
If i want to update the same article because the article had changes. False. I can’t. But plugin importexport tell me “All OK”

I applied this solution → CrossRef Updates - #14 by eddoff

But no.

Any suggestions? Thank you very much.

Hi @juanito,

What you can try is to download the XmL file and upload it manually on teh CrossReff. This way you will at least get some more info what is wrong if not work.

Regards, Primož

Thanks @primozs .
I don’t have error if i upload xml from OJS to crossref

Screenshot_2019-11-13%20SUCCESS

@primozs I see the error now.

     <msg>Record not processed because submitted version: 1573632545 is less or equal to previously submitted version {1}</msg>

More errors:

<msg>Record not processed because submitted version: 1573633315 is less or equal to previously submitted version 20190325043307580</msg>

Hi @juanito,

What you can do is to manually change the XML. Open it in an editor and change the tag version or whatever is that (1573633315) to be greater than 20190325043307580. After that import it manually again and should work.

Regards, Primož

Thanks @primozs . . .

Perhaps

/plugins/importexport/crossref/filter/IssueCrossrefXmlFilter.inc.php

$headNode->appendChild($node = $doc->createElementNS($deployment->getNamespace(), 'timestamp', time()));

by

$headNode->appendChild($node = $doc->createElementNS($deployment->getNamespace(), 'timestamp', date("YmdHisB")));

Hi @juanito,

sorry I can not help you with the code fix. But I have had in the past problems like this and solved them with editing XMLs. Now not anymore, so might be related to a version and is already fixed in later version.
Maybe @asmecher can check it.

Regards, Primož

1 Like

Hi all,

See Schema documentation for namespace http://www.crossref.org/schema/4.3.0

timestamp is an integer representation of date and time that serves as a version number for the record that is being deposited. Because CrossRef uses it as a version number, the format need not follow any public standard and therefore the publisher can determine the internal format. The schema format is a double of at least 64 bits, insuring that a fully qualified date/time stamp of 19 digits can be submitted.

So no specific format is required, but it looks like CrossRef wants consistency in the format. Did you previously submit XML that was generated by a different source that might’ve formatted the timestamp differently?

Regards,
Alec Smecher
Public Knowledge Project Team

1 Like

You are right.

If you send to crossref from plugin, you can update with time().

Sorry, the problem is: This installation have mixed articles. With plugin without plugin (upload xml or metadatamanager)

Thanks