| Save Model Guidelines | |
| Version 2.0.0.0 | |
| Contents | |
| Overview | |
The creation or editing of transactional data objects by users in Oracle Fusion Applications relies on what is known as a save model to commit data objects to the database or to store them in memory on the applications server. The save model is generally explicit, meaning that data objects are committed or stored in response to deliberate user actions; the data objects are not committed or stored automatically by the application in the background. Any implicit save actions are explained in the Save Model for Manage Pages: Delete Actions and the Implicit Save on Session Expiration. Product teams must design and code the functionality for any save model interaction. Use this guideline to:
|
|
| Save Actions |
| Oracle Fusion Applications enables users to save data objects or to commit these data objects to the database using the Save and Submit buttons. | ||
| Save and Submit Actions Concepts | ||
| Both save and submit actions commit data to the database. Save actions also save data objects in memory on the application server within a user session until the data objects are later committed to the database. A save or a submit action is usually the final action that users take on a page or in a taskflow.
When users click a Submit button, they are usually taking the final action in a taskflow or process that releases the object of that process or taskflow publicly for further work or hands off the object as complete. After clicking a Submit button, users are navigated to the initial stage in the taskflow. When users click a Save button, they are creating a data object for private use (although the data objects can be collaborated on by other users). The Save button does not provide any navigation. Navigation is provided by a Save and Close button or by another Save and <action> button (for example, a Save and Create Another button. Including both a Save button and a Submit button on the same page indicates to users that data objects can be kept in some intermediate, incomplete, or draft state on the server before being finally completed and committed to the database. For example:
In these cases, a Save button indicates an intermediate state for the object and a Submit button (or variants of that label, for example a Publish button) indicates the final stage in the flow, when the object or process is complete and made public. Additional attributes indicate the name of the person who last updated a saved object, the date that the object was last updated, and the status of the object (see figure 1).
|
||
| Saving Objects and Page Context | ||
When a data object is saved in draft status or a data object is made available to others, the page changes from a create context to an edit (or read-only) context. This change confirms the state of the saved object to all users in the taskflow. Examples of changing the context include:
For more information, see the Create and Information Entry Forms design patterns. |
||
| Save Actions and Access to Objects | ||
Users can commit data objects to the database or save the data for personal review or review by others before the data is finalized. Two scenarios are generally encountered:
In both of these scenarios, only one data object exists. The draft status of the data object should be communicated to all users, as the design requires, using indicators such as icons, listing the status in a table column, using a task stamp, and so on. For more information, see Task Stamps for Save Actions and Save Model Messaging and Other Visual Indicators. |
||
| Creating Data Objects and Validation | ||
Data entered on a page can be validated on the client side or the server side, depending on the business or user interface rules required. These rules are identified during the Application Process Model (APM) functional design phase. Product teams must design any data validation required. Teams should be aware of the following limitations to validation and messaging in Oracle Fusion Applications version 1.0:
For more information concerning Cancel button actions, see Confirming Unsaved Changes. |
| Save Model Buttons | |
The following action buttons are used in the Oracle Fusion Applications save model when creating and editing data: Place the Save, Submit, and Cancel buttons to the right of the action buttons, in that order. The name of the Submit button may also vary to reflect the final action in a taskflow. The Save and Submit buttons sometimes appear as drop buttons that, when clicked, present a list of options that users can select from (such as Save and Create Another or Save As). The Rich Client User Experience button guideline refers to these buttons as drop buttons with other options as "split inline selector buttons." For more information, see the Revert, Reset, and Undo Buttons and the Save Model Interactions and Button Combinations. See also the Page Actions Guideline. Save ButtonsA save action may or may not be the final action that a user takes on a page, and a page may include both a Save button and a Submit button (or renamed variant of this button). The Save button stores data objects in memory or commits data to the database, keeping users on the same page. The Save button itself provides no navigation. Save Design ConsiderationsWhen a save action is the final action on a page or in a taskflow, then a Submit button is not required. A default Save button is not mandatory for all situations; other combinations or options are possible. For more information, see the Save Model Situations and Button Combinations. Use these guidelines for save buttons when these buttons are the final actions on a page:
For more information, see Save Options in Drop Button. Follow these guidelines:
Save As… Button OptionInclude the Save As… button in the Save drop button options only on existing objects. The Save As… button enables users to create a duplicate version of an object with a different name. Use these guidelines:
Cancel ButtonsA Cancel button must be used on all transactional pages where data can be created or edited. The Cancel button is always the last page-level action button, and it is right aligned. Do not use a Cancel button on read-only pages. Instead, use a Done button.For more information, see the Page Actions Guideline.Clicking the Cancel button means:
|
| Confirming Unsaved Changes | |
This section explains how to warn users about unsaved data if they close, cancel, or navigate away from a page or tab. When a Page or Tab Is Closed, Navigated Away From, or a Taskflow Is Refreshed When users close or navigate from a tab or page with unsaved changes, a modal dialog box warning message asks users if they want to continue to leave. Yes and No buttons ask users to confirm the action that they want to take. Note: These warning message dialog boxes cannot display a Save button for technical reasons. For nontab work areas, ApplCore shows the following message (see figure 10):
For a single tab work area, ApplCore shows the following message (see figure 11):
For multiple tabs, ADF shows the following message (see figure 12):
Here are the known issues with closing and navigating from pages or tabs in Oracle Fusion Applications 1.0:
Designing Warning Message Dialogs for Unsaved Changes Warning messages for unsaved changes are provided natively by ApplCore, and in some cases, by ADF. Product teams should use the natively-provided warning message modal dialogs. In cases where a team can control their own data APIs and cannot use the natively-provided warning message about unsaved changes, teams must provide their own message (for example, within subflows as shown in figure 11). Follow these guidelines:
Direct Navigation Using the Web Browser Back Button or a New URL If users navigate from a tab or page using the web browser's Back button or by entering a new URL, ADF can be configured using the af:document tag's UncommitedDataWarning attribute to display a page-level warning message from the browser (see figure 14).
Note: The web browser controls this message, not the application, so the name and order of confirmation buttons is different from the application's warning message dialogs. For more information on the user experience of clicking a Cancel button, see Cancel Buttons. |
| Task Stamps for Save Actions |
A date and time page-level task stamp informs users when they last saved a data object. The date and time that appears indicates when data was last saved on the server (see figure 15).
When using task stamps for save actions, follow these guidelines:
For more information, see the Page Stamps Usage Guideline . |
| Save Model Interactions and Button Combinations | |
This section provides design guidelines for different circumstances that use a save model, outlining which Save and Submit button combinations are appropriate in each case. The order of buttons used in the save model is Actions, Save, Submit, and Cancel. In general, here are the rules for choosing between save model button options (see figure 16). When there is no submit-type final action:
When there is a submit-type final action:
The following sections provide additional details on specific use cases and the combinations of Save and Submit buttons to use when:
Creating a Small Object or Small ProcessUsage description:
Creating a Large Object or Large ProcessUsage description:
If Submit is the final action, here are the button functions (see figure 19):
Save As… initiates a secondary window where users must name the new data object. Users are taken into the new object in edit mode, and any changes to the original object are not saved.
If Save is the final action, here are the button functions (see figure 20):
Creating an Object as Part of a Guided ProcessUsage description:
For guided processes, here are the button functions (see figure 21):
For more information, see the Guided Processes Pattern Group. Editing a Small Object or Small ProcessUsage description:
If Submit is the final action, here are the button functions (see figure 22):
If Save is the final action, here are the button functions (see figure 23):
Editing a Large Object or Large Process Usage description:
If Submit is the final action, here are the button functions (see figure 24):
If Save is the final action, here are the button functions (see figure 25):
Editing an Object as Part of a Guided Process Usage description:
For editing an object as part of a guided process, here are the button functions (Figure 26):
For more information, see the Guided Processes Pattern Group. Considerations for Editing and Creating Objects in a Guided Process
For more information, see Save Model Messaging and Other Visual Indicators. See also the Guided Processes Pattern Group. |
| Save Model for Pages, Tabs, and Subprocesses | |
| This section explains save model interactions for different design scenarios. |
| Save Model for Dynamic Tabs |
| Dynamic tabs use an explicit save model (see figure 27). |
![]() |
| Figure 27. Dynamic tab work area |
|
Users must be warned about unsaved data when they close a tab in the local work area using the Close icon or navigate to another tab. In Oracle Fusion Applications version 1.0, a modal dialog box warning message appears. In Oracle Fusion Applications version 1.0, canceling a tab with unsaved changes should not cause a warning message to appear. For more information, see Cancel Buttons and Confirming Unsaved Changes. See also the Dynamic Tabs Work Area Guideline.Save Model for Manage Pages: Delete ActionsDelete actions are governed by the underlying save model of the page. On read-only pages, a delete action is immediate and uses an implicit save, but on editable pages, a delete action requires an explicit save. In the case of manage pages, be aware of these two scenarios:
You should not use mixed save models for actions on the same page. That is, don't include some changes that are saved implicitly as part of the action and other changes that require an explicit save. Save Model for SubprocessesThis section addresses the save model for a subprocess (a process within a larger process). For example, when users start a process to create an order, they may realize during the order creation process that they need to create customer details. In these cases, users can launch a secondary window or drill-down page to create the customer details.Here are two types of save situations in subprocesses:
Issues of dependency between process and subprocess in terms data object submission are not apparent to users. For the final action button guidance for subprocesses of these two types, follow these guidelines: |
| For Cached Subprocesses Dependant on the Main Process | For Saved Subprocesses Not Dependant on the Main Process | ||||||
For train subprocesses (see figure 28): Use the Submit and Cancel buttons.
The main process also uses a Submit action to finalize the process. Do not use OK or Continue buttons in train subprocesses. Product teams requiring a train subprocess should follow the Subprocess Pattern. |
For train subprocesses (see figure 32): Use the Submit and Cancel buttons.
Product teams requiring a train subprocess should follow the Subprocess Pattern. |
||||||
For dialog box subprocesses (see figure 29): Use the OK and Cancel buttons for single-page dialog boxes.
Use the OK and Cancel buttons when the updates in the dialog box can be done iteratively (see figure 30).
| For dialog box subprocesses (see figure 33): Use the Save and Close and Cancel buttons if the intent is to keep the object private and not to share the object with other users.
For more information about cases when the object is collaborated on and then made public, see the Save Model Situations and Button Combinations for recommended button layouts. |
||||||
For page drill-down details (see figure 31): Use the OK and Cancel buttons.
| For page drill-down details (see figure 34): Use the Save and Close and Cancel buttons if the intent is to keep the object private and to not share the object with other users.
For more information about cases when the object is collaborated on and then made public, see the Save Model Situations and Button Combinations for recommended button layouts. |
| Save Model Messaging and Other Visual Indicators |
Product teams design confirmation, error, or warning messages as required for save model interactions. These messages are designed according to the APM functional design phase business or user interface rules for the taskflow. Messages can appear in dialog boxes or inline (that is, on the page):
Follow these guidelines for messages relating to the save interaction:
For more information, see the Message Pattern Set and Icons and Term Definition Guideline. For Oracle Fusion Applications version 1.0, the default ADF validation framework supports messaging on editable fields on currently visible pages only. Other situations, such as hidden pages, objects, noncurrent tabs or train stops, or read-only pages, are not supported by default. If messaging is required for these situations, the product teams must design these messages. For more information, see the Message Usage Guideline. |
Implicit Save on Session Expiration |
|||||
ADF View Controller provides taskflow-based savepoints that you can use to save data implicitly in the event of an applications session time out or failure. This requires developers to set the Enable Implicit Savepoints option in the Controller section of adf-config.xml and to set the Critical option of each taskflow behavior to True. There is no central guidance to development teams in Oracle Fusion Applications version 1.0 about which taskflows should be marked as critical. Fusion Applications uses a page-model, so critical implicit saves, if used widely, require significant customer disk space to save data and page elements in the event of widespread implicit saves. Savepoints cannot be associated with named levels in the business process model. In Oracle Fusion Applications version 1.0, users are warned about an expiration two minutes in advance, using a modal message dialog box (see figure 35).
If no response is received to the warning, then the application times out, and any unsaved data is lost. A modal message dialog box asks users to click OK to continue (see figure 36).
Clicking OK takes users to the application sign in page. After sign in, users are taken to the application overview page. Tabs are not restored, and any URLs used by the application are not saved for later reload by users. Guidance on a restore UI has not been provided to product teams in Oracle Applications Fusion version 1.0. |
|||||
| Related Documentation | |||||