Commit Graph

1150 Commits

Author SHA1 Message Date
jasquat 36d5263750
moved add_bpmn_process to task_service w/ burnettk 2023-03-10 12:23:27 -05:00
jasquat d3529ce7f0
Merge remote-tracking branch 'origin/main' into feature/save_tasks_one_at_a_time 2023-03-10 10:58:41 -05:00
jasquat d500360cc0
added subprocess and call activity to task data bpmn file and the test is passing now 2023-03-10 10:46:40 -05:00
burnettk 7f0318ff5e
add keycloak users 2023-03-10 10:27:29 -05:00
jbirddog db4499ff58
Bump SpiffWorkflow (#171) 2023-03-10 10:21:07 -05:00
burnettk 9b27bbdbf2
get bpmn process for spiff task by guid or from the process instance 2023-03-09 22:37:45 -05:00
burnettk 486a49b6f6
Merge remote-tracking branch 'origin/main' into feature/save_tasks_one_at_a_time 2023-03-09 22:07:11 -05:00
Elizabeth Esswein 25e4edb943 update process instance task list 2023-03-09 18:10:24 -05:00
jasquat ddf72dc90b
added comment 2023-03-09 17:23:08 -05:00
jasquat 9aea8ea51f
the primary test is passing now but subprocesses and call activities are probably broken w/ burnettk 2023-03-09 17:16:44 -05:00
Dan 6871b43543 run_pyl 2023-03-09 16:10:31 -05:00
Dan 300af1abae Adding a new test for error handing to assure this doesn't break in the future, and cleaning up the message call event.
Will also need to update the error handling BPMN process so it provides correlation keys.  We should add a task that will
alert you when you create a message object without setting correlation keys - as they are required per the specification.
2023-03-09 15:27:35 -05:00
jbirddog b2d37b870f
Strategy based engine step execution (#168) 2023-03-09 11:38:18 -05:00
jasquat 3010b412e5
some updates for cypress pp1 test w/ burnettk 2023-03-09 10:59:20 -05:00
Elizabeth Esswein 8daa3672fa Merge branch 'main' into feature/remove-loop-reset 2023-03-09 09:55:52 -05:00
jbirddog 511446d116
Balance lock with unlock (#169) 2023-03-09 08:03:18 -05:00
burnettk 178b67d5b1
make logging more verbose in debug mode by making all loggers do something, fix cypress 2023-03-09 00:38:29 -05:00
burnettk ffe15bf9af
avoid python 3.10 syntax for unions 2023-03-08 17:07:33 -05:00
jasquat f79f0d6116
do not remove columns when clicking the filter button w/ burnettk 2023-03-08 16:57:12 -05:00
jasquat f0df36c862
initial changes to remove loop reset with spiff w/ burnettk 2023-03-08 13:06:25 -05:00
burnettk f990f68b03
measure decryption time 2023-03-07 23:50:32 -05:00
burnettk b92a371d07
bump sentry version 2023-03-07 22:56:48 -05:00
jasquat 3862e79ad7
added some code get only the most recent tasks for a process and task, get updated times from human tasks instead of the process instance, and show the current value for the notification type w/ burnettk 2023-03-07 17:13:46 -05:00
jasquat 282806624e
Merge pull request #166 from sartography/feature/split_up_bpmn_json
Feature/split up bpmn json
2023-03-07 14:11:23 -05:00
jasquat e80c402782
minor tweaks to get_token w/ burnettk 2023-03-07 12:14:12 -05:00
jasquat d3bbdf79cf
check if aud has any valid value when authing w/ burnettk 2023-03-07 11:58:59 -05:00
jasquat 39ea4eb260
Merge remote-tracking branch 'origin/main' into feature/split_up_bpmn_json 2023-03-07 10:48:37 -05:00
jasquat 8c1af67383
Merge pull request #167 from sartography/simple_crypt
Encrypt secrets in the db
2023-03-07 10:48:24 -05:00
jasquat f3aa94dd8a
added some timestamp fields to bpmn process tables w/ burnettk 2023-03-07 10:41:54 -05:00
Jon Herron b5fc01230d Cleanup 2023-03-07 10:00:16 -05:00
Jon Herron 2d80a80bd2 Don't double encrypt when updating/add if not exists 2023-03-07 09:53:19 -05:00
jasquat dd5a911049
a little cleanup of comments 2023-03-07 09:28:38 -05:00
jasquat 00ad48a17c
merged in main and resolved conflicts 2023-03-07 09:19:09 -05:00
jasquat fd5969d8ad
move common script errors to script so it can keep the error messaging consistent across scripts 2023-03-07 09:17:32 -05:00
jasquat 2bb3e09c0d
fixed mypy issues 2023-03-07 09:05:06 -05:00
burnettk d7f5e561d1
lint and show version control identifier on process model show 2023-03-06 23:23:10 -05:00
Jon Herron 55b0d3e174 Getting ./bin/pyl to pass 2023-03-06 20:42:25 -05:00
Jon Herron b3012e48d3 Fix secret getting reset when decrypted in get_secret 2023-03-06 20:40:08 -05:00
Jon Herron 75402d7740 Getting ./bin/pyl to pass 2023-03-06 19:36:37 -05:00
Jon Herron 6bdc174264 Fixed tests 2023-03-06 19:27:24 -05:00
Jon Herron 4851b09d39 Encrypt/decrypt secrets 2023-03-06 19:07:08 -05:00
jasquat cb23d148c0
pyl w/ burnettk 2023-03-06 17:30:35 -05:00
jasquat 5bf50944c7
avoid calling task_definition and bpmn_process_definition more than we need to w/ burnettk 2023-03-06 17:24:01 -05:00
Dan 35e7de6e50 Just some minor stuff:
1) Don't overwrite the message of all Workflow Task Exceptions to say "Something went wrong"
2) log errors when correlation evaluations fail (just so we are aware something isn't working correctly)
3) Dont make all evaluation fuctions require a current task context to execute -- that should be optional.
2023-03-06 17:07:04 -05:00
jasquat ed8dfd2f13
some minor tweaks and turn off debug logging for spiff step details w/ burnettk 2023-03-06 16:16:55 -05:00
Jon Herron 41196c4fdf Poetry install 2023-03-06 15:43:46 -05:00
jasquat f166c2261b
use poetry 1.3.2 2023-03-06 14:41:03 -05:00
jasquat b9c52b9200
fixed pip install command 2023-03-06 14:29:55 -05:00
jasquat b3a97a40ed
Merge remote-tracking branch 'origin/main' into feature/split_up_bpmn_json 2023-03-06 14:29:44 -05:00
jasquat 328fdf88f0
pyl 2023-03-06 14:28:55 -05:00
jasquat 3ac9581607
pin to specific version of poetry 2023-03-06 14:22:59 -05:00
burnettk 1bdc985982
add test users, including for automated pp1 test 2023-03-06 13:11:21 -05:00
jasquat b4ad12b3d7
make sure we set the subprocesses correctly in the bpmn dict w/ burnettk 2023-03-06 13:03:18 -05:00
Dan c28ac8a6be Minor fix to avoid an endless set of error messages if your session times out and you are using the builtin openid. 2023-03-06 12:50:18 -05:00
jasquat 3271ec6e2d
pyl and fixed cypress tests w/ burnettk 2023-03-06 11:59:33 -05:00
jasquat 9a1a8a4fbe
merged in main and resolved conflicts w/ burnettk 2023-03-06 11:15:16 -05:00
jasquat 5948addc66
removed process instance data and serialized bpmn definition models w/ burnettk 2023-03-06 11:13:53 -05:00
jasquat e57e10a906
tests are passing with new db tables w/ burnettk 2023-03-06 11:06:03 -05:00
jbirddog 0eed06b1a6
Couple dependency changes (#165) 2023-03-06 10:12:54 -05:00
jasquat 512fbbbffd
some stuff is passing but still needs the process_instance_data w/ burnettk 2023-03-03 16:51:24 -05:00
burnettk 489e0780a1
get longblob on mysql, reset migrations since we are going to do that anyway in hours 2023-03-03 14:04:02 -05:00
jasquat 6b9c6e39e2
recreated migration from new one in main 2023-03-03 13:08:30 -05:00
jasquat acc4b31faf
Merge remote-tracking branch 'origin/main' into feature/split_up_bpmn_json 2023-03-03 13:04:26 -05:00
jbirddog 94a788a832
Special case file data during user form submission (#164) 2023-03-03 12:24:18 -05:00
jasquat abe8251ddf
recreated branch migration w/ burnettk 2023-03-03 12:08:36 -05:00
jasquat d4e874f4d4
set the collation on the db directly and not in the models w/ burnettk 2023-03-03 12:05:12 -05:00
jasquat d72a264fb8
recreate migrations to set case sensitive columns for mysql w/ burnettk 2023-03-03 11:41:34 -05:00
jasquat 5ef4ddd042
clean up bpmn process definition save code a bit w/ burnettk 2023-03-03 11:24:28 -05:00
jasquat df5fbfcd3c
all tests are passing with new spec tables w/ burnettk 2023-03-03 10:20:26 -05:00
jasquat 8e83d0effd
unit tests are passing with the new spec tables 2023-03-03 10:08:14 -05:00
jasquat e28d212e38
we can save the top level spec to the database with its tasks w/ burnettk 2023-03-02 17:28:31 -05:00
jasquat cd746e78df
created models to hold the bpmn_json w/ burnettk 2023-03-02 16:31:21 -05:00
jasquat 78607fd30b
wait 120 seconds before processing user_input_required process instances w/ burnettk 2023-03-02 12:06:12 -05:00
burnettk 859558d160
Merge branch 'main' of github.com:sartography/spiff-arena 2023-03-02 10:43:05 -05:00
burnettk 35a72ebee7
allow open id to come in via env 2023-03-02 10:43:02 -05:00
jasquat 9ae87f859e
some pyl issues 2023-03-02 10:06:05 -05:00
jasquat cbbcd93d7b
avoid creating new processors if it is not necessary 2023-03-02 10:00:08 -05:00
jasquat 62a2dcd672
updates SpiffWorkflow w/ burnettk 2023-03-01 17:25:03 -05:00
Kevin Burnett dc123892f5
Merge pull request #163 from sartography/feature/process_name_for_log_list
prefer the bpmn process name over the identifier on the logs list pag…
2023-03-01 14:21:37 -08:00
jasquat a88002ec87
use workflow_spec to match task_spec naming w/ burnettk 2023-03-01 17:21:24 -05:00
jasquat e7dba41dd6
do not require task to be given to evaluate a task unless that script specifically needs it w/ burnettk 2023-03-01 17:18:58 -05:00
Dan d511917901 Bumping spiffworkflow lib changes for messages 2023-03-01 16:40:56 -05:00
jasquat 0fbe7a3e76
prefer the bpmn process name over the identifier on the logs list page w/ burnettk 2023-03-01 16:28:42 -05:00
jasquat d295e6ae94
Merge pull request #162 from sartography/feature/move_task_data_into_tables
Feature/move bpmn_json data into separate tables
2023-03-01 15:56:51 -05:00
jasquat 596e3d580d
fixed the downgrade in new migration w/ burnettk 2023-03-01 15:54:50 -05:00
jasquat 683308da54
removed old branch migrations and created single one for this branch w/ burnettk 2023-03-01 15:40:17 -05:00
jasquat 4f32c604cf
remove some debug code w/ burnettk 2023-03-01 15:38:05 -05:00
jasquat 11384fe8fa
always save the serialized bpmn definition for now w/ burnettk 2023-03-01 15:01:29 -05:00
Dan ddca493011 Don't attempt to gather the augmented methods if no task is provided -- if we aren't working within the context of a task, we are not working in a context where augmented methods can work (at least not all of them). This was causing an error when attepting to use the custom engine to execute extraction expressions on messages. 2023-03-01 13:46:20 -05:00
jasquat e9ce360a10
pyl 2023-03-01 12:35:08 -05:00
jasquat 3865fefd0c
fixed get call activity task data w/ burnettk 2023-03-01 12:23:04 -05:00
jasquat e9f8364b1a
store the process instance data id on the process instance and not the other way around w/ burnettk 2023-03-01 11:39:03 -05:00
jasquat 8266d3f14b
all backend tests except for report tests are now passing 2023-03-01 10:58:12 -05:00
jasquat b23cdec804
unit tests are passing except for test_process_instance_report which cannot work currently 2023-03-01 10:36:11 -05:00
jasquat e4d7b067bc
save full_bpmn_json in a var 2023-03-01 09:55:20 -05:00
jasquat 25269133c1
must add data to db 2023-03-01 09:42:41 -05:00
jasquat 32f04e9a75
most unit tests are passing now and the use of bpmn_json is almost gone in src 2023-03-01 09:22:38 -05:00
jasquat 8e286cba91
some logic to attempt to use the new bpmn json tables w/ burnettk 2023-02-28 17:46:14 -05:00
jasquat 828c042397
added new table and some notes on how to get a delta w/ burnettk jbirddog 2023-02-28 16:30:52 -05:00
jasquat f8af24f0a1
added config to turn on sentry profiling w/ burnettk 2023-02-28 11:23:50 -05:00
jasquat 5e359cac3b
fixed python 3.9 syntax issue 2023-02-28 08:56:44 -05:00
burnettk a9a01f33c6
slam migrations file one last-ish time, increase task_name column length 2023-02-27 22:03:42 -05:00
burnettk 7216af1ce8
allow task_name to be long 2023-02-27 22:01:08 -05:00
burnettk 4c7bc90a8f
let env var work on windows and fixing typing issue on python 3.9 w/ messaging stuff 2023-02-27 19:16:06 -05:00
jasquat 45b634a6df
recreated all migrations to resolve postgres migration failures w/ burnettk 2023-02-27 17:27:53 -05:00
jasquat 5c5e36c067
do not run mysql commands if not doing mysql w/ burnettk 2023-02-27 17:19:03 -05:00
jasquat aafeed409c
do not return human tasks from errored process instances w/ burnettk 2023-02-27 16:11:26 -05:00
jasquat 4d7b0038fc
added debug logging when adding spiff step details w/ burnettk 2023-02-27 15:53:56 -05:00
Dan 0b3fcf1daa Merge branch 'main' of github.com:sartography/spiff-arena into main 2023-02-27 14:40:52 -05:00
Dan 5dfe1d73d1 Point to the latest spiffworkflow 2023-02-27 14:40:47 -05:00
jasquat 24ee23f28c
fixed conflict with db migrations w/ burnettk 2023-02-27 14:33:55 -05:00
jasquat 3cc0ad1fb8
Merge remote-tracking branch 'origin/main' into feature/script_get_last_user_completing_task 2023-02-27 14:28:23 -05:00
jasquat df17c51453
added script to get process initiator w/ burnettk 2023-02-27 14:28:19 -05:00
Dan 6401481f99 run_pyl 2023-02-27 14:21:22 -05:00
Dan f65ed14df3 Merging main 2023-02-27 14:17:10 -05:00
Dan 965739581a run_pyl 2023-02-27 14:05:00 -05:00
Dan 4b4bbeff25 Needed an additional check for empty correlation keys - which on a RECEIVE message, should always match anything.
When finding messages to match a send, assure they are RECIEVE messages.

Fix some of the json output for messages sent to the front end
2023-02-27 14:01:21 -05:00
jasquat e3ae71777f
remove unwanted test files w/ burnettk 2023-02-27 12:08:40 -05:00
jasquat 9ce870274c
script to get last user completing a task is working w/ burnettk 2023-02-27 12:08:07 -05:00
jasquat b3f2169c3a
Merge remote-tracking branch 'origin/main' into feature/script_get_last_user_completing_task 2023-02-27 10:45:04 -05:00
Jon Herron 8b519bb95d poetry remove orjson 2023-02-27 09:35:51 -05:00
burnettk 610fd2e777
wip for get_last_user_completing_task script task 2023-02-25 23:31:23 -05:00
burnettk 26a82585a0
postgres really will just order however it wants if you do not specify an order_by clause 2023-02-25 22:35:46 -05:00
burnettk 6b9c06b566
add ppg.ba4.sme and ba5 2023-02-24 23:42:19 -05:00
burnettk 2098cd209f
fix postgres db name and comment out debug job 2023-02-24 16:57:53 -05:00
jasquat e969ea05d3
removed some unused code from task and fixed the logs table a bit w/ burnettk 2023-02-24 16:18:49 -05:00
Dan c0bbba6f85 run_pyl 2023-02-24 15:02:03 -05:00
jasquat 2f1a3e3677
skip failing test if postgres and added comment about cause w/ burnettk 2023-02-24 14:57:17 -05:00
Dan d9ab0fde32 # SpiffWorkflow:
1) Type Safe checking on correlation properties (no more str())
2) A running workflows Correlations are once again at the key level.

# Backend
1) Both send and receive messages can have correlation_keys - and we compare these to each other to quickly assure a match (if they both exist - otherwise we fall back to comparing the properties on the receive to the sending messages payload)
2) Cleaned up the migrations to just one file
2023-02-24 14:53:22 -05:00
jasquat 40dbba88e5
look users up by service and username instead of service_id since usernames have to be unique anyway w/ burnettk 2023-02-24 10:41:57 -05:00
jasquat 81ef2c7300
avoid using task-data endpoint for task data and only use it to get tasks based on spiff step instead 2023-02-24 09:21:21 -05:00
jasquat 6ec5e7e57d
put back the task data code when getting tasks 2023-02-23 18:32:59 -05:00
jasquat 4f7a82f8d1
Merge remote-tracking branch 'origin/main' into feature/task_data_api_refactor 2023-02-23 17:10:23 -05:00
jasquat 06c4af9e17
removed commented out code w/ burnettk 2023-02-23 17:09:33 -05:00
jasquat 8463b2cda9
removed task-data endpoints since we no longer need them w/ burnettk 2023-02-23 17:07:53 -05:00
burnettk 1f3b5129fe
turn off profiling again 2023-02-23 16:54:38 -05:00
burnettk 2e94950779
add two users and update one 2023-02-23 16:39:30 -05:00
Dan 3a03b92ff0 BPMN Parser was returning all retrieval expressions, rather than the ones specific to a correlation property, as was intended.
Adding a correlation cache - so we have a reference of all the messages and properties (though still lacking a description of keys)
Adding yet another migration, maybe should squash em.
2023-02-23 16:36:32 -05:00
jasquat 6dc42aa273
added api to get task data and do not return from task data list anymore w/ burnettk 2023-02-23 15:59:19 -05:00
Dan 7343c2efde run_pyl (part 2) 2023-02-23 15:09:22 -05:00
jasquat d2eb2d85d8
Merge branch 'main' of github.com:sartography/spiff-arena 2023-02-23 15:06:27 -05:00
jasquat 3eb15527fb
added comment about refactoring getting task data w/ burnettk jbirddog 2023-02-23 15:06:23 -05:00
burnettk 0897635c5f
lint 2023-02-23 15:01:45 -05:00
burnettk 470e0002cd
add test users 2023-02-23 14:58:14 -05:00
Dan 0b6596cad4 Adding Migration. 2023-02-23 14:42:00 -05:00
jasquat 9b88241882
remove task size check since it can take a long time to run and we do not do anything with it w/ burnettk jbirddog 2023-02-23 14:41:45 -05:00
Dan 9bf32a7560 Merge remote-tracking branch 'origin/main' into feature/message_fixes 2023-02-23 14:26:04 -05:00
Dan aa8c5022ea run_pyl 2023-02-23 14:17:22 -05:00
Dan 8c673c4fb6 BPMN.io -- Just show the message names not the ids - to assure we are only exposing the names.
SpiffWorkflow -
    - start_messages function should return message names, not ids.
    - don't catch external thrown messages within the same workflow process
    - add an expected value to the Correlation Property Model so we can use this well defined class as an external communication tool (rather than building an arbitrary dictionary)
    - Added a "get_awaiting_correlations" to an event, so we can get a list of the correlation properties related to the workflows currently defined correlation values.
    - workflows.waiting_events() function now returns the above awaiting correlations as the value on returned message events
 Backend
    - Dropping MessageModel and MessageCorrelationProperties - at least for now.  We don't need them to send / receive messages though we may eventually want to track the messages and correlations defined across the system - these things (which are ever changing) should not be directly connected to the Messages which may be in flux - and the cross relationships between the tables could cause unexpected and unceissary errors.  Commented out the caching logic so we can turn this back on later.
    - Slight improvement to API Errors
    - MessageInstances are no longer in a many-to-many relationship with Correlations - Each message instance has a unique set of message correlations specific to the instance.
    - Message Instances have users, and can be linked through a "counterpart_id" so you can see what send is connected to what recieve.
    - Message Correlations are connected to  recieving message instances.  It is not to a process instance, and not to a message model.  They now include the expected value and retrieval expression required to validate an incoming message.
    - A process instance is not connected to message correlations.
    - Message Instances are not always tied to a process instance (for example, a Send Message from an API)
    - API calls to create a message use the same logic as all other message catching code.
    - Make use of the new waiting_events() method to check for any new recieve messages in the workflow (much easier than
    churning through all of the tasks)
    - One giant mother of a migration.
2023-02-23 13:53:03 -05:00
jasquat e4431500fc
do not call serialize if we can use the cached bpmn_json instead w/ burnettk 2023-02-23 13:48:27 -05:00