Software:OpenTG

From HandWiki
OpenTG
20101106 opentelegard login screenshot.png
Screenshot of Login & Main Menu
Original author(s)Chris Tusa
Developer(s)Chris Tusa
Preview release
snapshot-20180819
Repositorygithub.com/sharkos/opentelegard/
Written inJRuby (programming language)
Operating systemLinux, BSD, MacOS
PlatformOpenJDK
Available inEnglish
TypeBulletin board system
LicenseBSD license

OpenTG is an open-source implementation of a bulletin board system (BBS) software program written for Linux and/or Unix. Written from scratch in JRuby, the goal is to reproduce the look, feel, and functionality of similar legacy BBS systems such as Tag, Telegard, Maximus or Renegade, which were written for DOS and OS/2 during the pre-internet communication era. No original code from any BBS has been used nor referenced in order to focus on innovation and unique capabilities.

On August 17, 2008, the project was founded by Chris Tusa with work toward version 1 of the code. A year later, development on this branch, now known as OpenTG/1, ended. The back-end configuration tool had taken shape using the NCurses library, and database abstraction using ruby-DBI and PostgreSQL for the backend database engine. The developer deemed this version of the code a failure due to problems maintaining NCurses screen layouts and SQL queries through DBI.

With lessons learned and upfront design planning, iteration two now known simply as OpenTG, is under heavy development. The code has moved from MRI Ruby to JRuby running on OpenJDK. The latest code introduces:

  • MVC Design (Model View Controller)
  • Database Abstraction through the use of the Sequel ORM
  • Input Validation from Apache Commons
  • Integrated H2 SQL Database
  • Themes based on the FreeMarker template engine
  • TgThemer template editor (Graphical Application using QT5)

Current goals

  • Use standards based formats.
  • Produce a usable configuration and management interface, similar in scope to traditional BBS WFC tools.
  • Allow system operators to have flexibility of how their system is configured and consumed.
  • Implement security at the core, not as an after-thought.
  • Provide modern access using secure protocols such as SSH.
  • Provide a web interface for both administration and user management.
  • Hook into existing daemons and libraries where possible to reduce code efforts and conform to standards.

More status and goal information is available on the project homepage. Per the homepage, the software is no longer being developed as of 2018.

Software Stack

The following is a listing of software components used in Telegard/2

  • OpenJDK 10
  • Jruby 1.9.2 (Ruby = 2.5.0)
  • H2 (DBMS)
  • FreeMarker Template Engine
  • Apache Commons

Tested development platforms

The following are tested operating system platforms used by the developers:

  • Netrunner >= 18
  • MacOS X >= High Sierra

Developer information

This project is founded and currently led by Chris Tusa. It is hosted on Bitbucket and uses Mercurial for source code control. Snapshots are cloned to GitHub and downloadable tarballs are made available at various intervals for testing.. Developers can find information about contributing on the project's website.

See also