BLAF Guidelines - Save Model

Save Model

Last Updated 09.28.03

General Description

An extensive usability study was performed to understand the user's mental model for "saving" changes they have made on a BLAF application page. Multiple options were tested to watch when a user explicitly selected a button, like "Apply" to save data, and when he/she did not, but assumed that the updates they made were still "saved". This guideline lists general findings from this test as well as outlines the expected "save" behavior for all interactive elements in the UI of many common templates used throughout BLAF applications.

Each object template may be view-only state or updatable state, etc. These same templates are the basis for Table Navigation/Action Methods and Table Flows.

Guideline Attributes

Spec Version # - 3.1
Spec Contributors - Betsy Beier, Craig Louis, Lisa Serface
UI Models - all models
Example Products - all products
Related Guidelines - Object List Templates, Object Templates, 2 Step Template, Step by Step (3[+] Steps) Template, Step by Step Page Flows, Long Page and Overview Page Template, 1 Step Transactional Form page, Table Navigation/Action Methods, Table Flows, Action/Navigation Buttons, Tab/Navigation: SubTabs

Interaction and Usage Specifications

General Principles

  • An extensive usability study was performed to understand the user's mental model of "saving" changes that have been made on page(s) within BLAF applications. This test was conducted to have a better understanding of a user's save model on the web, since GUI or desktop conventions may or may not be applicable in an HTML environment. It is important to note that most users do not clearly understand backend technical details such as "saving" vs. "caching" data. This type of information is irrelevant to the users, since the most important aspect is that a user's changes to data are not lost as he/she moves between pages. Saving to the database, saving to temporary tables, and/or caching are important features on the backend. These techniques not only satisfy the user's requirement of not losing changes that have been made, but to also ensure that "Cancel" and "Revert" button behavior performs as expected by the user.
  • In general, users looked for, and selected "Apply" buttons at the page level. This "Apply" encompassed all changes that had been made on the page, including all changes and actions made in a table. It's important to note that most all of the scenarios tested contained updatable tables with record navigation, or sets of table data.
    • Step by Step Templates: When working through step by step processes, selecting Apply or Cancel should take the user back to the process initiation point.
    • Process Within Process: Selecting "Apply: [Subprocess Name]" or "Cancel: [Subprocess Name]" should take the user back to the process initiation point. When cancelling a subprocess, a Warning message should inform of pending work loss if they elect to cancel. When finishing a subprocess ("Apply: [Subprocess Name]"), the users changes should be cached and only saved to the database when they finish the main process. If they cancel the main process, subprocess work should also be cancelled.
    • Refer to the Process Within Process section below for more on this save model.
  • Users perceived a table with record navigation (sets of table data; i.e., 1-25 of 235, 26-50 of 235) as a "scrolling table." When the record navigation was selected, the user's mental model was not that they were viewing a new page, but that he/she had "scrolled" to another set of data in a table of the same page.
  • Table-level "Apply" (i.e., same as "Save" or "Commit") was highly problematic. The action at this level was overlooked or not understood in over 80% of the scenarios. Table-level "Apply" should not be used. Page-level saving or "Apply" is recommended.
  • On page templates with linear or suggested linear flows that use "Next" and "Back" buttons (Step by Step templates, or Object Template with Side Navigation), users thought clicking Next would save or cache their work. (I.e., all updates of previous pages of the flow would not be lost if he/she went "Back" to those pages.)
  • One of the most important points is that users do not expect that changes they make to data will be lost unless they explicitly request this behavior (i.e., Cancel, Revert). This being said, when other navigational elements are selected on the page, the user must be warned to save his/her changes before moving on to other tasks. Sections below in this document outline when it is appropriate to display Warning pages.
  • Inline Confirmation Message Box
    • Page level "Apply", "Submit", or "Finish" button (depending on the context) may navigate the user to the page where the flow was started (i.e., from an object template back to the object list). If within that instantiating page, it is not obvious that the "Apply/Submit/Finish" action has been completed, a confirmation message box must be displayed. If change is obvious and visible, no confirmation message is needed. For instance, if a user is viewing a list of purchase orders and selects "Create Purchase Order" to create another, they are navigated to the create flow. Once completed, and they select "Apply" they are returned to the list of purchase orders. The new order is in view in the table, thus no Inline Confirmation Message Box is necessary.
    • Page level "Apply", "Submit", or "Finish" button (depending on the context) may not navigate the user to a new page, but may keep the user on the same page. In this case, a confirmation message box must be displayed. This information is crucial feedback to the user that his/her changes have been saved. (Note: In usability testing of SubTabs, it was found users expected to navigate to the page where object template was launched.)
  • Warning Message Page - The most important principle from a user's perspective, regarding the save model in BLAF applications, is that the work that he/she has done, or updates that he/she have made are not lost when navigating from page to page. It is crucial that Warning Message Pages are used as specified in this document. Most importantly, the "Apply", "Submit", or "Finish" button (depending on the context) should be placed in the page-level location to ensure the highest visibility.
Note: The term "Apply" may be "Submit" or "Finish" depending on the page templates. These buttons do the same "save" function, but are labeled differently based on the page template. In usability testing, users did not have problems with the term "Apply". See Language in UI for detail terminology usage.


Save Model for Object List Template - with Updatable Table

High Level Summary

Apply works at page level. Table actions and record navigation cache or temporarily save changes.

Detailed Save Model and Interaction Expectations - Object List with Updatable Table

User updates information in the table or on the page, then selects ...

  • Table: Global Table Buttons - (i.e., "Create [Object]")
    • All updates to widgets in table and/or on page (other than search criteria) are saved in temporary tables or cached, page is redrawn according to button selected.
  • Table: Select and Act Buttons - (i.e., "Duplicate")
    • All updates to widgets in table and/or on page (other than search criteria) are saved in temporary tables or cached, page is redrawn according to button selected.
    • If button does not take user to another page, but just performs an action on a selected row, it performs the action based on the current, updated state of the data. Updates to other rows in table and/or updates on page are saved in temporary tables or cached.
    • In some cases, an action on a row can not happen unless the updated data of that row is first saved to the database. If this is the case, implicitly save the data to the database, then perform the action. Information regarding this behavior must be put in the instruction text closest to the table regarding this behavior.
  • Table: Functional Icon in Cell
      Same as Select and Act button behavior.
  • Table: Record Navigation - (i.e., Next 25; Previous 25)
    • All updates to widgets in table and/or on page are saved in temporary tables or cached; page is redrawn according to record navigation selected (next or back).
  • Page Level Button - "Apply"
    • All updates to widgets in table and/or on page are saved to database; page is redrawn to either another logical page in the flow, or redrawn as the same page with a Confirmation Message Box at the top stating the changes have been saved.
  • Page Level Button - "Cancel" Process/Changes to Items in Table of Object List
    • All updates to widgets in the table and/or on page are canceled, and set to the last saved setting (i.e., the setting when the user first entered the page.) If information regarding this page has been saved temporarily, the temporary information will be purged. The search criteria is defaulted to the setting when the user first entered the page. "Cancel" typically takes the user to another logical page in the application. Rarely does it keep the user on the same page.
  • Page Level Button - "Revert" of Items in Table of Object List and/or on Page.
    • All updates to widgets in the table and/or on page are reset to the last saved setting (i.e., the setting when the user first entered the page.) If information regarding this page has been saved temporarily, the temporary information will be purged. The search criteria is defaulted to the setting when the user first entered the page.
  • Page Level Button - Other Page Level Action/Navigation Buttons
    • All updates to widgets in table and/or on page are saved to database; page is redrawn to either another logical page in the flow, or redrawn as the same page with a Confirmation Message Box at the top stating that the action has been performed and changes have been saved.
  • Tab
    • If any updates to widgets in table and/or on page are made prior to selecting a tab, a Warning Message Page is drawn, letting the user know that his/her updates have not been saved or applied. The message also asks, "Would you like to save your changes." There are three buttons on the message page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in bi-di languages.) If "Yes" is selected, changes are saved, and the user moves to the appropriate page. If "No" is selected, the user's changes are not saved, but the page is redrawn to the appropriate tab section. If "Cancel" is selected, the user returns to the prior page, all previous updates are restored from temporary or cached means. No changes to data have been lost, yet still the data hasn't been saved to the database either.
    • If no changes to widgets in table and/or on page are made, then the user is navigated to the appropriate page.
  • Horizontal Navigation
    • Same as Tab behavior.
  • Global Button
    • Same as Tab behavior.
  • Other (Content Container Link, etc.)
    • Same as Tab behavior.

Related Guideline



Save Model for Object List Template with Non-Updatable Table

High Level Summary

No Page level apply needed (only unless other updatable label/data pairs on page.) Saving only done on detail level pages.

Note: Occasionally, an Object List templates with a non-updatable table may also contain updatable label/data pairs on the same page. If this is the case, then page level "Apply" functionality needs to be used. The picture below does not show this scenario.

Detailed Save Model and Interaction Expectations - Object List with Non-Updatable Table

User updates information in the table or on the page, then selects ...
  • Table: Global Table Buttons - (i.e., "Create [Object]")
    • All updates to widgets on the page, if any, (other than search criteria) are saved in temporary tables or cached, page is redrawn according to button selected.
  • Table: Select and Act Buttons - (i.e., "Duplicate")
    • All updates to widgets on page, if any, (other than search criteria) are saved in temporary tables or cached, page is redrawn according to button selected.
    • If button does not take user to another page, but just performs an action on a selected row, it performs the action based on the current state of the data as seen in the table. Updates to other widgets on page are saved in temporary tables or cached.
  • Table: Functional Icon in Cell
      Same as Select and Act button behavior.
  • Table: Record Navigation - (i.e., Next 25; Previous 25)
    • All updates to widgets on page, if any, are saved in temporary tables or cached; page is redrawn according to record navigation selected (next or back).
  • Page Level Button - "Apply": Don't use unless other updatable label/data pairs are also on page.
    • If updatable label/data pairs exist on page, all updates to widgets on page are saved to database; page is redrawn to either another logical page in the flow, or redrawn as the same page with a Confirmation Message Box at the top stating the changes have been saved.
  • Page Level Button - "Revert": Don't use unless other updatable label/data pairs are also on page.
    • This button action is ignored by the table since it is view only.
    • If updatable label/data pairs exist on page, all updates to widgets on page (other than search criteria) are reset to the last saved setting (i.e., the setting when the user first entered the page.) If information regarding this page has been saved in temporarily, the temporary information will be purged. The search criteria is defaulted to the setting when the user first entered the page.
  • Tab
    • If any updates to widgets in on page are made prior to selecting a tab, a Warning Message Page is drawn, letting the user know that his/her updates have not been saved or applied. The message also asks, "Would you like to save your changes." There are three buttons on the message page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in bi-di languages.) If "Yes" is selected, changes are saved, and the user moves to the appropriate page. If "No" is selected, the user's changes are not saved, but the page is redrawn to the appropriate tab section. If "Cancel" is selected, the user returns to the prior page, all previous updates are restored from temporary or cached means. No changes to data have been lost, yet still the data hasn't been saved to the database either.
    • If no changes to widgets on page are made, then the user is navigated to the appropriate page.
  • Horizontal Navigation
    • Same as Tab behavior.
  • Global Button
    • Same as Tab behavior.
  • Other (Content Container Link, etc.)
    • Same as Tab behavior.

