26 Commits

Author SHA1 Message Date
jasquat
f65b301635 do not raise errors if a process cannot be found in the spec reference cache when trying to get a task trace for an error 2023-05-04 09:45:01 -04:00
burnettk
17070332c1 rename TaskModelException to TaskModelError 2023-04-25 21:55:18 -04:00
jasquat
d5808045e2 pyl 2023-04-24 13:45:31 -04:00
jasquat
601b967d45 backend tests are passing w/ burnettk 2023-04-24 12:41:33 -04:00
jasquat
3eb54a830e tests for good error messages are mostly working w/ burnettk 2023-04-24 11:13:01 -04:00
jasquat
474a908c79 added TaskModelException to replace WorkflowTaskException to create exceptions with db w/ burnettk 2023-04-24 10:52:30 -04:00
burnettk
11026b02fa get rid of a lot of cruft in config files, w/ jason 2023-04-07 11:11:23 -04:00
jasquat
076afee273 give a better error message with unknown workflow exceptions w/ burnettk 2023-04-06 16:00:54 -04:00
jasquat
082caa5aea a couple minor fixes w/ burnettk 2023-04-06 15:45:16 -04:00
jasquat
e305b22b5a increase line length from 88 to 119 for black w/ burnettk 2023-03-15 16:24:08 -04:00
Dan
bc225fcea8 Just some minor stuff:
1) Don't overwrite the message of all Workflow Task Exceptions to say "Something went wrong"
2) log errors when correlation evaluations fail (just so we are aware something isn't working correctly)
3) Dont make all evaluation fuctions require a current task context to execute -- that should be optional.
2023-03-06 17:07:04 -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
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
jasquat
5707e2c4e5 pyl 2023-02-16 07:39:40 -05:00
jasquat
9b93504945 updated secret config names as well w/ burnettk 2023-02-15 17:17:47 -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
Dan Funk
009a5b1768 Merge branch 'main' into feature/more_better_errors 2023-02-03 13:21:48 -05:00
burnettk
b481de0a61 add more users, and try to prevent sentry notification again 2023-02-03 13:11:39 -05:00
burnettk
b9783ae0ed clean up sentry notification and avoid logger.exception when we do not want sentry 2023-02-03 11:06:40 -05:00
burnettk
3d5647d166 try to improve exception handling by avoiding raising ApiError from services 2023-02-02 19:00:58 -05:00
Dan
956c309476 run_pyl 2023-01-26 18:39:51 -05:00
Dan
2b433f419d Workflow Data Exceptions were not getting processed, we now catch the WorkflowDataException through the generic top level SpiffWorkflowException. 2023-01-26 18:26:17 -05:00
jasquat
c5aff424b6 pyl w/ burnettk 2023-01-19 15:37:55 -05:00
Dan
3c12e8ad35 Lots of adjustments from running pyl
Main change is in the ErrorDisplay.tsx to assure all error information is provided. and index.css to make it "pretty"
2023-01-19 12:36:45 -05:00
Dan
28a28e353b Removing dependency on flask-bpmn and taking it out of SpiffArena
Slightly updating the APIError code for recent updates to SpiffWorkflow's error refactoring.
2023-01-17 12:56:06 -05:00
Jon Herron
c30d6bbe1e Merge commit '883e65384f1e36a0310f4fdcff57ac486890cd5e' as 'spiffworkflow-backend' 2022-10-12 10:22:22 -04:00