The 'lifetime' Element
A lifetime element collectively represents the start DateTime and expiration DateTime of a blip message. It contains two attributes: 'start' and 'expire', each of which are required to contain a DateTime data type.
The 'start' Attribute
The 'start' attribute of the 'lifetime' element represents the start of a BLIP messages lifetime. In the case of an event, the start time would represent the DateTime at which the event commences. In the case of an announcement from the local grocery store regarding a sale on a particular item, it would represent the DateTime in which the sale begins.
The 'expire' Attribute
The 'expire' attribute of the 'lifetime' element represents the expiration of a BLIP messages lifetime. In the case of an event, the expire DateTime would represent the DateTime at which the event concludes. In the case of an announcement from the local grocery store regarding a sale on a particular item, it would represent the DateTime in which the sale finishes.
The 'publish' Attribute
The 'publish' attribute of the 'lifetime' element represents the earliest DateTime at which the message should be seen as "in scope." This provides the ability for message publishers to push messages to a service provider in advance, ensuring that the message is never returned in queries to the system until the DateTime specified by the value of the 'publish' attribute has been reached.
The 'archive' Attribute
The optional 'archive' attribute of the 'lifetime' element allows the ability for the message publisher to specify whether a message can be archived, extending its lifetime visibility scope to a specific or implicit DateTime in the future. Its value represents a DateTime that is less than, equal to, or greater than the DateTime value of the 'expire' attribute. If the 'archive' attribute is not specified the message publisher is implicitly allowing the message to be archived indefinitely. In the case where the DateTime value of the archive attribute is specified as less than the DateTime of the expire attribute, the message publisher is specifying to the service provider to stop advertising the existence of a message at the given DateTime regardless of the fact that the value of the expire DateTime may be greater than the current DateTime and therefore technically still within range of its lifetime visibility scope. This type of usage will be helpful in cases where the message represents an event or a product that has been sold out or for other reasons should no longer be returned in response to queries.
On the other hand, in cases where the message should no longer be returned in search results for items who's start DateTime is still in the future but can still be archived for historical reasons, the 'expire' attribute can be updated by the message publisher to reflect the DateTime in which the lifetime applicability scope should expire. If necessary, the 'archive' attribute should be created or updated to reflect how long the message should be archived.
