Computer-human access interface with schema evolution!
Dynamic Rendering Approach
Chaise is intended to support specific user interactions, as briefly introduced above (e.g., discovery, analysis, editing, etc.). As such, its presentation capabilities are narrowly scoped to support these interactions. Thus, Chaise makes a few assumptions about how users will interact with the underlying data.
A few representative but non-exhaustive examples of these assumptions include:
- search, explore, and browse collections of data
- navigate from one data record to the next by following their relationships (i.e., following links)
- add, edit, remove data records from the database
- create, alter, or extend the data model itself
- subset and export data collections
- share data with other users
- annotate data records with tags or controlled vocabulary terms
Beyond these baseline assumptions about basic usage, Chaise makes almost no
assumptions about the structure of the underlying data model, such as its
tables, columns, keys, foreign key relationships, etc. Chaise begins by
introspecting the data model by getting the
catalog/N/schema resource from
ERMrest. The schema resource includes lightweight semantic annotations about
the model in addition to the underlying relational database schema. Chaise uses
its rending heuristics to decide, for instance, how to flatten a hierarchical
structure into a simplified (or denormalized) presentation for searching and
viewing. The schema annotations are then used to modify or override its
rendering heuristics, for instance, to hide a column of a table or to use a
specific display name in the interface that is different than the column name
from the table definition of the schema. Chaise then applies user preferences
to further override the rendering decisions and annotations, for instance, to
present a nested table of data in a transposed layout (i.e., with the columns
and rows flipped).
Chaise is suite of the following applications:
- record: Shows all the information for an entity.
- recordset: Shows a set of entities that can be faceted.
- recordedit: Gives the ability to add(or update) single or multiple entities.
- viewer:High resolution pyramidal, tiled image visualization tool with pan and zoom capability.
See Chaise installation.
Help and Contact
Please direct questions and comments to the project issue tracker at GitHub.
Chaise is made available as open source under the Apache License, Version 2.0. Please see the LICENSE file for more information.