Gammapedia is archived. No new edits are allowed and no new accounts can be registered.

Ikepedia is the officially decreed successor to Gammapedia concerning Gammasphere canon.

Infinitypedia is another successor.

User:Abwayax/Projects/Abwayaxboard

From Gammapedia
Revision as of 06:41, 30 April 2007 by 24.243.13.121 (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Abwayaxboard (code-named February 30 and previously known as qBulletin, Nemesis Bulletin Board (NemeBB), and 3TrainerPokeBB) is an Internet forum software being developed by Abwayax.

History

Abwayaxboard's roots are traced back to "Nemesis Bulletin Board". In 2005, the "Team Zero Hideout" forum was established by Abwayax, running an obsolete, outdated alpha version of the sofware OvBB. The software lacked many features Abwayax deemed necessary, and OvBB was extended and (in most cases) rewritten to form NemeBB. The new software was very unstable and Abwayax migrated the forum to MyBB shortly after. NemeBB was rebranded as Abwayaxboard and a later version was used as the Operation Time Capsule forums (which was also converted over to MyBB). This software was abandoned.

Meanwhile, "qBulletin" was being developed. This used code independently of NemeBB and thus was not based on OvBB (or any other software). Its original intent was to be a mimic of vBulletin 3 in terms of look and features, but when this idea was scrapped the project was renamed "February 30". The admin control panel from the old Abwayaxboard (which was written entirely from scratch by Abwayax, although it referenced OvBB varables such as $CFG) was brought over and rewritten to fit with Feburary 30. The resulting software was renamed Abwayaxboard.

Goals

The project's goals are outlined in the easy-to-remember acronym "PIES":

  • Power: The software is to be powerful, and include features many other free boards lack. There is a balance between "lightweight" and "bloated", and Abwayaxboard should be slightly towards the latter end. Because some other software packages lack this functionality, Abwayaxboard may run slower. Abwayaxboard has no intent to sacrifice funtionality for speed, although effort should be made to make sure the algorithms used are as efficient as possible.
  • Integration: This is a two-sided issue. The first side is Abwayaxboard integrating with other web applications. This should be accomplished by abstracting the database query code in classes which are instantiated and modified through object-oriented mechanisms. For example, the following code which gets an object representing the user Fred, increments his post count by 1, changes his username, and updates a custom user field:
$user = User::getUserByName("Fred");
$user->posts++;
$user->name = "Not Fred";
$user->fields['customfield'] = "desu";
$user->save();

Theoretically, different User classes should be able to represent different user table structures. For example, if I wanted to use Abwayaxboard with, say, MediaWiki (which may or may not mean I plan on integrating it with Gammapedia), I would simply use a User class that corresponds to MediaWiki's user table. The client code wouldn't need to be changed at all. The other side of the coin deals with other applications integrating with Abwayaxboard. An API would be provided that includes not only the core classes (User, Forum, UserGroup, etc) but also necessary functions.

  • Extendability: Abwayaxboard will be extended in four different manners. Modules (I needed a fancy word) are basically self-contained routines you add to the software. For example, in the URL http://kauchaomai.007ihost.com/tsmh/index.php?m=showthread&tid=2, showthread is the name of the module, and showthread.php would be in the general format:
class showthread {
  public static function main() {
      $tid = intval($_GET['tid']);
      $thread = Thread::getThreadById($tid);
      // display thread code goes here
  }
}

Modules shouldn't modify the core Abwayaxboard code, but in some cases may need to modify the database schema. The second type of extension is a plug-in. Plug-ins are custom PHP code routines called in response to an event (think of an event handler). When a module fires off an event, all the plug-ins that are registered to that event are executed. These generally don't need code modifications either. The third and riskiest type of extension is a modification, where existing program code is modified. The fourth, a package, may contain modules, plug-ins, and modifications, as well as themes, templates, and image resources. All four of these can be installed automatically.

  • Safety: the software should be safe to use. This covers everything from minor bugs to major security holes; while no software is bug-free, Abwayaxboard should come close.

Features

See http://abwayax.com/area42/abwayaxboard/index.php?m=showthread&tid=23

Primary Add-ons and Other Tools

Along with Abwayaxboard, Abwayax is developing three primary add-ons, as well as migration tools. These addons are probably going to be used by Abwayax later in the future. The addons are:

  • Abwayaxhibit, which will allow forum users to share stories, art, and video they've created. So it's kinda like deviantART. And YouTube. And fanfiction.net.
  • Abwayaxshare is a add-on that will allow users to share files.
  • Abwayaxportal is, well, a portal.

Along with these, Abwayaxport and Abwayaxharvester are being created to facilitate conversion to and from Abwayaxboard.

External Links