Hi Peter and Bruno,
thank you for your quick and clarifying answer. I will look more into
DSpace 5, that looks like to solution for me.
We have a strong interest in DSpace. We have already several DSpace 3.2
in production, the most important of those is our Exam archive,
containing today around 200GB of PDF files from thousands of students
for many years :)
Thanks again and have a nice weekend,
regards,
Helge
Den 29. jan. 2015 16:50, skrev Peter Dietz:
Hi Helge,
Bruno hit the nail on the head. DSpace 4 only supports the READ-ONLY
rest api. DSpace 5, released a few weeks ago enhances the REST API to
provide authentication, and POST/PUT/DELETE endpoints for DSpace objects.
Potentially, you might be able to replace dspace-rest in your 4.x
source code with the 5.x dspace-rest source code. Though I suspect big
changes, such as metadata-for-all in DSpace 5 makes them slightly less
drop-in compatible. I guess what I'm saying is, you could either port
DSpace 5 REST API to your 4.x environment, or consider prototyping
your project using DSpace 5, with the enhanced REST API.
I am glad to see interest on this area of DSpace.
________________
Peter Dietz
Longsight
www.longsight.com <http://www.longsight.com>
[email protected] <mailto:[email protected]>
p: 740-599-5005 x809
On Thu, Jan 29, 2015 at 10:15 AM, Bruno Zanette
<[email protected] <mailto:[email protected]>> wrote:
Helge,
I've just remembered that you can also use other methods to achieve
this same goal.
If you have access to the server it must exist a way to use
"[webapp_dir]/bin/dspace" command to create communities/collections. I
know that it can create Items using "import" option, but never tested
for Comm/Coll. Also there is SWORD/SWORDv2 APIs that i believe can do
it. Unfortunately i don't have much knowledge on neither of them, but
it can be a solution if you're not willing to update Dspace version
only to use REST API.
2015-01-29 11:58 GMT-02:00 Bruno Zanette <[email protected]
<mailto:[email protected]>>:
> Helge,
>
> First of all, on DSpace 4.x only GET requests are enabled. POST/PUT
> requests were only introduced in DSpace 5. So, if you need to POST a
> community using REST-API you will need to upgrade your installation.
>
> Second, almost every documentation about it are outdated and wrong.
> The only doc-page that is correct is this one:
> https://wiki.duraspace.org/display/DSDOC5x/REST+API
> It was updated some days ago, and i'm planning to help on this since
> i've managed to discover how to use it.
> But for now, you can take a look at this email in which i
explain how
> to post an item and a bitstream. The request format to post a
> community should be very similar, but i haven't tested posting a
> community yet so i can't be sure.
>
> Also, if you are interested, i and my teammates are creating a
> 'Dspace-Rest-Api' Ruby Gem:
> http://sourceforge.net/p/dspace/mailman/message/33283229/
> https://gitlab.c3sl.ufpr.br/bnzanette/dspace-rest-client
>
> It is very early on development but it already has some
functional features.
>
> I'll do my best to find some time today to update the doc page
and do
> some tests with communities.
>
> Cheers!
>
> 2015-01-29 11:15 GMT-02:00 Helge Opedal <[email protected]
<mailto:[email protected]>>:
>> Hi,
>> I am trying to batch create communities in DSpace from command
line on a
>> Redhat server. The server is a RHEL6 and the installation is a
vanilla
>> DSpace 4.2.
>>
>> I am able to get information about existing Communitites in my
DSpace
>> installation with a curl command like this:
>> curl -i -H "user:[email protected]
<mailto:user%[email protected]>" -H "pass:XXXXXX" -H
>> "Content-Type: text/xml" -X GET
"http://localhost:8080/rest/communities"
>>
>> The result is given out:
>>> [{"id":1,"name":"IT
>>>
avdelingen","handle":"123456789/1","type":"community","link":"/rest/communities/1","expand":["parentCommunity","collections","subCommunities","log
>>>
o","all"],"logo":null,"parentCommunity":null,"copyrightText":"","introductoryText":"felles","shortDescription":"ITA","sidebarText":"","countItems":1,"collections":[],
>>> "subcommunities":[]}]
>>
>> But, when I try to POST data, I can understand how it should be
done.
>> I am trying to do something like this:
>>
>>> curl -X POST -i -H "user:[email protected]
<mailto:user%[email protected]>" -H "pass:XXXXXXX"
>>> -H "Content-Type: application/json" -d
"{'communityId':'1','name':'A
>>> test community','shortDescription':'Community created with JSON'}"
>>> "http://localhost:8080/rest/communities"
>>
>> which might not be the correct way. I have tried others also.
The answer
>> from Tomcat is:
>>
>>> HTTP/1.1 405 Method Not Allowed
>>> Server: Apache-Coyote/1.1
>>> Allow: GET,OPTIONS,HEAD
>>> Content-Type: text/html;charset=utf-8
>>> Content-Length: 1034
>>> Date: Thu, 29 Jan 2015 13:13:12 GMT
>>>
>>> <html><head><title>Apache Tomcat/6.0.24 - Error
>>> report</title><style><!--H1
>>>
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
>>> H2
>>>
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}
>>> H3
>>>
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}
>>> BODY
>>>
{font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}
>>> B
>>>
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}
>>> P
>>>
{font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A
>>> {color : black;}A.name {color : black;}HR {color :
>>> #525D76;}--></style> </head><body><h1>HTTP Status 405 - Method Not
>>> Allowed</h1><HR size="1" noshade="noshade"><p><b>type</b> Status
>>> report</p><p><b>message</b> <u>Method Not
>>> Allowed</u></p><p><b>description</b> <u>The specified HTTP
method is
>>> not allowed for the requested resource (Method Not
>>> Allowed).</u></p><HR size="1" noshade="noshade"><h3>Apache
>>> Tomcat/6.0.24</h3></body></html>
>>
>> The documentation that I try to follow (and understand) is this
one:
>> *
https://jspace.atlassian.net/wiki/display/DSPACEAPI/POST_communities
>>
>> Can someone please point me in the right direction in how to be
able to
>> POST to DSpace API to be able to create communities (and other
elements
>> later on)?
>>
>> My goal is to be able to create from another data source maybe
a couple
>> of hundreds or thousands communities in 1 DSpace installation,
and I can
>> not do this by the xmlui web interface, because it would take
way to
>> much time.
>>
>> Thank you very much,
>>
>> best regards,
>>
>> Helge
>> University of Bergen
>> Norway
>>
>>
>>
------------------------------------------------------------------------------
>> Dive into the World of Parallel Programming. The Go Parallel
Website,
>> sponsored by Intel and developed in partnership with Slashdot
Media, is your
>> hub for all things parallel software development, from weekly
thought
>> leadership blogs to news, videos, case studies, tutorials and
more. Take a
>> look and join the conversation now.
http://goparallel.sourceforge.net/
>> _______________________________________________
>> DSpace-tech mailing list
>> [email protected]
<mailto:[email protected]>
>> https://lists.sourceforge.net/lists/listinfo/dspace-tech
>> List Etiquette:
https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette
>
>
>
> --
> Bruno Nocera Zanette
> +55 41 9992-2508 <tel:%2B55%2041%209992-2508>
--
Bruno Nocera Zanette
+55 41 9992-2508 <tel:%2B55%2041%209992-2508>
------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot
Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and
more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
DSpace-tech mailing list
[email protected]
<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/dspace-tech
List Etiquette:
https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette
------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
DSpace-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-tech
List Etiquette: https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette