292 Commits

Author SHA1 Message Date
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
burnettk
29f96ff68d pyl 2023-02-08 14:02:17 -05:00
Dan
f9372effd9 Use a mock when making external calls in tests. 2023-02-08 13:14:42 -05:00
Dan
f387ab6c6c run_pyl 2023-02-08 12:00:27 -05:00
Dan
d97fcfd238 Assure that when something goes wrong calling a service task that we get as much good information about the problem as possible. 2023-02-08 11:53:20 -05:00
jasquat
03b265a522 renamed development env to local_development and testing to unit_testing w/ burnettk 2023-02-07 15:02:47 -05:00
jasquat
cea7f746f6 use our json encoder to dump the user for get_current_user script w/ burnettk 2023-02-06 14:11:15 -05:00
burnettk
8ce5855b78 move towards returning dict in get_current_user 2023-02-06 10:30:38 -05:00
burnettk
408759d122 show that hiding nested fields works as well 2023-02-03 15:47:35 -05:00
burnettk
c3cb288875 make form schema and form ui schema both dicts, add support for hiding fields based on task data 2023-02-03 15:40:14 -05:00
jbirddog
f4ff86f9b0
Allow for different Python Environments when executing scripts within SpiffWorkflow (#121) 2023-02-02 10:24:55 -05:00
burnettk
7b4d714a06 folks who can start instances can also view their logs 2023-01-31 17:11:11 -05:00
jasquat
00164b1089 tests are passing now w/ burnettk 2023-01-27 13:20:22 -05:00