2 # This program is free software; you can redistribute it and/or modify
3 # it under the terms of the GNU General Public License as published by
4 # the Free Software Foundation; either version 2 of the License, or
5 # (at your option) any later version.
7 # This program is distributed in the hope that it will be useful,
8 # but WITHOUT ANY WARRANTY; without even the implied warranty of
9 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 # GNU General Public License for more details.
12 # You should have received a copy of the GNU General Public License
13 # along with this program; if not, write to the Free Software
14 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
16 # $Id: torrus_roadmap.pod,v 1.1 2010-12-27 00:04:36 ivan Exp $
17 # Stanislav Sinyagin <ssinyagin@yahoo.com>
20 =head1 RRFW to Torrus transition roadmap
24 The name "RRFW" appeared to be quite difficult to remember and to pronounce.
25 There has been a call for a new name, and recently a good suggestion came
28 --- Francois Mikus <fmikus[at]acktomic.com> wrote:
29 > Here is my humble flash, which I think may be appropriate. Which I will
30 > explain why below...
32 > The name I would suggest is;
36 > Has a mythical sounding name without the actual history. Has a resonance
37 > with Torrent, where rrfw deals with a torrent of information. A google
38 > search comes up with near nothing, and nothing commercial. Has a
39 > resonance with Taurus, which is mythical, astrological and has an
40 > underlying strength connotation.
42 > Anyway, this is the best I could think of. And it provides an opening to
43 > have a semi-mythical/comic style yet serious mascot.
45 > You have a LOT of documentation. web pages, code, etc.. But marketing is
46 > the way to win hearts and minds, create a following and get rabid
47 > developpers on-board!
49 Thus the project will be renamed to Torrus, and few other structural changes
50 will accompany the transition.
52 =head2 Releases roadmap
54 Version 0.1.8 will be the last of RRFW, unless some urgencies arise.
56 The first Torrus release will be 1.0.0.
60 =head2 Multiple XML cofiguration directories
62 During XML compilation, the datasource configuration files will be searched in
63 multiple directories. The list of directories and the search sequence
64 will be configurable. This will allow not to mix the distribution XML files
65 and the ones created locally.
67 =head2 Separated directories for templates and configuration
69 Perl configuration files and HTML templates will also be separated into
70 different directories, so that user-editable files don't mix with the
71 ones from distribution.
73 =head2 Commandline launcher
75 A small shell script will be installed as C</usr/local/bin/torrus>,
76 and it will pass all arguments to appropriate torrus executables. For example,
78 torrus compile --tree=main
80 will execute C<compilexml> torrus utility with the argument C<--tree=main>.
84 =head2 New directory hierarchy
86 Filesystem Hierarchy Standard E<lt>http://www.pathname.com/fhs/E<gt>
87 proposes to put the software add-on packages into C</opt> directory
88 and user services data, such as database contents or RRD files, in
91 However, FreeBSD and some other systems are not FHS-compliant, and require
92 to install all additional software into C</usr/local> hierarchy.
94 We propose that Torrus distribution will support three different directory
95 layouts, and the system administrator will decide the most suitable one:
101 Default layout based in C</usr/local>;
105 FHS compliant layout, set by running C<./configure_fhs> instead
110 Custom layout, tunable with standard options and variables in C<./configure>.
115 =head3 Default layout
117 Although many systems like FreeBSD discourage creation of new
118 package-specific subdirectories in /usr/local, we find it quite a common
119 practice, and quite convenient for keeping the files together.
121 /usr/local/torrus/ Home directory for Torrus distribution files
123 +- conf_defaults/ torrus-config.pl and others
125 +- bin/ Command-line executables
127 +- doc/ POD and TXT documentation files
129 +- examples/ Miscelaneous example files
131 +- perllib/ Perl libraries
133 +- plugins/ Plugins configuration
137 +- sup/ Supplementary files, DTDs, MIBs, color schemas,
140 +- templates/ Renderer output templates
142 +- xmlconfig/ Distrubution XML files
144 /usr/local/etc/torrus/ Site configurable files
146 +- conf/ Place for torrus-siteconfig.pl and other siteconfigs
148 +- discovery/ Devdiscover input files
150 +- templates/ User-defined Renderer output templates
152 +- xmlconfig/ User XML configuration files
154 /usr/local/man/ Place for man pages. All articles will have the
157 /var/log/torrus/ Daemon logfiles
159 /var/run/torrus/ Daemon PID files
161 /var/torrus/cache/ Renderer cache
163 /var/torrus/db/ Configuration databases
165 /var/torrus/session_data/ Web interface session files
167 /srv/torrus/collector_rrd/ Default directory for collector
171 =head3 FHS compliant layout
173 /opt/torrus/ Home directory for Torrus distribution files
175 +- conf_defaults/ torrus-config.pl and others
177 +- bin/ Command-line executables
179 +- doc/ POD and TXT documentation files
181 +- examples/ Miscelaneous example files
183 +- perllib/ Perl libraries
185 +- plugins/ Plugins configuration
189 +- sup/ Supplementary files, DTDs, MIBs, color schemas
191 +- templates/ Renderer output templates
193 +- xmlconfig/ Distrubution XML files
195 /etc/opt/torrus/ Site configurable files
197 +- conf/ Place for torrus-siteconfig.pl and other siteconfigs
199 +- discovery/ Devdiscover input files
201 +- xmlconfig/ User XML configuration files
203 /opt/torrus/share/man/ Place for man pages. All articles will have the
206 /var/log/torrus/ Daemon logfiles
208 /var/run/torrus/ Daemon PID files
210 /var/torrus/cache/ Renderer cache
212 /var/torrus/session_data/ Web interface session files
214 /srv/torrus/db/ Configuration databases
216 /srv/torrus/collector_rrd/ Default directory for collector
220 =head2 New plugins design
222 Unlike RRFW, the plugins in Torrus will be installed independently.
223 This will allow to easily add new plugins to an existing installation.
225 The Torrus installer stores all important variable settings in a special
226 file, F<conf_defaults/instvars>. Then the plugin installer is able
227 to access the settings without accessing the Torrus distribution
230 There is a helper utility, C<install_plugin>, which applies all
231 I<configure> variables to the plugin configuration utility.
232 It follows then the standard installation way:
234 ./configure && make && make install
236 Thus the OS-dependent package installators may follow the standard
237 configuration procedure, while those who manually install the software,
240 There are two special directories: F</usr/local/torrus/plugins/torrus-config>
241 and F</usr/local/torrus/plugins/devdiscover-config>. Plugins are
242 allowed to add Perl files there. They will be automatically I<require>'d by
243 F<torrus-config.pl> and F<devdiscover-config.pl>.
249 Copyright (c) 2004 Stanislav Sinyagin