Re: [EP-tech] Adding more stages to approval workflow?
Johannes Schultze via Eprints-tech <[email protected]>
| Newsgroups | gmane.comp.web.eprints.devel |
|---|---|
| Message-ID | <EMEW3|31283321cbc217c1de55f2b913edd0fav6AAXp14eprints-tech-bounces|ecs.soton.ac.uk|[email protected]> |
Hi Chris, hi John, I think I got a working demo by now. I used the dark_archive plugin as a start, and added a second stage so ... inbox/buffer/... -> dark_archive -> dark_archive2 ... is now possible. The final workflow will be more complex, but I think I should get it configured with this approach. Thanks again, Johannes > Hi Chris, hi John, > > thanks a lot for your quick replies and your hints! I'll take a look > at both solutions and let you know if I got it all to work. > > Regards, > Johannes > > >> 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%7Caff91bd272144ada9edb08d705e2dc6a%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=dbvNZKdwFNd0fZBy1rJ84bQL7%2F%2F%2FrkPui5j%2FdHDP5lQ%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%7Caff91bd272144ada9edb08d705e2dc6a%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=rbnA9FtlsSLaILfOcPPiPILrfCfgz7e4Gju0zpXT7gQ%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%7Caff91bd272144ada9edb08d705e2dc6a%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=jFZP67xuDRDeLGaw11bAu44Rx8kdOXO%2BDvATnjNfsAs%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%7Caff91bd272144ada9edb08d705e2dc6a%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=jFZP67xuDRDeLGaw11bAu44Rx8kdOXO%2BDvATnjNfsAs%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%7Caff91bd272144ada9edb08d705e2dc6a%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=xvAviUdntpmTjBMHevISVQSQdym%2FFaSo271aq0WVpLw%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%7Caff91bd272144ada9edb08d705e2dc6a%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=xvAviUdntpmTjBMHevISVQSQdym%2FFaSo271aq0WVpLw%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%7Caff91bd272144ada9edb08d705e2dc6a%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=JpBk%2BD1VBxtuASMn%2FS%2B4nTefu2qlUbKRl92BtXXkmgc%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%7Caff91bd272144ada9edb08d705e2dc6a%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=JpBk%2BD1VBxtuASMn%2FS%2B4nTefu2qlUbKRl92BtXXkmgc%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 athttp://blog.soton.ac.uk/webteam/ > > > -- > Dipl. Inf. Johannes Schultze > Gesellschafter / Entwicklung > > Tel. +49 40 60940857-5 > Fax. +49 40 60940857-1 > [email protected] > effective WEBWORK GmbH > Neuer Wall 18 > 20354 Hamburg > https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.effective-webwork.de&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7Caff91bd272144ada9edb08d705e2dc6a%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=FwjJk6hUTKt8VmuGQ2%2BQoClpvmC9ablFd1uFS6BnwEU%3D&reserved=0 > > GF Dr. Matthias Finck > HRB 101108 (Hamburg) > UStId DE254169943 -- Dipl. Inf. Johannes Schultze Gesellschafter / Entwicklung Tel. +49 40 60940857-5 Fax. +49 40 60940857-1 [email protected] effective WEBWORK GmbH Neuer Wall 18 20354 Hamburg https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.effective-webwork.de&data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7Caff91bd272144ada9edb08d705e2dc6a%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=FwjJk6hUTKt8VmuGQ2%2BQoClpvmC9ablFd1uFS6BnwEU%3D&reserved=0 GF Dr. Matthias Finck HRB 101108 (Hamburg) UStId DE254169943 *** 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/