Hello Dataverse community!
Back in May I mentioned* we were planning to add a new "Data Deposit
API" to DVN that implements the SWORDv2 protocol.
Well, now I'm the one working on it. :)
With lots of help from the rest of the team, of course.
So far so good... I'm adding features one by one... obvious features
such as the ability to create a study and deposit data as well as some
others. Please see the mini status report below I sent to the
dataverse team this morning for details.
The first use case we anticipate for this new API is the deposit of
data via a plugin (also under development) for Open Journal Systems
(OJS) so we want version 1 of the Data Deposit API to support
everything they need at the very least. You can read all about this
collaboration at
http://projects.iq.harvard.edu/ojs-dvn
But what do YOU want to use the DVN Data Deposit API for?
Phil
p.s. The DVN Data Deposit API is still very much under development so
some implementation details you see below may change! We'll publish
official docs once the API has stabilized.
p.p.s. I did already fix one of the bugs I mentioned in the mini
status report below. :)
*
https://groups.google.com/d/msg/dataverse-community/07h0Ca-Ai1I/tPJSRp5Cnf8J
---------- Forwarded message ----------
From: Philip Durbin <
philip...@harvard.edu>
Date: Wed, Aug 7, 2013 at 9:32 AM
Subject: Desired features for v1 of the DVN Data Deposit API
To: Dataverse Team
As I mentioned in a previous email, I added "v1" to all the URLs in
upcoming DVN's Data Deposit API.
My thinking is that v1 will be enough for OJS to write their plugin
but I'm not sure v1 will fully implement all of the SWORDv2 spec,
which is pretty extensive.
From a high level, I want to make sure we're all on the same page in
terms of desired features for v1 of DVN's Data Deposit API and I just
started a document at
http://devguide.thedata.org/features/api/data-deposit/v1 that lists
(with `curl` examples) what it's capable of right now:
- Retrieve SWORD service document
- Create a study
- Deposit data into a study
- List studies in a dataverse
- Delete a study
- Replacing cataloging information (title, author, etc.) for a study
- Replace all files on a study with a new zip file
- Release a study
(I should note that the implementation details of the above (i.e. PUT
vs. POST) are still subject to change and I'm still working through
some known bugs in the implementation.)
The list above is more extensive than the "Developers should be able
to use the Data Deposit API to..." list in the description of
https://redmine.hmdc.harvard.edu/issues/3108 but that ticket
description would be a great place for us to edit to make sure we're
all on the same page. Please feel free to go ahead and make edits to
that ticket description to list features you want for v1.
In addition to working on the bugs I mentioned, I'm planning on
implementing additional features such as:
- List files in a study
- Delete an individual file from a study
- Add an additional file to a study (not "replace all files")
- Handle metadata for files (category, description)
Also, I need to think through how to handle study versions. At the
moment, you do all of your edits to a study while it's in draft and
then you release it by sending "In-Progress: false" as and HTTP header
via POST*.
Phil
* Hat tip to Peter for pointing out this header to me:
http://irclog.iq.harvard.edu/dvn/2013-08-01#i_3005
p.s. Unless there are any objections, I was thinking I would forward
this to
https://groups.google.com/group/dataverse-community so OJS and
others can see the current status. I'm especially interested in
feedback from people who are familiar with the SWORDv2 spec.
--
Philip Durbin
Software Developer for
http://thedata.org
http://www.iq.harvard.edu/people/philip-durbin