Index of /Changes

Icon  Name                    Last modified      Size  
[DIR] Parent Directory - [ZIP] 2011-01-16 21:33 8.3K [TXT] ReadMe.txt 2011-01-16 21:33 2.4K
'Changes' modules

The Changes modules (and related things) are intended to allow
'simple' creation of RSS feeds reporting on changes, based on
information that can be collected by a small perl script.
Essentially, it generates feeds that say that things have been
added, removed or changed.

In the past (an earlier version of this code, which I've
re-written) I've used this to monitor the passwd file, to list
the users that were currently active. I've also used it to
monitor the files and packages installed on systems, and
objects within a file structure. It's not particularly clever,
but the job it does is common, so I've finally bundled
together the local copy so that I can make it available to

I'm sure there are other tools that do similar things, but I'd
not found one that did anything this simple, with a basic
set of inputs.

In order to generate an RSS feed, there are 3 things that need
to be done:

   1. Generate your 'current' data.
      Really this is just a simple task of creating a routine
      which returns a reference to a hash containing values.
      When new keys are added to the hash they'll be reported.
      When they're removed, they'll be reported.
      If the values change, they'll be reported.

   2. Call the Changes::compareStored function to work out what
      This will keep a copy of the last state, so you don't
      have to remember this in your code.
      You can define a custom routine that will describe the
      items that were returned - this is used to spot changed
      values, eg a phone number which has changed on a user's

   3. Call the ChangesRSS::generateFile function to create an
      RSS file containing the changes which were seen, and
      keep a record of those that went before.

The '' file gives a simple example of a function
which generates useful information which can be reported on.
This is used by the '' script to show that
we can report the file correctly - for the password file,
the first report will be that all the users have been added.

'' gives a similar example, to generate
an RSS file, for some simple static data.

As stated in the License.txt, this is released under the
Simplified BSD license, so you've got a lot of freedom
to fix any bugs you find :-)

Justin Fletcher, 16/01/2011.