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:
- Determine which objects will be displayed: For example, only show employees with more than ten years of seniority.
- Determine how the objects and their attributes will be displayed: Number and type of columns, column order, sort order, column names, and showing Total columns in a table.
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
- User Profile for Personalization: Table and HGrid personalization is intended
to be performed by end users with intermediate levels of computing expertise.
It also assumes that the user has had some experience with BLAF applications
and is familiar with the data, so that personalized views are more meaningful than a default
view.
- Table and HGrid personalization should not be exposed for all object lists within an application.
This functionality should be provided only when necessary, AND when the user fits the profile above.
- When the user profile matches, and the user's task requires the personalization
of a table or HGrid, the personalization flow is exposed locally on each page with an object
list table within an application. (At this time, personalized views are not shared between different
object types, so a unique view must be set up for each object. For instance, if a
user creates a personalized view of his/her purchase orders, this view is only
exposed on tables showing purchase orders, and not exposed on a table that shows
shipments.)
- Principal Differences between Table and HGrid Personalization:
- Both tables and HGrids display lists of objects with attributes. However, a table consists of a flat list of objects, whereas an HGrid consists of a hierarchy of objects. As a result, tables can be populated based on saved search criteria, whereas HGrids cannot, because of the difficulty of showing hierarchical relationships among search results.
- Table personalization provides search criteria fields to filter data; HGrid personalization provides a multiple selection column so users can specify which branches of the hierarchy to display.
- When users create a custom view of a hierarchy of objects, they are also provided with the option to create a flat table view of the hierarchy. If they choose this option, they are provided with standard table personalization functionality, including search criteria fields. The resulting view will then be a flat list of matching objects.
- Unlike tables, HGrids do not include Total columns.
- Searching and Viewing a Personalized View of a Table (or Saved Search Set):
- Users have difficulty understanding the difference between
performing a "new" search, that returns a list of results, and viewing a "personalized
view" that returns the filtered/custom set of results that are preconfigured or
defined by the user. Users are especially confused when these two functions are provided
on the same page. This guideline recommends that search and view functionality only be
exposed on the same page for professional users. Otherwise, the user should be able to toggle between
these different functions.
- For the full list of possible search and view possibilities, see details below
and refer to the Search/Query Templates
guideline.
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.
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.
|
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.
|
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.
|
Users can save a search/query set as a view:
- The Save Search button is only enabled when a user has performed a search with new or modified criteria.
- After saving a search, the "Save Search As View" page appears, where the user can specify or change the name of the view and set other view properties.
- Once a view has been created or updated through the personalization process, the new/modified view name appears in the Views choice list on the original object list page. When the user selects that view and clicks "Go", the query is run again to display current results from the view's search criteria.
- The search may be a new simple or advanced search performed with a Search toggle, or an iterative search from the combined Views and Search Criteria template.
- Search Toggle Method:
- The first section on the object list page is either a simple search, an
advanced search, or views combined with advanced search, but not
a views-only section. See Search/Query
Templates for details.
- After a user selects the "Save Search" button, the page redraws to the "Save Search As View" page, which includes the current table display settings and the saved search criteria, but with no view name specified. From this page, the user can specify a view name and update settings or criteria as needed.
- Iterative Search Method:
- Both the Views section and advanced search section are combined on a single page, so users can perform iterative searches based on the search criteria saved in the existing view.
- When a user selects the "Save Search" button, a Warning page appears with the following message text: "To save the new search criteria under the current view name of "{ViewName}", select Update View. To save the new search criteria under a new view name, select Create View."
- The action/navigation buttons on this Warning page are "Create View", "Update View", and "Cancel". If the user selects:
- Create View: The Update View page includes the current view display settings with the modified search criteria, but with no view name specified. This is essentially the same as the search toggle method described above.
- Update View: The Update View page includes the current view display settings with the modified search criteria, and the View Name field is populated with the current view name.
- Cancel: The user returns to the original object list page.
- The Warning page is shown below.
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.
|
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.
Each page has a different title. Titles of these pages should be named in
the following way:
- Update - "Update [ViewName]"
- Duplicate - "Duplicate [ViewName]"
- Create - "Create View"
- Save Search - "Save Search as View"
This section provides general properties regarding the view:
- View Name, Number of Rows displayed
in Table, and Description.
- The "Set view as default" checkbox.
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:
- Section level button to "Rename Columns/Totalling" Template
- Columns Shown and Column Order Subsection
This subsection provides a shuttle component to select columns to view in the table, and specify order of the columns
to display. Some 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.
- A sub-section level button to "Update Column Span" Template (only displayed when the table has been pre-seeded by development teams with colspan settings).
- Sort Settings Subsection
This subsection provides the ability to set three levels of sorting, based on columns within table, as well as specify
sort order.
|
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.
|
|
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
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.
There are 4 page level buttons on the Update/Create/Duplicate View page:
- "Cancel" - When selected this cancels any modifications the user may have done, and returns the user to the
page which they came from.
- "Revert" - When selected, this reverts the data in the page to the last saved state.
- "Apply and View Results" - When selected, this takes the user to the object list page with the newly update/created or
duplicated view queried.
- "Apply" - When selected, this saves any changes made on this page, and takes the user to the "Personalize
Views" page.
- Create View: When the user creates
a new view, the page is defaulted with the pre-seeded base for the general and
display settings, and no query options are set.
- Update View: When a user updates
an existing view, the page is defaulted with all general, display and query settings
based on the saved view.
- Duplicate View: When a user duplicates
an existing view, the page is defaulted with all general and display settings
based on the duplicated view. The query settings are the same as the view that
is being duplicated.
- Save Search as View: When a user
saves a search query as a view, the page is defaulted with all general and display
settings based on the table on the object list which the user is saving the search.
The query settings are the same as what the user has entered in on the object
list page.
|
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 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.
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."
|
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.
|
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
|
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.
|
Each page has a different title. Titles of these pages should be named in
the following way:
- Update - "Update {ViewName}: General and Column Properties"
- Duplicate - "Duplicate {ViewName}: General and Column Properties"
- Create - "Create View: General and Column Properties"
There are three page level buttons on the Update/Create/Duplicate View page:
- "Cancel": Cancels any modifications the user may have done, and returns the user to the
page from which they came.
- "Revert": Reverts the data in the page to the last saved state.
- "Continue": Saves any changes made on this page, and takes the user to the "Select Nodes to View" page.
This section provides general properties regarding the view:
- View Name, Number of Rows displayed in HGrid, and Description.
- The "Set view as default" checkbox.
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:
- Columns Shown and Column Order
This section provides a shuttle
component to select columns to view in the table, and specify order of the columns
to display. Some columns may be set by the application
administrator which cannot be removed from the selected list. Instruction text
associated with this shuttle should denote this if the case exists.
- Sort Settings
This section provides the ability
to set three levels of sorting, based on columns within table, as well as specify
sort order.
- Section Level Button to "Rename 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" |
- Create View: When the user creates
a new view, the page is defaulted with the pre-seeded base for the general and
column display settings.
- Update View and Duplicate View: When a user updates or duplicates
an existing view, the page is defaulted with all general and column display settings based on the saved view.
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.
|
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".
Page-level action navigation buttons are:
- "Finish": Applies all settings and returns the user to the Personalize HGrid Views Object List.
- "Finish/View Hierarchy": Applies all settings and displays the new/updated HGrid view.
- "Revert": Reverts the data in the page to the last saved state.
- "Cancel": Returns the user to the previous step in the two-step process.
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
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".
This page is identical to the warning page issued when a user deletes a table view. See Delete a Personalized Table View above.
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
Open Issues
Closed Issues
21-Oct-2002 -
- Specified behavior of HGrid breadcrumbs within a view
- Additions of HGrid personalization to this document
- Addition of new view option where advanced search criteria is also shown allowing the user to perform
iterative searches based on a view.
03.2001 - Usability test performed, designs updated based on results.
02.02.01 - More images and large images to come. After usability test, results
may effect designs.