Layout Hierarchy - Nesting RulesFrom Containers to the Layout Hierarchy - A Little Theory | Layout Hierarchy for iViews | Table Overview of the Layout Hierarchy | General Nesting Rules This page describes the layout hierarchy for iViews; this hierarchy defines the options for nesting of iView elements. Thus, this page tells designers, which screen element including containers can be placed into which container. The layout hierarchy is the basis for establishing textual layout rules for iViews. The main goal of such rules is to prevent overly complex and visually cluttered pages caused by excessive nesting. Note: These rules do not comprise the spacing between and within elements.
From Containers to the Layout Hierarchy - A Little TheoryiView elements can either be containers or non-containers. Containers can contain other elements; non-containers not. The layout hierarchy described below basically deals with container elements, that is, with elements that can contain other elements including other containers. Application Containers - TraysAt the root of the layout hierarchy there is a "root" container that contains the application. For iViews the application container is the tray. From an iView's point of view the tray is all it knows about - at least from a design perspective.
Figure 1: The tray is exclusively used as an iView container Container Controls Inside iViewsInside an iView, the following container controls define its layout hierarchy:
Figure 2a-c: Examples for containers within iViews - the HTMLB tabstrip (top) and the HTMLB group box in two different versions (bottom) A Matter of Interpretation - Linear Sequences vs. Sequences of ContainersFrom a technical point of view, not all of these containers are "real" containers. For example, subgroups are groups of simple iView elements that may be introduced by a heading. They are typically separated from the remainder of the iView by whitespace or separator lines.
Figure 3: Simple groups are elements, which are introduced by a header; they are separated from each other and from other elements by whitespace From a layout point of view, however, it is easier to view areas and subgroups as "real" containers. This does not make any difference for the layout process. The advantage of regarding these elements as real containers is that the layout can be expressed in a hierarchical or tree-like fashion, which makes it easy to gain an overview of the iView structure. Non-containersWhile containers create the "skeleton" of a page, non-containers are the "flesh" of a page. These elements are fields, buttons, selection elements, text units, tables, and images or charts. As these elements differ in complexity, nesting rules ensure that a page cannot become too complex. For example, tables are similar in complexity to groups and tabstrips. Therefore, they are placed on the same level in the layout hierarchy as these containers. A rule that takes this aspect into account might state that tables may not be placed inside groups or tabstrips.
Figure 4: Even though a table is a complex control, from a layout point of view it is a "non-container" because it does not contain other controls SeparatorsSeparators, such as lines or whitespace set elements or containers apart. They are therefore difficult to integrate into a hierarchical model of a page layout. They can be viewed as "concluding elements" or "borders" of containers. Creating the Layout HierarchyThe layout hierarchy is created by placing containers and simple elements on a page. The rules presented below govern how page elements can be combined, either by sequencing them vertically or horizontally, or by nesting. Containers may contain containers (nodes), simple elements (leaves), or both. In addition, non-containers may reside on the same hierarchy level as containers. However, they are "end nodes" and do not continue the layout hierarchy. Example: A table may reside on the same level as a group or a tabstrip. The layout rules presented below specify:
Layout Hierarchy for iViewsDepending on the container elements used, different application types can have different layout hierarchies. In the case of the portal environment, there are Web applications (IACs) and iViews. Both application types use different containers, serve different purposes, and therefore differ in complexity with respect to the layout. Here we restrict ourselves to iViews. iView Layout Hierarchy
Generally, there should not be more than one level of nesting within iViews. Also, you should note that tabstrips may not be nested. Simple elements are: input fields, selection elements, text, buttons, ... Note: A similar tree can be created for a real iView based on the elements used.
Table Overview of the Layout Hierarchy for iViewsThe following table present a more detailed description of the layout hierarchy for iViews. Red cells explicitly prohibit certain ways of nesting controls. Yellow cells indicate cases where elements can be placed into other elements with only certain restrictions. (See also the reasoning behind these rules; these are captured in general nesting rules)
Table 1: Layout hierarchy for iViews Legend
General Nesting RulesThe following nesting rules are derived from the table overviews above and arranged according to design rationales, such as avoiding too much framing and avoiding redundant headers. Avoid Redundant HeadersThe nesting rules defined for the layout hierarchy strive for avoiding redundant headings. Thus, do not place:
Avoid Too Much Framing (Visual Complexity)Too many frames and borders make iViews visually complex and waste screen space. Thus, do not place:
Specific Nesting Rules Relations between ControlsSpecific nesting rules care for the relation between controls - in short, they describe what can be placed inside a container control. You can extract the specific nesting rules for controls from the table overview above. In addition, we provide explicit rules for specific controls in Layout within iViews.
Source: SAP iView Guidelines |
|||||||||||||||||||||||||||||||||||||||||||||||||||||