304 Commits

Author SHA1 Message Date
jasquat
cb53321594
check task data on spiff tasks 2023-03-10 13:29:23 -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
486a49b6f6
Merge remote-tracking branch 'origin/main' into feature/save_tasks_one_at_a_time 2023-03-09 22:07:11 -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
jasquat
39ea4eb260
Merge remote-tracking branch 'origin/main' into feature/split_up_bpmn_json 2023-03-07 10:48:37 -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
6bdc174264 Fixed tests 2023-03-06 19:27:24 -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
jasquat
512fbbbffd
some stuff is passing but still needs the process_instance_data w/ burnettk 2023-03-03 16:51:24 -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
5ef4ddd042
clean up bpmn process definition save code a bit w/ burnettk 2023-03-03 11:24:28 -05:00
jasquat
8e83d0effd
unit tests are passing with the new spec tables 2023-03-03 10:08:14 -05:00
jasquat
cbbcd93d7b
avoid creating new processors if it is not necessary 2023-03-02 10:00:08 -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
jasquat
e9ce360a10
pyl 2023-03-01 12:35:08 -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
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
4d7b0038fc
added debug logging when adding spiff step details w/ burnettk 2023-02-27 15:53:56 -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
jasquat
9ce870274c
script to get last user completing a task is working w/ burnettk 2023-02-27 12:08:07 -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
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
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
8463b2cda9
removed task-data endpoints since we no longer need them w/ burnettk 2023-02-23 17:07:53 -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
df3b713ce4
disable strict host checking for git commands w/ burnettk 2023-02-21 16:42:11 -05:00
jasquat
b8b4734aea
fixed tests w/ burnettk 2023-02-21 15:28:54 -05:00
Dan
7b16625cff run_pyl 2023-02-20 12:34:42 -05:00
Dan
5171e53240 * SpiffWorkflow event_definitions wanted to return a message event's correlation properties mested within correlation keys. But messages are directly related to properties, not to keys - and it forced a number of conversions that made for tricky code. So Messages now contain a dictionary of correlation properties only.
* SpiffWorkflow did not serialize correlations - so they were lost between save and retrieve.

* When comparing Correlation Property values - we are storing these values as strings in the database and can't convert them back to integers later, so I'm changing everying everywhere to compare after conversion to a string.  Don't feel great about this one.
* By using an SQL Alchemy join table, there is a lot of db queries we don't need to write.
* A few handy fucntions on db models to make it easier to work with correlations.
* Updated tests because I changed some of the BPMN models we were testing against.
* Database migration to use the new constraint names with the alternate form of the join table between correlation mesages to instance messages.
2023-02-20 11:50:35 -05:00
Dan
28ac9ef872 * Re-work message tests so I could wrap my simple head around what was happening - just needed an example that made sense to me.
* Clear out complex get_message_instance_receive how that many-to-many works.
* Create decent error messages when correlations fail
* Move correlation checks into the MessageInstance class
* The APIError could bomb out ugly if it hit a workflow exception with not Task Spec.
2023-02-18 13:09:58 -05:00
Dan
4958dbf895 failing test. 2023-02-17 12:10:32 -05:00
Dan
948deb97bc work in progress -
* Link between message instance and correlations is now a link table and many-to-many relationships as recommended by SQLAlchemy
* Use the correlation keys, not the process id when accepting api messages.
2023-02-17 10:45:01 -05:00
Jon Herron
1c95d2f234 The End Event has a spiff step 2023-02-13 14:13:34 -05:00
Dan Funk
81da8c30a6
Merge pull request #132 from sartography/feature/no_more_current_user
Feature/no more current user
2023-02-08 18:23:25 -05:00
Dan
9eb2eb28df run_pyl 2023-02-08 17:10:57 -05:00
Dan
23403acd29 remove the "current_user" from being added to the task_data. 2023-02-08 15:53:14 -05:00