Timeseries Viewer Expert

Last modified by David Nestle on 2018/08/15 23:08


The Timeseries Viewer Export App source code is currently found in git\ogema-apps-c2\src\schedule-viewer-basic-example . This app provides a time series viewing functionality like the Schedule viewer[Link], but the view can be configured to a high degree via an OSGi service of type ScheduleViewerConfigurationProvider. The service has to be registered by an application that defines a special view and the view will be created by the timeseries viewer expert app based on the information provided via the service. The service is defined in the bundle widget-experimental so that applications providing this service do not need to declare a dependency on the timeseries viewer expert bundle.
Several simple service implementations are provided by the app git\ogema-apps-c2\src\schedule-viewer-configuration-app . These apps have been developed by Stefan Karge.
The config.xml entries are:

<bundle dir="bin/apps" groupId="org.ogema.tools" artifactId="schedule-viewer-expert" version="&widgets-version;" startLevel="30" />
<bundle dir="bin/apps" groupId="org.ogema.tools" artifactId="schedule-viewer-configuration-app" version="&widgets-version;"   startLevel="30" />
<bundle dir="bin/commons" groupId="org.apache.commons" artifactId="commons-math3" version="3.6.1" startLevel="3" />

To actually open a view from the app the timeseries viewer expert has to be opened via an URL in the form of
ScheduleViewerConfigurationProvider.VIEWER_URL_PATH + "/index.html?providerId=" + id + „&configId=“+config 

The providerId is used to select the service of type ScheduleViewerConfigurationProvider that is used to get the configuration for the view, the configurationId is handed over to the service method getSessionConfiguration so that the service can provide a specific configuration for the configurationId.

Standard implementations

For each configurationId a provider returns a SessionConfiguration object. This SessionConfiguration object defines several configuration methods directly. There is a DefaultSessionConfiguration implementation class in widget-experimental.
For the standard schedule viewer configurations there is the configuration class ScheduleViewerConfiguration with a default implementation ScheduleViewerConfiguration.DEFAULT_CONFIGURATION.
The problem ist that these objects allow for a ton of configurations and that it is a bit hard to get started, to know which configurations have to be set first, which filters need to be taken care of etc.
TODO: We need standard configurations for „lazy“ layouts that is close to standard schedule viewer use and a template for a more restricted view not providing standard values. But first we most likely have to collect some experience with the settings and describe them here.

Created by David Nestle on 2018/07/09 15:46