Git Product home page Git Product logo

Comments (6)

nyeholt avatar nyeholt commented on July 21, 2024

Would the initiator have the ability to 'recall' a workflow at any time? Each instance already tracks the initiator, so my thinking is that the initial Workflow admin screen would be changed to

  • show the list of all workflow instances this user is the initiator of
  • show the list of all workflow instances this user is assigned to
  • show the list of definitions (as currently shown)

The 'recall' action would basically do what the 'cancel' step does at the moment, which is to finalise the workflow instance and leave the content as it is, and send a notification to current assignees that it has been recalled. Sound good to you?

The second part of your post has previously been solved for one client by having a custom 'assign users' action that would look up the content tree for a 'ReviewerGroup' or 'PublisherGroup' relationship and use those as the assignees. It's not very generic, but re-usable.

I'd be hesitant to introduce a 'who can perform this' type of field to an action; that's the whole point of having the assignment action as a specific step.

from silverstripe-advancedworkflow.

sminnee avatar sminnee commented on July 21, 2024

Would the initiator have the ability to 'recall' a workflow at any time?

Probably, but I'd expect that should be workflow configurable. You might have global actions and step-specific actions as a way of dealing with this. Or you could just make a "recall" action at every point.

I'd be hesitant to introduce a 'who can perform this' type of field to an action; that's the whole point of having the assignment action as a specific step.

It's a model that works 90% of the time, and an excellent default, but there are 10% of the remaining cases, such as this one. It's a request of whether you treat recalling a workflow as a hard-coded thing or as something configured. My concern with hard-coding it is that you would get further than further away from actually customisable workflow, although I can see that this is a tough judgement call to make. If you implemented my suggestion, the "assignee" would be "default actor" as opposed to the "only person who can do anything". It's similar to the way you choose who can edit the page at that time, I suppose.

The second part of your post has previously been solved for one client by having a custom 'assign users' action that would look up the content tree for a 'ReviewerGroup' or 'PublisherGroup' relationship and use those as the assignees. It's not very generic, but re-usable.

I picked this up again in point #18. We can probably do better than that, although the best solution might be to couple it with relevant core changes.

from silverstripe-advancedworkflow.

nyeholt avatar nyeholt commented on July 21, 2024

So what I'm feeling is that it's not so much the action that is of interest here but the actual transition from a 'pause and wait for user decision' workflow step to a 'cancel workflow' endpoint step, and making that transition triggerable by the initiator (or some other user - as per #18). At the moment transitions do have the concept of being valid, but there's never been a defined use-case around how this might work yet; perhaps this is?

From a workflow creator standpoint, they'd need to create a 'Recall workflow' transition from the 'decision' workflow action to the cancel workflow action, and mark that transition as being triggerable by the initiator.

From the initiator standpoint, they would see the same thing as other workflow assignees on the 'Workflow' screen of the relevant content, except their available choices would be restricted to whatever transitions they've been given access to (ie the 'Recall' transition).

from silverstripe-advancedworkflow.

sminnee avatar sminnee commented on July 21, 2024

Here's the workflow that I'm using as my model: https://skitch.com/e-sminnee/esjx8/silverstripe-workflows

By "User decision workflow step" do you mean the "Progress workflow" step in that screenshot? If so, then yes, you're right.

If, however, you mean merely adding one more "are you sure?" step, then no: the editor should be able to recall the workflow at any time up until the publisher has actually published.

from silverstripe-advancedworkflow.

sminnee avatar sminnee commented on July 21, 2024

PS: Feel free to Skype me if you think it would be more effective to discuss that way.

from silverstripe-advancedworkflow.

nyeholt avatar nyeholt commented on July 21, 2024

Yep, by decision workflow step I mean any step with more than one outbound transition (ie it requires a user to select the transition to take). Given single transition steps are all executed 'immediately' one after another, there'd be no chance to recall for the end user anyway :)

from silverstripe-advancedworkflow.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.