Details

    • Type: Improvement Improvement
    • Status: Open Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Security Level: Public (Public: Anyone can view)
    • Labels:
    • Similar issues:
      KULRICE-4903Document Exit logic has to accomadate non-standard exits also
      KULRICE-3908Approve fails to clear out saved ad hoc route requests...
      KULRICE-8001Checks not correctly cleared for dirty fields
      KULRICE-12485Adding/Removing a role doesn't take effect even if you clear the kim cache
      KULRICE-11602Create extension points to override ExpressionEvaluator
      KULRICE-7012Limit the size of form storage in session
      KULRICE-5002clear GlobalVariables after request is processed
      KULRICE-1366When an EDocLite is opened for viewing, attribute content is cleared
      KULRICE-4306Can't clear an optional user field
      KULRICE-10305Lookup: Set default values on "clear values"
    • Rice Module:
      KRAD
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required

      Description

      With the form session management forms can pile up as the user makes request and leaves the form (but keeps the session open). We have form clearing points on certain actions, put there are many other ways the user can leave the view (for example clicking the portal links, closing the tab). One solution that has been worked on a bit is to catch the user exit via script and make an ajax call to clear the form. This script is currently in krad.initialize.js and is commented out:

      // script that should execute when the page unloads
      jq(window).bind('beforeunload', function (evt) {
      // clear server form if closing the browser tab/window or going back
      // TODO: work out back button problem so we can add this clearing
      // if (!event.pageY || (event.pageY < 0))

      { // clearServerSideForm(); // }

      });

      This calls the controller UifClientListener which calls the form manager to clear the form. Couple of problems with this. One it catches links and possibly other actions within the document. Two it causes issues with the back button. If we can determine through the event the source of the event, we might be able to be smarter about when to make the clear call.

      Clear server side form when:

      • inquiry closed
      • lookup closed
      • returned to portal

      Don't clear server side form when:

      • back button
      • forward button
      • inquiry opened
      • lookup opened

        Issue Links

          Activity

          Hide
          Claus Niesen added a comment -
          • We could add an on-unload event to the portal page and add an identifier to the stored form so that we know all the stored forms that originated from this portal page. Now when the user closes a browser tab or window the on-unload event could trigger a removal of all the stored forms that were associated with it.
          • For inquiry lightboxes we could trigger a clean up of the inquiry forms that would delete the current inquiry form and all the bread crums forms from the server. Use the formKeys via formHistory.historyEntries of the form to get the bread crums forms.
            • I haven't figured out how get the formKey of the inquiry form when the lightbox is closed.
            • If a user went back in the bread crums list then not all forms will be deleted.
          • Candace mentioned that it would be ok not to save the whole form for inquiries and lookups. Instead just store the keys and rebuild these pages when returning to them via the back button.
            • Some lookups have hidden criteria properties that would need to be taken care of as well (saved along with the keys).
          Show
          Claus Niesen added a comment - We could add an on-unload event to the portal page and add an identifier to the stored form so that we know all the stored forms that originated from this portal page. Now when the user closes a browser tab or window the on-unload event could trigger a removal of all the stored forms that were associated with it. For inquiry lightboxes we could trigger a clean up of the inquiry forms that would delete the current inquiry form and all the bread crums forms from the server. Use the formKeys via formHistory.historyEntries of the form to get the bread crums forms. I haven't figured out how get the formKey of the inquiry form when the lightbox is closed. If a user went back in the bread crums list then not all forms will be deleted. Candace mentioned that it would be ok not to save the whole form for inquiries and lookups. Instead just store the keys and rebuild these pages when returning to them via the back button. Some lookups have hidden criteria properties that would need to be taken care of as well (saved along with the keys).
          Hide
          Jerry Neal (Inactive) added a comment -

          Claus,

          Quick comment and we can talk more later. I think that would be difficult to determine when we are posting a page as a result of the back button to rebuild the inquiry or lookup. Essentially we would always have to clear the form and rebuild which we do not want to do.

          Jerry

          Show
          Jerry Neal (Inactive) added a comment - Claus, Quick comment and we can talk more later. I think that would be difficult to determine when we are posting a page as a result of the back button to rebuild the inquiry or lookup. Essentially we would always have to clear the form and rebuild which we do not want to do. Jerry
          Hide
          Jessica Coltrin (Inactive) added a comment -

          moving m4 criticals and blockers to rc1

          Show
          Jessica Coltrin (Inactive) added a comment - moving m4 criticals and blockers to rc1

            People

            • Assignee:
              Unassigned
              Reporter:
              Jerry Neal (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:

                Time Tracking

                Estimated:
                Original Estimate - 1 week
                1w
                Remaining:
                Remaining Estimate - 1 week
                1w
                Logged:
                Time Spent - Not Specified
                Not Specified

                  Structure Helper Panel