* WIP: some initial code for category in data objects
* attempt to get the data object for the given bpmn process and instance of it w/ burnettk
* updates for data objects
* fixed tests
* made suggestions by code rabbit and moved logic to get process data file out of shared method since it has a completely different implentation
* remove commented out code
* updated SpiffWorkflow for data object category
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* WIP: some initial test code to test out celery w/ burnettk
* some cleanup for celery and added base model to put tasks waiting on timers
* removed dup bpmn file
* some more cleanup and added strategy to queue instructions
* some minor code changes w/ burnettk
* remove the unused next_task key from api calls since nobody uses it w/ burnettk essweine
* added migration for future tasks and added test to make sure we are inserting into it w/ burnettk essweine
* ensure future task run at time can be updated w/ burnettk
* added table to queue instructions for end user in w/ burnettk
* added test to ensure we are storing instructions for end users w/ burnettk
* added progress page to display new instructions to user
* ignore dup instructions on db insert w/ burnettk
* some more updates for celery w/ burnettk
* some pyl and test fixes w/ burnettk
* fixed tests w/ burnettk
* WIP: added in page to show instructions on pi show page w/ burnettk
* pi show page is fully using not interstitial now w/ burnettk
* fixed broken test w/ burnettk
* moved background processing items to own module w/ burnettk
* fixed apscheduler start script
* updated celery task queue to handle future tasks and upgraded black and set its line-length to match ruff w/ burnettk
* added support to run future tasks using countdown w/ burnettk
* build image for celery branch w/ burnettk
* poet does not exist in the image w/ burnettk
* start blocking scheduler should always start the scheduler w/ burnettk
* add init and stuff for this branch
* make this work not just on my mac
* send other args to only
* added running status for process instance and use that on fe to go to show page and added additional identifier to locking system to isolate celery workers better w/ burnettk
* fixed typing error that typeguard found, not sure why mypy did not w/ burnettk
* do not check for no instructions on interstitial page for cypress tests on frontend w/ burnettk
* do not queue process instances twice w/ burnettk
* removed bad file w/ burnettk
* queue tasks using strings to avoid circular imports when attmepting to queue w/ burnettk
* only queue imminent new timer events and mock celery
* some keyboard shortcut support on frontend and added ability to force run a process instance over the api w/ burnettk
* some styles added for the shortcut menu w/ burnettk
* pyl w/ burnettk
* fixed test w/ burnettk
* removed temporary celery script and added support for celery worker in run server locally w/ burnettk
* cleaned up migrations w/ burnettk
* created new migration to clean up old migrations
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* added basic model for new reference cache w/ burnettk
* switched out SpecReferenceCache for ReferenceCacheModel w/ burnettk jbirddog
* pyl w/ burnettk jbirddog
* save items to the db using the new cache with generation table w/ burnettk
* bulk save for performance
* tests are passing
* actually use the new generation table - we still need a test to ensure we are using it
* added test to ensure using new cache generation
* corrected reference interface on frontend w/ burnettk
* do not perform git pull in webhook if the revision is the same as the current w/ burnettk jbirddog
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* WIP: some initial code to allow anonymous users get a task w/ burnettk
* added scripts to get the url for a given human task w/ burnettk
* users can complete a task anonymously
* pyl
* fixed up login flow and added submission confirmation message for guest tasks w/ burnettk
* added only_guest_task_completion to guest token so we can remove items from the ui with it
* renamed anonymous to guest
* force logout guest users when verifying the token if certain criteria are met and do not do it random controller methods
* also allow saving draft data to use guest users w/ burnettk
* updated bpmn-js-spiffworkflow and added test to test allow guest
* pyl
* fix typo and remove bad file
* remove allow_guest column and moved allow guest check to TaskModel
* removed unnecessary comment
* missing import
* do not allow guest users to see completed tasks and remove save and close button for guest users w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* WIP - threading with dan
* WIP - cleanup with dan
* Fixing a minor bug and adding a comment and taking the win, even though it was all actually done by @jbirddog with help from @essweine
* adding a couple of simple tests
* * Threaded execution of multiple ready engine tasks is now the default behavior for all execution strategies by default (the skip-one strategry does not do it)
* Assure that tasks in the db match those in the spiffworkflow bpmn on save (remove all predicted and pruned tasks)
with @jbirddog, @jlantz, @burnettk
* run_pyl
---------
Co-authored-by: Jon Herron <jon.herron@yahoo.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* WIP: some updates to support new spiff w/ burnettk
* unit tests are passing
* all tests except message tests are passing
* fixed usage of catch message event w/ burnettk
* messages are working again w/ burnettk
* uncommented remaining message tests w/ burnettk
* fixed cypress tests w/ burnettk
* use main for spiffworkflow
* translated mysql last milestone query to sqlalchemy w/ burnettk
* fixed last milestone query so instances still return if no milestone found and moved some code from the main report method to own methods
* added some comments
* added last milestone column to process instances table
* display last milestone in instance list table w/ burnettk
* remove 3 characters when truncating last milestone for ellipsis
* make sure we have a current processor so we don't return null
* remove sleep
* The background processor now only picks up processes that were last updated more than a minute ago to avoid conflicting with the interstitial page. With the understanding that we can rmeove this limitation when we can refactor to allow the backend processes to provide updates on what they are doing.
* pyl w/ burnettk
* cache last milestone on instances
* pyl
* added test for last milestone and added it to the proces instance show page w/ burnettk
* fixed broken test w/ burnettk
* fixed last milestone header
* removed duplicated column
* fixed broken test
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
Co-authored-by: danfunk <daniel.h.funk@gmail.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* allow markdown in extensions results w/ burnettk
* fixed tests
* moved our rjsf form to component so extensions can also use it w/ burnettk
* added ability to create extensions that can download files w/ burnettk
* added test for extensions-get-data endpoint w/ burnettk
* make user optional when getting process instance reports
* added extensions-get-data to elevated perm macro and raise an error if user is not specified when needed when running a report
* fixed typeguard test
* push extensions branch
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* The onboarding controller should not save the process model to the database. It creates a pile of pointless noise. So just cleaning that up.
* run_pyl
* assure we can handle user tasks if they happen during on-boarding, while keeping the list of processes clean.
Lots of weird stuff getting run_pyl going.
* pyl
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* Revert "Revert "Feature/event payloads (#393)""
This reverts commit 95fafb7af1.
* Revert "Revert "poet not available in container""
This reverts commit 140220498c.
* Revert "Revert "Run event payloads data migration from background processor (#399)""
This reverts commit 2afced3a51.
* Revert "Revert "using new spiff api to get info about events. w/ elizabeth""
This reverts commit af857fee22.
* Revert "Revert "fix tests for waiting_event_can_be_skipped""
This reverts commit 886e6bd42a.
* push image for preview env
* default scripts to localhost w/ burnettk
* use the bugfix/update-split-task-inputs spiffworkflow branch w/ burnettk
* removed debug json files
* use main for spiffworkflow
* do not attempt to highlight non-diagram boundary items w/ burnettk
* updated SpiffWorkflow to fix multiple signal event issue w/ burnettk
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* added api and test to run a process model and return task data synchronously w/ burnettk
* added test to make sure we can access db models from extensions api w/ burnettk
* added extensions api to elevated permissions
* fixed permission tests
* do not add extensions permission to all permission for a pg or pm w/ burnettk
* added configs for extensions api w/ burnettk
* added the basis for an extensions list api w/ burnettk
* added tests for extenstions api and do not use serialized as a property
* allow giving a body to an extension when running and some support in frontend to use extensions
* added ability to display markdown and rjsf on extensions page
* added ability to submit the extension form and display the resulting task data
* made frontend extension urls have 2 pieces of information so we can specify multiple routes for the same process-model w/ burnettk
* do not save process instances when running extensions w/ burnettk
* add extension input to a task not the process w/ burnettk
* pyl w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* 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
* 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 a helpers class that can be used in jinja templates
* added jinja helpers to script task imports
* added some comments for jinja helper usage
* added tests for jinja helpers
* pyl
* pass jinja helper mappings in so helpers can be used consistently
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* WIP: some updates to support new spiff w/ burnettk
* unit tests are passing
* all tests except message tests are passing
* fixed usage of catch message event w/ burnettk
* messages are working again w/ burnettk
* uncommented remaining message tests w/ burnettk
* fixed cypress tests w/ burnettk
* use main for spiffworkflow
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* Trying to remove the duplicate code that might be causing bugs in the manual_task_complete
* Adding a test to show that a gateway can be successfully completed manually one step at a time.
* 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.
.