Skip to content

Documentation Frontend2.0

TimKrusch edited this page Jun 11, 2017 · 16 revisions

General

This documentation is about the Frontend of ‘Ontohub 2.0’, and describes the basic concept and structure. We want to provide a short overview of the new user interface and the available functions. The website ‘Ontohub.org’ should be improved by a simple and clear design, which gives the user a fast possibility to reach all important functions. This increases the user friendliness.

Landingpage

When the user opens the website, he is supposed to get a clear landing page, where the featured repositories and popular ontologies are displayed. After login with your personal account you see your own repositories or featured ones, when you don’t have any repositories, and your user-profil on the right side.

A menu line should be displayed at the top of the website, which contains a search bar, that varies according to your location (global (all repositories), this organisation/user, this repository, this file, this OMS), and a possibility to login with your account.

Among other things there is also a detailed search function, which is displayed, by a pop up with a filter function and a foldable input line, next to the simple search.

Views

There should be a standard view for all accesses, which consists of one panel, which splits up into three subpanels (general subpanel structure (default): file browser - content - (optional) context).

In the mobile version is only one panel shown, and there are tabs for switching between panels.

The content panel is the standard middle panel, which shows the README.md and OMS details as default (Standard/Details). Other content-panels are editor, history, diff, translation and translation-compare. This subpanels you can add with a simple popup on the upper left side of the contentpanel, with the function to switch or add to the view. When the content panel is big enough is this popup button separated in simple buttons along the panel menu line.

And on the right there is the context panel: error list, or commands: prove, translate, git (with staged files (each staged file with show diff action), commit message+button, revert, add to staged, multi-commit). This context panel are directly dependent on the content panel and can be opened with a button on the content panel. At first you have the filebrowser, from there you can open content panels, which can open context panels.

The contents are displayed as the rights of the owner determine it. When you don’t use an account, you get only the basic overview and access to the datan and therefore you have only read rights.

You can switch the sizes from each subpanel and minimize (hide) them with a simple click on a arrow-button.

Between the Website menu line and the panel there is an address bar with branch-dropdown-menu (with branch or tag selection). Also you can get the Raw Code from the selected data, or delete it.

Errors

In the editor, errors are dealt as follows: Errors be displayed at the corresponding lines. After clicking on this line, it will open a popup error message. There is also a popup function “errors” in the menu line of the panel, which allows you to jump back and forth between the errors (via "next error", "previous error").

History

Another content panel is the history. This shows a list of commits, each with a message, dropdown button (showing list of changed files, each with a button to diff view), diff button (with button to diff view), browse button (jump to repo start page, but for this commit).

Linked-Data Compliant and define URLs

There should be linked-data compliant and define URLs for all pages. These have a specific and fixed structure, for this see also https://github.com/ontohub/ontohub-backend/issues/9#issuecomment-281080416.

Details: The loc/id for an OMS is /:user/:repository[/ref/:reference]/oms/:path_to_the_library//:oms. Here the keyword oms (which is the default and leads to display of the oms details) should be replaced with edit, history, diff etc. Also combinations like oms+edit are possible. Errors need not be mentioned in the loc/id, because they are always displayed when they occur (both in the editor and in a separate list, which can be excluded with a noerrors anchor or query string). The loc/id can also contain actions as suffix, after a ///. Actions can be prove, translate, git commit, ... An action will open a context panel. The available context actions (shown on the right) depend on the content panel. For example, oms -> prove, translate, edit -> git commit, history -> git revert, git reset, diff -> . If several content panels are shown, the union of actions is enabled. File browser should be hidden by default when diff or edit is selected.