MediaWiki for CNM Cloud

From CNM Wiki
Revision as of 23:23, 14 April 2024 by Gary (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

MediaWiki for CNM Cloud (hereinafter, the Project) is the group of endeavors undertaken to advance Educaship MediaWiki to upgrade this app from its minimal viable product (MVP) state up to parts of Careerprise Funnel. MediaWiki and MariaDB as its database management system are used under the hood of this app. For a few years, the stable version of MediaWiki has not been updated due to new versions' conflict with our LDAP plugin. However, a decision has been made to migrate the integration to WSO2 IS and it is not clear whether LDAP will remain necessary. Also periodically there are problems with pictures, which the Warehouse for CNM Cloud project shall address.


Requirements

Business

Business requirements

Prototypes

Prototypes

Stakeholder's

Stakeholder requirements
  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.friendsofcnm.org/
    • 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.friendsofcnm.org/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 CertAssociate, 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, 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, especially Manual:Security, 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.

Deliverable

Deliverable specifications

Work

Work specifications

States

Certainty

State of certainty

Utility

State of utility

Applicability

State of applicability

Controllability

State of controllability

Development

History

The first instance, 1.26.4 version, was installed under supervision of User: Mina Nizhnih.

Further development

In order to constantly develop the App, Friends Of CNM is looking for one or more vendors. This development project has at least two phases:

  1. To identify Acceptance criteria that shall be met at the end of any further upgrade; and
  2. To procure those upgrades from one or more vendors.
RFB has been posted and the following responses are collected so far:
  • 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.
  • Follow the updates at https://www.mediawiki.org/wiki/Download/ru and after the appearance of a new stable version, reinstall the App. We used the latest version where the normal LDAP authorization module. You need to keep track of updates to the media and LDAP module. As soon as a newer version appears, you should need to update it on the test and check it out. If all is well, then it will be possible to update on the working site friendsofcnm.org
  • 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/
  • 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.

Choice

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 Farms 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.

Software to be evaluated

  1. BlueSpice MediaWiki.
  2. Tiki Wiki CMS Groupware.
  3. Wiki.js.
  4. XWiki.

Acceptance criteria

Vulnerability

# Feature Acceptance test Responsible
W001 PHP security Vendor for CNM Farms
W002 TLS The App vendor

Navigation

  1. URL
  2. URL for Russian speakers
  3. Logo
  4. CNM Wiki name

Editing alerts

Uploads

  1. SVG

Backup restoration