Related Guideline

Save Model for 1 Step Object Template

High Level Summary

Apply works at page level. Table actions and record navigation cache or temporarily save changes.


Detailed Save Model and Interaction Expectations - 1 Step Object Template

User updates information in a table or on the page, then selects ...

  • Table: Global Table Buttons - (i.e., "Create [Object]")
    • All updates to widgets in table and/or on page are saved in temporary tables or cached, page is redrawn according to button selected.
  • Table: Select and Act Buttons - (i.e., "Duplicate")
    • All updates to widgets in table and/or on page are saved in temporary tables or cached, page is redrawn according to button selected.
    • If button does not take user to another page, but just performs an action on a selected row, it performs the action based on the current, updated state of the data. Updates to other rows in table and/or updates on page are saved in temporary tables or cached.
    • In some cases, an action on a row can not happen unless the updated data of that row is first saved to the database. If this is the case, implicitly save the data to the database, then perform the action. Information regarding this behavior must be put in the instruction text closest to the table regarding this behavior.
  • Table: Functional Icon in Cell -
      Same as Select and Act button behavior.
  • Table: Record Navigation - (i.e., Next 25; Previous 25)
    • All updates to widgets in table and/or on page are saved in temporary tables or cached; page is redrawn according to record navigation selected (next or back).
  • Page Level Button - "Apply"
    • All updates to widgets in table and/or on page are saved to database; page is redrawn to either another logical page in the flow, or redrawn as the same page with a Confirmation Message Box at the top stating the changes have been saved.
  • Page Level Button - "Cancel" Process/Changes to Page
    • All updates to widgets in the table and/or on page are canceled, and set to the last saved setting (i.e., the setting when the user first entered the page.) If information regarding this page has been save temporarily, the temporary information will be purged. "Cancel" typically takes the user to another logical page in the application, but rarely may keep the user on the same page.
  • Page Level Button - "Revert" Changes on Page.
    • All updates to widgets in the table and/or on page are reset to the last saved setting (i.e., the setting when the user first entered the page.) If information regarding this page has been saved temporarily, the temporary information will be purged.
  • Page Level Button - Other Page Level Action/Navigation Buttons
    • All updates to widgets in table and/or on page are saved to database; page is redrawn to either another logical page in the flow, or redrawn as the same page with a Confirmation Message Box at the top stating that the action has been performed and changes have been saved.
  • Tab
    • If any updates to widgets in table and/or on page are made prior to selecting a tab, a Warning Message Page is drawn, letting the user know that his/her updates have not been saved or applied. The message also asks, "Would you like to save your changes." There are three buttons on the message page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in BI-DI languages.) If "Yes" is selected, changes are saved, and the user moves to the appropriate page. If "No" is selected, the user's changes are not saved, but the page is redrawn to the appropriate tab section. If "Cancel" is selected, the user returns to the prior page, all previous updates are restored from temporary or cached means. No changes to data have been lost, yet still the data hasn't been saved to the database either.
    • If no changes to widgets in table and/or on page are made, then the user is navigated to the appropriate page.
  • Horizontal Navigation
    • Same as Tab behavior.
  • Global Button
    • Same as Tab behavior.
  • Other (Content Container Link, etc.)
    • Same as Tab behavior.
Related Guidelines

Save Model for 2 Step Object Template/ 2 Step Process

High Level Summary

Continue/Review caches or temporarily saves between pages of process. Finish/Submit saves updates from both pages. Table actions and record navigation cache or temporarily save changes.

Detailed Save Model and Interaction Expectations - 2 Step Object Template/ 2 Step Process

