<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.apple-tab-span
        {mso-style-name:apple-tab-span;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">Hi David,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">Excellent!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">I had a bit of a look at this last night - and was trying to get my head round what was newer code, what was older code, and whether
anything needed to be elevated into the handler / new methods. It looks like what you've got is all good!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">One thought about the mediation (with a bit of a GDPR / allow the minimum access needed to do what needs to be done hat on), would
it make sense to allow a finer-grained mediate rule e.g. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">+user/mediate #allow mediation of any user<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">+user/mediate/bob #allow mediation of user 'bob'<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">Or possibly<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">+user/mediate/username/bob #allow mediation of user 'bob'<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">+user/mediate/usertype/editor #allow mediation of editor users<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">I haven't read the SWORD specs on a while - and don't know whether this is allowed.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">I think this is an extension of the current functionality - and possibly should be treated as an enhancement.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">Cheers,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">John<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></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="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> eprints-tech-bounces@ecs.soton.ac.uk [mailto:eprints-tech-bounces@ecs.soton.ac.uk]
<b>On Behalf Of </b>Newman D.R. via Eprints-tech<br>
<b>Sent:</b> 07 January 2019 17:36<br>
<b>To:</b> eprints-tech@ecs.soton.ac.uk; John Salter <J.Salter@leeds.ac.uk>; Fran Callaghan <fran.callaghan@dcu.ie><br>
<b>Subject:</b> Re: [EP-tech] Error whilst depositing via SWORD<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Hi John / Fran,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I believe I have made the appropriate tweaks needed in EPrints 3.4's perl_lib/EPrints/Apache/CRUD.pm and this seems to fix the issue from my testing. You will need to set an extra role for the user that is going to submit "on behalf of"
other users. This permission is:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">+user/mediate<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I will endeavour to post the updated version to GitHub soon, assuming it is not too different to the version I was working against. However, if you want to make the changes yourself, there are only three places in CRUD.pm that need fixed
(see below). I am assuming this is on a development instance you are working on, as I would not be 100% confident this will not have any side effects. John thoughts?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Regards<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">David Newman<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"># 1. sub handler<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-<span class="apple-tab-span"> </span>my( $rc, $owner ) = on_behalf_of( $repo, $r, $user );<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+<span class="apple-tab-span"> </span>my( $rc, $owner ) = $self->on_behalf_of( $user );<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"># 2. sub on_behalf_of<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-<span class="apple-tab-span"> </span>my( $repo, $r, $user ) = @_;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+<span class="apple-tab-span"> </span>my( $self, $user ) = @_;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-<span class="apple-tab-span"> </span>my $err = {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-<span class="apple-tab-span"> </span>status => HTTP_FORBIDDEN,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-<span class="apple-tab-span"> </span>href => "<a href="https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpurl.org%2Fnet%2Fsword%2Ferror%2FTargetOwnerUnknown&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C365a7adae77f489602ec08d67550bc86%7C4a5378f929f44d3ebe89669d03ada9d8%7C1&sdata=C%2B%2BIx5CuqvgkNoSTj3cro5gfo5YMKmtCdK9OtchMwcc%3D&reserved=0" originalSrc="http://purl.org/net/sword/error/TargetOwnerUnknown" shash="OCCYiT9XZdM0ZpKdjkCBJOA6EIrLnRBtl7gyf4DF8aQRK/Z/EHDRRMcn8vNTpWfvhiT0nFOpLuyX7JrJC7nPJhdLXQnk5Ennn0bGpC602RTIfyH0iIKsT/4o6QYZwU/M1J2Z5FpdnzFUYLCOafb6Hypk2PZOO4lwWDwcCVpuZsk=">http://purl.org/net/sword/error/TargetOwnerUnknown</a>",<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-<span class="apple-tab-span"> </span>summary => "Target user unknown or no permission to act on-behalf-of",<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-<span class="apple-tab-span"> </span>};<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+<span class="apple-tab-span"> </span>my $r = $self->request;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+ my $repo = $self->repository;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <span class="apple-tab-span"> </span>my $on_behalf_of =<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <span class="apple-tab-span"> </span>$r->headers_in->{'On-Behalf-Of'} || # SWORD 2.0<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">$r->headers_in->{'X-On-Behalf-Of'}; # SWORD 1.3<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> return( OK, $user ) if !$on_behalf_of;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> <span class="apple-tab-span"> </span>my $owner = $repo->user_by_username( $on_behalf_of );<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-<span class="apple-tab-span"> </span>return sword_error($repo, $r, %$err )<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+<span class="apple-tab-span"> </span>return ( HTTP_FORBIDDEN, undef )<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <span class="apple-tab-span"> </span>if !defined $owner;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-<span class="apple-tab-span"> </span>return sword_error($repo, $r, %$err ) <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+<span class="apple-tab-span"> </span>return ( HTTP_FORBIDDEN, undef )<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <span class="apple-tab-span"> </span>if !$user->allow( "user/mediate", $owner );<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <span class="apple-tab-span"> </span>return( OK, $owner );<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"># 3. sub servicedocument<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <span class="apple-tab-span"> </span>my $user = $repo->current_user;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <span class="apple-tab-span"> </span>EPrints->abort( "unprotected" ) if !defined $user; # Rewrite foobar<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-<span class="apple-tab-span"> </span>my $on_behalf_of = on_behalf_of( $repo, $r, $user );<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-<span class="apple-tab-span"> </span>if( $on_behalf_of->{status} != OK )<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+<span class="apple-tab-span"> </span>my ( $status, $on_behalf_of ) = $self->on_behalf_of( $user );<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+<span class="apple-tab-span"> </span>if( $status != OK )<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <span class="apple-tab-span"> </span>{<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-<span class="apple-tab-span"> </span>return sword_error( $repo, $r, %$on_behalf_of );<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+<span class="apple-tab-span"> </span>return $self->sword_error( <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+<span class="apple-tab-span"> </span>status => HTTP_FORBIDDEN,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+<span class="apple-tab-span"> </span>href => "<a href="https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpurl.org%2Fnet%2Fsword%2Ferror%2FTargetOwnerUnknown&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C365a7adae77f489602ec08d67550bc86%7C4a5378f929f44d3ebe89669d03ada9d8%7C1&sdata=C%2B%2BIx5CuqvgkNoSTj3cro5gfo5YMKmtCdK9OtchMwcc%3D&reserved=0" originalSrc="http://purl.org/net/sword/error/TargetOwnerUnknown" shash="OCCYiT9XZdM0ZpKdjkCBJOA6EIrLnRBtl7gyf4DF8aQRK/Z/EHDRRMcn8vNTpWfvhiT0nFOpLuyX7JrJC7nPJhdLXQnk5Ennn0bGpC602RTIfyH0iIKsT/4o6QYZwU/M1J2Z5FpdnzFUYLCOafb6Hypk2PZOO4lwWDwcCVpuZsk=">http://purl.org/net/sword/error/TargetOwnerUnknown</a>",<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+ summary => "Target user unknown or no permission to act on-behalf-of",<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">+<span class="apple-tab-span"> </span>);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <span class="apple-tab-span"> </span>}<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-<span class="apple-tab-span"> </span>$on_behalf_of = $on_behalf_of->{on_behalf_of};<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">On Mon, 2019-01-07 at 16:30 +0000, John Salter via Eprints-tech wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">Hi Fran,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">It would depend on the CRIS system, and local policy: is knowing who the depositing author is from within EPrints important?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">You could create a 'CRIS' account - and all deposits would be made by this account (if the CRIS system allows this).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I think both the Pure and the Symplectic connectors can do something similar to this - so it might be worth pursuing.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">If I get a chance I'll take a look at the module tonight.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Would you be in a position to test a proposed update to the file this week?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Cheers,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">John<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">From: <a href="mailto:eprints-tech-bounces@ecs.soton.ac.uk">
eprints-tech-bounces@ecs.soton.ac.uk</a> [<a href="mailto:eprints-tech-bounces@ecs.soton.ac.uk">mailto:eprints-tech-bounces@ecs.soton.ac.uk</a>] On Behalf Of Fran Callaghan via Eprints-tech<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Sent: 07 January 2019 16:08<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">To: <a href="mailto:eprints-tech@ecs.soton.ac.uk">eprints-tech@ecs.soton.ac.uk</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Subject: Re: [EP-tech] Error whilst depositing via SWORD<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Hi John,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">The depositing system is our CRIS. Would this make sense in so far as it would be making deposits "on behalf of" genuine researchers? Does the depositing system need to make this explicit in the first place? Can't it just deposit with a
different author name?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks all,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Fran Callaghan<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">On Mon, 7 Jan 2019 at 15:38, John Salter <<a href="mailto:J.Salter@leeds.ac.uk">J.Salter@leeds.ac.uk</a>> wrote:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Hi Fran,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Taking a quick look at the code, I think the issue is that in the CRUD module, there are a couple of instances where the 'sword_error' is called as a raw function , rather than an object method e.g.:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Normal working:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feprints%2Feprints%2Fblob%2F3.3%2Fperl_lib%2FEPrints%2FApache%2FCRUD.pm%23L432-L436&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C365a7adae77f489602ec08d67550bc86%7C4a5378f929f44d3ebe89669d03ada9d8%7C1&sdata=07umxh%2BlWvGE32mK%2FvdMS6AYaFtCAXVfwCXgPBYADgM%3D&reserved=0" originalSrc="https://github.com/eprints/eprints/blob/3.3/perl_lib/EPrints/Apache/CRUD.pm#L432-L436" shash="bGTONieGhAIWCksXqtGN66cs+l2il08HssOzVEZgc77xBLDlR1QWNJt9ZoEzbhhuthjzfKMEnOfjhg4WJ/O9NyDFnQhQPAU7ObJDFKmK6ISz/FQZX9Z+EAUFdLvDs2vYQdFgiGV2z7hr3E4eiW/51dH9lUrgZQURBBDwlN8lgdU=">https://github.com/eprints/eprints/blob/3.3/perl_lib/EPrints/Apache/CRUD.pm#L432-L436</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Function call in servicedocument function:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feprints%2Feprints%2Fblob%2F3.3%2Fperl_lib%2FEPrints%2FApache%2FCRUD.pm%23L1742-L1745&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C365a7adae77f489602ec08d67550bc86%7C4a5378f929f44d3ebe89669d03ada9d8%7C1&sdata=wUHog6%2BYmOybqzBr9fO3WHgGsB2vJ%2BRIU4zYrF7LnH8%3D&reserved=0" originalSrc="https://github.com/eprints/eprints/blob/3.3/perl_lib/EPrints/Apache/CRUD.pm#L1742-L1745" shash="P/Lx32u05DNAVpbmm+jEK0yRd+R8ezhAuZU8O61zaDVRdpPk+ZX3k4WQFLtWMoUzLkKrUWZuubEqHFvnASh8S3QphdXu19aVbr6KZbFS1lb82qmBpuVbIvT2siIQ7kblFs4O4IMydtHaiahaovWmQBMepsLjG9E3O1rOaM0ipZU=">https://github.com/eprints/eprints/blob/3.3/perl_lib/EPrints/Apache/CRUD.pm#L1742-L1745</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">and 'on_behalf_of' function:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feprints%2Feprints%2Fblob%2F3.3%2Fperl_lib%2FEPrints%2FApache%2FCRUD.pm%23L1838-L1862&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C365a7adae77f489602ec08d67550bc86%7C4a5378f929f44d3ebe89669d03ada9d8%7C1&sdata=TV5nmDhCbgaUqzilsT28CkXA3I5iYaq8m6sD0cQWzYQ%3D&reserved=0" originalSrc="https://github.com/eprints/eprints/blob/3.3/perl_lib/EPrints/Apache/CRUD.pm#L1838-L1862" shash="GF2UYawI7UzQMtKrKxBv1Mu5BRDB3zEdgN5JHR2IeBR76235kyflNuQ69BNDgMkrhskxaUpr8psoBiRQEhzHPLcy3LqADgfjOrwe+qz/h6Pw/OS9OITj+kl8YuR8ssiugb09JwSST2OfK1ZhpSyn9WSowZ0agY0U30+8llN92wY=">https://github.com/eprints/eprints/blob/3.3/perl_lib/EPrints/Apache/CRUD.pm#L1838-L1862</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">This issue will only become apparent when you're doing a SWORD deposit using the 'on-behalf-of' header.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I think it may have been present for ~7 years, when the first line of the sword_error function was changed from<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">my( $repo, $r, %opts ) = @_;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">to<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">my( $self, %opts ) = @_;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I think it's more than a 5-minute job to fix properly - I need to get into the code a bit more to understand what was changed - and how to resolve it.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I'll log it in GitHub and let you know try and come up with a solution - unless anyone else fancies having a go..?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Cheers,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">John<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">From: <a href="mailto:eprints-tech-bounces@ecs.soton.ac.uk">
eprints-tech-bounces@ecs.soton.ac.uk</a> [<a href="mailto:eprints-tech-bounces@ecs.soton.ac.uk">mailto:eprints-tech-bounces@ecs.soton.ac.uk</a>] On Behalf Of Fran Callaghan via Eprints-tech<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Sent: 07 January 2019 14:50<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">To: <a href="mailto:eprints-tech@ecs.soton.ac.uk">eprints-tech@ecs.soton.ac.uk</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Subject: [EP-tech] Error whilst depositing via SWORD<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Hi All,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">We have a third party depositing via SWORD. They're getting a generic 500 message back but when I lookup the error_log corresponding to the time of the test I can see this message...<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[Mon Jan 07 13:46:18.179171 2019] [perl:error] [pid 10713] [client X.X.X.X] Can't locate object method "repository" via package "EPrints::Repository" at /opt/eprints3/perl_lib/EPrints/Apache/CRUD.pm line 1977.\n<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Any ideas what's wrong with CRUD.pm? Or is it a problem with the syntax of the deposit? I had expected SWORD to be pretty much plug and play (actually not even 'plug' since the documentation says it is configured by default).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">**NOTE: I have X'd out the client IP address, it's a genuine IP in the original message<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks all,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Fran Callaghan<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Séanadh Ríomhphoist/Email Disclaimer<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Tá an ríomhphost seo agus aon chomhad a sheoltar leis faoi rún agus is lena úsáid ag an seolaí agus sin amháin é. Is féidir tuilleadh a léamh anseo. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">This e-mail and any files transmitted with it are confidential and are intended solely for use by the addressee. Read more here.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Séanadh Ríomhphoist/Email Disclaimer<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Tá an ríomhphost seo agus aon chomhad a sheoltar leis faoi rún agus is lena úsáid ag an seolaí agus sin amháin é. Is féidir tuilleadh a léamh anseo. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">This e-mail and any files transmitted with it are confidential and are intended solely for use by the addressee. Read more here.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">*** Options: <a href="http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech">
http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">*** Archive: <a href="https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.eprints.org%2Ftech.php%2F&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C365a7adae77f489602ec08d67550bc86%7C4a5378f929f44d3ebe89669d03ada9d8%7C1&sdata=sIIs39rwum1No5w6O80e%2BXt95fUBvOieueG2Lcc%2FJFE%3D&reserved=0" originalSrc="http://www.eprints.org/tech.php/" shash="gH1y7dmmGa16GIuCcpChSnum4Lga4u7maP+T0ppfKM5EyTBXelaeCge6y7WGuIudE9iNiIdRcz3Vp1SOZSy20JkKKJI1xUJEBAcGbHEWRSrBiBATXLFd8PV/PJI2JC5FPO81AAszF+annJbRMPkSoszjc8zpumENd5ie/bkVznI=">
http://www.eprints.org/tech.php/</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">*** EPrints community wiki: <a href="https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwiki.eprints.org%2F&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C365a7adae77f489602ec08d67550bc86%7C4a5378f929f44d3ebe89669d03ada9d8%7C1&sdata=aaUoRvGK9JP0JNOZ%2FNnFPbNyya4UvE%2BcxMF5xTL6L0o%3D&reserved=0" originalSrc="http://wiki.eprints.org/" shash="EXALNu8/ugemHTeRDrmN99M107h7UvSdveWEIuSejkOM73jjA4Y+HpnXOgIE2wGaSVZlaY8q83keuWSg+ww7o9/7baLrsoDWJXlamsdwyfOnFlXEGz8DvN+TWUy1dwEronNmFhYUqf9tTw+2zHb3URk9Jjb2xpMQoEctbO36A94=">
http://wiki.eprints.org/</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">*** EPrints developers Forum: <a href="https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fforum.eprints.org%2F&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C365a7adae77f489602ec08d67550bc86%7C4a5378f929f44d3ebe89669d03ada9d8%7C1&sdata=xWvIN5iczjXDgbJahTAQLUDk%2B3xZydxIGC3GU0QxH2w%3D&reserved=0" originalSrc="http://forum.eprints.org/" shash="c8eYGeQDxC0Z+kIl9WTQ33NGOZNIoJ4A6BwP2tQIz0kbVqTYuWiZXGxYYDGV/KRosDpbwihy5s55LrU05xWhK4NEdSfcsU/LoRmjQvH660ZDe3TX4glN387Zb/XlS2qSHvCvlV2ZE1hWmdjzd1R31OPmvXYWd7BQYNLFNyhe8F8=">
http://forum.eprints.org/</a><o:p></o:p></p>
</div>
</blockquote>
</div>
</body>
</html>