Adding a correlation cache - so we have a reference of all the messages and properties (though still lacking a description of keys)
Adding yet another migration, maybe should squash em.
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.
f1f008e3 fixing a bug in the bpmn editor that was attempting to create the wrong element.
git-subtree-dir: bpmn-js-spiffworkflow
git-subtree-split: f1f008e3e39be43b016718fca6a38b248ab4ecf7
c22d22ba logs list page should respect the for-me variant
dcc3e3b1 show help text for textareas as well w/ burnettk
35b8bf35 default to the for-me path on process instance show page links
da646e54 added support to validate custom errors in nested properties in json schema forms
17412e9d make it so the message at the top of form is never strictly wrong
7dea59b7 adding some padding to form text inputs w/ burnettk
3f92f492 added ability to display the environment in the frontend header bar w/ burnettk
85246120 put the env vars in the env section of the github action configs w/ burnettk
58ff9075 added test for quickstart guide w/ burnettk
03e725b0 corrected cypress env var
db755731 added some support for using the backend openid server for cypress tests w/ burnettk
e76b6429 anything in the Tasks waiting for me table can now be completed by the current user
56403b4c users can always complete tasks on process instance show page and on task group table on home page w/ burnettk
e2ab6eff avoid endless redirects on error on authentication list page w/ burnettk
66608837 bug fix
4781d5fc link to the spiff step from a task on the frontend and use the correct db in ci
69eb426c pyl w/ burnettk
3cf036b0 call activities are also working w/ burnettk
40b101a7 add assertions so this fails fast if anything changes in the future
74d2d3fa Update README.md
24c3c431 fix formatting
ed977079 document runtime config
e62427b9 do not fail if SPIFFWORKFLOW_FRONTEND_RUNTIME_CONFIG is missing
551bdf17 allow setting configs for the frontend through env vars w/ burnettk
bc91c62c Merge remote-tracking branch 'origin/main' into frontend/use-api-subpath
eeab0d0f Use the same markdown library for displaying as for editing - could enable a security plugin, but doing so would prevent BPMN developers from using the Sub and Sup markdown supported by GitHub.
28d6f75c When searching for human tasks to determine if the current user can complete it, filter on the "completed" flag.
34b36fe2 put setDisabled back in the awkward place since i was seeing the subsequent form stay disabled
4794a8cd Merge branch 'main' of github.com:sartography/spiff-arena into main
78b9ef73 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)
d854a122 Merge pull request #125 from sartography/feature/dynamically-hide-fields-w-task-data
eda73854 make form schema and form ui schema both dicts, add support for hiding fields based on task data
bda549f3 Prevent double click on submit of forms.
3f02fa80 try to improve exception handling by avoiding raising ApiError from services
06835267 remove duplicate label on radio buttons
5d1e3517 less annoying file name for autocomplete
c569acde frontend: use /api subpath instead of subdomain
d3dda548 add deps for serve
e6173efe Revert "revert Dockerfile until we get it working"
74103b97 revert Dockerfile until we get it working
8e9badd3 get bin as well for script
df7a97e6 Merge pull request #116 from sartography/frontend/improve-dockerfile
7a17bc6f remove unneeded divs
2cf58c24 IBM says you can't have more columns than your parents, even if you try to start another grid, with kburnett
abc85ee3 make task show wide, and make repeating form icons match site styles. w/ dfunk
6400827e even textareas need to have blank labels since labels are in FieldTemplate
462852d6 replace fieldTemplate with unthemed core version and remove labels since that is handled in there
a50dd004 wrap field template so we can style with margin bottom
e6a1ca97 new mechanism to handle help more in line with how carbon works
cb6ce6b4 frontend: avoid redundant steps in Dockerfile
b6b7ceeb we were expecting an object when doing this check, so codify it
cfcfe292 use the 403 response to tell if a user has access to task data on the task show page w/ burnettk
355406e2 do not reset error state from the adminroutes component since this causes the error to be removed right away and then cannot be displayed w/ burnettk
3e7962cf if we get a result back it will be a task with a model identifier
0f043f72 use the ProcessInstanceTask interface where we can and move some stuff around better for useEffect
4ee4e5e0 run_pyl had various recommendations that I find a bit of a pain in the butt, but that I did anyway.
84e7d3fa Merge remote-tracking branch 'origin/main' into feature/jinja_errors
acbc0a07 Added useMemo to error context No longer clear errors in the task bar, as that will constantly remove them as soon as they are shown.
19c3ab0e TaskShow had a useEffect that depended on params, that dependency caused an infinite request cycle when an error occured. The same issue was happening on the ProcessInstanceListTable, and there it was being managed by a "SafelySetErrorMessage" function in one case, but would not be addressed in all possible cases.
c37224ec added the process model identifier for the diagram if it is not the top level w/ burnettk
befefb6d Merge pull request #107 from sartography/feature/metadata_on_instance_show
65e42110 use a modal for metadata instead w/ burnettk
4a2f2a00 put process instance show page to match main w/ burnettk
0f1ab490 do not allow deleting primary bpmn file and do not allow instantiating models without a primary bpmn file w/ burnettk
3718f1a3 show metadata on instance show page but for some reason it reorders elements w/ burnettk
400a1469 add process model file name validation for new files w/ burnettk
132c5814 added locking system for process instances so hopefully background jobs will not take instances currently being run by the user w/ burnettk
3fa86949 make sure that all new form field elements are not dropdowns
f69d3416 expanded functionality of the form builder
2453938f use the correct place for keycloak w/ burnettk
3d85a5f6 Merges
50d0a8e3 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"
git-subtree-dir: spiffworkflow-frontend
git-subtree-split: c22d22ba5d8a96dca66a405d9c230284c81b4740
6cae736a Merge pull request #145 from sartography/data_size_script
241cb6ed Merge branch 'main' of github.com:sartography/spiff-arena
53e824ab set git user configs explicitly using the env vars w/ burnettk
741dab7e so we do not lose our minds when debugging on a server
8dd5d834 Merge branch 'main' of github.com:sartography/spiff-arena
44390824 show help text for textareas as well w/ burnettk
92042e9a why not dict, too
d0b67bb8 Cleanup
4ffba533 Getting ./bin/pyl to pass
d53d0c21 Provide info about keys in task data and python env
02db5acf Unfactor to fix size calculation/type hint issues
84fe64b0 Getting ./bin/pyl to pass
60a03f03 Adding python env size
a929ef91 Add cumulative task data size to script
32bb223b remove start and end events from simple logs view
54fdfd46 copy env so we are doing additive stuff rather than completely rewriting it
833a4125 fix git bash script unbound error w/ burnettk
46c62b90 more git config updates w/ burnettk
621e13fb disable strict host checking for git commands w/ burnettk
182d657d fixed tests w/ burnettk
40db077e give access to download process data files if a user has access to start a process model w/ burnettk
9083fcae backend: create SSH key file when contents provided
90aad09e backend: use sensible lock filename for git
0065b98b backend: specify --rebase when using git pull
94e1e15c backend: fix use of SSH private key for git ops
55252831 Look in task data/script engine environment for data, not just workflow data. (#143)
c5661f96 delint
d2d1ee50 backend/git_service: accept webhook test requests
782650d7 backend/git_service: check repo URLs from webhook
e76114c9 bump spiffworkflow hash
00d8eb55 put the env vars in the env section of the github action configs w/ burnettk
279e3042 added test for quickstart guide w/ burnettk
0e8ebc26 pyl
8732bd25 Merge remote-tracking branch 'origin/main' into feature/support_local_openid_in_cypress_tests
5b89d0cf use _GIT_SOURCE_BRANCH instead of _GIT_BRANCH
18917e62 fix unprefixed config
f32d83de update configs for publish feature
6139b411 added some support for using the backend openid server for cypress tests w/ burnettk
a2792e4d add new uses and delete ppg.ba.sme1
512bce0f the equal sign is not apart of the env var w/ burnettk
28b25fae updated terraform deployed env config name w/ burnettk
88fe9e66 more config updates w/ burnettk
6ad3224b cleaned up the default config file a bit
f328b5db pyl
4ef72a9c fixed some env vars for ci
9a31aff0 pyl
2a642f38 Merge remote-tracking branch 'origin/main' into feature/update_configs_with_prefix
9f144f54 remove unused import
ab6c45bc all tests pass w/ spiff lib upgrade, thanks for the help elizabeth
27870682 format
dd0a642a updated remaining configs manually w/ burnettk
d3153224 updated secret config names as well w/ burnettk
7160c702 updated configs to use the prefix using the script w/ burnettk
e57476ac updated default user group var name for better prefix w/ burnettk
6d3ef2b8 save task data to spiff step details when copmleting a user task as well w/ burnettk jbirddog
fde9ac7f append OPEN_ID to TENANT_SPECIFIC_FIELDS for clarification on what it is from w/ burnettk
df34d786 do not remove the default user group when refreshing permissions w/ burnettk
a80f7513 Merge branch 'main' of github.com:sartography/spiff-arena into main
7c63f409 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
76fd4c2d updates to user import scripts w/ burnettk
f0067eea commit user if it has changed any attributes w/ burnettk
2f1cb4c0 fix for mypy on python 3.9 w/ burnettk
b2db377d give some leeway to iat when validating auth w/ burnettk
bce49095 add in debug logging when failing to login to help debug auth failures
af2d9a66 Don't try to complete a ready task to move the process instance diagram to the next yellow. (#136)
ee7d5b1e Merge pull request #137 from sartography/failing_test
a1e5111f allow overriding keycloak url in add user script w/ burnettk
d3b20221 updated add test users script to use realm admin w/ burnettk
390287bd The End Event has a spiff step
4e6bee21 added script to import users w/ burnettk
ff8912f5 added api endpoint to allow logging in for the first time with an openid access_token w/ burnettk
7fab1f4f Merge pull request #135 from sartography/bug/len
73e4178d run_pyl
9c40e56e delete 15 users that are no longer needed
82c42a66 Merge remote-tracking branch 'origin/main' into bug/len
057102c1 commit before removing users
fbee1e31 This should fix the len issue - though there may be better ways to fix this. This reverts commit d1e2d29211.
e48c3188 Revert "more finally for better len"
b398f53a more finally for better len added a fixme for raising errors fixed up an error message
3d22455e fix employee id
9eb0c08d Update Spiffworkflow so we have the better error messages on service tasks.
54e17133 don't default to a broken environment.
44acb13d add five test users, rename peopleops users, delete two
27bbacaf Remove version from docker-compose, as this is causing issues for people still using docker-compose v2.
74984c8e turn off profiling for now to see if that is what is causing segfaults
733fe927 Save logs in finally (#134)
37f728a7 link to the spiff step from a task on the frontend and use the correct db in ci
3c120843 pyl w/ burnettk
af10992a call activities are also working w/ burnettk
d0aa6b1c tasks and subprocesses can are setting the task states properly now when getting task data w/ burnettk jbirddog
4791bda5 pyl w/ burnettk
ffa4fd78 Merge branch 'save_step_data' of github.com:sartography/spiff-arena into save_step_data
9e3a897b Fix bug where deletes from the environment were not removed from the task data as well
7eebf361 Merge remote-tracking branch 'origin/main' into save_step_data
b4f22984 Merge pull request #132 from sartography/feature/no_more_current_user
db3d4703 updated controller to use spiff step details to find correct task data to show w/ burnettk
b3a70d42 run_pyl
fca00361 remove the "current_user" from being added to the task_data.
747f91d1 Merge remote-tracking branch 'origin/main' into save_step_data
ac02e0a9 Merge remote-tracking branch 'origin/main' into save_step_data
cce05cab pyl
dc250235 Merge pull request #131 from sartography/feature/improved_service_task_errors
4d9a7a6a If you have an instance/config.py to override local development it would also override testing.
c06db317 Use a mock when making external calls in tests.
d6654e82 Merge remote-tracking branch 'origin/main' into feature/improved_service_task_errors
6e4b191c Merge branch 'main' of github.com:sartography/spiff-arena
0fd982a4 catch up with environment change
81a7cdc9 added additional columns to spiff_step_details w/ burnettk jbirddog
805b86ec fixing some missing types
8644561b run_pyl
72deffd8 Assure that when something goes wrong calling a service task that we get as much good information about the problem as possible.
687125bd Merge remote-tracking branch 'origin/main' into save_step_data
9c8ca3aa enable faulthandler to hopefully see seg faults in the logs w/ burnettk jbirddog
a9651211 Merge branch 'main' into save_step_data
bc556729 remove dup
10fa5edf add users
d7f52641 Merge pull request #114 from sartography/frontend/use-api-subpath
35efb091 allow setting configs for the frontend through env vars w/ burnettk
7552408a allow configuring gunicorn configs in boot_server_in_docker w/ burnettk
1007e8c7 sentences need spaces between them
1b7fec4a renamed development env to local_development and testing to unit_testing w/ burnettk
02750228 set up qa2 to only do path based routing w/ burnettk
ee3cb621 added backend url to qa2 configs
fab0a6bd added qa2 configs to use keycloak on qa1 to test different domains w/ burnettk
f7743ea4 Merge pull request #128 from sartography/feature/bug_fixes
384d65f6 Update tasks_controller.py
7f0c0926 update get_token
af5a4c50 pass tenant attributes when creating a user w/ burnettk
2cf6f1a5 pyl w/ burnettk
b7bdae94 Merge remote-tracking branch 'origin/main' into feature/tenant-specific-fields-from-openid
007eecdc added bambooid to status users w/ burnettk
3b0e3ff6 POC for saving some data about each step
98490b69 allow added custom attributes to users when adding to keycloak w/ burnettk
68358519 Backend do_engine_steps performance improvements (#129)
2a2855e0 use our json encoder to dump the user for get_current_user script w/ burnettk
706bb570 Use the same markdown library for displaying as for editing - could enable a security run_pyl
7aebec9d 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.
b4a31562 move towards returning dict in get_current_user
19ccca40 Merge remote-tracking branch 'origin/main' into feature/tenant-specific-fields-from-openid
257de512 add test users
ecc70795 run_pyl
3eb0fd76 When searching for human tasks to determine if the current user can complete it, filter on the "completed" flag.
ad4fead4 Back to inserting every log
12c3a2b8 hoping to fix tests on windows
d8ba46b6 grab bamboo_id from keycloak
e5a56f6e lint
f1c61581 if there are tenant specific fields in the config, transfer them from openid token to db
35637ba0 Merge branch 'main' of github.com:sartography/spiff-arena into main
86b248fa 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)
6fc2f2b2 Merge pull request #125 from sartography/feature/dynamically-hide-fields-w-task-data
9de6e0b3 refactor some stuff in task_show to separate functions
f2a12c5c show that hiding nested fields works as well
d7fd92e1 make form schema and form ui schema both dicts, add support for hiding fields based on task data
80649382 run_pyl
5a859f16 Merge branch 'main' into feature/more_better_errors
2d4f9d45 add more users, and try to prevent sentry notification again
83b9c901 remove service accounts, formalize j, add madhurya
698b3af8 make test_user_lists more complete and correct
a163d6f7 clean up sentry notification and avoid logger.exception when we do not want sentry
0fced76d couple last serializer updates
b17142bf import EventBasedGatewayConverter from correct package
5b7805d0 try to improve exception handling by avoiding raising ApiError from services
e9913d83 simplify spiff integration post serializer update, w/ elizabeth and jon
9baf0cb2 Quick fix for url building
4641b523 File download from workflow data (#122)
30a73e2a Allow for different Python Environments when executing scripts within SpiffWorkflow (#121)
650b91ed add keycloak users
6d18bd23 bulk insert logs for performance improvement
c50744a1 there is no need to ever sentry_sdk.start_transaction because the flask integration does that
1368d71c get some more insight into connector proxy timings
7ffcded9 avoid poetry installing deps when we have them cached if they do not change
5d50ee8e more spans to track performance
a23a0700 more sentry performance tracing
8a98e8d9 folks who can start instances can also view their logs
17fb81bc shuffle around Dockerfile to allow to work for background container
d9bcbd09 Merge pull request #117 from sartography/feature/authorization
c586e0ea allow overriding git related configs w/ env var and log permissions stuff on boot
f5ee3ec8 Merge branch 'main' into feature/more_better_errors
063ebda6 Merge pull request #115 from sartography/backend/improve-dockerfile
ba6d4c5f Fix typing issue.
b0a05adc 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.
b9eb5dd8 add four new status users to spiff realm
553c93be backend: avoid redundant steps in Dockerfile
cf2e8975 removed old pin to spiffworkflow w/ burnettk
5970b1e3 tests are passing now w/ burnettk
a39aca6a some initial updates w/ burnettk
6fda0c5c Allow set to be called from scripts
a6482760 update lock file in backend and arena, though that one needs pruning
5b2046ab run_pyl
5328a2d4 Workflow Data Exceptions were not getting processed, we now catch the WorkflowDataException through the generic top level SpiffWorkflowException.
9f98cfee updated prefix for background instances w/ burnettk
acd26c04 Merge pull request #110 from sartography/feature/jinja_errors
864ae116 add keycloak users
f80836e7 pyl
71e20c9f set the correct type for task since SpiffTask and a backend task are not the same
26c791f9 increased the task data size
79dadcaa added pylint back to lock file
35b0871c Merge remote-tracking branch 'origin/main' into feature/jinja_errors
1dbac99a run_pyl had various recommendations that I find a bit of a pain in the butt, but that I did anyway.
b30081ab Merge pull request #109 from sartography/feature/upgrade_bandit
efb8fd0b removed debug print statements
58679f60 ensure we are passing the primary file name to the delete file test
9943cbbb fixed typo w/ burnettk
1fe63808 added some debug statements for ci w/ burnettk
d84942f0 upgraded bandit and flake8 w/ burnettk
72f599cb Merge remote-tracking branch 'origin/main' into feature/jinja_errors
c0530539 allow removing users from groups when refreshing permissions w/ burnettk
106500cf Added useMemo to error context No longer clear errors in the task bar, as that will constantly remove them as soon as they are shown.
08c3106c Merge branch 'main' of github.com:sartography/spiff-arena
957e0373 when changing the primary file name also change the primary process when updating a process model from the api w/ burnettk
b560b364 Making sure we create informative messages when encountering jinja2 syntax errors.
51c325da delete legacy flask-rendered html pages from initial prototype, since backend is now API-only
59ebcbb4 added the process model identifier for the diagram if it is not the top level w/ burnettk
a02a132e Merge pull request #107 from sartography/feature/metadata_on_instance_show
b22e8828 do not allow deleting primary bpmn file and do not allow instantiating models without a primary bpmn file w/ burnettk
002df3f9 show metadata on instance show page but for some reason it reorders elements w/ burnettk
81c3cfe1 removed uniqueness constraint from human task so we can loopback to a previous task with a gateway w/ burnettk
73cbef31 ensure order of permissions in tests
d5949b86 document future enhancement
c8bc2049 strip off newlines and spaces when importing secrets and pinning spiffworkflow to working version until we can debug issues with new one w/ burnettk
bb99d942 added locking system for process instances so hopefully background jobs will not take instances currently being run by the user w/ burnettk
a4e60a36 added uniqueness constraint to spiff step details w/ burnettk
5fd7197c add sum and format
53d99f7d expanded functionality of the form builder
f08ff45b Revert "allow updating models on staging for a bit"
f88d3250 Revert "commit on save yes for now"
6675c407 qa1
10180043 since accepting the github host entry programatically is no more secure
1517a3ee commit on save yes for now
5f1af4a6 allow updating models on staging for a bit
27fbd93d allow getting the GIT SSH key from an app config so we can set it in the secrets file w/ burnettk
9fa2f982 allow specifying an ssh key for git instead of a username and password w/ burnettk
09337070 updated admin user on sartography realm w/ burnettk
17124319 allow passing a realm name into start keycloak and added admin user to sartography realm
7d9600f4 find the top level process to find the task form when using subprocesses in called activities w/ burnettk danfunk
0bf13094 pyl w/ burnettk
97268226 Merge branch 'main' into feature/improved_errors
c1403a9e ensure we have something in the logs w/ burnettk
cdaf59b8 pyl w/ burnettk
55468b67 added configs for sartography env w/ burnettk
205dd4a5 pre-commit-in-ci
bd1058fe updating spiffworkflow version, and fixing the run_pyl (by removing the corft I stuck in earlier)
ecbe1948 Merges
5da88709 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"
ab1d5c22 Removing dependency on flask-bpmn and taking it out of SpiffArena Slightly updating the APIError code for recent updates to SpiffWorkflow's error refactoring.
git-subtree-dir: spiffworkflow-backend
git-subtree-split: 6cae736acd232199447a44f7ff2a8dc4c7779631
2ca6ebf8 Data stores (#298)
c2fc9d22 Merge pull request #297 from sartography/bugfix/copy-all-data-when-input-or-output-list-empty
07e3b582 add checks for len == 0 when copying based on io spec
b439f69f Merge pull request #296 from sartography/bugfix/subprocess-access-to-data-objects
6d2a2031 update spiff subworkflow tasks too
992c3867 make data objects referenceable within subprocesses
6c8ff5cd allow subprocesses & call activities to have different data copy policies
2b14f3a4 initialize subprocesses in _update_hook instead of _on_ready_before
791f335d Merge pull request #295 from sartography/improvement/remove-camunda-from-base-and-misc-cleanup
28b579be remove a few unused, duplicative, and debugging methods
8f14d109 remove some other unused diagrams and tests
408bc673 rely on top level camunda parser for almost all namespace references
895b2cc9 remove camunda namespace from base bpmn parser
76ecbf7c Merge pull request #294 from sartography/bugfix/reactivate-boundary-event
82b6c8ad hack to ensure timers (and other events) are reset if returned to via loop reset
590903f4 Merge pull request #292 from sartography/feature/multiinstance-refactor
53749004 fix bug & typo
f31726db raise error on attempting to migrate workflows with MI
44e6d08d create spiff multiinstance task
2168c022 create camunda MI that approximates what it used to do
9894cea5 some improvements and bugfixes
f857ad5d remove some now unused functionality & tests, create a few more tests
6fead9d0 updated serializer & fixes for most tests
ec662ecd add parallel multiinstance
bd19b2a8 working sequential multiinstance
2f9c192b further cleanup around _update_hook
947792bf fix bug in exclusive gateway migration
d3d87b28 add io spec to all tasks
f1586e27 add support for standard loop tasks
git-subtree-dir: SpiffWorkflow
git-subtree-split: 2ca6ebf800d4ff1d54f3e1c48798a2cb879560f7