Closed danfunk closed 1 month ago
@harmeet-status - we are hoping this will allow us multiple ways to kick off processes while maintaining only a single production SpiffWorkflow implementation. We can use it, in combination with our anonymous user tasks to allow non-authenticated users to both start and participate in workflows when they have the links to do so. It will also allow you to create an independent web page (or integrate into the status.im website) forms that will start internal workflows.
How would the user be able to come back into spiff and try to look at the status of the current bounty, and whether it's been paid, look at the history of all the bounties they have completed, and the process instances associated with this?
This would not provide a way for them to track the status of a bounty. However, they may never need or want to interact with such a system if they are given frequent updates through notifications that are built into the workflow.
If our long term intent here is to build a replica of upwork / gig economy apps - then we would need a more complete interface. We're just seeking for ways to create a good experience without amassing additional infrastructure. At least until we have a clear real world understanding of how best to implement these bounties.
One thing this allows is the ability to author a whole website or mobile application around bounties, that can capitalize on and make use of SpiffWorkflow, while having the ability to grow independently. In such a situtation, some additional ability to query SpiffWorkflow for reports and statuses could also be implemented. Then you could build countless user facing applications for any number of purposes, while making use of SpiffWorkflow to manage the business processes.
We were thinking that the user would be able to enter their personal details into the bounty once and then on subsequent bounty applications, they would be able to use refer to the pre-filled information.
How would that work in this instance?
Nm about the comment above, we have settled on allowing a new process to be started using a URL. We do not need to pass any parameters in the URL.
There will be a generic URL for Spiff which starts a new process with a form which is accessible without any authentication. This form does not support the save function, you can only load and submit it. You cannot come back to it later either.
@burnettk Please let me know how to test this.
@madhurrya see notes on https://github.com/sartography/spiff-arena/pull/1210, and let us know if you have questions.
Tested the concept using this model https://dev.app.spiff.status.im/process-models/misc:qa:unauthenticated-endpoint-support with the URL https://dev.app.spiff.status.im/public/misc:qa:bounty_start
And tested guest tasks with https://dev.app.spiff.status.im/process-models/misc:test:madhurya-testing:guest-form-access with the URL https://dev.app.spiff.status.im/public/tasks/3134/b4bf6873-8b38-4ad6-94ca-5891f3fbed40 and https://dev.app.spiff.status.im/public/tasks/3137/07a36da1-c4d3-4be3-89d8-54d11dbad0a8
@harmeet-status The basics work as explained in the PR here https://github.com/sartography/spiff-arena/pull/1210. Is there any specific things or scenarios we need to test under this?
Here are the scenarios that we need to satisfy in the bounty process:
No 2 e.g. A dev will start a bounty application process and get a bounty assigned to them. At some point in the future, the dev will need to come back into Spiff and put the PR URL into Spiff. I wanted to send the dev a link to a bounty using a notification.
Related to above # 2, I have created a model and tested it. I believe it will address your situation. Please see below steps and let me know if you want me to check anything else related to this.
Model:- https://dev.app.spiff.status.im/process-models/misc:qa:send-message-to-existing-process-instance 1st Guest Link to start the process instance:- https://dev.app.spiff.status.im/public/misc:qa:bounty_process_start
Once the user completes the 1st guest task the process instance starts and it'll wait at Manual Process "Approve" to reviewer to approve it. (In this sample I have set me and fin@status.im as reviewers)
After the Approving stage next script task is generating the link to the second guest task, which can be sent to the user.
With that link user can open the form to submit PR URL
At last, to verify I have added another Manual task for the reviewer to display the entered PR URL and Comment.
Looks good
@harmeet-status If there's nothing else shall I close this ticket?
Closing this ticket as the below scenarios are working as expected.
(proposed as an alternative to running a separate deployment of SpiffWorkflow for Bounties)
supported by https://github.com/sartography/bpmn-js-spiffworkflow/issues/77