Planned functionality
Documentation
Documentation is likely incomplete, but has also gotten a bit more complex as configuration options become supported (sorry).
Script timestamps option
(Available with 0.1.3) schedule-easing.pl --timestamps
should work. It is currently available but not fully tested. See notes in "Timestamp Discovery" in Schedule::Easing.
Relaxing, reducing, decreasing messages over time is experimental
(Available with 0.1.4) Behavior when begin>final
is partially tested. Documentation may be incomplete.
Power and Step inverses are experimental
The functions have not been tested with the timestamps
calculations.
Timestamp support in Block
The block
type is currently universal. It may be useful to have a scheduled blocking event that starts at tsA
, or that concludes at tsB
, or both.
Pass type
Support type=pass
that always includes a matching message. Will help with faster bailout and to avoid unexpected matching against later easing configurations.
To Review
Schedule::Easing::Stream
, alarm()
, and clock
See the comment about the single-use alarm() and how the clock
setting overlaps with the timing of batch processing.
Item weighting
All line/messages have the same weight. Message weighting may be a property of content on the line itself, however. Proposed to collect weights with a regexp, and use a configured total weight for scheduling. This would be separate than a function, though it may be implemented as a score modification function per line.
Value gaps
Both MD5 and Numeric can suffer from notable value gaps. Currently that requires separate configurations.
Sets and rolling windows
This library isn't designed for ongoing rotation though sets of names, such as oncall rotations or words, such as the names of the days of the week. Rolling MD5/numeric windows are also not supported at this time (the first 10%, the second 10%, the third 10%, ...). Preselection via modular arithmetic is a much simpler solution, though it may be beneficial in the long term to support such behavior within a unified configuration. Additional examples are needed before considering this as an easing option.
Rolling expanding windows
Windows of the form 1, 2, 3, ..., followed by "1 and 2", then "2 and 3", ..., then "1 and 2 and 3". These can likely be achieved with MD5 using multiple digest captures. Additional examples are needed before considering this as an easing option.