LLUP:Lifetime Visibility Scope
The lifetime visibility scope of a message can be viewed in several ways:
- Its specific lifetime which is defined by its 'start' and 'expire' DateTime attributes.
- Its conception + specific lifetime defined by its optional 'publish' attribute coupled with 'start', and 'expire' DateTime attributes.
In the first case, while the message might be scheduled to start at a specific DateTime in the future, the message publisher hasn't placed any restrictions as to the initial lifetime visibility scope of the message. As such, the lifetime visibility scope of the message is implicitly specified to begin as soon as the message has been received by the service provider. This allows the consumer to "peer into the future" to locate potential content of interest, using DateTime filters to determine the result set that should be returned by a given query. For example, setting a filter to show messages that match certain keywords who have a start DateTime specified as less than or equal 24 hours from the current DateTime.
In the second case, the message publisher has specified a DateTime in which the message can first be made visible. As such, the total visibility scope of the message is explicitly specified to begin at the DateTime specified by the 'publish' attribute.
In both cases, the message publisher can also specify whether the message can be archived, extending its lifetime visibility scope to a specific or implicit DateTime in the future. This is done via the optional 'archive' attribute of the scope element who's value is 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 has implicitly specified 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 queries related to the future but can be archived for historical reasons, the lifetime applicability scope can be adjusted by updating the 'expire' attribute to a DateTime that specifies when the message should no longer appear in search results for items who's start DateTime is greater than the current DateTime.