Re: [EP-tech] Adding more stages to approval workflow?
John Salter via Eprints-tech <[email protected]>
| Newsgroups | gmane.comp.web.eprints.devel |
|---|---|
| Message-ID | <EMEW3|25b6754376c14a61d14cb7f1efbd6febv5PCUv14eprints-tech-bounces|ecs.soton.ac.uk|DB6PR0302MB27119CC6F070C8A3F8BF0EADC4E20@DB6PR0302MB2711.eurprd03.prod.outlook.com> |
There is a different way to achieve this. You can add new 'eprint_status' options. This page: https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.eprints.org%2Fw%2FBuilding_a_DataSet&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C4b60ec9a660e4d5bd86908d6fa29bde4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=7fIolKDHQNeOyy0drbJoB6AarIMEmZO5GzZS3buDYjU%3D&reserved=0 provides details of how to create a 'dark archive' - which is normally a different end-point for a record - so instead of: Inbox -> buffer -> archive You can also go: Inbox -> buffer -> dark_archive This plugin does the same: https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fbazaar.eprints.org%2F401%2F&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C4b60ec9a660e4d5bd86908d6fa29bde4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=gJdm5GJo9K4SNrOuTGSX8nkKqUF5CXyTSFlNx6%2F4DiA%3D&reserved=0 What you would need to configure is options => [qw( inbox buffer archive deletion bufferX bufferY )], and also think about whether anyone can move e.g. from buffer to archive - or whether everything has to go through all stages. 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. You may also want to create a clone of the review screen that looks at bufferX and buffer explicitily. Chris' solution would also work, each has it's merits! Cheers, John From: [email protected] [mailto:[email protected]] On Behalf Of Christöpher Gutteridge via Eprints-tech Sent: 26 June 2019 12:06 To: [email protected]; Johannes Schultze <[email protected]> Subject: Re: [EP-tech] Adding more stages to approval workflow? This isn't trivial but would be possible. This is me riffing and would need refining. First of all, I would add tickbox fields for levels of signoff. ie. signoffA and signoffB and signoffC. Next I would use conditionals on the "workflow" XML file to modify it as follows. In the main <flow> section, use a <when> 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. 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. If signoffA is true, but signoffB is false and the user can approve level B, the see the levelB approve stage which has the signoffB tickbox Similar for signoffC. The validation for publishing makes "signoffC" approval a required field so it can't be published without signoffC being set. <flow> <stage ref="type"/> <stage ref="files"/> <stage ref="core"/> <stage ref="subjects"/> <epc:choose> <epc:when test="eprint_status='buffer' and !signoffA and $current_user{canSignoffA}'> <stage ref="signoffA" /> </epc:when> <epc:when test="eprint_status='buffer' and signoffA and !signoffB and $current_user{canSignoffB}'> <stage ref="signoffB" /> </epc:when> <epc:when test="eprint_status='buffer' and signoffA and signoffB and !signoffC and $current_user{canSignoffC}'> <stage ref="signoffC" /> </epc:when> </epc:choose> </flow> This is utterly untested but gives some ideas I hope. Documentation here: https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.eprints.org%2Fw%2FEPrints_Control_Format&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C4b60ec9a660e4d5bd86908d6fa29bde4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=nzmzQAODjwmsGJ%2FcS0ZxNpJ475vC8oILY%2FYB4dVxKyw%3D&reserved=0<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.eprints.org%2Fw%2FEPrints_Control_Format&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C4b60ec9a660e4d5bd86908d6fa29bde4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=nzmzQAODjwmsGJ%2FcS0ZxNpJ475vC8oILY%2FYB4dVxKyw%3D&reserved=0> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.eprints.org%2Fw%2FWorkflow_Format&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C4b60ec9a660e4d5bd86908d6fa29bde4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=js960UsTaUO8n00oK5Ti6bMBqZrr964WWXCJyMqOWco%3D&reserved=0<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.eprints.org%2Fw%2FWorkflow_Format&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C4b60ec9a660e4d5bd86908d6fa29bde4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=js960UsTaUO8n00oK5Ti6bMBqZrr964WWXCJyMqOWco%3D&reserved=0> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.eprints.org%2Fw%2FEPScript&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C4b60ec9a660e4d5bd86908d6fa29bde4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=uaikbuGp11%2FDTySPA7fVMJhiyssYKWWoJOqoqOQRrWw%3D&reserved=0<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.eprints.org%2Fw%2FEPScript&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7C4b60ec9a660e4d5bd86908d6fa29bde4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=uaikbuGp11%2FDTySPA7fVMJhiyssYKWWoJOqoqOQRrWw%3D&reserved=0> It's possible to make custom EPScript functions to do more complex tests. On 26/06/2019 11:05, Johannes Schultze via Eprints-tech wrote: Hi all, I'm currently evaluating EPrints as a replacement for an old repository (custom made). Until now everything worked fine (import of existing files and metadata), and I'm now trying to get the release/approval workflow configured. As far as I have read in the documentation, there are four stages by default: inbox -> buffer -> archive -> deletion I would need some more levels (and roles) in the approval workflow. Something like this: inbox -> buffer1 -> buffer2 -> buffer3 -> archive -> deletion Different roles in the hierarchy of the organisation should approve the submitted eprint in multiple steps. Is it possible to configure such behaviour in EPrints? Or can something like this only be implemented with some kind of plugin? Regards Johannes -- Christopher Gutteridge <[email protected]><mailto:[email protected]> You should read our team blog at http://blog.soton.ac.uk/webteam/ *** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech *** Archive: http://www.eprints.org/tech.php/ *** EPrints community wiki: http://wiki.eprints.org/ *** EPrints developers Forum: http://forum.eprints.org/