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/.