Commit Graph

335 Commits

Author SHA1 Message Date
jasquat ab50e7ac03 all backend tests except for report tests are now passing 2023-03-01 10:58:12 -05:00
jasquat 035475f58f unit tests are passing except for test_process_instance_report which cannot work currently 2023-03-01 10:36:11 -05:00
jasquat d5acd5a16d added new table and some notes on how to get a delta w/ burnettk jbirddog 2023-02-28 16:30:52 -05:00
jasquat 09a46712d4 added debug logging when adding spiff step details w/ burnettk 2023-02-27 15:53:56 -05:00
jasquat dfac872606 Merge remote-tracking branch 'origin/main' into feature/script_get_last_user_completing_task 2023-02-27 14:28:23 -05:00
jasquat 29ada38904 added script to get process initiator w/ burnettk 2023-02-27 14:28:19 -05:00
Dan e00fbdb490 run_pyl 2023-02-27 14:21:22 -05:00
Dan f16150b02b Merging main 2023-02-27 14:17:10 -05:00
jasquat 9f84564457 script to get last user completing a task is working w/ burnettk 2023-02-27 12:08:07 -05:00
burnettk e9b3ababc1 wip for get_last_user_completing_task script task 2023-02-25 23:31:23 -05:00
burnettk f7dc076f75 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 b71419616d removed some unused code from task and fixed the logs table a bit w/ burnettk 2023-02-24 16:18:49 -05:00
Dan ff069cb862 run_pyl 2023-02-24 15:02:03 -05:00
jasquat 425cf3f8c1 skip failing test if postgres and added comment about cause w/ burnettk 2023-02-24 14:57:17 -05:00
Dan 0dc2bc3316 # 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 7a1e712c14 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 a4c1eb96b5 removed task-data endpoints since we no longer need them w/ burnettk 2023-02-23 17:07:53 -05:00
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
jasquat c5d611f03b disable strict host checking for git commands w/ burnettk 2023-02-21 16:42:11 -05:00
jasquat e5b83d0919 fixed tests w/ burnettk 2023-02-21 15:28:54 -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 ecbd30af00 failing test. 2023-02-17 12:10:32 -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
Jon Herron 491d30b9b3 The End Event has a spiff step 2023-02-13 14:13:34 -05:00
Dan Funk 3ba9827670 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 18c481e3d4 run_pyl 2023-02-08 17:10:57 -05:00
Dan eb39b61488 remove the "current_user" from being added to the task_data. 2023-02-08 15:53:14 -05:00
burnettk d5a8475be6 pyl 2023-02-08 14:02:17 -05:00
Dan b5cd11ef37 Use a mock when making external calls in tests. 2023-02-08 13:14:42 -05:00
Dan c270ababd9 run_pyl 2023-02-08 12:00:27 -05:00
Dan 443a855782 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 559d9a78d8 renamed development env to local_development and testing to unit_testing w/ burnettk 2023-02-07 15:02:47 -05:00
jasquat 5452b48d08 use our json encoder to dump the user for get_current_user script w/ burnettk 2023-02-06 14:11:15 -05:00
burnettk 2c3b88042e move towards returning dict in get_current_user 2023-02-06 10:30:38 -05:00
burnettk 11a9e740af show that hiding nested fields works as well 2023-02-03 15:47:35 -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 a815863727 Allow for different Python Environments when executing scripts within SpiffWorkflow (#121) 2023-02-02 10:24:55 -05:00
burnettk cb4429e837 folks who can start instances can also view their logs 2023-01-31 17:11:11 -05:00
jasquat bec1b43cfb tests are passing now w/ burnettk 2023-01-27 13:20:22 -05:00
jasquat 54f795da7b some initial updates w/ burnettk 2023-01-27 12:51:19 -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
jasquat 13b442f7f8 Merge remote-tracking branch 'origin/main' into feature/jinja_errors 2023-01-25 17:30:55 -05:00
Dan b2fb0dd79f 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 ddb55a0ce1 ensure we are passing the primary file name to the delete file test 2023-01-25 16:20:55 -05:00
Dan a38ecc2e60 Merge remote-tracking branch 'origin/main' into feature/jinja_errors 2023-01-25 15:38:52 -05:00
jasquat ada389b572 allow removing users from groups when refreshing permissions w/ burnettk 2023-01-25 15:12:48 -05:00
Dan d63f0c2a91 Making sure we create informative messages when encountering jinja2 syntax errors. 2023-01-25 14:13:21 -05:00
jasquat d86c083dfe 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
jasquat 4e0ddc7ea5 removed uniqueness constraint from human task so we can loopback to a previous task with a gateway w/ burnettk 2023-01-24 11:03:55 -05:00
jasquat 6371703637 ensure order of permissions in tests 2023-01-24 10:23:47 -05:00
jasquat 102413326a added locking system for process instances so hopefully background jobs will not take instances currently being run by the user w/ burnettk 2023-01-23 16:45:07 -05:00
jasquat c5aff424b6 pyl w/ burnettk 2023-01-19 15:37:55 -05:00
Kevin Burnett ff10754b88 Merge branch 'main' into feature/improved_errors 2023-01-19 12:18:02 -08:00
jasquat d54897828d ensure we have something in the logs w/ burnettk 2023-01-19 15:16:59 -05:00
jasquat 5ef4ea7b62 pyl w/ burnettk 2023-01-19 15:03:33 -05:00
Dan d44b7d5d34 pre-commit-in-ci 2023-01-19 14:00:36 -05:00
Dan 8496b722fd Merges 2023-01-19 13:26:13 -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
jasquat b5be1745d8 Merge pull request #105 from sartography/feature/avoid_logs_when_call_activity_waiting
do not write to logs when a task is inheriting data from the parent w…
2023-01-19 11:08:51 -05:00
jasquat 238308ca79 do not allow overwriting process models and process groups w/ burnettk 2023-01-18 14:40:03 -05:00
jasquat 2a9f63e9b8 pyl w/ burnettk 2023-01-18 10:39:53 -05:00
jasquat c2daae0420 skip failing xml test on windows w/ burnettk 2023-01-18 10:38:43 -05:00
jasquat f3c404aa09 use the correct windows path separator in test file 2023-01-18 09:43:19 -05:00
jasquat d6edbe896a fixed broken test w/ burnettk 2023-01-17 16:17:04 -05:00
jasquat fe19a172cf do not resolve entities when parsing xml w/ burnettk 2023-01-17 14:58:54 -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
jasquat 7194864e6d do not write to logs when a task is inheriting data from the parent w/ burnettk 2023-01-17 12:23:51 -05:00
mike cullerton d17f3b96d0 Merge branch 'main' into feature/waku-fault-message 2023-01-13 08:29:42 -05:00
jasquat 6474f74f78 fixed failing test w/ burnettk 2023-01-12 15:35:05 -05:00
jasquat 781c9814c2 added detailed area to process instance show page w/ burnettk 2023-01-12 15:27:32 -05:00
mike cullerton 36ee3b9551 Merge branch 'main' into feature/waku-fault-message 2023-01-12 07:19:06 -05:00
mike cullerton 95141a6832 mypy 2023-01-11 17:46:39 -05:00
mike cullerton 505964c880 Removed test for email error handler.
Added stub for testing system handler process
2023-01-10 16:33:51 -05:00
jasquat 51037c47cc save a process model file after running all validations w/ burnettk 2023-01-10 14:13:06 -05:00
jasquat 061c463edc fixed failing tests 2023-01-10 13:23:09 -05:00
jasquat a24fca0e30 some updates to validate xml when uploading and saving w/ burnettk 2023-01-10 12:16:24 -05:00
jasquat 0bf232d92b do not allow sending messages to terminated and suspended process instances w/ burnettk 2023-01-06 16:21:29 -05:00
jasquat 7f21328b7f actually filter by process initiator w/ burnettk 2023-01-06 15:50:47 -05:00
jasquat 572ec6d397 pyl w/ burnettk 2023-01-05 17:33:18 -05:00
jasquat fbdeddab4d fixed test w/ burnettk 2023-01-05 17:31:31 -05:00
jasquat 618bbeb18a added fix to SpiffWorkflow to deepcopy operation params before evaluating them w/ burnettk 2023-01-05 17:29:28 -05:00
jasquat 499a9562c3 basic support to find a process instance by id w/ burnettk 2023-01-05 14:59:59 -05:00
jasquat 6648bee586 pyl 2023-01-04 16:15:15 -05:00
jasquat ee650e6039 added ability to filter process instances by process initiator 2023-01-04 16:11:52 -05:00
jasquat 59842a301c pyl w/ burnettk 2023-01-03 17:29:55 -05:00
jasquat 2c4ae424a4 added new page to create process models using english text w/ burnettk 2023-01-03 17:26:01 -05:00
jasquat df462e0dd0 added method to create process models based on english string w/ burnettk 2023-01-03 16:39:32 -05:00
burnettk 09e012674a upgrade black, give it the preview flag, and let it rip on long strings 2022-12-30 23:08:00 -05:00
burnettk 3c395ca368 configure metadata extration paths appropriately 2022-12-30 22:49:35 -05:00
burnettk 56b469e92e actually create process model 2022-12-30 19:51:17 -05:00
jasquat cfaf2d9c6d added basis of api to create process models from text w/ burnettk 2022-12-30 16:30:52 -05:00
burnettk d1e911950d Merge remote-tracking branch 'origin/main' into feature/process_api_blueprint_refactor 2022-12-29 20:41:50 -05:00
Elizabeth Esswein 9ae1de7627 fix test 2022-12-29 17:51:43 -05:00
Elizabeth Esswein f24d751450 Merge branch 'main' into feature/process-navigation 2022-12-29 12:09:47 -05:00
jbirddog 0aaf503c3f Make list available to script tasks (#86) 2022-12-28 17:04:47 -05:00
jasquat 08050b038a save the process instance even if it fails to run all the way w/ burnettk 2022-12-28 14:37:04 -05:00