Usability on web application

Hello, I have to develop an application able to handle person identification processes. This should respond to predefined list of actions and choices, like id request, automatic actions (quality check, biometric identification) and some manual approvals by manager or whatever.

I want to add this workflow layer, thus asks if I can do this with Fireworks. See this kind of scenario:

  • operators can create identification requests by filling some web forms and adding some binary data

  • the requests follow inside the workflow and eventually get analyzed and matched against a database

  • based on the result this dossier goes to a manual validation on some expert webpage

  • once finished the job goes to a id-card-printing service

I would like to know if this can be done, if there could be some pool of waiting jobs, to be queried/retrieved once a capable operator requests it on a specific page of the webapp, if persistence can be implemented with a runnign dossier that could be paused, etc.

Are there examples somewhere ?

Thank you !

Hi Patricio,

I believe FireWorks could indeed serve as the backend for your application, however based on your description I am not sure if something custom and lightweight might better serve your needs.

Regarding their being a “pool of waiting jobs”, this is indeed part of FireWorks. FWS uses MongoDB as a persistent data store of workflows waiting to be run. Currently, these jobs must be added either via the command line tools or via the Python interface as in the tutorials, but once added they are persistent. The jobs can be paused and restarted, i.e. with the “defuse” command, see the docs section entitled “Canceling (pausing), restarting, and deleting Workflows”. To start executing workflows that are stored, one uses the “rlaunch” command (either command line or via Python). The documentation has many more details.

There are many examples on how to get started in the docs; if you follow the basic tutorials on http://pythonhosted.org//FireWorks/ you will see how to create and execute many types of workflows, and if you follow http://pythonhosted.org//FireWorks/guide_to_writing_firetasks.html you will see how you can write more custom workflows in Python.

Note that FireWorks is mainly a backend layer and will not really help with frontend aspects of your project (forms, etc.) It is also possible that FireWorks is a bit heavyweight for your application, and you might write your own custom solution using MongoDB. Probably the best way forward is to try following some of the tutorials on the documentation page (including the Python examples towards the bottom of the tutorials), and let us know again if you have any specific questions regarding how to modify or use those examples.

Best,

Anubhav

Anubhav, thanks for your prompt answer.
I’m going to try with some simpler lib. I saw spiffworkflow seems to be the most promising for my purpose (of adapting it to some bpm methodology).

Have a nice day,

···

On Tuesday, January 27, 2015 at 3:32:42 PM UTC-2, Anubhav Jain wrote:

Hi Patricio,

I believe FireWorks could indeed serve as the backend for your application, however based on your description I am not sure if something custom and lightweight might better serve your needs.

Regarding their being a “pool of waiting jobs”, this is indeed part of FireWorks. FWS uses MongoDB as a persistent data store of workflows waiting to be run. Currently, these jobs must be added either via the command line tools or via the Python interface as in the tutorials, but once added they are persistent. The jobs can be paused and restarted, i.e. with the “defuse” command, see the docs section entitled “Canceling (pausing), restarting, and deleting Workflows”. To start executing workflows that are stored, one uses the “rlaunch” command (either command line or via Python). The documentation has many more details.

There are many examples on how to get started in the docs; if you follow the basic tutorials on http://pythonhosted.org//FireWorks/ you will see how to create and execute many types of workflows, and if you follow http://pythonhosted.org//FireWorks/guide_to_writing_firetasks.html you will see how you can write more custom workflows in Python.

Note that FireWorks is mainly a backend layer and will not really help with frontend aspects of your project (forms, etc.) It is also possible that FireWorks is a bit heavyweight for your application, and you might write your own custom solution using MongoDB. Probably the best way forward is to try following some of the tutorials on the documentation page (including the Python examples towards the bottom of the tutorials), and let us know again if you have any specific questions regarding how to modify or use those examples.

Best,

Anubhav