Difference between revisions of "CNM Wikiware"

From CNM Wiki
Jump to: navigation, search
(Architecture)
(Additional functions)
Line 32: Line 32:
 
#*Be able to restore [[CNM Wiki]] if the working software collapses. No more than one hour of work is allowed to be lost.
 
#*Be able to restore [[CNM Wiki]] if the working software collapses. No more than one hour of work is allowed to be lost.
  
==[[Additional functions]]==
+
==Additional functions==
 
In addition, the App should help to find and attract potential customers and new employees from among the random visitors to the Internet.
 
In addition, the App should help to find and attract potential customers and new employees from among the random visitors to the Internet.
  

Revision as of 13:10, 3 October 2018

CNM Wikiware (hereinafter, the App) is the CNM knowledge app that empowers CNM Wiki. This is an open knowledge base of the Bratsk School, built on the basis of MediaWiki software and is available for viewing free of charge 24 hours a day 7 days a week to any Internet user. The App is both


Functions

Business functionality

Including text, audio, and graphic materials on a single platform, as well as links to video accompanying the basic knowledge of the Bratsk School about the subjects in which it specializes, and of the technology it uses

Being a platform for creating new materials, to serve as an initial professional activity

Permitted user roles

Opplet handles user management for the App (including "create account" and "change other users' rights" functions). Thus, the permitted user roles of the App's users are those Opplet roles that are specifically based on rights of groups granted by MediaWiki. The software-defined rights can be found at MediaWiki's list of groups.

User stories

  1. As a NetAnyone, I need to be able to:
    • Read and/or view contents of any wikipage at clearly understood URLs such as starting with https://wiki.ksacerts.com/
    • See the logo at the right upper corner and the name of the resource such as CNM Wiki;
    • Feel safe while seeing that the App's resource is verified by the SSL certificate;
  2. As a Russian-speaking NetAnyone, I need to be able to locate wikipages in Russian, possibly, at URLs starting with https://wiki.ksacerts.com/ru
  3. As a NetConsumer, I need to be able to add selected wikipages to my watchlist and receive notifications when the watched wikipages are updated to my email.
  4. As a CertCandidate, I need to be able to:
    • Have predefined rights of a user (with a registered account) established at MediaWiki;
    • Upload files, including SVG graphics, with sizes up to 2Mb; the combined size of all downloaded files shouldn't exceed 200Mb.
  5. As a CertFellow, CertPartner, and/or CertVendor, I need to:
    • Have predefined rights of a sysop established at MediaWiki;
    • Be able to upload files up to 20Mb.
  6. As a OppletBureaucrat, I need to:
    • Have predefined rights of a bureaucrat established at MediaWiki;
  7. As a CloudAdmin, I need to:
    • Make sure that CNM Wiki at least gets basic cyber-security features implemented; new threats are monitored and, based on them, the security policy should be defined and, further, re-defined;
    • Be able to restore CNM Wiki if the working software collapses. No more than one hour of work is allowed to be lost.

Additional functions

In addition, the App should help to find and attract potential customers and new employees from among the random visitors to the Internet.

Technology

Architecture

The App is a MediaWiki instance that is run on CNM Cloud Platform.

MediaWiki

Main wikipage: MediaWiki
The MediaWiki software is chosen as the App engine because its usability, productivity, and reliability. Particularly, MediaWiki:
  1. Is easy to load (it is a light weight);
  2. Allows integration with CNM Cloud Platform and, possibly, other CNM apps;
  3. Is scalable and allows addition of more data as need arises;
  4. Is easy to navigate with a search function that makes it easy to search what any user wants;
  5. Is cloud hosted so that it can be accessed anywhere;
  6. Provides an audit trail that can provide identification of who has entered any new information.
MediaWiki also has a provision for the future usage of multiple languages. When the time for adding a new language comes, the existing system shall enable this addition without need for additional components to the original system. It will also enable the user to nominate their preferred language when entering their personal information.

Platform

Main wikipage: CNM Cloud Platform
CNM Cloud Platform shall provide the App with all resources it needs in order to run smoothly. It also handles user management for the App. Particularly, the platform shall:
  1. Make sure that the App is available 99.99% of the time for any 24-hour period;
  2. Doesn't store any confidential information, so such information cannot be accessed by anyone.

Development

The RFB has been posted and the following responses are collected so far:

  1. Define page types, naming conventions, user rights, expected behavior to select a set of useful extensions. Then develop ontologies, templates and forms for pages of various types. Adjust search function to the needs of the project.

Acceptance criteria

    • The system shall ensure that there is no interference to the active users when maintenance is being done.If need be, the system shall not be shut down for maintenance more than once in a 24‐hour period.
    • The system shall produce a storage capacity warning notification when a particular percentage of storage capacity threshold is crossed with additional notifications issued thereafter at different threshold increments.
    • When a new version of the system(application) is released, it shall be possible to upgrade to it from any previous version.

Maintenance

* Follow the updates at https://www.mediawiki.org/wiki/Download/ru and after the appearance of a new stable version, reinstall App.
* Monitor the detection of vulnerabilities and the emergence of solutions to eliminate them, apply them.
* Support SSL certificate of Let's Encrypt (how to do it https://hostiq.ua/wiki/how-to-install-lets-encrypt-ssl/);
* Regularly check the site for viruses using this link - https://www.virustotal.com/en/url/07612517c24492a2b4ecf505640d0c4e5d060149282543f1376dc6079b911641/analysis/1522339359/