-
Notifications
You must be signed in to change notification settings - Fork 6
Wishlist
This document summarizes features that came up but were never priotized.
-
General
- Log hover events for dynamic tooltips
- Formal support for card views in visible-columns
- Collect usage events to support user analytics
- Interval check to verify session is still alive
- Add ermrestjs developer guide
- Megamenu navbar
- Override heuristics for head title
- Create Documentation for Relationships
- Better 404 error message
- Change title-casing feature slightly
- Investigate compression algorithm used in faceting
- Access table displayname in templating
- Allow pseudo-columns in templating of annotations other than visible-columns and visible-foreignkeys
- Export feature improvements
- Allow more complicated formatting with pre_format (useful for byte count)
- Adding an annotation to force read (GET) to use entity API
-
Recordset app
- Show number of null values in facets
- Copy button on table row actions
- More/less ellipses needs configurable threshold
- Better handling of mixture of facet filters
- Hide facets in annotation
- update display annotation to include
show_empty
- Provide statistical feedback on facet #33
- negation in faceting
- Facets should expand with more content
- Track saved query use and reuse
- have a distinct style for pre-selected filters
- Improvements to saved query feature
- Record app
- Recordedit app
- Viewer app
- Other apps
- Issues and limitations
(formerly https://github.com/informatics-isi-edu/chaise/issues/1876)
Data modelers can define comments on tables and columns within those tables to be displayed as tooltips in chaise. Given this, we want to be able to track how often we have users that hover over:
- columns with comments (recordset, record, and recordedit)
- Facets with comments
- table name with comments (record and recordedit)
The cases detailed above are the dynamic tooltips that can be set by data modelers. Other static tooltips are less necessary to track (and would create double logging based on user click actions on the content with static tooltips).
(formerly https://github.com/informatics-isi-edu/chaise/issues/1489)
(formerly https://github.com/informatics-isi-edu/chaise/issues/6)
Integrate a third party usage analytics service (e.g., Google Analytics). We should be collecting key user events, such as: faceting behavior, browsing behavior, what data is being viewed, what attributes are being used in searches, when the user has to "enable" more facets because the default list wasn't enough, how long they spend on certain views, etc. etc. etc.
- We should first come up with the initial list of events we want to capture;
- Come up with a plan for how we will integrate this;
- Review the plan before executing on it.
Some additional constraints:
- We should probably write our own wrapper API around the analytics provider (e.g., GA) so that we can integrate with different analytics vendors;
- Account details (e.g., the Google Analytics account where events are sent to) should come from a configuration, it should not be hardcoded to one operators GA account.
- Operators/Administrators should be able to disable user event collection entirely for their own deployments.
(formerly https://github.com/informatics-isi-edu/chaise/issues/1444)
We discussed adding a polling function that will check the users session to see if it has changed. This can lead to a number of other feature improvements if we decide to add a session alive check in the background that talks with the server.
(formerly https://github.com/informatics-isi-edu/ermrestjs/issues/31)
We discussed about adding a developer guide to ermrestjs that talks about how you can use the APIs to get the model information and data.
(formerly https://github.com/informatics-isi-edu/chaise/issues/1907)
(formerly https://github.com/informatics-isi-edu/chaise/issues/2035)
We were thinking about allowing data modelers to change the title that browsers show for the tab/window. But we didn't finalize how this could work on recordset and recordedit apps.
(formerly https://github.com/informatics-isi-edu/ermrestjs/issues/713)
(formerly https://github.com/informatics-isi-edu/ermrestjs/issues/881)
(formerly https://github.com/informatics-isi-edu/ermrestjs/issues/669)
I think the title-case function, when enabled, should only mangle the case of strings that are all lower-case, but preserve case when the model name is already using capitalization. This would cover cases like RID and other acronyms as well as any funkier values. It won't handle a situation where a modeler has retained capitalization that they didn't want to show to users.
(formerly https://github.com/informatics-isi-edu/ermrestjs/issues/892)
(formerly https://github.com/informatics-isi-edu/ermrestjs/issues/894)
Allow pseudo-columns in templating of annotations other than visible-columns and visible-foreignkeys
(formerly https://github.com/informatics-isi-edu/ermrestjs/issues/617)
Other places that we might want to allow this:
-
filter
context ofvisible-columns
table-display
column-display
key-display
-
Default export: Use the defined annotation for related tables as part of (formerly https://github.com/informatics-isi-edu/ermrestjs/issues/788): In the logic of generating default export template, we are adding all the related entities and their assets using some heuristics. Instead of relying on heuristics, we might want to get the template from the defined template on that table.
-
ACL matching and pattern support (formerly https://github.com/informatics-isi-edu/ermrestjs/issues/917#issuecomment-949003779)
-
Improvements to CSV export (formerly https://github.com/informatics-isi-edu/ermrestjs/issues/904):
- Allow quota/limit settings. Disable recordset export if current result set is larger than a specified limit.
- Allow default CSV export to be disabled globally
- Simpler way to project all the columns of table (or force
entity
API for it).
(formerly https://github.com/informatics-isi-edu/ermrestjs/issues/903)
(formerly https://github.com/informatics-isi-edu/ermrestjs/issues/935)
(formerly https://github.com/informatics-isi-edu/chaise/issues/1852)
It would be nice to see the count for the number of records where that facet value is null as well (I know there are other ways to get that count, but it would be nice to see it along with the individual value counts).
(formerly https://github.com/informatics-isi-edu/chaise/issues/1076)
To avoid many clicks and interstitial changes that disorient the user, it would be good to be able to launch the copy operation directly from the action bar on the related entity or recordset row. This is where the user is likely to be reviewing the overall set and realizing they need to add a variation of an existing record.
(formerly https://github.com/informatics-isi-edu/chaise/issues/821)
The threshold for when to truncate row content should be configurable since there is no sensible default for arbitrary content models which may include images and other content.
(formerly https://github.com/informatics-isi-edu/ermrestjs/issues/642 https://github.com/informatics-isi-edu/ermrestjs/issues/681)
(formerly https://github.com/informatics-isi-edu/ermrestjs/issues/751)
Similar to show_null
support but for ''
(empty string). Will remove the heuristics discussion for show_null from handling empty string too. Allows data modelers to customize both separately
Provide statistical feedback on facet #33
There are several kinds of statistic that could be rendered graphically in facet widgets to help users understand the data.
- Distinct value distributions on sliders to help understand sparse ranges, e.g. dense areas where active values are clumped together vs. gaps where there is no further way to differentiate records with range filters.
- Total value distributions which additionally show how popular certain values are. This could be used on sliders, pick-lists, or even date pickers.
- For the above measures, there is a version that considers current filtering criteria and another that considers all records unfiltered. Some rendering methods might even display both statistics to highlight the difference between active and inactive records?
- Some combination of curve plots, coloration, or heatmap rendering techniques could be used to present these statistics within the different presentation modes. E.g. a 2D curve or bar-graph behind a slider; a per-element bar-graph or color mapping for pick list entries; a different color mapping for day boxes in date pickers; or even some kind of 2D curve within each day box for datetime pickers...
- We need to more carefully consider caching, precomputation, and aggregation of statistical results before attempting these sorts of features, since we are already seeing too many round-trips for chaise on typical databases.
(formerly https://github.com/informatics-isi-edu/chaise/issues/1356)
Allow for more complicated facet queries to be made by allowing users to search for something like "not column1 = value1".
(formerly https://github.com/informatics-isi-edu/chaise/issues/1290)
When a facet is opened with 2 options, the height is fixed. When faceting criteria is removed, more options may be available but they won't show unless the facet is closed then opened again.
(formerly https://github.com/informatics-isi-edu/chaise/issues/2076)
We might want to store a count with every saved query to track how much it is used.
(formerly https://github.com/informatics-isi-edu/chaise/issues/1504)
(formerly https://github.com/informatics-isi-edu/chaise/issues/2103)
(formerly https://github.com/informatics-isi-edu/chaise/issues/1735)
The copy button should be available for a user to copy versioned data to the recordedit form. Once on the recordedit page, the user should be looking at the "live" catalog.
(formerly https://github.com/informatics-isi-edu/chaise/issues/1229)
modify an existing annotation or create a new one to hide the add link above related tables
(formerly https://github.com/informatics-isi-edu/ermrestjs/issues/874)
For the "explore" link in chaise, ermrestjs is creating a reverse path of the related entity where the main table's shortest key would be the selected facet. To make sure that the proper facet is selected when users click on "explore" button, data-modelers have to define their facet using the shortest key to align with this automatic process. So technically data-modelers cannot have any entity non-RID facets.
(formerly https://github.com/informatics-isi-edu/ermrestjs/issues/833)
Currently, prefix_markdown and suffix_markdown are solely used in conjunction with row_markdown_pattern annotation. But we could broaden their scope and these values can be displayed in the non-tabular mode as well.
(formerly https://github.com/informatics-isi-edu/ermrestjs/issues/843)
(formerly https://github.com/informatics-isi-edu/chaise/issues/670 or https://github.com/informatics-isi-edu/chaise/issues/1109)
Allow users to go back to the "previous" page.
(formerly https://github.com/informatics-isi-edu/chaise/issues/1076)
Allow multiple forms to be copied instead of just one.
(formerly https://github.com/informatics-isi-edu/chaise/issues/871)
Allow users to copy any of the forms instead of just the last one.
(formerly https://github.com/informatics-isi-edu/chaise/issues/380)
Add a configurable option to show column comments inline in recordedit instead of the comment being hidden as a tooltip that users have to discover themselves.
(formerly https://github.com/informatics-isi-edu/chaise/issues/1145)
Add a preview of the submission data when the user clicks submit. Alternatively show a set of diffs instead.
(formerly https://github.com/informatics-isi-edu/chaise/issues/1212)
Disable the submit button when no changes have been made.
(formerly https://github.com/informatics-isi-edu/chaise/issues/1992)
While uploading the files, hatrac might throw an error and we're just showing this error to the users without providing any more information. We should at least add some explanation so users can know that it's hatrac (and not ermest.)
(formerly https://github.com/informatics-isi-edu/chaise/issues/1753)
General improvements to the file upload process that include
- adding flow-control
- faster progress check/update
- flatten upload file objects array
- calculate individual chunk checksums
(formerly https://github.com/informatics-isi-edu/openseadragon-viewer/issues/81)
If you try to open/close the channel panel while image tiles are loading, it will not respond right away and depending on how long the tiles take to load it will be laggy.
(formerly https://github.com/informatics-isi-edu/openseadragon-viewer/issues/94)
(formerly https://github.com/informatics-isi-edu/openseadragon-viewer/issues/90)
(formerly https://github.com/informatics-isi-edu/openseadragon-viewer/issues/30)
(formerly https://github.com/informatics-isi-edu/chaise/issues/2147)
The help app doesn't do any logging currently outside of the catalog request made for the navbar. This doesn't communicate what "page" the help app has loaded. This app sets a query parameter (page) to decide what help page to load.
(formerly https://github.com/informatics-isi-edu/deriva-webapps/issues/15)
An app that can show images in a slider.
(formerly https://github.com/informatics-isi-edu/ermrestjs/issues/515)
-
ERMrestjs is not handling the combination of
enumerate:true
, andselect:false
for columns completely. If you want a column to be invisible to users, you should useenumerate:false
. Currently it's implied if the column can be visible in the schema document, we can access its data. -
ERMrestjs is partially handling
select:false
for other data models (any data model apart from column).Reference
api has acanRead
API which is using this attribute, but other read-only APIs should use this attribute as well. This limitation is the same as the previous one since it's related toselect:false
ACL, but we should handle it differently in ermrsetjs and chaise.
(formerly https://github.com/informatics-isi-edu/ermrestjs/issues/698)
The source syntax is supported in both visible-columns
and visible-foreign-key
annotations, but because of different interpretation of the syntax in different places that can be confusing.
- Faceting bug (https://github.com/informatics-isi-edu/ermrestjs/issues/529)
- Unable to use a facet projecting a base table that has alternatives (https://github.com/informatics-isi-edu/ermrestjs/issues/531)
- ACLs In ERMrestJS and Chaise
- Facet Examples
- Facets JSON Structure
- Logging
- Model Annotation
- Model-based Logic and Heuristics
- Preformat Annotation Guide
- Export Annotation Guide
- Pseudo-Column Logic & Heuristics
- Table Alternatives
- Intro to Docker
- Chaise Dev Guide
- Dev Onboarding
- ERMrest 101
- ERMrest Howto
- ERMrestJS Dev Guide
- Extend Javascript Array
- Custom CSS guide
- Towards a style guide