Personalization of Tables and HGrids

Last Updated 01.15.03

General Description

BLAF applications can provide optional personalization functionality that enables individual users to create specific views of data in a table or HGrid.

After a user creates a view, the user can select it from the View choice list to display matching records, or can update, duplicate, or delete the view. A personalized view is only available to the user who creates it. With the Personalization option, users can:

HGrid personalization templates are similar to those used for table personalization, but with one key difference: Tables can be filtered with search criteria, whereas HGrids cannot. This difference is reflected in the templates and flows shown below:

 

Guideline Attributes

Spec Version # - 3.1
Spec Contributors - Betsy Beier, Mervyn Dennehy, Lisa Serface
UI Models - all
Example Products - all
Related Guidelines - Personalization of Table (Display/Data) Flow, Personalization Overview, Search/Query Templates, Table Guideline, Object List Templates

Interaction and Usage Specifications


General Principles of Table and Hgrid Personalization


Table Personalization


The following flow provides an overview of the table personalization process. Details on each step in the flow and associated page templates are supplied in the following sections.



Table Object List Templates

Object List Template with "Personalize" View Section (Toggles with Searches)


The first image below shows an object list page within an application with the functionality to allow a user to select a view or personalize a view. The second image below shows the Views subsection of the object list that can toggle to Simple Search, and in turn toggle to Advanced Search.
  • For any given object list within an application (i.e., a list of purchase orders, a list of requisitions, a list of employees, etc.) table personalization may be exposed only when the "Views" section is used on a page.
  • The title of this page follows basic Object List Page heuristics. See Page Title Guideline for details.
  • If viewing, and searching are functional requirements for a list of objects, these functions are not performed on the same page, but the top section toggles with the different functionality. See Search with an Object List in the Search/Query Templates guideline for all valid section options (when viewing and/or searching functions are needed):
    • Simple Search Only
    • Simple Search and Advanced Search Toggle
    • Views and Advanced Search Toggle
    • Views and Simple Search Toggle
    • Views Only
    • Simple Search with More Options (using hide/show)
  • A "Save Search" page level button is shown on the Object List page when a "Search" or "Advanced Search" section is shown. The button is enabled when the user executes a search with new or modified criteria. It does not show when the "Personalize Views" section is shown.
  • After selecting an item in the choice list, the user must select "Go" to have the page to redraw and display the respective results.
  • The views choice list contains:
    • Defaulted Views Seeded by development teams:
      • These default views are highly contextual depending on the object type, but should be typical views that users are most likely to want for the list of records (for instance, "Most Recent Purchase Orders", or "My Employees").
      • Seeded views show up for all users and can be set for security levels by application administrator (i.e., view per role).
      • Seeded views cannot be deleted or updated by an end user but may be duplicated.
      • NOTE: Seeded views may be set by an administrator such that they cannot be deleted or updated.
    • User Created Views:
      • A user can create, update and duplicate his/her own views.
      • A user can duplicate a seeded view.
      • A view created by an end user is not shared by multiple users. It is only seen by the user that created it.
    • No views shown, and all objects shown.
      • No end user views or seeded views have been created. The choice list is blank, except for the item "All [ObjectType]s". The end user can select either the "Save Search" button or the "Personalize" button to add to the choice list.
  • Access to Maintain Views
    • Either by saving a search by selecting "Save Search" after performing a new search
    • Or a newly defined view from selecting the "Personalize" button adjacent to the view choice list.


Object List Template with Both Views and Search Criteria Displayed (for iterative searches)