User updates information in a table or on the page, then selects ...

  • Table: Global Table Buttons - (i.e., "Create [Object]")
    • All updates to widgets in table and/or on page are saved in temporary tables or cached, page is redrawn according to button selected.
  • Table: Select and Act Buttons - (i.e., "Duplicate")
    • All updates to widgets in table and/or on page are saved in temporary tables or cached, page is redrawn according to button selected.
    • If button does not take user to another page, but just performs an action on a selected row, it performs the action based on the current, updated state of the data. Updates to other rows in table and/or updates on page are saved in temporary tables or cached.
    • In some cases, an action on a row can not happen unless the updated data of that row is first saved to the database. If this is the case, implicitly save the data to the database, then perform the action. Information regarding this behavior must be put in the instruction text closest to the table regarding this behavior.
  • Table: Functional Icon in Cell -
      Same as Select and Act button behavior.
  • Table: Record Navigation - (i.e., Next 25; Previous 25)
    • All updates to widgets in table and/or on page are saved in temporary tables or cached; page is redrawn according to record navigation selected (next or back).
  • Page Level Button - "Continue" (on 1st Page of 2 Step Process)
    • All updates to widgets in table and/or on page are saved in temporary tables or cached; page is redrawn to the 2nd step in the 2 step object template/process.
  • Page Level Button - "Review" (on 1st Page of 2 Step Process)
    • All updates to widgets in table and/or on page are saved in temporary tables or cached; page is redrawn to the 2nd step in the 2 step object template/process.
  • Page Level Button - "Finish", "Submit" (on 2nd Page of 2 Step Process)
    • All updates to widgets in table(s) and/or on pages of the process are saved to database; page is redrawn to either another logical page in the flow (usually back to the page that launched the 2 step process), or redrawn as the same page with a Confirmation Message Box at the top stating the changes have been saved.
  • Page Level Button - "Cancel"
    • On 1st page of 2 step process
      All updates to widgets in the table and/or on page are canceled, and set to the last saved setting (i.e., the setting when the user first entered the page.) If information regarding this page has been saved temporarily, the temporary information will be purged. Page is redrawn to the page prior to entering the 2 step process.
    • On 2nd page of 2 step process
      All updates to widgets in the table and/or for both pages are canceled, and set to the last saved setting (i.e., the setting when the user first entered the 2 step process.) If information regarding both pages has been saved temporarily, the temporary information will be purged. Page is redrawn to the page prior to entering the 2 step process.
  • Page Level Button - "Revert" (on Either 1st and/or 2nd Page of 2 Step Process)
    • All updates to widgets in the table and/or on that specific page are reset to the last saved setting (i.e., the setting when the user first entered the page.) If information has been saved temporarily regarding that specific page, the temporary information will be purged.
  • Page Level Button - All Other Page Level Action/Navigation Buttons
    • All updates to widgets in table and/or on page are saved to database; page is redrawn to either another logical page in the flow, or redrawn as the same page with a Confirmation Message Box at the top stating that the action has been performed and changes have been saved.
  • Tab
    • If any updates to widgets in table and/or on either page are made prior to selecting a tab, a Warning Message Page is drawn, letting the user know that his/her updates have not been saved or applied. The message also asks, "Would you like to save your changes." There are three buttons on the message page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in BI-DI languages.) If "Yes" is selected, changes are saved, and the user moves to the appropriate page. If "No" is selected, the user's changes are not saved, but the page is redrawn to the appropriate tab section. If "Cancel" is selected, the user returns to the prior page, all previous updates are restored from temporary or cached means. No changes to data have been lost, yet still the data hasn't been saved to the database either.
    • If no changes to widgets in table and/or on page are made, then the user is navigated to the appropriate page.
  • Horizontal Navigation
    • Same as Tab behavior.
  • Global Button
    • Same as Tab behavior.
  • Other (Content Container Link, etc.)
    • Same as Tab behavior.

Related Guideline

Save Model for 3(+) Step by Step Process: Finish Before End

High Level Summary

Next/Back caches or temporarily saves between pages of process. Finish/Submit saves updates from all pages. Table actions and record navigation cache or temporarily save changes.

Detailed Save Model and Interaction Expectations - 3(+) Step by Step Process: Able to Finish Before End

User updates information in the table or on the page, then selects ...

  • Table: Global Table Buttons - (i.e., "Create [Object]")
    • All updates to widgets in table and/or on page are saved in temporary tables or cached, page is redrawn according to button selected.
  • Table: Select and Act Buttons - (i.e., "Duplicate")
    • All updates to widgets in table and/or on page are saved in temporary tables or cached, page is redrawn according to button selected.
    • If button does not take user to another page, but just performs an action on a selected row, it performs the action based on the current, updated state of the data. Updates to other rows in table and/or updates on page are saved in temporary tables or cached.
    • In some cases, an action on a row can not happen unless the updated data of that row is first saved to the database. If this is the case, implicitly save the data to the database, then perform the action. Information regarding this behavior must be put in the instruction text closest to the table regarding this behavior.
  • Table: Functional Icon in Cell -
      Same as Select and Act button behavior.
  • Table: Record Navigation - (i.e., Next 25; Previous 25)
    • All updates to widgets in table and/or on page are saved in temporary tables or cached; page is redrawn according to record navigation selected (next or back).
  • Page Level Button - "Next" (on All Steps except for Last Step)
    • All updates to widgets in table and/or on page are saved in temporary tables or cached; page is redrawn to the next step in the step by step template/process.
  • Page Level Button - "Back" (on All Steps except for First Step)
    • All updates to widgets in table and/or on page are saved in temporary tables or cached; page is redrawn to the previous step in the step by step template/process.
    • If items are changes on the previous step that effect the steps there after, when the user select the next step in the process, a Warning Message Box should appear at the top of that step, stating that items may have changed based on selections in previous steps.
  • Page Level Button - "Finish", "Submit" (on Any Step of Process when Applicable)
    • All updates to widgets in table and/or on page for all pages that have been visited/affected are saved to database; page is redrawn to either another logical page in the flow (usually back to the page that launched the step by step process), or redrawn as the same page with a Confirmation Message Box at the top stating the changes have been saved.
  • Page Level Button - "Cancel" (On Any Step of the Process)
    • All updates to widgets in the table and/or on the page for all pages in the step by step process are canceled, and set to the last saved setting (i.e., the setting when the user first entered the page.) If information regarding any updates to any pages of the process have been saved temporarily, the temporary information will be purged. Page is redrawn to the page prior to entering the step by step process.
  • Page Level Button - "Revert" (on Any Step of the Process)
    • All updates to widgets in the table and/or on that specific page are reset to the last saved setting (i.e., the setting when the user first entered the page.) If information has been saved temporarily regarding that specific page, the temporary information will be purged.
  • Page Level Button - All Other Page Level Action/Navigation Buttons
    • All updates to widgets in table and/or on page are saved to database; page is redrawn to either another logical page in the application flow, or redrawn as the same page with a Confirmation Message Box at the top stating that the action has been performed and changes have been saved.
  • Tab
    • If any updates to widgets in table and/or on the page of any of the pages in the step by step process are made prior to selecting a tab, a Warning Message Page is drawn, letting the user know that his/her updates have not been saved or applied. The message also asks, "Would you like to save your changes." There are three buttons on the message page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in BI-DI languages.) If "Yes" is selected, changes are saved, and the user moves to the appropriate page. If "No" is selected, the user's changes are not saved, but the page is redrawn to the appropriate tab section. If "Cancel" is selected, the user returns to the prior page, all previous updates are restored from temporary or cached means. No changes to data have been lost, yet still the data hasn't been saved to the database either.
    • If no changes to widgets in table and/or on page are made, then the user is navigated to the appropriate page.
  • Horizontal Navigation
    • Same as Tab behavior.
  • Global Button
    • Same as Tab behavior.
  • Other (Content Container Link, etc.)
    • Same as Tab behavior.

