Docs‎ > ‎

Data Explorer

Data Explorer is a user interface built directly from your schema.  It uses HTML5, CSS and JavaScript, so runs well on desktops and tablets.
It's a great way to view data for existing systems, regardless of their architecture.

It is layered over Live API and Live Logic, so enforces your logic and security.  This enables you to use it to test your API, and for "back office" production apps.

Data Explorer is a multi-table application with (see these features in action using your Getting Started Guide videos):
  • Multi-table application interfaces derived from your parent/child relationships, including
    • Master/Detail, to show child objects for a parent (e.g, orders of customer)
    • Drill Down Navigation, to show related data (e.g., Order detail, or SalesRep for Order)
  • Filtering on multiple fields, with paginated scrolling (subject to row/column security)
  • Row Sharing, so you can send the current Form Row to colleagues
  • Update Services, including 
    • Updatable grids
    • Lookups, to associate a child to a parent (e.g., Product for Item)
    • Enforcement of Live Logic 
  • Authoring, so you can control which attributes are displayed and their formats, and skinning
The Data Explorer uses the same REST API as any other Live API Creator application: everything it does can, by definition, be done by using the REST API.


Instant HTML5/AngularJS Back Office Apps

You can use Data Explorer instantly on any existing database.  Typical scenarios:
  • Back Office Database Maintenance applications

  • Schema Exploration

  • Data Administration and Repair

  • Prototyping
For new systems or new components, integration with Live Logic means you have a solid back-office interface that enforces your business logic and security, working in conjunction with REST-based mobile and web apps.

ERP technology for custom systems

Many "back office" packaged systems (ERP, CRM) contain many hundreds of screens.  It is too costly and time-consuming to hand-build each screen, which moreover would not reflect subsequent schema extensions.

So, such packages often build screens automatically, based on models, configuration files and so forth.  Such screens have been shown to be quite adequate for "back office" use to query, browse and update data.

Internal custom systems have the same requirements.  Not only can this represent substantial time and cost, in many cases these applications are simply not provided, with the result that data maintenance tasks are often performed with raw SQL, which is tedious and risky.

Data Explorer can help by providing ERP-style automated UI for any database.  We leverage the schema for such automation as described below, so that you do not have to configure settings files, or maintain them when the schema changes.


Schema-driven

Data Explorer implements a number of heuristics based on the foreign key relationships in your database:
  • Each child relationship becomes a tab in the master/detail section

  • Each parent relationship is used for Lookups and Navigations

Automatic Joins

Many database employ surrogate keys.  For example, the Business Logic Demo identifies a Product by product_number., instead of a name like Hammer or Shovel.

The basic heuristics above would not produce a usable result for child tables containing foreign keys to Products, such as Lineitem.  It would not be interesting to see a list of 10 part-1'2, 5 part-2's and so forth.  Clearly, we want to see the name of the parent row.

When parents are identified by a numeric key, the system selects the first text fields to be the UserKey: a field likely to be a more recognizable name.  The Data Explorer provides an interface to reselect such keys when the heuristic makes the wrong choice.

Terminology

We refer to the following:
  • Grid - this is a tabular list of searchable rows.
  • Form - this is the scalar version of the selected Grid row)
  • Child Grid or Tab Panels - (Form + Child Grid is often called Master/Detail - these are the children linked via foreign key (relationship) or virtual user-defined relationships.
  • Insert - this will create a new row in the Grid or Form 
  • Fetch More - the number of rows returned to the grid are controlled by pagination settings (see API Properties/Settings).
  • Undo - this will revert any changes before a save can be appliend
  • Save - this will save one or more rows in a Grid or the current row in a Form.
  • Zoom - from a Child Grid - this will place the selected zoom row in the Form window
  • Focus Table - this will move the child grid row as the main focus table in the Grid (the same impact as selecting the table from the drop down list)
  • Back - this will return the form back to the original scalar selection related to the grid selected row.
  • Delete - this will mark a row for deletion - you still need to press Save to complete the delete process.
  • Previous/Next - this will move the row selection forward or back ward in a Form.

Launching

You can run Data Explorer via the Live API Creator, or stand-alone.  The Data Explorer is a stand-alone application and can be deployed to any server.

http://mylocalserver/DataExplorer/index.html#/

Author Mode

Author Mode is a simper approach to customizing applications than a complicated IDE.  The Tools menu on the far right provides Author Mode, to: 

  • customize your data content (use the various gears that appear to select columns, rename them, choose formatting), and to 

  • control appearance via upload able style sheets (samples available for download at the bottom of this page - use the down-arrow on the right)
To use Author Mode, you will need to login in a Developer (not App User), using the same credentials used to access the API Creator.

The screen shot below illustrates Data Explorer with a different style sheet, in Author Mode - The red boxes show the new widgets used to modify columns, tabs, and attributes.


REST Log - the drop down shown below allows you to toggle Grid, Form, or Child Grid on and off - the REST log will show you the results of all the REST API calls made to the API Server connected to this session.  This is a great way to see how REST and sysfilters works.