Professional users may need to conduct iterative searches on a view, where they can modify existing view search criteria. Such users may also want to save the modified view under the same name or as a new view. As explained above, this functionality should only be exposed when needed, as many users have difficulty distinguishing a view from a search (search criteria represent only part of a view's properties). The image below shows the views choice list with Personalize button, along with Advanced Search: Condition Style functionality. See Search Templates guideline for details on Advanced Search.

  • When the user loads the page:
    • If the user has already created a default view,
      • the default View is selected,
      • search criteria fields are populated with the View's saved search criteria,
      • results are shown for the default View's search criteria with the section heading "Results", but without specifying the View name, because iterative searches may provide substantially different results than the view.
      • the Save Search button is shown but disabled, because search criteria have not yet been modified.
    • If no default view exists:
      • the View field is blank,
      • search criteria fields are blank, or in their default state,
      • no results are shown,
      • the Save Search button is shown but disabled.
  • When the user selects a different view:
    • Search criteria fields are updated by PPR, but Results are not updated. If PPR is disabled, the page is reloaded.
    • Results remain unchanged until the user selects the Search button.
  • When the user specifies/modifies search criteria, the user must select the Search button to display matching results. The Save Search button is then enabled.
  • The user may modify search criteria as many times as needed, but the criteria are not saved until the user selects the Save Search button.
  • When the user selects the Save Search button, a Warning page is displayed where the user can specify whether to overwrite the current view or save the search criteria as a new view. See Saving a Search/Query below for details.
  • All Personalization principles described above also apply to this template.

Object List Template with Views Choice List (with "Go" and "Personalize") Only


The image below shows an Object List Template with Views Choice List Alone (No Region) when No Search or Advanced Search options are present. Views can be selected by the user from a choice list on the page, then the "Go" button.
  • A "Views" choice list may be on the page (directly above the table and its control bar) without a "Views" subheader if no search or advanced search options are present.
  • All Personalization principles described above also apply to this template except there is NO access to Search or Advanced Search.

Saving a Search/Query


Users can save a search/query set as a view:

Personalize Table Views Object List Template


Below is an image of the object list of all the user's seeded and personalized views.
  • This template is a basic object list template with no searching (simple or advanced) and no view capabilities. It is just a flat list of views.
  • The title of this page is "Personalize Views"
  • The columns that are shown in the table are:
    • "[ViewName]"
    • Possible other view attributes like "Last Updated Date", "Description of View" if desired
    • "Display View?" option - ability for the user to decide whether view is to show in the "Views" choice list on the main object list page.
    • "Default?" - Which view is the default (as defaulted in the "Views" choice list)
    • "Update" a View - as column of functional icons
    • "Delete" a View - as column of functional icons
  • A single select column and control bar are exposed on the table to allow a user to:
    • Duplicate a View
    • Set a View as Default - When a view is selected in the "Select" column, and this button is chosen, it will set this view as the default view in the choice list on the primary object list. It is also possible to change this default on the update/create/duplicate view page as well.
  • This page contains a global table level action/navigation button that allows a user to Create a View.
  • There must be instruction text on this page. See illustration below for details.


Update, Create, Duplicate a View Template, or Save Search as View

Shown below is an image of the update/create/duplicate a personalized view template. This is also the Save Search as View template. Each of these functions is provided on a separate page with a distinct title, but the functionality in the page is the same. (Some information is either populated or not based on which task the user is performing.)

The page is divided into three main sections, and may contain two section-level action/navigation buttons to display subordinate pages with more options. Each element of the page and its subordinate pages are described below.

Page Titles

Each page has a different title. Titles of these pages should be named in the following way:

General Properties

This section provides general properties regarding the view:

Column Properties

This section displays properties regarding the columns of the table that is being personalized. There are two subsections within Column Properties, and up to two action/navigation buttons:

Rename Columns/Totalling Template

Selecting the "Rename Columns/Totalling" section level button takes the user to another page, to specify more column property settings.
  • The title of this page is "Rename Columns and Totalling"
  • This page allows the user to set totalling of a column (when applicable to the data) on or off.
  • The user also has the ability to rename the columns.

Update Column Span Template

Selecting the "Update Column Span" button from the Columns Shown and Column Order subsection takes the user to another page where they can modify secondary columns created with column span.
  • The page provides a separate section for each primary column containing column span. If a primary column does not contain spanned secondary columns, it does not appear on this page.
  • Each section contains a shuttle component to select spanned columns to view in the table, and specify the order of the columns.
  • Some spanned columns may be set by the application administrator so that they cannot be removed from the selected list. Instruction text associated with this shuttle should denote this if the case exists.
  • At this point, column span can only be updated for primary and secondary columns. If a table contains column span three levels deep, users cannot modify display of the third level. However, if the user chooses not to display a second-level parent column, any third-level child columns will also not appear.
  • The title of the page is "Update Column Span".
  • Section headers are named after primary columns that include spanned secondary columns.
  • Page-level buttons are "Apply" and "Cancel".
  • The sample page below shows examples of primary columns for seasons that contain spanned secondary columns for each month in that season.


Example of Table Column Span: Seasons and Months


Search Criteria/Query Functionality

This section provides the ability to create a custom set of criteria with conditions to filter the table data. If the user has saved a search, this section is populated with the saved search criteria. There are 2 methods of searching allowed: SQL-based searching or Intermedia-style searching. Each have similar overall layouts but the conditional statements and conditions choice list changes depending on the search method used. Intermedia-style searching is typically used in catalog type applications.

SQL-Based Searching Method


Intermedia-Based Searching Method


For details on each method, see Advanced Search in the Search Templates guideline.

Page Level Button Functions for Update/Create/Duplicate Template

There are 4 page level buttons on the Update/Create/Duplicate View page:

Default Settings for Each Table Personalization Template

Delete a Personalized Table View (Delete Messaging Template)

Delete a Personalized View Template
This is a generic delete messaging template that is shown when a user deletes a view.
  • When a user deletes a view, a typical "delete" warning message page is drawn. See below for detailed imagery.

HGrid Personalization


HGrid personalization templates are similar to those used for table personalization, but with one key difference: Tables can be filtered with search criteria, whereas HGrids cannot. This difference is reflected in the flow and templates shown below.



HGrid Object List Template with "Personalize" Views Option

The first image below shows an HGrid page within an application with the functionality to allow a user to select a view or personalize a view. The second image below shows the Views subsection of the page that can toggle to Simple Search, and in turn toggle to Advanced Search.
  • For any given hierarchy within an application (i.e., an employee hierarchy, a product and parts hierarchy, etc.) table personalization may be exposed only when the "Views" section is used on a page. Personalization should only be provided when both the user profile and application usage warrant it.
  • The title of this page follows basic Object List Page heuristics. See Page Title Guideline for details.
  • If searching within a hierarchy is a functional requirement, the search is not performed on the same page, but the top section toggles with the different functionality. See Search/Query Templates for all valid section options (when viewing and/or searching functions are needed).
  • Note: Search results are always displayed in a flat list, and never displayed within an HGrid. See Search a Hierarchy in the HGrid Flows guideline for details.
  • After selecting an item in the choice list, the user must select "Go" to have the page to redraw and display the respective results.
  • The views choice list contains:
    • Defaulted views pre-seeded by development teams:
      • These default views are highly contextual depending on the object type, but should be typical views that users are most likely to want for the list of records (for instance, "Product Line XYZ", or "Department ABC").
      • Seeded views show up for all users and can be set for security levels by application administrator (i.e., view per role).
      • Pre-seeded views cannot be deleted or updated by an end user but may be duplicated.
      • NOTE: Pre-seeded views may be set by an administrator so that they cannot be deleted or updated.
    • User Created Views:
      • A user can create, update and duplicate his/her own views
      • A user can duplicate a seeded view.
      • A view created by an end user is not shared by multiple users. It is only seen by the user that created it.
    • No views shown, and full hierarchy shown.
      • No end user views or seeded views have been created. The choice list is blank, except for the item "Full Hierarchy". The end user can select either the "Save Search" button or the "Personalize" button to add to the choice list.
  • Access to Maintain Views
    • By selecting the "Personalize" button adjacent to the view choice list.
  • Instruction text in the Views section should be as follows:
    • "Select a View of the hierarchy, or choose Personalize to create or update a View. Personalized views of a hierarchy may contain only a subset of the hierarchy's objects."


Personalize HGrid Views Object List Template

Below is an image of the object list of all the user's seeded and personalized views.
  • This template is a basic object list template with no searching (simple or advanced) and no view capabilities. It is just a flat list of views.
  • The title of this page is "Personalize Hierarchy Views"
  • The contents of the page are identical to the equivalent page in table personalization process, except that the HGrid Views page contains an additional "View Type" choice list, which provides the option to create a flat table view of a hierarchy of objects.
  • If the user wants a flat table view of the hierarchy, the user can select "Table" from the "View Type" choice list. The user is then taken to Create View page of the table personalization process. See Update/Create/Duplicate a Table View Template or Save Search as View above for details.
  • For a detailed description of page elements, see Personalize Table Views Object List Template above.


Update/Create/Duplicate an HGrid View 2-Step Templates

The image below shows the main templates used in the 2-step Update/Create/Duplicate process used to personalize an HGrid view. This 2-step process has an equivalent function to the single Update/Create/Duplicate template used in the table personalization process.

Like the equivalent table personalization template, the Update, Create, and Duplicate functions are provided on separate pages with a distinct title, but the functionality in the page is the same. (Some information is either populated or not depending on which task the user is performing.)

Basic 2-Step Update/Create/Duplicate Process


Step 1: General and Column Properties Template

The page is divided into two main sections, and contains a section-level action/navigation button to display a subordinate page where users can rename columns. Each element of the page and the Rename Columns page are described below.

Step 1: Page Titles

Each page has a different title. Titles of these pages should be named in the following way:

Step 1: Page Level Button Functions

There are three page level buttons on the Update/Create/Duplicate View page:

Step 1: General Properties

This section provides general properties regarding the view:

Step 1: Column Properties

This section displays properties regarding the columns of the HGrid that is being personalized. There are two subsubsections within Column Properties, and one section-level action/navigation buttons:

Step 1: Rename HGrid Columns Template

Selecting the "Rename Columns" section level button takes the user to another page, where they can rename each column. The title of this page is "General and Column Properties: Rename Columns"

Step 1: Default Template Settings for Update/Create/Duplicate Functions

Step 2: Select Nodes to View Template

This page is the second step of a two-step process, and has no equivalent in the Table Personalization flow. The page consists of a multi-select HGrid with contents displayed based on the column properties from the previous step. As such it can be used as a preview of the HGrid content. The HGrid also includes a column of Sort icons, but does not include Focus controls.

Users can perform two main functions on this page:
  • Select/Deselect Nodes:
    • Users can manually select/deselect nodes in the HGrid to further refine the view.
    • All nodes are selected by default.
    • The "Focus" column is omitted from this template, because its primary purpose is to select nodes within the existing focus of the hierarchy.
    • The template includes unlinked HGrid breadcrumb text to indicate the path from the focused root to the overall root of the hierarchy. Breadcrumb links serve no function within this page, because parent nodes above the focused root are not part of the current view.
    • HGrid record navigation should not be used in this template. Unlike a standard HGrid page, if an expanded node contains more than ten child nodes, all nodes should be displayed.
    • This functionality is provided instead of the Search functionality in the Table personalization process.
    • The resulting view of the HGrid should include instruction text to point out that not all objects are shown.
    • Note that hierarchy structure imposes constraints on user selections. See "Constraints on Node Selection" below for details.
  • Sort Child Nodes:
    • Each parent node has an associated Sort icon to navigate to the Sort Child Nodes page, where the user can individually sort the children of that parent node.
    • Note that Sort Child Nodes settings take precedence over global sort settings from the previous step.

Step 2: Page Titles

The page title syntax is "{Create | Update | Duplicate} {ViewName}: Select Nodes to View". The "Viewname" should be the new/updated name entered in the previous step. For example: "Create Pending Orders: Select Nodes to View".

Step 2: Page Level Button Functions

Page-level action navigation buttons are:

Step 2: Constraints on Node Selection

In an HGrid, users must be able to determine where each node is located in the hierarchy. To ensure this, a node must be shown beneath a parent, unless the node is the overall root of the hierarchy, or the focused root on the original HGrid page. HGrid Breadcrumbs indicate where a focused root resides in the hierarchy.

To ensure that hierarchical relationships are maintained, when a user selects/deselects nodes to personalize an HGrid view, the closest common parent of all selected nodes becomes the root in the new/updated View. The following example images show how this principle operates in practice:

Example 1: Selection of Nodes at the Same Level in the Hierarchy


Example 2: Selection of Nodes at Different Levels in the Hierarchy

Step 2: HGrid Sort Child Nodes Template

The Sort Child Nodes template includes the same Sort controls as the Sort section of Update/Create/Duplicate template. However, the sort functionality on this page is only applicable to children of a single node. Instruction text on this page should point out the difference between Sort Child Nodes and the global sort settings in the Update/Create/Duplicate template, as follows:

"Select Sort settings from the fields below to sort the children of the current parent node individually. Sort settings on this page take precedence over any global Sort settings applied earlier in the Personalization process."

Sort Child Nodes Template


The page is titled "Select Nodes to View: Sort Child Nodes of {ParentName}". Page-level action navigation buttons are "Apply" and "Cancel".

Delete a Personalized HGrid View

This page is identical to the warning page issued when a user deletes a table view. See Delete a Personalized Table View above.

Use of HGrid Breadcrumbs within a View

When a user displays a view with a focused root, HGrid breadcrumbs indicate the location of the focused root within the overall hierarchy. However, in a view, HGrid breadcrumbs to levels higher than the focused root are disabled, because those levels are not included in the view definition. When displaying a view of an HGrid, the only breadcrumb links that are enabled are those that allow navigation back up to the default focused root after the user has focused down a branch. The following image uses the previous "Car Division" example to demonstrate this behavior:

Use of Breadcrumbs within a View


Open/Closed Issues