Related Guideline

Save Model for 3(+) Step by Step Process: Finish at End

High Level Summary

Next/Back caches or temporarily saves between pages of process. Finish/Submit saves updates from all pages. Table actions and record navigation cache or temporarily save changes.

Detailed Save Model and Interaction Expectations - 3(+) Step by Step Process: Only Able to Finish at End

User updates information in the table or on the page, then selects ...

  • Table: Global Table Buttons - (i.e., "Create [Object]")
    • All updates to widgets in table and/or on page are saved in temporary tables or cached, page is redrawn according to button selected.
  • Table: Select and Act Buttons - (i.e., "Duplicate")
    • All updates to widgets in table and/or on page are saved in temporary tables or cached, page is redrawn according to button selected.
    • If button does not take user to another page, but just performs an action on a selected row, it performs the action based on the current, updated state of the data. Updates to other rows in table and/or updates on page are saved in temporary tables or cached.
    • In some cases, an action on a row can not happen unless the updated data of that row is first saved to the database. If this is the case, implicitly save the data to the database, then perform the action. Information regarding this behavior must be put in the instruction text closest to the table regarding this behavior.
  • Table: Functional Icon in Cell -
      Same as Select and Act button behavior.
  • Table: Record Navigation - (i.e., Next 25; Previous 25)
    • All updates to widgets in table and/or on page are saved in temporary tables or cached; page is redrawn according to record navigation selected (next or back).
  • Page Level Button - "Next" (on All Steps except for Last Step)
    • All updates to widgets in table and/or on page are saved in temporary tables or cached; page is redrawn to the next step in the step by step template/process.
  • Page Level Button - "Back" (on All Steps except for First Step)
    • All updates to widgets in table and/or on page are saved in temporary tables or cached; page is redrawn to the previous step in the step by step template/process.
    • If items are changes on the previous step that effect the steps there after, when the user select the next step in the process, a Warning Message Box should appear at the top of that step, stating that items may have changed based on selections in previous steps.
  • Page Level Button - "Finish", "Submit" (on the Last Step of the Process)
    • All updates to widgets in table and/or on page for all pages in the step by step flow are saved to database; page is redrawn to either another logical page in the flow (usually back to the page that launched the step by step process), or redrawn as the same page with a Confirmation Message Box at the top stating the changes have been saved.
  • Page Level Button - "Cancel" (On Any Step of the Process)
    • All updates to widgets in the table and/or for all pages in the step by step process are canceled, and set to the last saved setting (i.e., the setting when the user first entered the page.) If information regarding updates to any page of the process has been saved temporarily, the temporary information will be purged. Page is redrawn to the page prior to entering the step by step process.
  • Page Level Button - "Revert" (on Any Step of the Process)
    • All updates to widgets in the table and/or on that specific page are reset to the last saved setting (i.e., the setting when the user first entered the page.) If information has been saved temporarily regarding that specific page, the temporary information will be purged.
  • Page Level Button - All Other Page Level Action/Navigation Buttons
    • All updates to widgets in table and/or on page are saved to database; page is redrawn to either another logical page in the application flow, or redrawn as the same page with a Confirmation Message Box at the top stating that the action has been performed and changes have been saved.
  • Tab
    • If any updates to widgets in table and/or on the page of any of the pages in the step by step process are made prior to selecting a tab, a Warning Message Page is drawn, letting the user know that his/her updates have not been saved or applied. The message also asks, "Would you like to save your changes." There are three buttons on the message page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in BI-DI languages.) If "Yes" is selected, changes are saved, and the user moves to the appropriate page. If "No" is selected, the user's changes are not saved, but the page is redrawn to the appropriate tab section. If "Cancel" is selected, the user returns to the prior page, all previous updates are restored from temporary or cached means. No changes to data have been lost, yet still the data hasn't been saved to the database either.
    • If no changes to widgets in table and/or on page are made, then the user is navigated to the appropriate page.
  • Horizontal Navigation
    • Same as Tab behavior.
  • Global Button
    • Same as Tab behavior.
  • Other (Content Container Link, etc.)
    • Same as Tab behavior.

Related Guideline

Save Model for Side Navigation Object Template/NonLinear Sections

High Level Summary

