PreEmptive Analytics Workbench User Guide


Browser-side (Portal / rendering)

  • Portal: A browser-based visualization tool for rendering and working with processed data. Implemented via a rendering pipeline composed of Portal components.

  • Portal component: One of:

    • Portal Query (or just Query in context): A specific request for data, by the Portal, from a Server Query.

    • Transformation: An in-browser way to manipulate data from a Query or another Transformation. Transformations use a set of data transforms provided by Vega, a third-party component.

    • Widget: A rendered visualization of data, such as a table or chart.

    • Report: A single page in the Portal, containing Widgets and Filters.

  • Filter: A browser-side object that enables Portal users to limit displayed data to certain parameters, based on specific Filterable Fields provided by the server. Applied per-Report.

  • Config.json: The top-level configuration file for the Portal. Among other things, it defines which Reports are shown.

  • JSON (JavaScript Object Notation): Portal Components are authored using this syntax.

  • Namespace: A group of Portal components, separated by folder structure. These Namespaces make it easy to organize components into modules that can be reused or referenced from other Namespaces.

  • Dataset: The output of a Query or Transformation. Transformations may have multiple Datasets.

Server-side (data-processing)

  • Message: A record of a single analytics event from an application (e.g. session start, feature tick, etc.).

  • Envelope: A batch of analytics messages that were delivered to the server in a single HTTP request.

  • The Database: A MongoDB-backed data store consisting of two fundamental parts:

    • Temporary storage: Contains "live" data stored in temporary bins (temp-bins), used to correlate different Messages with each other (e.g. session-start and session-stop).

    • Permanent storage: Contains consolidated data that has been published from temporary storage, used to provide data to the Portal.

  • Plugin: A compiled .NET binary containing one or more of the following:

    • Indexer: An object declaring how data is to be extracted from messages, stored in temporary storage, and published to permanent storage.

    • Server Query (or just Query in context): An object declaring how data from permanent storage is to be exposed through the Query API, e.g. to the Portal.

    • Pattern: An object that augments Indexers and Queries to associate one or more extracted data elements (e.g. Country) with multiple other views of data (e.g. Feature) so clients of the Query API can aggregate or filter based on that element (e.g. "show all features that were used in Country X").

    • Custom Data Filter: An easy-to-create object that functions as an Indexer and Query (and optionally a Pattern) for known sets of Custom Data keys included in Messages.

    • Geolocation Implementation: An object that maps messages to geographical location, allowing data to be organized by, e.g., Country. A default Geolocation Implementation is shipped with Workbench, but it can be replaced.

  • Database Field: An element of data stored in temporary or permanent storage.

  • Pivot Key: A Database Field used to aggregate and filter data within permanent storage.

Data Extraction and Publishing

  • Scope: A way of grouping data by its originating session, instance of a feature, or message. This allows data from different messages to be associated by their common identifiers (e.g. session ID) to e.g. calculate session length.

  • Namespace: A way of differentiating Indexers and the Database Fields defined by them.

  • Output Schema: A set of fields and metadata that indicates how data should be published to permanent storage.

  • Indexer Transform: An optional section of an Indexer that modifies temporary data after it has reached a certain state, e.g. calculating session length after both the session-start and session-stop timestamps have been received.

  • Delayed Action: An optional section of an Indexer that modifies temporary data after a related temp-bin is created, such as correlating which features have occurred during a particular session.

Data Querying

  • Query Field: An element of data exposed from permanent storage to the Query API.

    • Computed Field: A Query Field that is not directly correlated with a Database Field, but is calculated at query-time based on other Query Fields.

    • Filterable Field: A Query Field that can be used to filter results; e.g., to only display data regarding a certain Operating System.

  • Domain: A grouping of Server Queries and their fields.

  • Query Transform: An optional section of a Query or Pattern that modifies the values of Query Fields after they have been retrieved from permanent storage but before they are returned to clients of the Query API.

Workbench Version 1.2.0. Copyright © 2016 PreEmptive Solutions, LLC