BASIC LIBRARY FOR NOTICES
---------------------------------

Features
1. The use of templates and tags for formatting izmescheny
2. Action Network, for ease of use
3. Modifiable and adjustable chain formatters Notices
4. A flexible system of channels to send messages
5. Ability to work with mogimi sources Notices
6. Distribution: it is possible to spread the power of notices and the service itself Notices
7. Flexible configuration of distribution groups

---------------------------------

Types of notices:
PUSH - when the initiator of the notice becomes a client. This type of notification is simple. A client that uses a system of notices
in the event of a certain event, initiates sending of the notice of the event.
PULL - the initiator of the event becomes the system notices that a certain Periodicity asks the client
it uses the data to send alerts. These notices can be called the reports.
---------------------------------

Input
To operate paging system to adjust. As the custom data are:
- Action - which must be notified (for PULL-notices you can call it the type of report)
- Templates - which you can build a body of the message
- Tags - they can be used in a template and generated dynamically during the formation of letters
- Consistency between actions and templates
- Set up a schedule for PULL-Notices
- Set up mailing lists and groups

Tag types
Tags can differ by several parameters
- Data provided by tag: the text or a complex object
- Scope Tag: for all mail source for this destination, for a specific letter

Template Types
Pattern is characterized by the way it is formatted, and from it the same way dependent types of tags, which it applies.
In the base implementation are:
- DummyPatternFormatter - does nothing, takes idinstvenny tag - message body
- ReplacePatternFormatter - creates a message by simply replacing the tag on its text value
- NVelocityPatternFormatter - formats the message using the library NVelocity
---------------------------------

Build message from a template
Occurs in several stages:
1) There is a definition tag in the subject and body of the email template using meets both PatternFormatter
2) The values of the tag is requested at the source of notifications through IDependencyProvider
2.1) For the PUSH notification tags and their values can be transmitted through "vtalivanii Announcements
3) Tags and their values are passed to PatternFormatter to format a letter from a template

---------------------------------

The principle of operation PUSH notification

-------------------------------------
system tags
they rasparsivayutsya at least

SYS_RECIPIENT_ID - user id
SYS_RECIPIENT_NAME - recipient name
SYS_RECIPIENT_ADDRESS - address of the recipient (the first of the list)
SYS_RECIPIENT_ADDRESSES - an array of destination addresses