Apply saves updates from all pages within side navigation. Between side navigation sections, caching or temporarily saving data occurs. Table actions and record navigation cache or temporarily save changes.

Detailed Save Model and Interaction Expectations - One Section Page of Object Template with Side Navigation (Nonlinear Sections)

User updates information in a table or on the page, then selects ...

  • Table: Global Table Buttons - (i.e., "Create [Object]")
    • All updates to widgets in table and/or on page are saved in temporary tables or cached, page is redrawn according to button selected.
  • Table: Select and Act Buttons - (i.e., "Duplicate")
    • All updates to widgets in table and/or on page are saved in temporary tables or cached, page is redrawn according to button selected.
    • If button does not take user to another page, but just performs an action on a selected row, it performs the action based on the current, updated state of the data. Updates to other rows in table and/or updates on page are saved in temporary tables or cached.
    • In some cases, an action on a row can not happen unless the updated data of that row is first saved to the database. If this is the case, implicitly save the data to the database, then perform the action. Information regarding this behavior must be put in the instruction text closest to the table regarding this behavior.
  • Table: Functional Icon in Cell -
      Same as Select and Act button behavior.
  • Table: Record Navigation - (i.e., Next 25; Previous 25)
    • All updates to widgets in table and/or on page are saved in temporary tables or cached; page is redrawn according to record navigation selected (next or back).
  • Page Level Button - "Apply"
    • If a user uses the side navigation to navigate between sections, and does not select "Apply" for every page, selecting the "Apply" button will save all changes from all the pages within the Side Navigation Object Template to the database. After selecting "Apply", the page is redrawn to either another logical page in the flow (possibly to the page where the user "launched" the object template with the side navigation), or redrawn as the same page with a Confirmation Message Box at the top of the page.
    • If user selects "Apply" at each page within side navigation, all updates to widgets in table and/or on page are saved to database; page is redrawn to either another logical page in the flow (possibly to the page where the user "launched" the object template with the side navigation), or redrawn as the same page with a Confirmation Message Box at the top stating the changes have been saved.
  • Page Level Button - "Cancel"
    • All updates to widgets in the table and/or on page are canceled, and set to the last saved setting (i.e., the setting when the user first entered the page.) If information regarding this page has been saved temporarily, the temporary information will be purged. "Cancel" typically takes the user to another logical page in the application or the page where the user "launched" the object template with side navigation. Rarely the user is kept on the same page.
    • If a user used the side navigation to navigate between sections, and did not select "Apply" on every page, selecting the "Cancel" button will cancel all changes from all the pages within the Side Navigation Object Template since the last "Apply" was selected. If information regarding all the pages has been saved temporarily, the temporary information will be purged. "Cancel" typically takes the user to another logical page in the application or the page where the user "launched" the object template with side navigation. Rarely the user is kept on the same page.
  • Page Level Button - "Revert"
    • All updates to widgets in the table and/or on page of this specific page are reset to the last saved setting (i.e., the setting when the user first entered the page.) If information regarding this page has been saved temporarily, the temporary information will be purged.
  • Page Level Button - Other Page Level Action/Navigation Buttons
    • All updates to widgets in table and/or on page are saved to database; page is redrawn to either another logical page in the flow, or redrawn as the same page with a Confirmation Message Box at the top stating that the action has been performed and changes have been saved.
  • Another Side Navigation Section
    • If any updates to widgets in table and/or on page are made prior to selecting the Side Navigation, and the "Apply" button has not been selected since the changes have been made, all updates to widgets in table and/or on page are saved in temporary tables or cached, page is redrawn to according to side navigation section selected.
  • Tab
    • If any updates to widgets in table and/or on page are made prior to selecting a tab, a Warning Message Page is drawn, letting the user know that his/her updates have not been saved or applied. The message also asks, "Would you like to save your changes." There are three buttons on the message page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in BI-DI languages.) If "Yes" is selected, changes are saved, and the user moves to the appropriate page. If "No" is selected, the user's changes are not saved, but the page is redrawn to the appropriate tab section. If "Cancel" is selected, the user returns to the prior page, all previous updates are restored from temporary or cached means. No changes to data have been lost, yet still the data hasn't been saved to the database either.
    • If no changes to widgets in table and/or on page are made, then the user is navigated to the appropriate page.
  • Horizontal Navigation
    • Same as Tab behavior.
  • Global Button
    • Same as Tab behavior.
  • Other (Content Container Link, etc.)
    • Same as Tab behavior.

Related Guideline

Save Model for Side Navigation Object Template/Suggested Linear Sections

High Level Summary

Apply saves updates from all pages within side navigation. Between side navigation sections, caching or temporarily saving data occurs. Table actions and record navigation cache or temporarily save changes.

Detailed Save Model and Interaction Expectations - One Section Page of Object Template with Side Navigation (Suggested Linearity)

