<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none"><!-- p { margin-top: 0px; margin-bottom: 0px; } @font-face { font-family: "Cambria Math"; } @font-face { font-family: Calibri; } p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; } a:link, span.MsoHyperlink { color: rgb(5, 99, 193); text-decoration: underline; } a:visited, span.MsoHyperlinkFollowed { color: rgb(149, 79, 114); text-decoration: underline; } p.msonormal0, li.msonormal0, div.msonormal0 { margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: "Times New Roman", serif; } span.EmailStyle18 { font-family: Calibri, sans-serif; color: windowtext; } span.EmailStyle19 { font-family: Calibri, sans-serif; color: windowtext; } span.EmailStyle20 { font-family: Calibri, sans-serif; color: rgb(31, 73, 125); } .MsoChpDefault { font-size: 10pt; } @page WordSection1 { margin: 72pt; } div.WordSection1 { }--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Hi everyone,<br>
</p>
<p><br>
</p>
<p>We have&nbsp;working SWORD integration. We were told these commands to create new records and updates:<br>
</p>
<p><br>
</p>
<p>Record creation:<br>
</p>
<p><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; background-color: rgb(255, 255, 255);">curl -v -H &quot;Content-Type: application/vnd.eprints.data&#43;xml;&quot; -X&nbsp;</span><font color="white" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; background-color: rgb(255, 255, 255);"><span style="background-color: rgb(216, 35, 0);">POST</span></font><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; background-color: rgb(255, 255, 255);"></span><a href="https://someserver.example.org/id/contents">https://someserver.example.org/id/contents</a><br>
</p>
<p><br>
</p>
<p>and updates...<br>
</p>
<p><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; background-color: rgb(255, 255, 255);"></span><a href="https://someserver.example.org/id/eprint/123456">https://someserver.example.org/id/eprint/123456</a><br>
</p>
<p><br>
</p>
<p>To generate the file for the update I went to&nbsp;<span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; background-color: rgb(255, 255, 255);">&quot;Actions&quot; -&gt; &quot;Export&quot; -&gt; &quot;EP3 with File XML&quot; - this gives you an XML file with the correct
 EPrint and file IDs</span>.<br>
</p>
<p><br>
</p>
<p>Additionally, we paid for some work from EPrints a little while ago to correct an issue when updating documents. I think it was an issue with the document ids not being honoured which caused problems updating document metadata. We have a patch for this and
 I think it is in 3.4, but not sure the patch made it to 3.3.<br>
</p>
<p><br>
</p>
<p>Hope this helps<br>
</p>
<p></p>
<p>​<br>
</p>
<div id="Signature">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div style="font-family:Tahoma; font-size:13px">
<div style="font-family:Tahoma; font-size:13px">
<div style="font-family:Tahoma; font-size:13px"><span lang="en-GB">
<div style="margin:0"><font face="Helvetica" size="2"><span style="font-size:11pt"><font size="4"><span style="font-size:14pt">Liam Green-Hughes<br>
</span></font></span></font></div>
<font face="Helvetica"></font>
<div style="margin:0"><font color="000000" size="2"><span style="font-size:11pt"><font size="2"><span style="font-size:10pt">Library Systems Developer</span></font></span></font></div>
<font color="000000" face="Helvetica"></font>
<div style="margin:0"><font color="000000" size="2"><span style="font-size:11pt"><font size="2"><span style="font-size:10pt">University of Kent</span></font></span></font></div>
</span></div>
</div>
</div>
</div>
</div>
<br>
<p></p>
<div style="color: rgb(33, 33, 33);">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> eprints-tech-bounces@ecs.soton.ac.uk &lt;eprints-tech-bounces@ecs.soton.ac.uk&gt; on behalf of Andy Reid &lt;Andy.REID@lshtm.ac.uk&gt;<br>
<b>Sent:</b> 20 June 2017 17:45<br>
<b>To:</b> 'eprints-tech@ecs.soton.ac.uk'<br>
<b>Subject:</b> Re: [EP-tech] Sword 2.0 access control</font>
<div>&nbsp;</div>
</div>
<div>
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Hi Andrew,</span></p>
<p class="MsoNormal"><span style="color:#1F497D">I spent ages struggling with easyDeposit, then got it working in a day with CURL.&nbsp;
</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">I have a separate staging system that brings together the metadata and the documents then generates ep-xml with embedded base64 files.&nbsp; Then this bit of PHP does the CURL and pushes it at the SWORD/CRUD api.&nbsp;
 This is to create a new eprint.&nbsp; I never managed to get updates working, other than by downloading the whole thing in XML, manipulating the XML, and pushing it back again – and that only works on the eprint record, I could never work out how to do anything
 with the file and document metadata.</span></p>
