Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: store_internal works for everything now

...

If you leave the store_internal option set to true (or omit  it altogether), then the normal storage  behaviour is selected: opConfig assumes your file contents are text, treats them as the 'command output' for this special command, and stores the output in the database. Hence, you'll see the whole file contents in the GUI, and change detection will be performed line-by-line. This does not cannot work for binary files, and cannot work for large files (above 16 megabytes) either (16 megabytes is MongoDB's size limit for individual documents).

On the other hand with this option set to false, opConfig stores a separate copy of the the file for each revision (under the directory configured with config option opconfig_external_store, usually /usr/local/omk/var/opconfig/external). The 'command output' is made up from the size and the SHA256 checksum of the file contents, and change detection (and the GUI) uses this data instead of the (binary or huge) file contents. This produces much more coarse change detection, but works with binary files. In the GUI you'll see the made up 'command output', and a button to download the actual file data.

...

Furthermore, in opConfig 3.1.1 and newer, any command output that is larger than 16 megabytes is automatically reconfigured for storage on disk. In these versions the configuration option store_internal is also supported for any command whatsoever, not just _download_file_<xyz>, but using the shadow_file facility is more likely to be useful for  'normal' commands.

Grouping commands into sessions

...