A suite of web applications that adapt to the data model for data discovery, analysis, visualization, editing, sharing and collaboration.
Chaise is the main front-end component of the DERIVA asset management Platform and utilizes ERMrestJS client library to interact with the DERIVA services including ERMrest (a general relational data storage service), webauthn (authentication provider framework), Hatrac (an object store service), and deriva-web export (allows export from an ERMrest catalog).
Chaise includes the following applications:
App | Description | Screenshot |
---|---|---|
Recordset |
Provides faceted search and text search over an entity set, using structured queries with joins and filter predicates.
|
|
Record |
Presents details of an entity of interest as well as summaries of related entities—entities that reference or are associated with the entity of interest.
|
|
Recordedit |
Enables users to create, edit, or delete an entity or
set of entities in the database.
|
|
Viewer |
High resolution pyramidal, tiled image visualization tool with pan and zoom capability.
|
The following papers describe Chaise in detail:
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:
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).
The following are some of the documents and resources that we've prepared for users and developers of Chaise. Please refer to docs
folder for a full list of documents:
When developing new code for Chaise, please make sure you're following these steps:
make lint
should not fail);make dist && make deploy
should not fail);make test
should be free of errors);Please direct questions and comments to the project issue tracker.
Chaise is made available as open source under the Apache License, Version 2.0. Please see the LICENSE file for more information.
Chaise is developed in the Informatics Systems Research group at the USC Information Sciences Institute.