<p class="MsoNormal"><span style="color:#1F497D">Andy </span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">==========CURL FRAGMENT====================================</span></p>
<p class="MsoNormal"><span style="color:#1F497D">$oaPub_ID=$_REQUEST['oaPub_ID'];&nbsp; # Call this script with the number of the record to upload</span></p>
<p class="MsoNormal"><span style="color:#1F497D">$ch = curl_init();</span></p>
<p class="MsoNormal"><span style="color:#1F497D">$username='XXXXXXXXXX';$password='YYYYYYYYYYYYY';&nbsp;
</span></p>
<p class="MsoNormal"><span style="color:#1F497D">curl_setopt($ch, CURLOPT_USERPWD, $username . &quot;:&quot; . $password);</span></p>
<p class="MsoNormal"><span style="color:#1F497D">curl_setopt($ch, CURLOPT_URL, &quot;<a href="http://researchonline.lshtm.ac.uk/id/contents">http://researchonline.lshtm.ac.uk/id/contents</a>&quot;);</span></p>
<p class="MsoNormal"><span style="color:#1F497D">curl_setopt($ch, CURLOPT_HEADER, 1);</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">$pkgheader=Array('X-Packaging: <a href="http://eprints.org/ep2/data/2.0">
http://eprints.org/ep2/data/2.0</a>',</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'Content-Type: text/xml',</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;'Metadata-Relevant: true',</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'X-Verbose: true' ,</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'In-Progress: false'); # TRUE =&gt; user inbox;&nbsp; FALSE =&gt; review&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></p>
<p class="MsoNormal"><span style="color:#1F497D">curl_setopt($ch,CURLOPT_HTTPHEADER,$pkgheader);</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">// test from static file</span></p>
<p class="MsoNormal"><span style="color:#1F497D">// $file_in = &quot;$DOCROOT/publications/eprint5.xml&quot;;&nbsp; test file
</span></p>
<p class="MsoNormal"><span style="color:#1F497D">// $data=file_get_contents($file_in)
</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">// live XML fetch&nbsp; </span></p>
<p class="MsoNormal"><span style="color:#1F497D">$html_in=&quot;<a href="http://pubdb.lshtm.ac.uk/publications/OAmgr/OAmgr_upload/eprints_xml.php?filter=oaPub_ID&amp;value=$oaPub_ID">http://pubdb.lshtm.ac.uk/publications/OAmgr/OAmgr_upload/eprints_xml.php?filter=oaPub_ID&amp;value=$oaPub_ID</a>&quot;;&nbsp;
 #fetches eprints XML from the staging system</span></p>
<p class="MsoNormal"><span style="color:#1F497D">$data=file_get_contents($html_in);</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">curl_setopt($ch, CURLOPT_POST,1);</span></p>
<p class="MsoNormal"><span style="color:#1F497D">curl_setopt($ch, CURLOPT_POSTFIELDS, $data);</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">($result=curl_exec($ch) )|| die( &quot;curl_exec failed: &quot;. curl_error($ch));</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">echo &quot;&lt;pre&gt;&quot;;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">echo&nbsp; $result;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">echo &quot;&lt;/pre&gt;&quot;;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">$links=array();</span></p>
<p class="MsoNormal"><span style="color:#1F497D">preg_match('/&lt;link rel=&quot;edit&quot; href=\&quot;(.*?)\&quot;/',$result,$links);</span></p>
<p class="MsoNormal"><span style="color:#1F497D">echo &quot;&lt;a href='&quot;.$links[1] .&quot;'&gt;Result&lt;/a&gt;&quot;;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">$matches=array();</span></p>
<p class="MsoNormal"><span style="color:#1F497D">if(preg_match('/\/id\/eprint\/([0-9]*)/',$result,$matches)){</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp; $ID=$matches[1];</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp; print &quot;\n\nID=$ID\n&quot;;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;&nbsp;&nbsp; echo&nbsp; $result;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">}else{curl_close($ch); die( &quot;\n\nNo ID found in eprints response: Deposit failed&quot;);}</span></p>
<p class="MsoNormal"><span style="color:#1F497D">// close cURL resource, and free up system resources</span></p>
<p class="MsoNormal"><span style="color:#1F497D">curl_close($ch);</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">// very crude and verbose reporting, followed by some more stuff the passes the eprint ID back to the staging DB</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<p class="MsoNormal"><span style="color:#1F497D">&nbsp;</span></p>
<div>
<div style="border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="">From:</span></b><span lang="EN-US" style=""> eprints-tech-bounces@ecs.soton.ac.uk [mailto:eprints-tech-bounces@ecs.soton.ac.uk]
<b>On Behalf Of </b>Andrew Beeken<br>
<b>Sent:</b> 20 June 2017 15:55<br>
<b>To:</b> eprints-tech@ecs.soton.ac.uk<br>
<b>Subject:</b> Re: [EP-tech] Sword 2.0 access control</span></p>
</div>
</div>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">I tinkered with SWORD a while back but don’t recall making much headway over being able to create a blank record. I think anything more than that was a bit like pulling teeth.</p>
<p class="MsoNormal">&nbsp;</p>
<div>
<div style="border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="">From:</span></b><span lang="EN-US" style="">
</span><a href="mailto:eprints-tech-bounces@ecs.soton.ac.uk"><span lang="EN-US" style="">eprints-tech-bounces@ecs.soton.ac.uk</span></a><span lang="EN-US" style=""> [</span><a href="mailto:eprints-tech-bounces@ecs.soton.ac.uk"><span lang="EN-US" style="">mailto:eprints-tech-bounces@ecs.soton.ac.uk</span></a><span lang="EN-US" style="">]
<b>On Behalf Of </b>Alan.Stiles<br>
<b>Sent:</b> 20 June 2017 15:50<br>
<b>To:</b> </span><a href="mailto:eprints-tech@ecs.soton.ac.uk"><span lang="EN-US" style="">eprints-tech@ecs.soton.ac.uk</span></a><span lang="EN-US" style=""><br>
<b>Subject:</b> [EP-tech] Sword 2.0 access control</span></p>
</div>
</div>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">Hi all,</p>
<p class="MsoNormal">Does anyone have a successful SWORD implementation?&nbsp; I’m trying to access /sword-app/servicedocument &nbsp;and /id/contents via the browser, whilst logged in to the repository and I just get bounced off to a not-authorised page.</p>
<p class="MsoNormal">Not sure if either of those should be legible to me and it’s our access control blocking me, or if I’m not supposed to be able to get to either via a browser and should be doing something via CURL.&nbsp; I’ve seen the SWORD and CRUD pages on
 the Wiki but I’m not making any headway at the moment.</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">Cheers,</p>
<p class="MsoNormal">Alan<span style="color:#44546A; top:-2.0pt"> </span></p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal"><span style="font-size:12.0pt; font-family:&quot;Times New Roman&quot;,serif">-- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England &amp; Wales and a charity registered in Scotland (SC 038302). The Open University
 is authorised and regulated by the Financial Conduct Authority. </span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Times New Roman&quot;,serif"><br>
<b>The University of Lincoln, located in the heart of the city of Lincoln, has established an international reputation based on high student satisfaction, excellent graduate employment and world-class research.</b></span><span style="font-size:12.0pt; font-family:&quot;Times New Roman&quot;,serif"></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:7.5pt; font-family:&quot;Arial&quot;,sans-serif"><br>
The information in this e-mail and any attachments may be confidential. If you have received this email in error please notify the sender immediately and remove it from your system. Do not disclose the contents to another person or take copies.<br>
<br>
Email is not secure and may contain viruses. The University of Lincoln makes every effort to ensure email is sent without viruses, but cannot guarantee this and recommends recipients take appropriate precautions.<br>
<br>
The University may monitor email traffic data and content in accordance with its policies and English law. Further information can be found at:
</span><a href="http://www.lincoln.ac.uk/legal"><span style="font-size:7.5pt; font-family:&quot;Arial&quot;,sans-serif">http://www.lincoln.ac.uk/legal</span></a><span style="font-size:7.5pt; font-family:&quot;Arial&quot;,sans-serif">.</span><span style="font-size:12.0pt; font-family:&quot;Times New Roman&quot;,serif"></span></p>
</div>
</div>
</div>
</div>
</body>
</html>