Functionalities list

Consider the following sentences preceded by The system has to...

  • enable users to write collaborative pages like the well known wiki platforms
  • allow users to add math formulas, images, video, audio snippets and links
  • support advanced editing features related to specific subjects and typical for the editing industry (e.g. labeled maths, references inside a page and inside a course,  chemical formulas, feynman diagrams, highlighted source code, phonetic spelling, ...)
  • support edit / page versions made by multiple users
  • be available in different languages (English, Italian, French, Spanish etc..)
  • be available in RTL (right to left) languages
  • enable users to organize pages in collections like books or school and academic courses
  • enable users to create private and public collections
  • make content downloadable in PDF, ePub, LaTeX and raw text formats
  • organize the content in an academic / school style (departments, topics or subjects etc. . . )
  • enable admins to CRUD (create, read, update, delete) operations on departments and topics
  • enable users to vote for/rate courses and give them additional metadata (e.g. “review pages”)
  • supports roles and privileges (admins, moderators, special users like teachers etc..)
  • enable users to collect courses together to make bigger collections (if the user belongs to a special subset of users like admins, moderators etc can also make collections public)
  • enable special users (eg. teachers or courses’ authors) to review courses
  • enable comments/discussion per pages (eg. Flow or Google Docs)
  • enable admins to grant privileges and manage users
  • enable users in general to send messages among them
  • enable the creation of user group, with group statistics and group communication (e.g. hives, same universities, group of friends, ...)
  • enable tagging content or aggregation of content (e.g. this book was following a course in #mit and #harvard)
  • automatically interface with external providers of CC BY SA  or compatible resources
  • support notifications
  • support edit “pull requests”, and course “forking” (this is a requirement often voiced from the academic community)
  • enable users to manage their profile
  • enable admins to upload content and award to one or more users credits and metadata
  • enable users in general to import their notes in different formats/designs (LaTeX is a key features)
  • enable real-time collaborative editing features
  • provide offline editing and reading
  • provide a good mobile editing experience
  • enable a “read mode” that removes everything on the sides of the window and extend the content to the full webpage width
  • allow for integration with other clients (e.g. an official desktop app, a Libreoffice plugin, ...) to be developed
  • have a system of placeholder / todo tracking. It may be at course or single section/page level. What I have in mind is a way to write “Add an image here”, “explain better this demonstration” “extend the computations, to make them more clear” “improve this paragraph by looking at the manual <insert manual name here>”. One should be able to have a list of all the task/issues related to a course to have a better and quick glimpse of what can be done to improve the course
  • have a consistent management of the bibliography. Should have a way of referencing the elements of the bibliography throughout the course. We could also add a feature that opens a box with basic info of the reference when hovering the link inside the page
  • should provide advanced search function. It should not be over-sophisticated, but at least we could assign each course a series of tags, and have the search look into them
  • provide multiple color schemes, for example we could have something dark/solarized for night reading. In general, the possibility for the user to configure some basic parameters to have a better reading experience, like font size and type would be nice
  • provide an annotation tool in a sort of “study mode” in order to allow personal comments, side notes, text highlight etc..
  • should be able to have courses with the same title. The solution could be having an hash as course base url, and have a metadata database with title, maybe author, location, year of first collaboration, so on and so forth. The system should be like in a library, where many books with same author and title may coexist
  • allow math content in chapters and section titles (even in course name, but this is a rare occurrence)
  • provide a sandbox execution mode in order to easy configure and deploy a WikiToLearn instance (useful for developers and for private use too)
  • be able to interact and integrate with one or more L(C)MS [Learning (Content) Management System]
  • permit modification requests: this way some courses, as the ones imported and/or written by authors such professors, can't be modified by anyone but only by the author/s himself/themselves (this procedure can allow other copyright licenses)