Web UI
A web-based interface to assist people in using the other data structures & services.
- It’s a (likely single-page) web application, deployable to IPFS / IPLD. It doesn’t have it’s own APIs, but rather uses the ones provided by the other services.
- The read path must be entirely static, i.e. it only accesses other data structures directly (but no service APIs). In consequence, the entire read-portion of the UI can run offline if the required IPLD blocks are locally cached. If not all blocks are locally cached, they have to be retrieved from somewhere (usually from any Storage Node / Cluster).
- Provides a user interface for read workflows:
- search datasets
- navigate between datasets
- summarize contents (i.e. a landing page)
- show usage instructions
- (maybe) create “download” options
- enhance datasets with auxiliary information, i.e. information not part of the CID. (updates, related datasets, policies, DOI availability)
- Provides a user interface for write workflows:
- implements tree creation (e.g.
ipfs addas a drag & drop tool) - implements interaction with Auth Service
- implements remote pinning at storage node: instruct one or more storage node(s) to Pin CIDs (created in UI or elsewhere) as currently authenticated user, inform the user about the progress of pinning
- validates datasets client-side:
extract_metadatais succesful (including before any remote pinning)- provide fast feedback about formal quality, FAIR compliance etc...
- provide assistance to improve dataset to make it acceptable
- provide “soft” feedback: render landing page as early as possible to visualize how the provided metadata will turn out when data is fully published
- initiates the review process
- implements tree creation (e.g.
prior art¶
WPs¶
- implement basic Dataset landing page
- implement overview page (e.g. listing) with search
- implement search refinement (e.g. property based filtering)
- implement dataset ingestion & validation UI
- implement dataset improvement mode (tutor-like)
- (maybe) offer in-browser edit functionality for simple changes (could be dangerous: we prefer teaching users a better dataset creation workflow than encouraging manual on-the-fly edits)
- implement remote pinning UI
- (maybe) implement review process (we want that eventually, but maybe we don’t immediately need a good UI for this)
- deploy user interface continuously to IPFS