nextcloud / approval

✅ Approve/disapprove files in the sidebar
GNU Affero General Public License v3.0
27 stars 8 forks source link

Some thoughts about the approval workflow #2

Open schiessle opened 3 years ago

schiessle commented 3 years ago

Great app, I just tried it... But I think there are some important use cases missing or I just don't know how to execute them:

  1. Most of the time non-admin users want to setup a approval process for the latest quote, project proposal, draft law, etc. If I understand it correctly that's not possible at the moment. Even if we would accept that a admin needs to do it. How should a admin set the corresponding tag on a random file/folder for which I want to have a approval in my account?

  2. Is there a way to undo my approval if I clicked it by accident?

  3. In many enterprise use cases more than one person has to approve stuff. Often this is a chain: user1 approves the document -> user2 approves the document -> user3 approves the document -> approval passed. Are there any plans to model such chains or at least request the approval from multiple people and only show the document as approved when all of them approved it?

julien-nc commented 3 years ago

Hey,

  1. For the moment, flows are supposed to be used to assign "pending" tags automatically on some conditions. They indeed have to be set by admins. It is planned to add the possibility for users to manually request approval on files.
  2. We decided not to provide a way to undo for the moment. This might change in the future. Maybe the possibility to ask for approval again is enough.
  3. It is currently possible to chain approval rules by setting the "approved tag" of a rule A as the "pending tag" of a rule B. This way, once a file is approved by rule A, it becomes pending for rule B.

About 3., thanks for mentioning chaining because it makes me realize there will be a problem soon. As we plan to hide the tag selection in approval admin settings, we need to find a way to preserve the possibility to chain rules. Maybe an extra optional field to set a chained rule would be enough (and more explicit). I'll keep that in mind.

osm-frasch commented 2 years ago

Quick question: Has anything been done since april 21on point 3 regarding the chaining of permits?

thekk1 commented 1 year ago
2. We decided not to provide a way to undo for the moment. This might change in the future. Maybe the possibility to ask for approval again is enough.

The problem with this decision is, that this is a very common use case. For example if the file has changed or the approval was declined and the user has to change something in the file. There are so many requests to support this and no respond from developers. Also there are many requests on other apps (i.e. occ, workflows, file actions) to provide a way to revert the tag on the files. This is just because your concept does not fit the reality and this is known by about over 3 years. I can not understand why there is no reaction to this.

alimahwer commented 1 year ago

I wonder why we are reinventing the wheel when it comes to workflow management. Workflow is a well established discipline that has its own standards and tools (including open source ones) for WF design (aka modeling), running (using WF engine), Human tasks, WF analysis and mining.

pieter-groeneweg commented 1 year ago

my 2cts extra's on the three points raised by @schiessle

  1. Users can be set as group admin, please allow group admins to create approval workflows. Next to that the Approval workflows should have the option to limit the functionality to a specified folder. Also option to select what type of document. Currently even folders can be approved. (It would be nice if a group admin also was allowed to create sub groups but that is more of an nextcloud core feature)

  2. Undoing an approval or better 'revoking' should be part of the flow. There should be an option to do this manually. Also should an approval be revoked upon uploading a new version or when reverting to a previous version. In addition if someone rejects, the rejector should ad a comment mandatory on why the document is rejected. Yes some can be done with other flow tools, but imho it should be a part of this app.

  3. Chained flows should also have Parallel flows with an end condition all approved (or a threshold in numbers or percentage of the required approvers).

adding some more points

  1. What I noticed with chained Approval flows is that a user that is allowed request in both, also sees the chained flow in the 'Select Approval Workflow' popup and is able to select it. Chained flows that automatically are triggered by a hidden tag, should not be available in the popup. Or at least have the option not to be shown in the list,

  2. Allow user to assign approver(s) from a list of available approvers AND also allow users to choose other users within their group(s).

  3. I also see use for this app outside approval workflows. It seems only a small step to also allow to search for document endorsers this way. Users looking for support on matters. For this it would be nice to allow users to create their own flows and be able to assign to anyone.

But above all, it already is way more mature than the MS Sharepoint approval workflow. Be proud. This is a good app. Thanks!