POSTing files using our upload tool
We provide a Java program that performs file uploads (via HTTPS POST) to Crossref. This program allows you to upload a single file, a list of files, or a whole directory of files.
To use, download crossref-upload-tool.jar and place it in /usr/local/lib.
In the following examples:
- user is the username and password from your Crossref account credentials. If you are using organization-wide shared role credentials, the username is the
role
. If you’re using personal user credentials, the username is your email address plus the role in the following format email@address.com/role
. - file is the name of the file you are uploading or
- directory is the name of the directory containing files to upload
java -jar crossref-upload-tool.jar --user [username] [password] --metadata ([filename/directory])
Using role credentials (note: in these examples, we have used the fictional role and password combination of mrcrossref and abc134):
java -jar crossref-upload-tool.jar --user mrcrossref abc134 --metadata crdeposit234.xml
Using user credentials (note: in these examples, we have used the fictional user credential, role, and password combination of: email@address.com/role, mrcrossref, and abc134)
java -jar crossref-upload-tool.jar --user email@address.com/mrcrossref abc134 --metadata crdeposit234.xml
java -jar crossref-upload-tool.jar --user [username] [password] --resources ([filename/directory])
for example:
java -jar crossref-upload-tool.jar --user mrcrossref abc134 --metadata cr_refs.xml
To upload conflict files
Single file:
java -jar crossref-upload-tool.jar --user mrcrossref abc134 --conflicts ticket1234.txt
Directory of files:
java -jar crossref-upload-tool.jar --user mrcrossref abc134 --conflicts ALIAS_123
To upload bulk Resource URL updates
Single file:
java -jar crossref-upload-tool.jar -user mrcrossref abc 134 -transfers ticket1234.text
Directory of files:
java -jar crossref-upload-tool.jar -user mrcrossref abc134 -transfer ALIAS_123
To direct upload(s) to the test system
If you don’t already have Crossref test system credentials configured, you’ll need to contact our technical support team in order for us to enable a test account for test.crossref.org.
java -jar crossref-upload-tool.jar --user mrcrossref abc134 --host test.crossref.org --metadata crdeposit234.xml
Dry run (test)
Note that if the –metadata option is given a directory name instead of a filename then all files within the directory are uploaded. To ensure that you are uploading what you want use the –dry-run option and review the listing of files, eg:
java -jar crossref-upload-tool.jar --user mrcrossref abc134 --metadata mydeposits/ --dry-run
Additional info
If your upload is successful, you will see this message:
[…] INFO uploading to https://doi.crossref.org:443/
[…] INFO uploading submission: file=myfile.xml
[…] INFO uploaded submission: file=myfile.xml
[…] INFO done
If the username is wrong, you will see the message:
[…] INFO uploading to https://doi.crossref.org:443/
[…] INFO uploading submission: file=myfile.xml
[…] INFO unauthorized: file=myfile.xml; user=mrcrossref
[…] INFO done
Upload options
--user name password
--metadata ( file | directory )
--query ( file | directory )
--transfers ( file | directory )
--handles ( file | directory )
--resources ( file | directory )
--conflicts ( file | directory )
--address host port
--protocol ( http | https )
--dry-run
--help
Where:
- user: your Crossref system username (either
role
, for role credentials, or email@address.com/role
, for user credentials) and password - metadata: use for metadata deposits
- query: use for query deposits
- transfers: admin use only
- handles: admin use only
- resources: resource-only deposits
- conflicts: conflict resolution files
- address: direct to a different address (such as test.crossref.org)
- protocol: http or https
- dry-run: test uploader without uploading
- help: displays the above list of upload options
Further examples
Entry into terminal
java -jar /usr/local/crossref-upload-tool.jar --user mrcrossref abc134 --metadata /Users/mistercrossref/Uploader/September/19/134/
Key for entry into terminal:
- usr/local/crossref-upload-tool.jar = location of the upload program on your machine
- mrcrossref abc134 = Crossref role and password you are using for upload
- metadata = type of content being uploaded
- Users/mistercrossref/Uploader/September/19/134/ = location of XML files on my machine being uploaded