521 Commits

Author SHA1 Message Date
jasquat
8463b2cda9
removed task-data endpoints since we no longer need them w/ burnettk 2023-02-23 17:07:53 -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
jasquat
3eb15527fb
added comment about refactoring getting task data w/ burnettk jbirddog 2023-02-23 15:06:23 -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
burnettk
9a45183267
remove start and end events from simple logs view 2023-02-21 22:43:23 -05:00
jbirddog
c6131d1a3f
Look in task data/script engine environment for data, not just workflow data. (#143) 2023-02-20 18:12:50 -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
50d3ee544b Merge branch 'main' into feature/message_fixes 2023-02-17 12:01:38 -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
jasquat
c48bb712e8
Merge remote-tracking branch 'origin/main' into feature/support_local_openid_in_cypress_tests 2023-02-16 14:25:51 -05:00
burnettk
93da627b24
update configs for publish feature 2023-02-16 13:47:26 -05:00
jasquat
5342b50bac
added some support for using the backend openid server for cypress tests w/ burnettk 2023-02-16 12:09:44 -05:00
jasquat
59a166ddf6
more config updates w/ burnettk 2023-02-16 10:21:02 -05:00
jasquat
fb5d902ce4
fixed some env vars for ci 2023-02-16 07:59:51 -05:00
jasquat
1f2a5e2ddf
pyl 2023-02-16 07:39:40 -05:00
jasquat
47807a6a0c
Merge remote-tracking branch 'origin/main' into feature/update_configs_with_prefix 2023-02-16 07:17:39 -05:00
burnettk
608efeb565
format 2023-02-15 22:35:55 -05:00
jasquat
497389ceb9
updated configs to use the prefix using the script w/ burnettk 2023-02-15 17:07:12 -05:00
jasquat
f9a7e40488
updated default user group var name for better prefix w/ burnettk 2023-02-15 16:43:40 -05:00
jasquat
c8801094a5 do not remove the default user group when refreshing permissions w/ burnettk 2023-02-15 11:09:04 -05:00
jasquat
6e49fcc975 add in debug logging when failing to login to help debug auth failures 2023-02-14 09:59:29 -05:00
jbirddog
2eab56525a
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
a39ae63bde 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
674380001f This should fix the len issue - though there may be better ways to fix
this.
This reverts commit d1e2d292111c9e81b0fc9177c8f7546a8a6e8462.
2023-02-13 10:13:51 -05:00
Dan
d1e2d29211 Revert "more finally for better len"
This reverts commit 44e2e910782a635b037d0f0c6fa25b366e9480b3.
2023-02-13 10:12:31 -05:00
Dan
44e2e91078 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
fd8134706d 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
ac9813790c pyl w/ burnettk 2023-02-09 16:03:26 -05:00
jasquat
b8870601d1 call activities are also working w/ burnettk 2023-02-09 15:52:00 -05:00
jasquat
d99598f5c0 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
e9ee885efb pyl w/ burnettk 2023-02-09 10:28:36 -05:00
jasquat
8796e42d5e Merge remote-tracking branch 'origin/main' into save_step_data 2023-02-09 09:37:03 -05:00
jasquat
03d163b1e0 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
23403acd29 remove the "current_user" from being added to the task_data. 2023-02-08 15:53:14 -05:00
Kevin Burnett
814e3bd527
Update tasks_controller.py 2023-02-06 16:21:55 -08:00
Dan
54be9535f6 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
0e3ba4664f 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
1e399e05bd Merge branch 'main' of github.com:sartography/spiff-arena into main 2023-02-03 17:01:13 -05:00
Dan
d010c2bce6 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
53d99c49d1 refactor some stuff in task_show to separate functions 2023-02-03 16:17:36 -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
18a23a729a
File download from workflow data (#122) 2023-02-02 14:44:37 -05:00
burnettk
808d8d4aab 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
cd435841d7 more spans to track performance 2023-02-01 07:45:48 -05:00
burnettk
cd2ff49ea6 more sentry performance tracing 2023-01-31 22:30:15 -05:00
Dan
fcbf26d7f4 Fix typing issue. 2023-01-30 16:50:43 -05:00