568 Commits

Author SHA1 Message Date
Dan
7c12dffe41 Merge remote-tracking branch 'origin/main' into feature/message_fixes 2023-02-23 14:26:04 -05:00
Dan
0030a46938 run_pyl 2023-02-23 14:17:22 -05:00
Dan
0f3ef00d72 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
burnettk
bb6dd35bbd remove start and end events from simple logs view 2023-02-21 22:43:23 -05:00
jbirddog
01a95011ad Look in task data/script engine environment for data, not just workflow data. (#143) 2023-02-20 18:12:50 -05:00
Dan
790483a421 run_pyl 2023-02-20 12:34:42 -05:00
Dan
5f6a61c93f * 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
2a800e844f * 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
ef4297331d Merge branch 'main' into feature/message_fixes 2023-02-17 12:01:38 -05:00
Dan
8e257600af 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
jasquat
f5a5059ce0 Merge remote-tracking branch 'origin/main' into feature/support_local_openid_in_cypress_tests 2023-02-16 14:25:51 -05:00
burnettk
5918501083 update configs for publish feature 2023-02-16 13:47:26 -05:00
jasquat
a98892be32 added some support for using the backend openid server for cypress tests w/ burnettk 2023-02-16 12:09:44 -05:00
jasquat
641d237e83 more config updates w/ burnettk 2023-02-16 10:21:02 -05:00
jasquat
c9c1ae4c16 fixed some env vars for ci 2023-02-16 07:59:51 -05:00
jasquat
5707e2c4e5 pyl 2023-02-16 07:39:40 -05:00
jasquat
7689380411 Merge remote-tracking branch 'origin/main' into feature/update_configs_with_prefix 2023-02-16 07:17:39 -05:00
burnettk
3cfd81efa6 format 2023-02-15 22:35:55 -05:00
jasquat
3e4fc1259f updated configs to use the prefix using the script w/ burnettk 2023-02-15 17:07:12 -05:00
jasquat
909060e985 updated default user group var name for better prefix w/ burnettk 2023-02-15 16:43:40 -05:00
jasquat
7b96335221 do not remove the default user group when refreshing permissions w/ burnettk 2023-02-15 11:09:04 -05:00
jasquat
35f8e6bfde add in debug logging when failing to login to help debug auth failures 2023-02-14 09:59:29 -05:00
jbirddog
646d803be0 Don't try to complete a ready task to move the process instance diagram to the next yellow. (#136) 2023-02-13 18:52:06 -05:00
jasquat
098aa69216 added api endpoint to allow logging in for the first time with an openid access_token w/ burnettk 2023-02-13 11:57:31 -05:00
Dan
aaa402579f This should fix the len issue - though there may be better ways to fix
this.
This reverts commit 52b496d1058a630ee60c50c3e8acc72b2df748dc.
2023-02-13 10:13:51 -05:00
Dan
52b496d105 Revert "more finally for better len"
This reverts commit feb25c286d590d90a9dac9a9ba71ec28bf1fa380.
2023-02-13 10:12:31 -05:00
Dan
feb25c286d more finally for better len
added a fixme for raising errors
fixed up an error message
2023-02-13 10:10:23 -05:00
jasquat
1748a0ae7f link to the spiff step from a task on the frontend and use the correct db in ci 2023-02-09 17:07:36 -05:00
jasquat
cd41be4455 pyl w/ burnettk 2023-02-09 16:03:26 -05:00
jasquat
0c30751946 call activities are also working w/ burnettk 2023-02-09 15:52:00 -05:00
jasquat
012d2bd367 tasks and subprocesses can are setting the task states properly now when getting task data w/ burnettk jbirddog 2023-02-09 15:29:45 -05:00
jasquat
7347c73d6a pyl w/ burnettk 2023-02-09 10:28:36 -05:00
jasquat
f0de4959ae Merge remote-tracking branch 'origin/main' into save_step_data 2023-02-09 09:37:03 -05:00
jasquat
df5451685f updated controller to use spiff step details to find correct task data to show w/ burnettk 2023-02-08 17:31:20 -05:00
Dan
eb39b61488 remove the "current_user" from being added to the task_data. 2023-02-08 15:53:14 -05:00
Kevin Burnett
721e86f351 Update tasks_controller.py 2023-02-06 16:21:55 -08:00
Dan
a2f91999e2 Use the same markdown library for displaying as for editing - could enable a security run_pyl 2023-02-06 12:20:29 -05:00
Dan
7a6c63cb85 When catching non-jinja errors from Jinja, raise a good error message, and make a best effort at tracking down the line number and error line if possible. 2023-02-06 12:06:37 -05:00
Dan
6bd9fa5c00 Merge branch 'main' of github.com:sartography/spiff-arena into main 2023-02-03 17:01:13 -05:00
Dan
92fa390fc9 Fix that dreadful unknown "KeyError" exception that was cropping up.
Adding a bit of detail to the spiffworkflow exceptions when a duplicate process model is found.
Disable the submit button on tasks after you click submit (avoid the double click and give users a better experience)
2023-02-03 17:01:03 -05:00
burnettk
e441dc35a1 refactor some stuff in task_show to separate functions 2023-02-03 16:17:36 -05:00
burnettk
1247189bf8 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
4240946334 File download from workflow data (#122) 2023-02-02 14:44:37 -05:00
burnettk
c669aeff27 there is no need to ever sentry_sdk.start_transaction because the flask integration does that 2023-02-01 13:44:12 -05:00
burnettk
f58be8fe91 more spans to track performance 2023-02-01 07:45:48 -05:00
burnettk
3abe82af4a more sentry performance tracing 2023-01-31 22:30:15 -05:00
Dan
2152b3f5a6 Fix typing issue. 2023-01-30 16:50:43 -05:00
Dan
d83e5a70bc Use the id_token, not the auth_token from the open id server for authentication with the front end. The auth_token should be kept safe, and not guranteeded to be a json token. 2023-01-30 13:09:23 -05:00
jasquat
5f7dac332f pyl 2023-01-26 07:46:36 -05:00
jasquat
9e3640b169 set the correct type for task since SpiffTask and a backend task are not the same 2023-01-26 07:35:13 -05:00