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|a9fe045b7b37f40df022a6232ac337cav5PDr814eprints-tech-bounces|ecs.soton.ac.uk|[email protected]> |
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%7Cd96c65ccbbc4405b526d08d6fa352912%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=UNSD538gpsWJr3MG3MvE%2Bac26GS9%2FWthD5o5Bud1u5E%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%7Cd96c65ccbbc4405b526d08d6fa352912%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=djBAK9KW%2FJ6zNSybtvtjGS54qA3bQDZOJfTy8F5sK2s%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%7Cd96c65ccbbc4405b526d08d6fa352912%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=gce0LpGDdffi9AUeCr6Obukb9LHv5gos0KJt1J6PgQU%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%7Cd96c65ccbbc4405b526d08d6fa352912%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=gce0LpGDdffi9AUeCr6Obukb9LHv5gos0KJt1J6PgQU%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%7Cd96c65ccbbc4405b526d08d6fa352912%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=P4QuQk3CakBhGMQOaZVQbmvZp%2BirE6erEmjsIn34m5k%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%7Cd96c65ccbbc4405b526d08d6fa352912%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=P4QuQk3CakBhGMQOaZVQbmvZp%2BirE6erEmjsIn34m5k%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%7Cd96c65ccbbc4405b526d08d6fa352912%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=m9VwoypeafWu9ip4O%2B06Idb75KzXy2As%2FGeD%2BL4hko4%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%7Cd96c65ccbbc4405b526d08d6fa352912%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=m9VwoypeafWu9ip4O%2B06Idb75KzXy2As%2FGeD%2BL4hko4%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%7Cd96c65ccbbc4405b526d08d6fa352912%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=ipJopqjVC0312S7y3e8yvG0pYy0ZIVxPCe07cdqFsTc%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/