1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248
|
#
# 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.
# Stanislav Sinyagin <ssinyagin@yahoo.com>
#
=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 <fmikus[at]acktomic.com> 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</usr/local/bin/torrus>,
and it will pass all arguments to appropriate torrus executables. For example,
torrus compile --tree=main
will execute C<compilexml> torrus utility with the argument C<--tree=main>.
=head2 New directory hierarchy
Filesystem Hierarchy Standard E<lt>http://www.pathname.com/fhs/E<gt>
proposes to put the software add-on packages into C</opt> directory
and user services data, such as database contents or RRD files, in
C</srv> directory.
However, FreeBSD and some other systems are not FHS-compliant, and require
to install all additional software into C</usr/local> 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</usr/local>;
=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<torrus_>
/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<torrus_>
/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<conf_defaults/instvars>. Then the plugin installer is able
to access the settings without accessing the Torrus distribution
directory.
There is a helper utility, C<install_plugin>, which applies all
I<configure> 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</usr/local/torrus/plugins/torrus-config>
and F</usr/local/torrus/plugins/devdiscover-config>. Plugins are
allowed to add Perl files there. They will be automatically I<require>'d by
F<torrus-config.pl> and F<devdiscover-config.pl>.
=head2 Authors
Copyright (c) 2004 Stanislav Sinyagin
|