Knowledge Base Changes for March 2017

Keith Rozett updated this Knowledge Base after a 7-year hiatus.

The biggest change was the ability to review existing articles.

Review Articles feature

  • Logged-in users are encouraged to check existing articles for correctness, broken links, etc.
  • A Review Articles link exists on the home page. This takes the user to a list of the 10 oldest articles that have not been checked.
  • When viewing any article, logged-in users are able to take 3 new actions: mark the article as reviewed, edit it, or mark it as deleted.
    • If the article’s information is correct and all the links work, the user should mark it as reviewed. The review time and name of the reviewer is recorded.
    • If the user finds errors or broken links, they should edit the article with the changes. This is the same edit feature that always existed in the Knowledge Base.
    • If the user thinks the article should be deleted, they can say so, but they must also provide a reason (e.g. the article is specific to something that no longer exists).
  • Viewing an article shows a history of all reviews and marks for deletion at the bottom of the page.
  • When viewing the list of articles that need review, users can also see a list of articles marked as reviewed and a list of articles marked for deletion.

Other new features

  • New articles and edits are picked up by the search engine immediately, instead of every half hour.
  • Deleting an article now keeps it in the database. Although it will disappear from the website, this gives us the ability to restore deleted articles in the future.
  • The Knowledge Base now runs the latest version of Ruby on Rails (see technical details below).
  • All requests are now HTTPS for added security.

Technical details

  • Upgraded from CentOS 5.11 to 7.3.1611.
  • Upgraded from Rails 2.3.5 to 5.0.2.
  • Upgraded from Ruby 1.8.7 to 2.4.0.
  • Sphinx search engine was upgraded to 2.2.11, which now supports real-time indices.
  • More tests were added to give complete code coverage.