User updates information in a table or on the page, then selects ...

  • Table: Global Table Buttons - (i.e., "Create [Object]")
    • All updates to widgets in table and/or on page are saved in temporary tables or cached, page is redrawn according to button selected.
  • Table: Select and Act Buttons - (i.e., "Duplicate")
    • All updates to widgets in table and/or on page are saved in temporary tables or cached, page is redrawn according to button selected.
    • If button does not take user to another page, but just performs an action on a selected row, it performs the action based on the current, updated state of the data. Updates to other rows in table and/or updates on page are saved in temporary tables or cached.
    • In some cases, an action on a row can not happen unless the updated data of that row is first saved to the database. If this is the case, implicitly save the data to the database, then perform the action. Information regarding this behavior must be put in the instruction text closest to the table regarding this behavior.
  • Table: Functional Icon in Cell -
      Same as Select and Act button behavior.
  • Table: Record Navigation - (i.e., Next 25; Previous 25)
    • All updates to widgets in table and/or on page are saved in temporary tables or cached; page is redrawn according to record navigation selected (next or back).
  • Page Level Button - "Next" (on All Steps except for Last Step)
    • All updates to widgets in table and/or on page are saved in temporary tables or cached; page is redrawn to the next step in the Object Template with Side Navigation/process.
  • Page Level Button - "Back" (on All Steps except for First Step)
    • All updates to widgets in table and/or on page are saved in temporary tables or cached; page is redrawn to the previous step in the Object Template with Side Navigation/process.
    • If items are changes on the previous step that effect the steps there after, when the user select the next step in the process, a Warning Message Box should appear at the top of that step, stating that items may have changed based on selections in previous steps.
  • Page Level Button - "Finish", "Submit" (on the Last Step of the Process)
    • All updates to widgets in table and/or on page for all pages in the Object Template with Side Navigation are saved to database; page is redrawn to either another logical page in the flow (usually back to the page that launched the step by step process), or redrawn as the same page with a Confirmation Message Box at the top stating the changes have been saved.
  • Page Level Button - "Cancel"
    • On Any Step of the Process
      All updates to widgets in the table and/or for all pages in the Object Template with Side Navigation are canceled, and set to the last saved setting (i.e., the setting when the user first entered the page.) If information had been saved in temporary tables, the temporary information will be purged. Page is redrawn to the page prior to entering the Object Template with Side Navigation process.
  • Page Level Button - "Revert" (on Any Step of the Process)
    • All updates to widgets in the table and/or on that specific page are reset to the last saved setting (i.e., the setting when the user first entered the page.) If information has been saved temporarily regarding that specific page, the temporary information will be purged.
  • Page Level Button - Other Page Level Action/Navigation Buttons
    • All updates to widgets in table and/or on page are saved to database; page is redrawn to either another logical page in the flow, or redrawn as the same page with a Confirmation Message Box at the top stating that the action has been performed and changes have been saved.
  • Another Side Navigation Section
    • If any updates to widgets in table and/or on page are made prior to selecting the Side Navigation, and the "Next", "Back", "Cancel", or "Submit"/"Finish" button has not been selected since the changes have been made, all updates to widgets in table and/or on page are saved in temporary tables or cached, page is redrawn to according to side navigation section selected.
  • Tab
    • If any updates to widgets in table and/or on page are made prior to selecting a tab, a Warning Message Page is drawn, letting the user know that his/her updates have not been saved or applied. The message also asks, "Would you like to save your changes." There are three buttons on the message page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in BI-DI languages.) If "Yes" is selected, changes are saved, and the user moves to the appropriate page. If "No" is selected, the user's changes are not saved, but the page is redrawn to the appropriate tab section. If "Cancel" is selected, the user returns to the prior page, all previous updates are restored from temporary or cached means. No changes to data have been lost, yet still the data hasn't been saved to the database either.
    • If no changes to widgets in table and/or on page are made, then the user is navigated to the appropriate page.
  • Horizontal Navigation
    • Same as Tab behavior.
  • Global Button
    • Same as Tab behavior.
  • Other (Content Container Link, etc.)
    • Same as Tab behavior.

Related Guideline

Save Model for SubTabs Object Template/Nonlinear Sections

High Level Summary

Apply saves updates from all pages within SubTab Bar. Between subtab sections, caching or temporarily saving data occurs. Table actions and record navigation cache or temporarily save changes.

Detailed Save Model and Interaction Expectations - One Section Page of Object Template with SubTabs (Nonlinear Sections)

