SAP NetWeaver '04

Package com.sapportals.wcm.rendering.base

Contains interfaces for flexible rendering of explorer controls.

See:
          Description

Interface Summary
IAmalgamationProvider  
IConfigurableRendererStatus  
IDelegatedReceiver an implementing class can react on the given Event and return an appropriate IRenderingEvent.
IEventPropertiesProvider  
IExtensionDataProvider  
IFactoryInfoProvider  
IInitialScreenflowProvider Deprecated. as of NW04.
ILayoutObject  
ILayoutSetEvent allows to specify the name of a layoutset that should be used by the IProxy receiving this event.
IListTypeProvider  
IMassCommandSupporter  
INewResourceProvider  
IProxy Base interface to use the flexible UI.
IRefreshSurvivor  
IRendererStatus allows to keep data regarding a list of IResource and metadata about that list across http-request-cycles, so that rendering classes such as an ICollectionRenderer can use this as persistence mechanism.
IRenderingEvent allows the wrapping of WdfEvent
IResourceListProvider  
IRIDMapper  
IScreenflowData  
ISemanticEvent  
IStartUriReceiver  
ITypedResourceListControl Description of the Interface
IUIBaseCommand Description of the Interface
IUriReceiver  
IVolatileStatus  
 

Class Summary
AbstractFactory  
AbstractProxyControl implements the IProxy and extends the WcmBaseControl.
AbstractProxyEvent This class is used to open up a new branch of WdfEvents.
AbstractResourceListEvent This class is used to for complex screenflows that use an AbstractProxyControl as a control in a pane of the screenflow.
ConfigInfoEntry  
EventProperties  
ExtensionData  
IDCounter returns an integer or a String representing that integer while counting it up.
IFactoryInfoProvider.MappingInformation  
LayoutObject  
MetaStatus This status simply holds a mapping for keys generated by an IProxyControl with keys generated by the ControlStatusService.
NavigationMemorizer acts as a layer between each instance of a NavigationMemory and the ICache that acts as persistence layer to keep the navigation memory across http-requests.
NavigationMemory This class holds two different lists, both holding RID[] arrays, which consist of two elements - a RID and a matching startRID, which must be an ancestor or the same as the RID.
ProxyStatus  
RenderingBackEvent  
RenderingEvent basic implementation of the IRenderingEvent interface.
RenderingInformationUtil  
ResourcePropertyAmalgamation acts as a layer between the repository framework and its caching mechanism for access by many Threads and the different rendering classes involved in the rendering of a single iView.
ResourcePropertyAmalgamation.Mode  
ResPropComparator since EP5, SP6 and EP6, SP1
RIDMapperUtil  
ScreenflowData  
SortDefinition  
StatusFactory  
WdfMainResourceDeletedEvent  
WdfStatusRemoveEvent  
 

Package com.sapportals.wcm.rendering.base Description

Contains interfaces for flexible rendering of explorer controls.

Package Specification

Purpose
Detailed Concept
Configuration
Implementation Notes

Purpose

The KM framework provides a number of renderer packages that allow a highly flexible representation of explorer controls. The explorer controls enable the end user to navigate through repositories and perform basic operations on resources. They are the main point of access to the KM repositories and therefore play a central role in the application. For this reason it is important that they can be customized and adapted in different ways to meet the requirements of different types of users. This flexibility is achieved with the functions of the renderer and layout service packages which make it possible to adapt the controls in appearance, behavior and complexity to suit different individuals or groups. For example, an administrator can be presented with a complex browse control that provides meta-information about resources and mass actions. A casual user can be presented with a simple control that has an attractive appearance, a few essential commands and an easy intuitive form of navigation.

The classes and interfaces of the renderer package provide the framework that make customization of the behavior and appearance of controls possible. Essentially, customization is controlled by defining values for parameters that influence appearance and behavior of rendering components that "understand" these parameters. 

The way in which objects within the rendering environment are instantiated and configured is controlled by the rendering framework. For this reason, the four factories LayoutControllerFactory,ResourceRendererFactory, CollectionRendererFactory and UICommandFactory have to be used to get correctly instantiated and parameterized instances of ILayoutController, IResourceRenderer, ICollectionRenderer, ICommand and IMassCommand.

The configuration is used by the factories to retrieve the correct instance of an interface. This allows the implementation of new classes, that can be mapped in the configuration and then used for the rendering process.

Detailed Concept

At the package level, the base package provides the fundamental functions required to customize rendering. In this package the AbstractProxyControl class plays a central role.

An AbstractProxyControl object represents an outer container that knows how to handle events that are triggered by htmlb-Components  that are dynamically rendered at runtime. Assuming a customized version of the explorer control includes a number of additional commands to manipulate a particular resource type, then the AbstractProxyControl responds to the events that are fired when a user activates these commands. It calls the UICommandFactory, and receives the ICommand encoded in the received event. The command is then executed and is responsible for the logic and screenflow. The AbstractProxyControl therefore acts as an intermediary that can interpret events from the most diverse types of classes and pass them on to the right instance for execution. It ensures the correct processing of events that are fired by commands, regardless of the way in which the commands are rendered on the screen at runtime.

In addition to the above, the AbstractProxyControl is also responsible for finding the correct ILayoutController for the given resource, user and iView. It calls the ILayoutControllerto do the rendering.. The AbstractProxyControl provides access to the URL parameters of the iView for inner classes.

The interfaces and classes for rendering customized controls belong to the collection and resource packages. The collection package is responsible for defining the way a collection of resources is rendered. The resources can either be the children of a parent folder or a non persitent list such as a search result. The resource package is responsible for rendering single resources, including ICollection objects, in different ways. Different implementations of the ICollectionRenderer and IResourceRenderer interfaces are able to represent folders and resources in different ways in accordance with the customization.

Configuration

As mentioned above, the different factory classes are responsible for reading the configuration of all classes they instantiate. See the configuration information in the subpackages for details. All configuration options in the render package can be found in the Configuration Framework under Content Management->User Interface.

Implementation Notes

Commands and renderer classes can be used for repositories or in environments that do not fulfill all prerequisites needed for the classes to function properly. To ensure that end-users can still use their iViews, even if the configuration of the user interface is faulty, we suggest you write error-tolerant programs to avoid the display of exceptions on the screen. Detailed logging for the administrator should be used instead.


SAP NetWeaver '04

Copyright © 2004 by SAP AG. All Rights Reserved.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.

These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.