OpenTG
Encyclopedia
OpenTelegard/2 is an open-source implementation of a bulletin board system
Bulletin board system
A Bulletin Board System, or BBS, is a computer system running software that allows users to connect and log in to the system using a terminal program. Once logged in, a user can perform functions such as uploading and downloading software and data, reading news and bulletins, and exchanging...

 (BBS) software program written for Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 and/or Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

. Written from scratch in Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...

, the goal is to reproduce the look, feel, and functionality of similar legacy BBS systems such as Telegard
Telegard
Telegard is an early bulletin board system software program written for IBM PC-compatible computers running MS-DOS and OS/2. Telegard was written in Pascal with routines written in C++ and assembly language, based on a copy of the WWIV source code....

 or Renegade
Renegade (BBS)
Renegade is a freeware bulletin board system written for IBM PC-compatible computers running MS-DOS that gained popularity among hobbyist BBSes in the early to mid 1990s...

, which were written for DOS and OS/2
OS/2
OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...

 during the pre-internet communication era. No original code is being used or referenced.

On August 17, 2008, the project was founded by Chris Tusa with work on 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 as Telegard/2, 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
  • Web Based administration tool based on Ramaze

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.
  • WWIVnet & FidoNET Compatibility
  • TgNET - Internet based Telegard/2 network


More status and goal information is available on the project homepage.

Software Stack

The following is a listing of software components used in Telegard/2
  • OpenJDK
    OpenJDK
    OpenJDK is a free and open source implementation of the Java programming language. It is the result of an effort Sun Microsystems began in 2006...

     6
  • Jruby
    JRuby
    JRuby is a Java implementation of the Ruby programming language, being developed by the JRuby team. It is free software released under a three-way CPL/GPL/LGPL license...

     1.5.3 (Ruby = 1.8.7)
  • H2 (DBMS)
    H2 (DBMS)
    H2 is a relational database management system written in Java. It can be embedded in Java applications or run in the client-server mode. The disk footprint is about 1 MB....

  • Ramaze Web Frameworkd
  • Apache Commons
  • JLine
  • Gems : {ruby-bcrypt, sequel, ramaze, haml}

Tested development platforms

The following are tested operating system platforms used by the developers:
  • LinuxMint >= Elyssa
  • ArchLinux >= 2009.02
  • NetBSD >= 5.1

Developer information

This project is founded and currently led by Chris Tusa. It is hosted on Launchpad (website)
Launchpad (website)
Launchpad is a web application and website that allow users to develop and maintain software, particularly free software. Launchpad is developed and maintained by Canonical Ltd....

and uses Bazaar for source code control. Developers can find information about contributing on the project's website.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK