<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;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 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;
        color:black;}
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;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        color:black;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.EmailStyle20
        {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 bgcolor="white" lang="EN-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">There is a different way to achieve this.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">You can add new 'eprint_status' options.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">This page:
<a href="https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.eprints.org%2Fw%2FBuilding_a_DataSet&amp;data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C4b60ec9a660e4d5bd86908d6fa29bde4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=7fIolKDHQNeOyy0drbJoB6AarIMEmZO5GzZS3buDYjU%3D&amp;reserved=0" originalSrc="https://wiki.eprints.org/w/Building_a_DataSet" shash="Vh5CzTkjMBZEnUosy3lE7gXL/e95yMg8JEISu53My/OpvlbzA3CNhntk1KvpX746TGISZPTyA5NFExbCitIYZA7u9Iry/qhqeebCJmfuNbzmEVnAdB9xdHbxLo2XGEFX6mh2E8pcyHsnX/aoSp0ODfk+bM077q8k1tlk4/4jlu8=">https://wiki.eprints.org/w/Building_a_DataSet</a> provides details of how to create a 'dark archive' - which is normally a different end-point for a record - so instead of:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">Inbox -&gt; buffer -&gt; archive<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">You can also go:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">Inbox -&gt; buffer -&gt; dark_archive<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">This plugin does the same:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><a href="https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fbazaar.eprints.org%2F401%2F&amp;data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C4b60ec9a660e4d5bd86908d6fa29bde4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=gJdm5GJo9K4SNrOuTGSX8nkKqUF5CXyTSFlNx6%2F4DiA%3D&amp;reserved=0" originalSrc="http://bazaar.eprints.org/401/" shash="poVNVCN1AE5/cMCwzse7d3Im1n/f0hHuxHtI0tszUDvO+U8agAAisoRQSmrQWB9wWsDxjFUR3FLQaDxpHWYkxiDYORuDK8AFGcqGJTSaDf57oiyjQW0C36kpJ8SCo2gckEda0mMQfWauz7S2IZST7+REET0y0/OHC1TBWaSI4Qs=">http://bazaar.eprints.org/401/</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">What you would need to configure is
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">options&nbsp; =&gt; [qw( inbox buffer archive deletion bufferX bufferY )],<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">and also think about whether anyone can move e.g. from buffer to archive - or whether everything has to go through all stages.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">You may want to define more user roles - so a 'normal' editor can move from buffer to bufferX, but a 'super editor' can move from buffer
 to bufferX, bufferY or even to archive.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">You may also want to create a clone of the review screen that looks at bufferX and buffer explicitily.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">Chris' solution would also work, each has it's merits!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">Cheers,<br>
John<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p>&nbsp;</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:&quot;Calibri&quot;,sans-serif;color:windowtext">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:windowtext"> eprints-tech-bounces@ecs.soton.ac.uk
 [mailto:eprints-tech-bounces@ecs.soton.ac.uk] <b>On Behalf Of </b>Christöpher Gutteridge via Eprints-tech<br>
<b>Sent:</b> 26 June 2019 12:06<br>
<b>To:</b> eprints-tech@ecs.soton.ac.uk; Johannes Schultze &lt;schultze@effective-webwork.de&gt;<br>
<b>Subject:</b> Re: [EP-tech] Adding more stages to approval workflow?<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p>This isn't trivial but would be possible. This is me riffing and would need refining.<o:p></o:p></p>
<p>First of all, I would add tickbox fields for levels of signoff. ie. signoffA and signoffB and&nbsp; signoffC.<o:p></o:p></p>
<p>Next I would use conditionals on the &quot;workflow&quot; XML file to modify it as follows.<o:p></o:p></p>
<p>In the main &lt;flow&gt; section, use a &lt;when&gt; condition to split behaviour for the 3 stages of the buffer to add additional stages to the end IF the user has the appropriate parameters. At an extreme level you can write a plugin function that takes the user and
 eprint as inputs and returns true if they have the right to approve it at stage a/b/c.<o:p></o:p></p>
<p>If signoffA is false and the user can approve level A on this EPrint, they see the levelA approve stage which has the signoffA tickbox on it and they can set it to true.<o:p></o:p></p>
<p>If signoffA is true, but&nbsp; signoffB is false and the user can approve level B, the see the levelB approve stage which has the signoffB tickbox<o:p></o:p></p>
<p>Similar for signoffC.<o:p></o:p></p>
<p>The validation for publishing makes &quot;signoffC&quot; approval a required field so it can't be published without signoffC being set.<o:p></o:p></p>
<pre>&lt;flow&gt;<o:p></o:p></pre>
<pre>&nbsp; &lt;stage ref=&quot;type&quot;/&gt;<o:p></o:p></pre>
<pre>&nbsp; &lt;stage ref=&quot;files&quot;/&gt;<o:p></o:p></pre>
<pre>&nbsp; &lt;stage ref=&quot;core&quot;/&gt;<o:p></o:p></pre>
<pre>&nbsp; &lt;stage ref=&quot;subjects&quot;/&gt;<o:p></o:p></pre>
<pre>&nbsp; &lt;epc:choose&gt;<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp; &lt;epc:when test=&quot;eprint_status='buffer' and !signoffA and $current_user{canSignoffA}'&gt;<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;stage ref=&quot;signoffA&quot; /&gt;<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/epc:when&gt;<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp; &lt;epc:when test=&quot;eprint_status='buffer' and signoffA and !signoffB and $current_user{canSignoffB}'&gt;<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;stage ref=&quot;signoffB&quot; /&gt;<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/epc:when&gt;<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp; &lt;epc:when test=&quot;eprint_status='buffer' and signoffA and signoffB and !signoffC and $current_user{canSignoffC}'&gt;<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;stage ref=&quot;signoffC&quot; /&gt;<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/epc:when&gt;<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>&nbsp; &lt;/epc:choose&gt;<o:p></o:p></pre>
<pre>&nbsp;&lt;/flow&gt;<o:p></o:p></pre>
<p>This is utterly untested but gives some ideas I hope. Documentation here:<o:p></o:p></p>
<p><a href="https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.eprints.org%2Fw%2FEPrints_Control_Format&amp;data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C4b60ec9a660e4d5bd86908d6fa29bde4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=nzmzQAODjwmsGJ%2FcS0ZxNpJ475vC8oILY%2FYB4dVxKyw%3D&amp;reserved=0" originalSrc="https://wiki.eprints.org/w/EPrints_Control_Format" shash="TbHo+3qgIPbc0ZZ+ExpuKIPkUvBJvNcMGQ5WTFzaPuO3dbrmLfV1pzeVzrg5kk8H/WJH+9hKekPzsDsBE2gvpMKsXnKEgl7Vx+aJZfcIy9EFe4bK7DzqG7yjg+gCxUZ68ZKcAWPaDG4eaWHUyQjAqQfa9Dhc514xeWwArb/p5Rg=">https://wiki.eprints.org/w/EPrints_Control_Format</a><o:p></o:p></p>
<p><a href="https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.eprints.org%2Fw%2FWorkflow_Format&amp;data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C4b60ec9a660e4d5bd86908d6fa29bde4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=js960UsTaUO8n00oK5Ti6bMBqZrr964WWXCJyMqOWco%3D&amp;reserved=0" originalSrc="https://wiki.eprints.org/w/Workflow_Format" shash="HBdY0uZFO0L79Dfg1HOfkPCwa0dlhisRg5H/hD4Twy4H9ccwGewoc7EvaCm1ITHwWKWEaASUW5pPyxObzz/dXA7eG1fbK6k3ZkG0GkJNZvI/iDSmLt9GpAN71ZTqmYT7lTrixlNmyJxAchSrYSupV8N2/RPJmVoJ6A3CL5XkvqM=">https://wiki.eprints.org/w/Workflow_Format</a><o:p></o:p></p>
<p><a href="https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.eprints.org%2Fw%2FEPScript&amp;data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C4b60ec9a660e4d5bd86908d6fa29bde4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=uaikbuGp11%2FDTySPA7fVMJhiyssYKWWoJOqoqOQRrWw%3D&amp;reserved=0" originalSrc="https://wiki.eprints.org/w/EPScript" shash="RVgqonU87ck25z5zzLDFYtIdmEFE89zzgjOJxpE4FSWi+lxjz/xrijp51l7bmN4f0r5RTtk+hrvtGZSyPdvqOt/lujzB8hYjL0dCRPtygAERJsfjdIx9amIr2lRzL6d2QyWyOh+itUTvVGCil/cEWEV1uQAOydRphQVqFiuWGiI=">https://wiki.eprints.org/w/EPScript</a><o:p></o:p></p>
<p>It's possible to make custom EPScript functions to do more complex tests.<o:p></o:p></p>
<p><o:p>&nbsp;</o:p></p>
<p><o:p>&nbsp;</o:p></p>
<div>
<p class="MsoNormal">On 26/06/2019 11:05, Johannes Schultze via Eprints-tech wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<pre>Hi all,<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>I'm currently evaluating EPrints as a replacement for an old repository <o:p></o:p></pre>
<pre>(custom made). Until now everything worked fine (import of existing <o:p></o:p></pre>
<pre>files and metadata), and I'm now trying to get the release/approval <o:p></o:p></pre>
<pre>workflow configured. As far as I have read in the documentation, there <o:p></o:p></pre>
<pre>are four stages by default:<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>inbox -&gt; buffer -&gt; archive -&gt; deletion<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>I would need some more levels (and roles) in the approval workflow. <o:p></o:p></pre>
<pre>Something like this:<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>inbox -&gt; buffer1 -&gt; buffer2 -&gt; buffer3 -&gt; archive -&gt; deletion<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>Different roles in the hierarchy of the organisation should approve the <o:p></o:p></pre>
<pre>submitted eprint in multiple steps. Is it possible to configure such <o:p></o:p></pre>
<pre>behaviour in EPrints? Or can something like this only be implemented <o:p></o:p></pre>
<pre>with some kind of plugin?<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre>Regards<o:p></o:p></pre>
<pre>Johannes<o:p></o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
<pre><o:p>&nbsp;</o:p></pre>
</blockquote>
<pre>-- <o:p></o:p></pre>
<pre>Christopher Gutteridge <a href="mailto:totl@soton.ac.uk">&lt;totl@soton.ac.uk&gt;</a> <o:p></o:p></pre>
<pre>You should read our team blog at <a href="http://blog.soton.ac.uk/webteam/">http://blog.soton.ac.uk/webteam/</a><o:p></o:p></pre>
</div>
</body>
</html>