User updates information in a table or on the page, then selects ...

  • Table: Global Table Buttons - (i.e., "Create [Object]")
    • All updates to widgets in table and/or on page are saved in temporary tables or cached, page is redrawn according to button selected.
  • Table: Select and Act Buttons - (i.e., "Duplicate")
    • All updates to widgets in table and/or on page are saved in temporary tables or cached, page is redrawn according to button selected.
    • If button does not take user to another page, but just performs an action on a selected row, it performs the action based on the current, updated state of the data. Updates to other rows in table and/or updates on page are saved in temporary tables or cached.
    • In some cases, an action on a row can not happen unless the updated data of that row is first saved to the database. If this is the case, implicitly save the data to the database, then perform the action. Information regarding this behavior must be put in the instruction text closest to the table regarding this behavior.
  • Table: Functional Icon in Cell -
      Same as Select and Act button behavior.
  • Table: Record Navigation - (i.e., Next 25; Previous 25)
    • All updates to widgets in table and/or on page are saved in temporary tables or cached; page is redrawn according to record navigation selected (next or back).
  • Page Level Button - "Apply"
    • If a user uses the subtabs to navigate between sections, and does not select "Apply" for every page, selecting the "Apply" button will save all changes from all the pages within the SubTab Object Template to the database. After selecting "Apply", the page is redrawn to either another logical page in the flow (typically to the page where the user "launched" the object template with subtabs), or redrawn as the same page with a Confirmation Message Box at the top of the page. (Note: Based on usability testing (Fall 2001), it is recommended to not remain on the page after "Apply" is selected.)
    • If user selects "Apply" at each page within subtab, all updates to widgets in table and/or on page are saved to database; page is redrawn to either another logical page in the flow (possibly to the page where the user "launched" the object template with the side navigation), or redrawn as the same page with a Confirmation Message Box at the top stating the changes have been saved. (See note above.)
  • Page Level Button - "Cancel"
    • All updates to widgets in the table and/or on page are canceled, and set to the last saved setting (i.e., the setting when the user first entered the page.) If information regarding this page has been saved temporarily, the temporary information will be purged. "Cancel" typically takes the user to another logical page in the application or the page where the user "launched" the object template with side navigation. Rarely the user is kept on the same page.
    • If a user used the subtab to navigate between sections, and did not select "Apply" on every page, selecting the "Cancel" button will cancel all changes from all the pages within the SubTab Object Template since the last "Apply" was selected. If information regarding all the pages has been saved temporarily, the temporary information will be purged. "Cancel" typically takes the user to another logical page in the application or the page where the user "launched" the object template with side navigation. Rarely the user is kept on the same page.
  • Page Level Button - "Revert"
    • All updates to widgets in the table and/or on page of this specific subtab section are reset to the last saved setting (i.e., the setting when the user first entered the page.) If information regarding this page has been saved temporarily, the temporary information will be purged.
  • Page Level Button - Other Page Level Action/Navigation Buttons
    • All updates to widgets in table and/or on page are saved to database; page is redrawn to either another logical page in the flow, or redrawn as the same page with a Confirmation Message Box at the top stating that the action has been performed and changes have been saved.
  • Another SubTab Section
    • If any updates to widgets in table and/or on page are made prior to selecting the SubTab, and the "Apply" button has not been selected since the changes have been made, all updates to widgets in table and/or on page are saved in temporary tables or cached, page is redrawn to according to subtab section selected.
  • Tab
    • If any updates to widgets in table and/or on page are made prior to selecting a tab, a Warning Message Page is drawn, letting the user know that his/her updates have not been saved or applied. The message also asks, "Would you like to save your changes." There are three buttons on the message page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in BI-DI languages.) If "Yes" is selected, changes are saved, and the user moves to the appropriate page. If "No" is selected, the user's changes are not saved, but the page is redrawn to the appropriate tab section. If "Cancel" is selected, the user returns to the prior page, all previous updates are restored from temporary or cached means. No changes to data have been lost, yet still the data hasn't been saved to the database either.
    • If no changes to widgets in table and/or on page are made, then the user is navigated to the appropriate page.
  • Horizontal Navigation
    • Same as Tab behavior.
  • Global Button
    • Same as Tab behavior.
  • Other (Content Container Link, etc.)
    • Same as Tab behavior.

Related Guideline

Save Model for Process Within Process

High Level Summary

BLAF users perceive process when working through a sequence of template pages to perform a task or tasks. Completing a process (main process) may occasionally require the user to temporarily depart from the main process, complete a supporting process (subprocess), and return to the departure point in the main process, from where they proceed to overall completion.

Testing shows that users generally perceive their work in a main process, the departure to subprocess, and return to main process as a single overall process. What is not so obvious to them is whether or not their work on subprocess pages is saved to the database when they return to the main process. Based on the test results showing the perception of overall process, BLAF recommends that subprocess changes shall not be saved to the database, but should be cached along with the current main process changes, until the main process itself is applied or cancelled. Clear indications that the user is entering or departing from a subordinate subprocess should be provided.

Conclusions

  • Selecting "Apply: [Subprocess Name]" should take the user back to the process initiation point. Departing a main process (Apply) or subprocess (Apply: [Subprocess Name]) should take the user back to the process initiation point.
  • Selecting "Cancel: [Subprocess Name]", a Warning message should inform of pending work loss if they elect to cancel. If they confirm cancellation, they should be taken back to the process initiation point.
  • When finishing a subprocess ("Apply: [Subprocess Name]"), the users changes should be cached and only saved to the database when they finish the main process. If they cancel the main process, subprocess work should also be cancelled.

Save Model Interaction Recommendations - Process Within Process

Based on testing, the following approach is recommended, and is intended to supplement the detailed interaction expectations listed in the sections above:

  • In main processes (not a subprocess), use "Apply" and "Cancel" button labels and page titling. Users understand that Apply saves their changes, and Cancel does not.
  • In subprocess, Apply and Cancel button labels should be expanded to indicate that subprocess work only is being saved (cached).
    • "Apply: [Subprocess Name]"
    • "Cancel: [Subprocess Name]"
  • Apply: [Subprocess Name] adds subprocess changes to the overall (main) process cache. Cancel: [Subprocess Name] removes changes made in the subprocess cache. If the main process is cancelled, any subprocess changes are also cancelled.
  • Page titles identify [Subprocess Name]: {[Step Name]}, to reinforce awareness that they are in a subprocess.
  • Cancel from main process and Cancel: [Subprocess Name] should both flow to a Warning message explaining that all changes made in [Main Process Name] / [Subprocess Name] will be lost, including object deletions.

Related Guidelines

Refer to these BLAF Guidelines for more information on process within process:

Visual Specifications

See above schematics and related guidelines.

Open/Closed Issues

    Open Issues

    28-Jan-2003 - "Save As" flow to be added when issues resolved.

    Closed Issues

    09-Oct-2001 - Example with SubTabs will be added following usability testing of SubTab component (late October/early November 2001.)
    05-Oct-2001 - Document is being reviewed by core technology teams for feasibility.




 
E-mail this page
Printer View Printer View