9/11/18
For all practical purposes, this topic should be closed. I learned a lot from the discussion and appreciate everyone’s input. Some of the things I struggled with in the app were too interrelated to gain a clear understanding of. I am completely reworking the page, and some of the app.
In this discussion, I went off the rails more than once and for that I apologize.
Thanks to all who chimed in to help.
First post 9/5/18:
I am dealing with some very odd behavior that suggests Bubble cannot be relied upon to do the right thing or report that it has a problem that prevents it from doing the right thing.
Summary:
The program is a simple project/task management system. Its focus is on Actions. Each one is associated with a Project. It is a one-to-many relationship of Projects to Actions.
Because Actions will be updated under a variety of conditions, and referential integrity between Action and Project must be maintained, the logic to updated Action and its related Project is in a custom workflow, Update Action Detail. When it runs to completion, it seems to work as intended. However, it only runs to completion in one of two scenarios written so far.
Below is the event log from two scenarios.
First, the save button, btnSave, is clicked. The log is written as expected in every respect, comprising the first nine log entries.
Next, the Action’s status is changed to Done (dropStatusCode’s value is changed). Before triggering the custom workflow, the "is changed" workflow does some work to set custom states representing when the Action was completed, duration of work, and other values related to the "done" status.
As with the "btnSave is clicked" workflow, the dropStatusCode workflow should generate nine log entries. Instead, it unceremoniously ends when it should be doing the Make changes to Action step. Bubble gives no notification of a problem. It just stops executing. It is not stalled. The page is available and changes can be made. It just doesn’t finish the workflow.
The Update Action Detail workflow doesn’t do a lot of work. Of 15 steps, only five are doing any real work. Five are writing log entries and five are pausing in the vain hope that a short pause will clear things up and the thing won’t end prematurely. One of the real work steps is triggering another workflow to set some custom states on the page. Nothing really exotic is being done.
Why would Bubble fail to complete any workflow without throwing an error?
What should I be looking at as a possible cause of the problem?
BTW, just to see what might happen, I modified the "dropStatusCode is changed" workflow to not trigger Update Action Detail. I tested this, followed by clicking the Save button and it did what it was supposed to do. In essence, I manually did what "dropStatusCode is changed" should have done but with an intervening user action to click the Save button.
Sounds like some kind of a timing problem, but what am I looking for and why isn’t Bubble telling me there is a problem?