Dan
063da419d0
updating for the last version of Spiffworkflow which deprecates the use of task.STATE values, in favor of TaskState.STATE, for example TaskState.READY
2022-05-10 12:28:55 -04:00
mike cullerton
b13aac84e7
Change workflow_state to state
2022-05-06 14:02:11 -04:00
mike cullerton
d91fa9e095
Don't update task if workflow is locked, hidden, or disabled
2022-05-06 08:49:20 -04:00
mike cullerton
dd2e8ef32f
We ran the get_master_spec method twice, instead of using the value in master_spec the second time
2022-04-29 17:36:15 -04:00
Dan
5e54c90b47
"Reset" should not mean "re-start". Calling the reset_workflow script will now set the workflow to an "unstarted" state with no outstanding tasks, no json-state structure stored. The workflow is not yet running.
...
Also:
* Assured that arguments are consistent (we always seem to use workflow_spec_id, so I made sure we use that consistently.
* Don't require named parameters - so it's cool to call it like: reset_workflow('my_workflow_id')
* Task Actions (ie create, assign, etc...) are now an enumeration in the models, and not static variables on Workflow Service, so we can reference them consistently from anywhere.
* Removed some repetitive code
* Always try to validate as much as possible in the scripts to save folks time debugging.
*
2022-04-15 15:36:23 -04:00
alicia pritchett
9b1a7ff286
Fixes #668 - Cancel/Notify Called when loading last task
...
don't call cancel notify if its an end event
2022-03-17 10:58:25 -04:00
mike cullerton
3b049e358d
Remove unused imports
2022-03-14 12:02:48 -04:00
mike cullerton
1bfe656817
Remove unused API endpoint to get logs for a workflow.
...
We have a script for this that is used (in workflows)
We do use the API endpoint to get logs for a study. (On the study page)
2022-03-11 14:01:06 -05:00
Dan
a74ae647d6
Do not send cancel events if you are navigating to the current task.
2022-03-02 12:24:03 -05:00
Dan
ebbb04a1af
Fixing failing validation.
2022-02-27 10:00:44 -05:00
Dan Funk
140de7ed03
Merge pull request #473 from sartography/nonetype-displayname-error-632
...
Nonetype displayname error #632
2022-02-25 15:41:14 -05:00
mike cullerton
531802f927
Make sure we don't try to get WorkflowMetadata if the spec does not exist
...
This was raising a 500 error
2022-02-25 14:41:58 -05:00
Dan
dde8873c9e
1. defer the loading of the bpmn_json when loading the workflow model. It can be stupidly larger. (see models/workflow.py)
...
2. Shave a little more time off the reset by not re-creating the whole WorkflowProcessor
cleaning up all the firsttime/sincetime statements.
2022-02-24 20:56:57 -05:00
Dan
3442655bd1
Performance Improvements:
...
1. Avoid ever re-generating the list of scripts that can be used in a script task. Terribly expensive as we call eval constantly, and it never ever changes once the app starts. (see script.py changes, and comments)
2. Cache the DocumentStatus list in the flask session, so we calculate it at most once per API Call. It's at least .25 seconds per call. (see study_sevice)
3. We called UserFileService.get_files_for_study (which runs a db query EVERY time) for every possible document type. Now we run the query once (study service line 321)
4. When returning a workflow, we looped through every single task in that workflow's navigation, and called the expensive spiff_task_to_api_task just to figure out it's proper display name. We run a much faster and more efficient method to calculate the display name naow (see workflow_service on lie 680, and 799)
5. A hellton of @timeit and sincetime() calls, that I want to leave in, to help debug any slowness on production.
2022-02-24 14:25:42 -05:00
Dan
b72ecb8375
Another re-work to fix 619 - and to assure that we aren't rebuilding the lookup tables too frequently.
2022-02-17 11:59:48 -05:00
Dan
f2b6008e5f
Fixes 619 - look up models were being built incorrectly, and repeatedly, and sometimes bombed out all together.
...
bonus: resond with a valid error message when an invalid task_id is requested (don't just 500)
2022-02-17 11:04:50 -05:00
Dan
7a99859108
fixing some failing test
2022-02-11 11:00:42 -05:00
alicia pritchett
3ee95b3c39
gets master spec
2022-02-10 11:29:38 -05:00
Dan
df3f67601c
performance improvements. and last rements of load_example_data()
2022-02-09 23:29:39 -05:00
Dan
f12c4aba52
Refactor the workflow_spec_service so it doesn't cache anything, it always reads what it needs from the file system.
2022-02-09 21:06:55 -05:00
Dan
cf71f68ad9
all tests passing!!!!!!!!!!!!!
2022-02-09 15:30:07 -05:00
Dan
2cc20d4b9d
really need to avoid any kind of caching in the WorkflowSpecService
2022-02-09 14:43:32 -05:00
alicia pritchett
5bd25b9f60
get all specs change
2022-02-09 11:34:17 -05:00
mike cullerton
1c033ce7f2
Merge branch 'feature/spec_files_wthout_db' of https://github.com/sartography/cr-connect-workflow into feature/spec_files_wthout_db
2022-02-09 10:55:19 -05:00
mike cullerton
9576089e84
Reorder categories
2022-02-09 10:55:02 -05:00
alicia pritchett
8c5f3a8cfb
slight model change thing for categories
2022-02-09 10:27:46 -05:00
Dan
25ecc1593a
test_workflow_spec_api passing.
2022-02-08 13:35:27 -05:00
Dan
6c0e38c0a5
Merge branch 'feature/spec_files_wthout_db' of github.com:sartography/cr-connect-workflow into feature/spec_files_wthout_db
2022-02-08 11:31:56 -05:00
Dan
dc040f190e
got one more test to work.
2022-02-08 11:30:13 -05:00
alicia pritchett
38c30adbfc
i think this fixes adding and removing libraries to a spec
2022-02-08 11:27:20 -05:00
alicia pritchett
7b031c26dc
small change to libraries in workflow.py
2022-02-08 10:06:20 -05:00
alicia pritchett
aa9807a543
heres the categories
2022-02-07 15:45:09 -05:00
Dan
1d7ecad51f
Merge branch 'feature/spec_files_wthout_db' of github.com:sartography/cr-connect-workflow into feature/spec_files_wthout_db
2022-02-07 14:58:42 -05:00
Dan
4b8d193fb9
a few more tests passing
2022-02-07 14:58:25 -05:00
alicia pritchett
d4b04f5b80
fixes the import thing for real
2022-02-07 14:10:10 -05:00
Dan
056f901f9a
WIP - its just caos right now.
2022-02-07 12:59:48 -05:00
alicia pritchett
2a6578b785
fixed workflow.py
2022-02-07 12:10:57 -05:00
alicia pritchett
66906c3786
fix a couple things
2022-02-07 10:57:34 -05:00
alicia pritchett
699d0ab797
updated method calls in workflow.py
...
except for reordering
2022-02-04 15:31:36 -05:00
alicia pritchett
2fb6746f6b
new methods
2022-02-04 14:45:52 -05:00
Dan
6765afbd02
WIP - Move the categories and specifications out of the database.
2022-02-04 13:51:39 -05:00
Dan
4ec6e403f5
1. Created a UserFileService, so it's clear what we use when for File Services, UserFiles, SpecFiles, and ReferenceFiles each function differently.
...
2. Reference Files and Spec Files are written to disk, they do not exist in the database at all.
2022-02-02 12:59:56 -05:00
Dan
962d05c875
1. Created a TaskLoggingService to encapsulate what we are doing with Task Logging through BPMN Script calls and API calls from the front end.
...
2. Added two api endpoints that will allow us to get all the logs for a specific workflow or study.
3. Assured that requests for logs are paginated, sortable, and can be limited to a specific code if needed.
4. Assure that we only use logging levels that match the log levels of Python.
2022-01-10 13:16:54 -05:00
Dan
c83b047881
Fixing some bugs I introduced with the latest fix.
2021-12-21 16:22:41 -05:00
Dan
f129509802
Looks like reording the deletes allows us to remove workflow specs a little easier. Tested this with libraries, and seems to work ok.
2021-12-20 14:36:45 -05:00
Dan
421e4fd9aa
Fixes related to resent commit to SpiffWorkflow that provides better handling for workflows that loop back on themselves.
2021-12-15 16:00:31 -05:00
mike cullerton
daebf42a30
Move some of the work in crc.api.workflow.delete_workflow_specification
to separate workflow_service methods
...
Added a session.commit to `delete_workflow_spec_task_events`
2021-12-13 11:04:28 -05:00
Dan
4a1285b8e0
When validating a workflow, don't run the master workflow multiple times, its a huge waste of time.
...
Provide decent data when calling get_study_associate(s) scripts.
2021-11-22 17:17:19 -05:00
Dan
4d1f4429ff
Fixing a bug in enum_label that was not working when lookup up an select list from a spreadsheet.
...
Assure we raise more thoughtful error messages when running getting exceptions in engine tasks.
Field Options should always be available now due to a fix in Spiffworkflow.
2021-11-22 12:26:30 -05:00
alicia pritchett
702b8eaed6
add ldap endpoint that doesnt require workflow info
2021-10-28 16:19:39 -04:00