# # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. # $Id: torrus_roadmap.pod,v 1.1 2010-12-27 00:04:36 ivan Exp $ # Stanislav Sinyagin # =head1 RRFW to Torrus transition roadmap =head2 Introduction The name "RRFW" appeared to be quite difficult to remember and to pronounce. There has been a call for a new name, and recently a good suggestion came from Francois Mikus: --- Francois Mikus wrote: > Here is my humble flash, which I think may be appropriate. Which I will > explain why below... > > The name I would suggest is; > > Torrus > > Has a mythical sounding name without the actual history. Has a resonance > with Torrent, where rrfw deals with a torrent of information. A google > search comes up with near nothing, and nothing commercial. Has a > resonance with Taurus, which is mythical, astrological and has an > underlying strength connotation. > > Anyway, this is the best I could think of. And it provides an opening to > have a semi-mythical/comic style yet serious mascot. > > You have a LOT of documentation. web pages, code, etc.. But marketing is > the way to win hearts and minds, create a following and get rabid > developpers on-board! Thus the project will be renamed to Torrus, and few other structural changes will accompany the transition. =head2 Releases roadmap Version 0.1.8 will be the last of RRFW, unless some urgencies arise. The first Torrus release will be 1.0.0. =head2 Multiple XML cofiguration directories During XML compilation, the datasource configuration files will be searched in multiple directories. The list of directories and the search sequence will be configurable. This will allow not to mix the distribution XML files and the ones created locally. =head2 Separated directories for templates and configuration Perl configuration files and HTML templates will also be separated into different directories, so that user-editable files don't mix with the ones from distribution. =head2 Commandline launcher A small shell script will be installed as C, and it will pass all arguments to appropriate torrus executables. For example, torrus compile --tree=main will execute C torrus utility with the argument C<--tree=main>. =head2 New directory hierarchy Filesystem Hierarchy Standard Ehttp://www.pathname.com/fhs/E proposes to put the software add-on packages into C directory and user services data, such as database contents or RRD files, in C directory. However, FreeBSD and some other systems are not FHS-compliant, and require to install all additional software into C hierarchy. We propose that Torrus distribution will support three different directory layouts, and the system administrator will decide the most suitable one: =over 4 =item 1 Default layout based in C; =item 2 FHS compliant layout, set by running C<./configure_fhs> instead of C<./configure>; =item 3 Custom layout, tunable with standard options and variables in C<./configure>. =back =head3 Default layout Although many systems like FreeBSD discourage creation of new package-specific subdirectories in /usr/local, we find it quite a common practice, and quite convenient for keeping the files together. /usr/local/torrus/ Home directory for Torrus distribution files | +- conf_defaults/ torrus-config.pl and others | +- bin/ Command-line executables | +- doc/ POD and TXT documentation files | +- examples/ Miscelaneous example files | +- perllib/ Perl libraries | +- plugins/ Plugins configuration | +- scripts/ Scripts | +- sup/ Supplementary files, DTDs, MIBs, color schemas, | Web plain files | +- templates/ Renderer output templates | +- xmlconfig/ Distrubution XML files /usr/local/etc/torrus/ Site configurable files | +- conf/ Place for torrus-siteconfig.pl and other siteconfigs | +- discovery/ Devdiscover input files | +- templates/ User-defined Renderer output templates | +- xmlconfig/ User XML configuration files /usr/local/man/ Place for man pages. All articles will have the prefix C /var/log/torrus/ Daemon logfiles /var/run/torrus/ Daemon PID files /var/torrus/cache/ Renderer cache /var/torrus/db/ Configuration databases /var/torrus/session_data/ Web interface session files /srv/torrus/collector_rrd/ Default directory for collector generated RRD files =head3 FHS compliant layout /opt/torrus/ Home directory for Torrus distribution files | +- conf_defaults/ torrus-config.pl and others | +- bin/ Command-line executables | +- doc/ POD and TXT documentation files | +- examples/ Miscelaneous example files | +- perllib/ Perl libraries | +- plugins/ Plugins configuration | +- scripts/ Scripts | +- sup/ Supplementary files, DTDs, MIBs, color schemas | +- templates/ Renderer output templates | +- xmlconfig/ Distrubution XML files /etc/opt/torrus/ Site configurable files | +- conf/ Place for torrus-siteconfig.pl and other siteconfigs | +- discovery/ Devdiscover input files | +- xmlconfig/ User XML configuration files /opt/torrus/share/man/ Place for man pages. All articles will have the prefix C /var/log/torrus/ Daemon logfiles /var/run/torrus/ Daemon PID files /var/torrus/cache/ Renderer cache /var/torrus/session_data/ Web interface session files /srv/torrus/db/ Configuration databases /srv/torrus/collector_rrd/ Default directory for collector generated RRD files =head2 New plugins design Unlike RRFW, the plugins in Torrus will be installed independently. This will allow to easily add new plugins to an existing installation. The Torrus installer stores all important variable settings in a special file, F. Then the plugin installer is able to access the settings without accessing the Torrus distribution directory. There is a helper utility, C, which applies all I variables to the plugin configuration utility. It follows then the standard installation way: ./configure && make && make install Thus the OS-dependent package installators may follow the standard configuration procedure, while those who manually install the software, will use the helper. There are two special directories: F and F. Plugins are allowed to add Perl files there. They will be automatically I'd by F and F. =head2 Authors Copyright (c) 2004 Stanislav Sinyagin