Persistents in condition statements are accessed in the same way as in the prelude. The following action will fire when the persistent variable ent:archive_pages is greater than 3:
if ent:archive_pages > 3 then
notify(...)
Persistent flags and counters can also be tested with an associated timeframe. For example, the following action will fire when persistent variable ent:archive_pages is greater than 3 and the last time it as set was within the last two hours:
if ent:archive_pages > 3 within 2 hours then
notify(...)
The syntax of timeframe-limited predicates is as follows:
<pvar> (<= | >= | < | > | == | !=) <expr>
within <expr> (weeks| days| hours | minutes| seconds)
where <pvar> is a persistent flag or counter and <expr> is any valid KRL expression that returns a number.
Persistent trails can be tested using the seen predicate. There are two forms. The first form asks whether a regular expression has been seen within an optional timeframe (specified exactly as above). So, you can say:
if seen re#/archive/2006# in ent:my_trail then
notify(...)
or
if seen re#/archive/2006# in ent:my_trail
within 3 days then
notify(...)
The second form of special predicates for trails allows for checking whether a match of one regular expression appears before an item matched by another. This example would fire the action when a place matching the regular expression re#/archive/2006# was put on the trail before a place matching the regular expression re#/archive/2007#.
if seen re#/archive/2006# before re#/archive/2007#
in ent:my_trail then
notify(...)
Note that before in the preceding conditional is not the same as the before operator in an eventex event though they share the same name.
General
Content
Integrations