* Wedge between InProgressInstances for default view customization
* Rename to OnboardingView, stubbed out api in the backend
* Flip between InProgressInstances and MyTasks via the backend
* WIP
* WIP
* Basic human task handling
* FE lint
* Getting ./bin/pyl to pass
* Suppress any exceptions during onboarding request
* Script to skip onboarding if already started
* Getting ./bin/pyl to pass
* Better default location
* PR feedback
* PR feedback
* PR feedback - add new endpoint to basic permissions
* Fix basic permissions test
* Add integration tests
* Getting bin_pyl to pass
* return the process instance early from the interstitial if it is suspended or terminated
* added a test to make sure the interstitial page returns the process instance if suspended or termianted w/ burnettk
* randomize tests and cleaned up the pyproject file a little bit w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* some initial changes for event payload changes in spiff
* fixed tests for new spiffworkflow with event payloads w/ burnettk essweine
* pyl w/ burnettk essweine
* updated SpiffWorkflow from branch
* switched SpiffWorkflow back to main w/ burnettk
* added base for migration script to upgrade db w/ burnettk essweine
* some updates to script w/ burnettk
* script has been written, needs to be tested
* pyl w/ burnettk
* updates to migration script so it can work w/ burnettk
* pyl w/ burnettk
* added comment to data migration file
* run the version 1 3 migration on app boot w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* * Added /data-stores/ endpoint accessible by privileged users that will return a list of all data stores known to the system.
* Added a /data-stores/[type]/[name] endpoint that will return a list of all data stored within a data-store.
* Granted users with "elevated permissions" the right to access the data store.
* Added a "Data Store" link to the navigation bar beside messages.
* And a few useful tests.
* Still a little front end work to do to get it all looking pretty.
* Added a Data Store List component that, well, displays, you guessed it! A list of data stores and their contents.
Also, Carbon's paginator doesn't care how many pages you have, it's going to build the mother of all drop down lists - you got 60,000,000 records? Showing 5 at a time? It's going to be a dropdown list that contains all numbers between 1 and 12,000,000, because that makes sense! So, yea, not doing that, cutting it off at 1000 pages - you got more pages than that, the paginator can't take you there. As you can show 100 items per page, that means you can access 100,000 items instantly.
* renaming data_store_items_list => data_store_item_list
* added an api to assign a list of users to a task w/ burnettk
* use the modal submit and close buttons when saving task data on the instance show page w/ burnettk
* switch save and cancel buttons on secrets new page w/ burnettk
* add some icons, tho still missing event stuff
* finished adding imporoved icons and fixing up task modal w/ burnettk
* added some user search options to assig tasks to w/ burnettk
* cleaned up task details modal and added call to backend to add potential users w/ burnettk
* fixed broken tests w/ burnettk
* removed some merge comments w/ burnettk
* process instance id is an int not a str w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* autosave form data on change w/ burnettk
* tests are now passing and pyl
* do not do anything on autosave success w/ burnettk
* merged autosave and null form data branches together w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* WIP - working with multiple process ids, need to return a file's process ids
* Send bpmn process ids back with bpmn files
* Getting ./bin/pyl to pass
* Fix up unit test
* Wire up the front end
* Pre pr cleanup
Display reasonable messages when a processes is suspended or errored. Can't do much with terminated.
Show the spinner more frequently and consistently.
When running ruff, ignore everything in .gitignore
* This alters how the send_event endpoint responds - it originally responded with a process instance, it now responds with the next task, in keeping with how other task completion endpoints behave.
* I was forced to upgrade some of the bpmn-js libraries which fixes some of the linting errors on the front end.
* The "Return to home" button isn't always displayed. It will not display when it is redirecting, or when the current task is running.
.
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.