Mike Cullerton
98d641f54d
Merge branch 'dev' into partial_testing
2021-06-30 16:13:31 -04:00
NWalker4483
508ef1ff2b
Readded exit_at to workflow param
2021-06-30 11:15:48 -04:00
Dan
9a32fadc2f
Merge branch 'dev' into 346-waiting-task-schedule
...
# Conflicts:
# Pipfile.lock
# crc/services/workflow_service.py
2021-06-30 10:14:37 -04:00
Dan
07eb3f9ca8
Moving metrics into SpiffWorkflow so we can run the performance metrics deeply across both systems simultaniously.
...
Upgrading libraries.
Fixing deprication issue with Pandas and numpy.
We can only process xlsx files now, plain oldschool xls is fully removed.
2021-06-18 16:41:55 -04:00
Kelly McDonald
394906d840
Add refresh_waiting_tasks to the processor do_engine_steps so that if we have a waiting task that has met its condition prior to the scheduler running, it will go ahead and proceed
2021-06-10 08:33:24 -04:00
Kelly McDonald
5f722d675f
Add a function that gets runs via a background scheduler to look for any workflows that are in a 'waiting' state - it runs the update waiting tasks and does do_engine_steps
...
We have a test for the function that runs, but an assumption was made that the scheduler module has its own unit tests and we do not need to test that.
fixes #346
2021-06-09 10:42:34 -04:00
Kelly McDonald
0d8d251e8e
Temp save to test dev
2021-06-09 09:24:37 -04:00
Dan
ef7ee284b2
Prefer tasks that share a parent over just the the next available task when returning the next_task in the workflow processor.
2021-05-19 16:26:16 -04:00
Dan Funk
34759a2f3d
Merge branch 'dev' into feature/performance-refactor
2021-05-04 11:30:13 -04:00
Dan
a719cf4bf9
When retrieving the study, only update the status of underlying workflows if specifically requested.
...
Record the size of a file in the database for quick access (this helps with a frontend refactor, so it isn't downloading the file just to see it's size)
Cleaning up the timing/performance metric reporting to make it easier to read.
Fixing a bug that prevented non-admins for getting the document-directory
2021-04-30 11:55:12 -04:00
Kelly McDonald
2b9cee6b89
Update database to include timezone and change all points where we set the time on an event to be utc time. If we get something in the database with a timezone, it will display properly on the front end, but by default everything will be put in the database in UTC
2021-04-29 10:25:28 -04:00
Dan
cf051a7d4f
Merge branch 'dev' into 277-Document-pane
...
# Conflicts:
# crc/api/file.py
2021-04-21 14:09:44 -04:00
Kelly McDonald
e2197ddab9
Changes to support the frontend data pane
...
fixes #277 and requires frontend branch 277-document-pane
2021-04-20 08:12:27 -04:00
mike cullerton
91e80d01bc
Added delete_files argument to the workflow_processor reset method.
...
Added code to delete the files when delete_files is True.
2021-04-15 11:25:58 -04:00
Kelly McDonald
60f5be1aef
Check in - pending change from @cullerton
2021-03-30 12:10:49 -04:00
Dan
576aebab19
Sometimes a workflow can be completely broken and unloadable. For instance, it starts off with a engine step / script task that will not execute. So the failure happens the second it is processed. When calling reset on a workflow, we should catch the failure, and reset the workflow, so we aren't trapped in an unrecoverable state.
...
To do so, I changed the WorkflowProcessor's reset method to be static, it will try to instantiate the current workflow and execute a cancel_notify event, but if that fails, it will continue and always return a new workflow processor using the latest spec.
2021-03-09 11:52:55 -05:00
Dan
291216e081
Fixing a bug that prevented proper evaluation of a enum field where the default value was null or empty.
2021-03-08 14:00:03 -05:00
Dan
9e758c57d3
Merge branch 'dev' into bug/225_enum_lookup_same_field_name
2021-03-02 14:15:58 -05:00
Dan
aac3d5c16e
Bug #255 , this requires the front end to pass in the name of the task, when doing a lookup. This will prevent a bug where we have multiple user tasks, with enum fields that set the same variable, but use different lookup tables to populate the dropbown or search feature.
2021-03-01 14:54:04 -05:00
mike cullerton
9d804c36d5
Merge branch 'dev' into customer-error-messages-192.
...
Needed some sql changes from dev
2021-03-01 10:29:10 -05:00
Dan
ff8a44a7b1
Make sure we always have a current user, even if the very first task is a script task.
2021-02-16 12:42:59 -05:00
mike cullerton
39eb5c5c21
This is a decent beginning framework for customer error messages.
...
It is not complete, but is in a state where we can start to interact with the front end.
Two tests are failing.
Committing so I can work on an error for Alex.
2021-02-12 14:18:42 -05:00
mike cullerton
7e76639cf3
When a study is put on hold, we now reset workflows and call any pending cancel_notify events.
...
In api.study.update_study we test the study status and call the new WorkflowService method process_workflows_for_cancels.
In services.workflow_service we added the new method process_workflows_for_cancels. It loops through workflows for a study, and resets them if they are in progress.
In services.workflow_processor, we changed the reset method to be an instance method so we can call self.cancel_notify.
In tests.test_lookup_service we changed the call to WorkflowProcessor.reset to reflect the change from class method to instance method
2021-01-29 14:05:07 -05:00
Dan
41dac33039
Removed two tests around soft_reset that are no longer required.
...
Reset should construct the workflow_processor, thus completing the reset process.
Removed the spec argument from init, as it is never used anywhere.
2021-01-20 13:24:53 -05:00
mike cullerton
039a1dcd79
WorkflowProcessor code for new restart_workflow api endpoint. WorkflowProcessor.reset will clear workflow_model.bpmn_workflow_json, and if clear_data is True will clear form data.
...
WorkflowProcessor.__init__ is mostly unchanged.
2021-01-19 15:14:36 -05:00
mike cullerton
6a9e6d3570
Restart workflow without form data. Committing so Dan can check it out
2021-01-14 15:32:14 -05:00
Dan
e5a38874f6
A hard or soft reset should also cause a 'cancel_notify' which will kick off any CANCEL events. If this happens during
...
a hard or soft reset, and an error is thrown trying to fulfil a cancel event, the reset should still fire.
Sending emails still had a number of issues correctly parsing it's arguments. This is corrected.
2020-12-29 18:05:13 -05:00
Kelly McDonald
94662c560e
Added the ability to use the custom functions within a decision/flow coming off of an exclusive join
...
Altered previous test to test this feature
2020-12-01 09:13:12 -05:00
Kelly McDonald
849a4e9f94
Made changes to how soft_reset works so it is backward compatible - essentially, we use the file if we are doing a soft-reset or a new workflow. NB, this may actually still have problems if we have a workflow with P/SMI and we do a soft-reset on it even if there are no structural changes.
...
Also, change how default_value is interpreted, looking at the object attribute rather than the properties list.
2020-10-09 11:00:33 -04:00
Kelly McDonald
8b23cdc05c
commit changes before switching branches
2020-10-09 08:46:14 -04:00
Dan Funk
53d09303d8
Validating that field properties are valid - they must exist as constants on the Task model.
...
Making all the lookup field names consistent.
Fixing the lookup service which was failing at times trying to find the correct field to use for building the lookup table.
Updating validation to check for additional fields and properties.
When connexion level errors occur, wrapping it in an API Error to be consistent.
2020-08-27 14:00:14 -04:00
Carlos Lopez
304ca77e3e
Fixing exception within NameError handler
2020-08-14 09:01:15 -06:00
Aaron Louie
73699e66bd
Merge branch 'dev' into feature/admin_impersonations
2020-07-30 17:36:20 -04:00
Dan Funk
9704cbcb26
Modifications to the ldap scripts to bring them back in line with what Kelly is doing with the evaluation process.
2020-07-30 13:35:20 -04:00
Dan Funk
f15626033d
Allow the workflow to be requested without making changes to the workflow - requires that you specify a read_only flag of true, otherwise it assumes that you want a fully prepared workflow with the next ready task set to run.
2020-07-28 13:33:38 -04:00
Kelly McDonald
d617af8565
All tests are passing - may need to refactor a bit, / remove comments
2020-07-28 11:02:49 -04:00
Kelly McDonald
70ad3872a7
Fix several bugs, most had an issue with the bpmn document
2020-07-27 12:02:34 -04:00
Kelly McDonald
a124e13c6a
Replace all legacy style calls with new calls.
...
Still having issues where we try to eval an empty definition, not quite sure why there is a difference from what we had before. I may need to revert some of it and determine what is going on.
2020-07-24 14:33:24 -04:00
Kelly McDonald
f5ab283538
Test of adding in the ability of augmenting the workflow to include internal scripts like StudyInfo
...
This is the first waypoint on a larger effort to make all of the 'special scripts' that currently require a shebang to be just another python function.
2020-07-24 12:08:46 -04:00
Dan Funk
dd0f984347
Drop backwards compatibility of scripts. While this will cause some initial pain, it's less confusing and error prone, and we are still in the development phase of the project. Were this going straight to production we would likely want to keep this backwards compatibility.
...
Don't parse on spaces if this is python code, so we avoid any errors in processing - spaces should be valid.
2020-07-20 12:26:34 -04:00
Dan Funk
b85869905b
Merge branch 'cr-connect-92-scripting-enhancements' of github.com:sartography/cr-connect-workflow into cr-connect-92-scripting-enhancements
2020-07-20 11:40:10 -04:00
Dan Funk
06430550c8
Dropping the RRT-Data-Fix, it should have come out already, but had a failing test, so pulling it out now rather than delve into what is going wrong with obsolete code.
2020-07-20 11:39:50 -04:00
Kelly McDonald
f415f22ccb
Add warning message when we fail due to syntax error and then we try to look up the class as a backup
2020-07-20 10:12:15 -04:00
Kelly McDonald
de54b63e20
Process scripts with no shebang (#!) as a regular python script. If there is a shebang, we look up the class as we did before.
...
I've also made it so that it falls back if we accidentally forget to add a shebang to a study as this would be a breaking change.
With the fallback feature, it should work with unmodified bpmn documents.
2020-07-17 10:56:04 -04:00
Kelly McDonald
ab5771024e
Check in for sanity check
2020-07-17 09:24:53 -04:00
Dan Funk
c7662315aa
Assure that any errors that occur during the do_engine_steps is correctly captured and returned to the end user or configurator with enough information for them to act on.
2020-07-15 11:16:35 -04:00
Dan Funk
8a66128189
Bug fixes after bumping the version of Spiffworlflow to the latest - which has fixes for sequential multi-instance.
2020-07-06 15:34:24 -04:00
Dan Funk
150117587e
Merge branch 'dev' into feature/parallel_multiinstance_tasks
2020-06-25 23:20:38 -04:00
Aaron Louie
c3ceda4c2f
Replaces xml.etree with lxml.etree
2020-06-25 14:02:16 -04:00
Carlos Lopez
7116b582e8
Splitting commands properly without losing double quoted strings
2020-06-25 12:01:24 -06:00