DailyUpdate version 7.00

Written by David Coppit (coppit@cs.virginia.edu,
  http://www.cs.virginia.edu/~dwc3q/index.html)


DailyUpdate is an information integrator. It creates a custom web page from a
template HTML file with special tags, replacing those tags with dynamic
information acquired from the internet.

Send me email if you would like to be notified of updates.

Please send me any modifications you make to the main script. (for the better,
that is. :) Keep in mind that I'm likely to turn down obscure features to
avoid including everything but the kitchen sink. Check out the TODO file for
ways you can help, and DESIGN for a quick description of the major modules.

If you make a nice web page using Daily Update and want to show it off, send
me an email and I'll add it to the examples. Thanks!


DOCUMENTATION

Go to http://www.cs.virginia.edu/~dwc3q/code/DailyUpdate/index.html. Also try
'perldoc DailyUpdate.pl'. There's also a user manual that explains the command
syntax at http://www.cs.virginia.edu/~dwc3q/code/DailyUpdate/manual.html.


CHANGES

New in version 7.0: 
- This is a major rewrite, with a new syntax and improved support for web
  developers.
- See the file MIGRATING for hints on how to move to the new version from
  older versions, and how to upgrade handlers you've written.
- None of the old handlers work. You'll have to download the new ones and
  migrate the ones you've written yourself but haven't submitted to me.
- Improved caching
- New, separated input, filtering, and output commands. This means you'll have
  to update your input files to reflect the new syntax.
- New and improved MakeHandler.pl
- -v for verbose output
- Added StripAttributes HTMLsubstr TrimOpenTags functions to HTMLTools.
- Added day of the week and timezone support to handler update times.
- New web support for browsing handlers
- Daily Update mailing list
- Now Daily Update prints a message if it times out.
- When a handler fails, a comment is inserted in the output instead of
  printing it to visible HTML.
- Miscellaneous bug fixes
- Miscellaneous bugs introduced. :) (I reworked a lot of the code.)

Acknowledgements:
The main acknowledgement goes to Rob Saunders (rob@arch.usyd.edu.au), whose
invaluable feedback helped develop the new syntax and "handler philosophy".
Thanks also to Leonard D. Richardson (leonardr@ucla.edu) for suggesting the
addition of timezones. I feel like I'm forgetting someone. Sorry if it's you.


PREREQUISITES

You will need Perl version 5.004 or newer. In addition, Daily Update uses the
libwww library (LWP), URI (NOT URI::URL!), HTML-Tree, HTML::Parser, and
Date::Manip. You can download these packages with the following URLs:
http://www.perl.com/CPAN/modules/by-module/LWP/libwww-perl-5.41.tar.gz
http://www.perl.com/CPAN/modules/by-module/URI/URI-1.00.tar.gz
http://www.perl.com/CPAN/modules/by-module/HTML/HTML-Tree-0.51.tar.gz
http://www.perl.com/CPAN/modules/by-module/HTML/HTML-Parser-2.22.tar.gz
http://www.perl.com/CPAN/modules/by-module/Date/DateManip-5.33.tar.gz


INSTALLATION

Installation is semi-interactive, and pretty much self-explanatory. I'm still
ironing out the installation bugs, so please let me know if this can be
improved.

DOS/Windows folks: you may have to use nmake or dmake instead of make. Also,
PREFIX seems to be ignored in Windows. Sorry, but you'll have to do a
system-wide install.

- System-wide installation

perl Makefile.PL
make
make install

You may want to edit the sytem-wide DailyUpdate.cfg file in order to point
handlerLocations to any system-supported handlers that all users can use.

Users should copy DailyUpdate.cfg to ~/.DailyUpdate.cfg if they want to modify
the configuration. (To set the input and output files, for example.

- Single User installation (Doesn't work on DOS/Windows)

perl Makefile.PL INSTALLDIRS=perl PREFIX=/path INSTALLMAN1DIR=/path/man/man1
make
make pure_perl_install DailyUpdate_Cleanup

Add /path/lib/perl5 to your PERL5LIB environment variable, either temporarily
at the command line, or permanently in your .profile. Use something like:
set PERL5LIB=$PERL5LIB:/path/lib/perl5;export PERL5LIB

You'll have to manually move the man file from the install directory to your
favorite man location, or set your MANPATH to include the install directory's
man subdirectory.

Also, if you run this version using crontab, you'll have to tell perl where to
find the modules, since they will be in a nonstandard location:
perl -I/path/lib/perl5 /path/bin/DailyUpdate.pl

- General information

Configuration information is first looked for in ~/.DailyUpdate, and
then in the system-wide location specified during installation.

The distribution comes with an example input file, template.txt, and a handler
generator, MakeHandler.pl. (The latter is installed with DailyUpdate.pl.)

If you have problems, see the FAQ at
http://www.cs.virginia.edu/~dwc3q/code/DailyUpdate/faq.html


RUNNING

Run 'DailyUpdate.pl -na -i template.txt -o output.html' from the command line.
Look at the template.txt file and the output.html file. See
http://www.cs.virginia.edu/~dwc3q/code/DailyUpdate/handlers.html for more
tags.

Since the example template isn't too exciting, you may want to take your
normal homepage and jazz it up with the Daily Update tags. Change the inHtml
and outHtml variables in the DailyUpdate.cfg file.

Try 'perldoc DailyUpdate.pl' for documentation, or visit the web page at
http://www.cs.virginia.edu/~dwc3q/code/DailyUpdate/index.html.


SUPPORT

Send email to coppit@cs.virginia.edu.


AVAILABILITY

The latest version is always available at
http://www.cs.virginia.edu/~dwc3q/code/DailyUpdate/index.html. In addition,
there will be archived versions on $CPAN/authors/id/D/DC/DCOPPIT/.


COPYRIGHT

Written by David Coppit (coppit@cs.virginia.edu,
  http://www.cs.virginia.edu/~dwc3q/index.html)

This code is distributed under the GNU General Public License (GPL). See
http://www.opensource.org/gpl-license.html and http://www.opensource.org/.

