Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
OurNet::BBS::Tutorial(User Contributed Perl DocumentatOurNet::BBS::Tutorial(3)

NAME
       OurNet::BBS::Tutorial - Introduction to the OurNet-BBS Architecture

SYNOPSIS
       Below are diagrams of typical scenarios that employs different
       OurNet::BBS components. In each diagrams, text in "[square brackets]"
       denotes a program, "{curly brackets}" means a physical storage,
       comments	are in "(parentheses)",	and blocks with	borders	like "+---+"
       indicates a class of objects.

   Using OurNet	to contact remote MELIX	BBS
       This diagram explains how the OurNet backend may	be used	to contact a
       remote server running bbscomd, the OurNet Server.

				(backend)
	{Shared	Memory}--. +---------------------+	[bbscomd]
	{Hard Disk Data}-+-|OurNet::BBS::MELIX::*|	     |
			   +---------+-----------+   +--------------+
				     +->(daemonize)->|OurNet::Server|
						     +--------------+
	Server-Side					    | (xxx.yyy.zzz.www)
	~~~(Internet)~~~~~~~~~~~~~~~~~~~~~~~~~~~~<<<<<OurNet Protocol>>>>>~~~~~~
	Client-Side		   (backend)		    |
			  +----------------------+  +--------------+
			  |OurNet::BBS::OurNet::*|--|OurNet::Client|
			  +----------------------+  +--------------+
				       |
		  OurNet::BBS->new({bbsroot=>xxx.yyy.zzz.www})
			  +--------------------+
	       [ebx]------|OurNet::BBSApp::Sync|
			  +--------------------+

   Using BBSAgent to contact remote BBS	Daemon
       This diagram explains how the BBSAgent backend may be used to contact a
       remote server running bbsd, a regular BBS Daemon	of Melix, Maple,
       Firebird, or Cola systems.

			       [BBS Daemon]-+-{Shared Memory}
	Server-Side		     |	    `-{Hard Disk Data}
	~~~(Internet)~~~~~<<<<<Telnet Protocol>>>>>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	Client-Side		     |
			    +----------------+			(include)
			    |OurNet::BBSAgent|<-{TEMPLATE.bbs}--{*/*.inc}
			    +----------------+	(=procedures)
				     |
		       +------------------------+
		       |OurNet::BBS::BBSAgent::*|(backend)
		       +------------------------+
				     |
		   OurNet::BBS->new({bbsroot=>'TEMPLATE'})
			  +--------------------+
	       [ebx]------|OurNet::BBSApp::Sync|
			  +--------------------+

   The OurNet BBS Component Object Model
       This diagrams explains the has-a	relationships between all
       OurNet::BBS::* objects. The first row in	each box represents how	to
       access it from the upper-level "tie"d object.

	[OurNet::BBS::BACKEND::BBS]->new($bbsroot, @args)...
		 |
		 |-------------|--------|--------------|-----------.
	    +----------+ +----------+ +---------+ +------------+ +---------+
	    | {boards} | | {groups} | |	{users}	| | {sessions} | | {files} |
	    |BoardGroup| |GroupGroup| |UserGroup| |SessionGroup| |FileGroup|
	    +----------+ +----------+ +---------+ +------------+ +---------+
		 |	  |   |		   |		  |	      |
	      +-----+	  |+-----+	  +-----------+	+-------+ +-----------+
	      |{STR}|<----'|{STR}|<--.	  |{STR}/[NUM]|	| {STR}	| |   {STR}   |
	      |Board|<-----|Group|---'	  |   User    |	|Session| |ScalarFile*|
	      +-----+	   +-----+	  +-----------+	+-------+ +-----------+
		||`--------.			|`----------.
		|`-------. `------------.	`---------. `------------.
	+------------+ +------------+ +-----------+ +------------+ +-----------+
	| {articles} | | {archives} | |	 {STR}	  | | {mailbox}	 | |   {STR}   |
	|ArticleGroup| |ArticleGroup| |ScalarFile*| |ArticleGroup| |ScalarFile*|
	+------------+ +------------+ +-----------+ +------------+ +-----------+
	      |		     |`----------.
	+-----------+ +-----------+ +------------+
	|{STR}/[NUM]| |{STR}/[NUM]| |{STR}/[NUM] |<--.
	|  Article  | |	 Article  | |ArticleGroup|---'
	+-----------+ +-----------+ +------------+

       Notes:

       o   A Group or GroupGroup object	may contain any	number of Group	and/or
	   Board objects. Similarily, an ArticleGroup object may contain any
	   number of ArticleGroup (i.e.	an archive directory) and/or Article
	   objects.

       o   ScalarFile refers to	the class OurNet::ScalarFile, not
	   OurNet::BBS::BACKEND::ScalarFile. All other classes are to be
	   preceded with OurNet::BBS::BACKEND.

       o   The STR means string	hash index, NUM	means numeric array index,
	   accessible using curly and square brackets, respectively.

AUTHORS
       Autrijus	Tang <autrijus@autrijus.org>

COPYRIGHT
       Copyright 2001-2002 by Autrijus Tang <autrijus@autrijus.org>.

       This document is	open document; you can redistribute it and/or modify
       it under	the Open Content License.

       See <http://opencontent.org/opl.shtml>

perl v5.32.1			  2003-10-20	      OurNet::BBS::Tutorial(3)

NAME | SYNOPSIS | AUTHORS | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=OurNet::BBS::Tutorial&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help