Visit Our UNIX and Linux User Community

SVN::Notify::Alternative(3pm)				User Contributed Perl Documentation			     SVN::Notify::Alternative(3pm)

Name
       SVN::Notify::Alternative - MIME multipart/alternative notification

Synopsis
       Use svnnotify in post-commit:

	 svnnotify --repos-path "$1" --revision "$2" 
	   --to developers@example.com --handler Alternative [options]

       For example:

	 svnnotify --repos-path "$1" --revision "$2" 
	   --to developers@example.com --handler Alternative 
	   --alternative HTML::ColorDiff

       Use the class in a custom script:

	 use SVN::Notify::Alternative;

	 my $notifier = SVN::Notify::Alternative->new(%params);
	 $notifier->prepare;
	 $notifier->execute;

Description
       This subclass of SVN::Notify sends MIME multipart/alternative email messages for Subversion activity. The messages contain both the
       standard SVN::Notify plain text change notification and one or more alternative formats of the message. The default alternative format is
       HTML.

       Note that this means that many or all of the processing of a subversion commit will be executed multiple times, once for the plain text
       version and then again for each alternative version. This will therefore increase resource usage on your Subversion server (mainly
       processor time, but also possibly memory).

       It also means that the size of the outgoing message will increase for each alternative. If you're using "--with-diff", then those messages
       could be very large indeed for large commits. If, however, you use "--attach-diff", the diff will only be attached to the last alternative.

Usage
       To use SVN::Notify::Alternative, simply follow the instructions in SVN::Notify, but when using svnnotify, use the "--alternative" option to
       add one or more alternative formats.

Class Interface
   Constructor
       new

	 my $notifier = SVN::Notify::Alternative->new(%params);

       Constructs and returns a new SVN::Notify object. All parameters supported by SVN::Notity are supported here, as are the options of all
       specified alternative formats, but SVN::Notify::Alternative supports an additional parameter:

       alternatives
	     svnnotify --alternative HTML
	     svnnotify --alt HTML --alt HTML::ColorDiff

	   An array reference that specifies the SVN::Notify handlers (subclasses) to be used for formatting the alternative parts of the
	   notification message. The command-line option may be called as either "--alternative" or "--alt", and the value is the same as that of
	   the SVN::Notify "--handler" parameter, i.e.	the module name without the "SVN::Notify::" prefix. Specify the option multiple times to
	   specify multiple alternative handlers. Defaults to "['HTML']" if not specified.

Instance Interface
   Instance Methods
       output

	 $notifier->output($file_handle);

       Overrides the "output()" method of SVN::Notify to replace the standard message output with a MIME "multipart/alternative" skeleton. It then
       creates new instances of the standard SVN::Notify plain text formatter and each of the configured alternative formatters, and uses those
       instances to fill in the alternative parts of the message. If "attach_diff" is true, it will be used only in the last alternative to be
       output, which should also be the richest format.

   Accessors
       In addition to those supported by SVN::Notify, SVN::Notify::Alternative supports the following accessors:

       alternatives

	 my $alts = $notify->alternatives;
	 $notify->alternatives($alts);

       Gets or sets the value of the "alternatives" attribute, which must always be set to an array reference.

See Also
       SVN::Notify

Authors
       Jukka Zitting <jz@yukatan.fi>

       David E. Wheeler <david@kineticode.com>

Copyright and License
       Copyright (c) 2005-2009 Jukka Zitting and Kineticode, Inc. Some Rights Reserved.

       This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

perl v5.10.1							    2011-03-15					     SVN::Notify::Alternative(3pm)

Featured Tech Videos