We need to introduce a new value type (aka Type of information) Binary. It must be stored as a blob in a new table history_binary. The first (and the only, for now) use for this type is to store screenshots from browser tests.
It's understood that introducing a new value type is a lot of work in all components so we need to reduce the scope of the changes to as narrow as possible. We also need to keep the number of design decisions to the minimum. For instance, rather than figuring out how triggers should work with the Binary type, we can state that triggers do not support this type and thus can be kept off value cache.
Other functionality we can now sacrifice in the name of narrow scope is preprocessing and support for item types other than Dependent (thus, no need to support it in agents, SNMP, sender, etc). In the UI/API we must also figure how to get away with as few changes as possible (e.g. Items form apparently needs to be changed, but no need to invent how to get and display history in Latest data, just string "binary" is enough).
Please research this change request and:
- Evaluate the impact and list all components/areas that need to be changed
- Estimate development efforts
- List limitations that are worth introducing to limit the scope
|Frontend changes for binary item type