Commit Graph

1652 Commits

Author SHA1 Message Date
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
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 6e7f36e55f Allow people to run commands like "flask db upgrade" without setting specific environment variables like FLASK_SESSION_SECRET_KEY everytime - they just need to add in their own /instance/config.py with their local configuration. 2023-02-19 10:37:00 -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 5f9ba556d1 Merge commit '35fd8ffc0f9c1bf9cbd346464419b6387cb5d4e9' into feature/message_fixes 2023-02-18 10:32:56 -05:00
Dan 35fd8ffc0f Squashed 'SpiffWorkflow/' changes from 11e4b4f96..b439f69f2
b439f69f2 Merge pull request #296 from sartography/bugfix/subprocess-access-to-data-objects
6d2a2031e update spiff subworkflow tasks too
992c38671 make data objects referenceable within subprocesses
6c8ff5cdf allow subprocesses & call activities to have different data copy policies
2b14f3a48 initialize subprocesses in _update_hook instead of _on_ready_before
791f335d5 Merge pull request #295 from sartography/improvement/remove-camunda-from-base-and-misc-cleanup
28b579beb remove a few unused, duplicative, and debugging methods
8f14d1098 remove some other unused diagrams and tests
408bc6734 rely on top level camunda parser for almost all namespace references
895b2cc9b remove camunda namespace from base bpmn parser
76ecbf7cc Merge pull request #294 from sartography/bugfix/reactivate-boundary-event
82b6c8ad4 hack to ensure timers (and other events) are reset if returned to via loop reset
590903f47 Merge pull request #292 from sartography/feature/multiinstance-refactor
537490043 fix bug & typo
f31726db1 raise error on attempting to migrate workflows with MI
44e6d08d8 create spiff multiinstance task
2168c022b create camunda MI that approximates what it used to do
9894cea59 some improvements and bugfixes
f857ad5d4 remove some now unused functionality & tests, create a few more tests
6fead9d04 updated serializer & fixes for most tests
ec662ecdd add parallel multiinstance
bd19b2a8a working sequential multiinstance
2f9c192b6 further cleanup around _update_hook
947792bf6 fix bug in exclusive gateway migration
d3d87b28d add io spec to all tasks
f1586e275 add support for standard loop tasks

git-subtree-dir: SpiffWorkflow
git-subtree-split: b439f69f23b547df4de1e8e0c636997f2fd4e33b
2023-02-18 10:32:56 -05:00
Dan 4958dbf895 failing test. 2023-02-17 12:10:32 -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 36c49722ac
Merge pull request #140 from sartography/feature/add_quickstart_ci_test
Feature/add quickstart ci test
2023-02-16 15:56:33 -05:00
jasquat e2537f4bdd
put ci files back and move quickstart tests to releases action w/ burnettk 2023-02-16 15:40:30 -05:00
jasquat 19e93b061b
added needs placeholder for quickstart test w/ burnettk 2023-02-16 15:28:42 -05:00
jasquat faa2e5490f
run only one cypress test and try v5 w/ burnettk 2023-02-16 15:21:22 -05:00
jasquat bf6052d2cb
put the env vars in the env section of the github action configs w/ burnettk 2023-02-16 15:19:01 -05:00
jasquat dfc14e9bb2
we are not using keycloak here w/ burnettk 2023-02-16 15:09:54 -05:00
jasquat 4655302c5e
fixed runs-on label w/ burnettk 2023-02-16 15:07:29 -05:00
jasquat 311a5b060d
added test for quickstart guide w/ burnettk 2023-02-16 15:05:55 -05:00
jasquat 77d8959a91
Merge pull request #139 from sartography/feature/support_local_openid_in_cypress_tests
Feature/support local openid in cypress tests
2023-02-16 14:39:35 -05:00
jasquat 012396b01e
pyl 2023-02-16 14:38:19 -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 6f0c977f7e
use _GIT_SOURCE_BRANCH instead of _GIT_BRANCH 2023-02-16 14:10:31 -05:00
burnettk af45ca4301
fix unprefixed config 2023-02-16 13:56:48 -05:00
burnettk 93da627b24
update configs for publish feature 2023-02-16 13:47:26 -05:00
jasquat 605b48b83a
corrected cypress env var 2023-02-16 13:31:08 -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
burnettk 9a88dc2d81
add new uses and delete ppg.ba.sme1 2023-02-16 11:53:08 -05:00
jasquat f004db1562
the equal sign is not apart of the env var w/ burnettk 2023-02-16 11:18:50 -05:00
jasquat 1fd086f055
updated terraform deployed env config name w/ burnettk 2023-02-16 10:51:05 -05:00
jasquat c0c09cb5eb
Merge pull request #138 from sartography/feature/update_configs_with_prefix
Feature/update configs with prefix
2023-02-16 10:22:48 -05:00
jasquat 59a166ddf6
more config updates w/ burnettk 2023-02-16 10:21:02 -05:00
jasquat e1b71d5267
cleaned up the default config file a bit 2023-02-16 09:05:40 -05:00
jasquat bb0ac42fe5
pyl 2023-02-16 08:33:39 -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 78fee35028
remove unused import 2023-02-16 06:34:03 -05:00
burnettk 84c77395d4
all tests pass w/ spiff lib upgrade, thanks for the help elizabeth 2023-02-15 22:56:12 -05:00
burnettk 608efeb565
format 2023-02-15 22:35:55 -05:00
jasquat 3abd4c92c6
updated remaining configs manually w/ burnettk 2023-02-15 17:21:37 -05:00
jasquat 78360de25f
updated secret config names as well w/ burnettk 2023-02-15 17:17:47 -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 a6a1f06941
save task data to spiff step details when copmleting a user task as well w/ burnettk jbirddog 2023-02-15 15:34:51 -05:00
jasquat 3a00f09baa append OPEN_ID to TENANT_SPECIFIC_FIELDS for clarification on what it is from w/ burnettk 2023-02-15 11:12:30 -05:00
jasquat c8801094a5 do not remove the default user group when refreshing permissions w/ burnettk 2023-02-15 11:09:04 -05:00
burnettk e827b00057 anything in the Tasks waiting for me table can now be completed by the current user 2023-02-15 07:41:05 -05:00
Dan 66eba786af Merge branch 'main' of github.com:sartography/spiff-arena into main 2023-02-14 19:39:46 -05:00
Dan c1c5d02547 The aud in a json web token can be a string or an array -- so also deal with the case that it is an array 2023-02-14 19:39:35 -05:00
jasquat 7ab36f7155 Merge branch 'main' of github.com:sartography/spiff-arena 2023-02-14 17:39:46 -05:00