Although this application is functional, its primary purpose is to provide a sandbox, a place for trying out technologies. Rather than attempting to do so in the context of something simplistic (another chat application or a calculator, perhaps) this application is intended to provide sufficient depth and breath to make any experimentation meaningful and useful.
Dragoman provides a facade which allows the user to …
The datasets are, broadly speaking, of two types:
A dataset is a datasource plus some metadata describing how Dragoman should use that datasource. It encapsulates the following state:
<database_name>:<collection_name>
Subscription Control Field
is assumed to be a datetime expressed in ISO8601 format. However, not all datasets conform to that convention so the user may define their own pattern, two types are supported:
L
: this is used when the Subscription Control Field
is a Java epoch valueThe user may perform the following actions on a Dataset:
plus
icon in the header of the Datasets table.edit
icon under the Actions column in the Datasets table. Note: all fields are editable except Owner
since this defaults to the currently logged in usertrashcan
icon under the Actions column in the Datasets table.open folder
icon under the Actions column in the Datasets table. This will load any 10 records from the selected datasource.Once a dataset has been opened, the user can perform the following actions:
Select
/ Where
/ Order By
and then hitting Run
. See Querying Datasets for more details on how to run a query.eye
icon next to the dataset name in the dataset contents view. See Subscribing To Datasets for more details on how to subscribe to a dataset.minus
icon next to the dataset name in the dataset contents view.There’s limited security; a user must log in to the web app before using it but there is no independent authorisation store. The purpose of ‘logging in’ is really only to identify yourself so that multiple users do not see each other’s datasets. In addition, when running in embedded
mode a default user - System
- is assumed to be already logged in.
Dragoman exposes some simple management features …
ping
endpoint which returns a 200 pong
response when the appliction is up.healthcheck
endpoint which returns a 200
status if all system health checks are ok, otherwise it will return a 500
status.metrics
endpoint which allows the user to view and query the metrics exposed by the application. More details on this in the metrics topic.This screenshot shows the landing page, since no one has logged in at this stage only the About
view is available:
Once someone logs in, the remaining views (Datasets
and Management
) become available …
This screenshot shows the dataset list with one dataset opened and queried:
This screenshot shows the management view, exposing endpoints which provide some behind the scenes visibility
Follow the links in the side bar to read more about …