Commit Graph

283 Commits

Author SHA1 Message Date
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
jasquat a882355803 some initial updates w/ burnettk 2023-01-27 12:51:19 -05:00
jasquat 1e7b80bd7d set the correct type for task since SpiffTask and a backend task are not the same 2023-01-26 07:35:13 -05:00
jasquat 0b497161e1 Merge remote-tracking branch 'origin/main' into feature/jinja_errors 2023-01-25 17:30:55 -05:00
Dan eedc994e3e run_pyl had various recommendations that I find a bit of a pain in the butt, but that I did anyway. 2023-01-25 16:43:28 -05:00
jasquat 0da69d1e05 ensure we are passing the primary file name to the delete file test 2023-01-25 16:20:55 -05:00
Dan b59cca0212 Merge remote-tracking branch 'origin/main' into feature/jinja_errors 2023-01-25 15:38:52 -05:00
jasquat d9cffcb963 allow removing users from groups when refreshing permissions w/ burnettk 2023-01-25 15:12:48 -05:00
Dan c4ba9f398d Making sure we create informative messages when encountering jinja2 syntax errors. 2023-01-25 14:13:21 -05:00
jasquat b05e7fcd38 do not allow deleting primary bpmn file and do not allow instantiating models without a primary bpmn file w/ burnettk 2023-01-24 15:15:48 -05:00