MathHubInfo / Frontend

A new MathHub Narration Frontend written in React.
GNU Affero General Public License v3.0
2 stars 0 forks source link

Implement MathHub Lenses #88

Open kohlhase opened 5 years ago

kohlhase commented 5 years ago

MathHub wants to be a public repository of mathematical knowledge and documents, which means everyone should be able to contribute. But it should also be a portal to high-quality material, which means some kind of quality control system. Following ideas developed for/by the Connexions Project we want to employ a system of (named) "lenses", which give a reader (preferential) access to MathHub material endorsed by a set of chosen lenses. The CNX Manual section on lenses has some more information.

At its base, a lens L is just an endorsement list, i.e. a list of MathHub knowledge items endorsed as being of sufficient quality and/or interest by L.

A MathHub reader can adopt a lens L for

We probably want to have a way of storing lens adoptions for authenticated users.

Initially, lenses should have the following metadata:

Probably the best way to implement a lens is as a list of MMT URIs in a GitLab file on http://gl.mathhub.info. Then we can just use GIT authentification for lens authors and GIT management/versioning features for lens content.

For the front-end process we probably want to have a separate service, which reads lenses, indexes them, and helps it by answering questions like

Maybe this service could also take care of authentification, then the MathHub front-end only needs to keep a global variable for the user as state.

kohlhase commented 5 years ago

I am starting an implementation at https://github.com/MathHubInfo/

kohlhase commented 5 years ago

Instead of the GIT-based JSON file solution proposed above, we probably need a database-based back-end, which stores lenses, and a service which stores lens information; see https://github.com/MathHubInfo/lenses/issues/1

Correspondingly, the front-end needs the following extensions (probably more)