.. _idigi-db:

********************
iDigi DB
********************

.. index:: presentations; iDigi DB

Overview
====================

This presentation allows for the iDigi Dia to utilize the iDigi.com storage
service to store sample information.

Whenever the specified interval of time has expired, or the number of new
samples exceeds the sample_threshold, this presentation pushes up channel
information to iDigi.  It retrieves a list of all channels, and pushes
up any that have had new samples since the last push to iDigi.

In order to provide the most efficient operation possible for this
presentation, we offer a filter on the channels you wish to subscribe to.
Omitting the channels setting causes this presentation to listen on all
channels, but it is recommended to specify the channels you are interested
in if possible.

Configuration
====================

A typical iDigi DB configuration block looks like this::

    - name: idigi_db1
      driver: presentations.idigi_db.idigi_db:iDigi_DB
      settings:
          interval: 60
          sample_threshold: 10
          collection: my_collection
          file_count: 10
          filename: sample
          channels: [template.counter, template.adder_reg1]

Settings
--------------------

interval (optional, default: 60)
    Maximum interval in seconds that this module waits before sending
    data to the iDigi Manager Database.

sample_threshold (optional, default: 10)
    Minimum number of samples required before sending data to the iDigi
    Manager Database.

collection (optional)
    Collection on the database where the data will be stored.

file_count (optional, default: 20)
    Number of unique files we will keep on iDigi.

filename (optional, default: sample)
    Name of the XML file we will push to iDigi, with a number 
    appended to the end (cycling from 1 to file_count).

channels (optional)
    List of channels the module is subscribed to. If no channels are
    listed, all channels are subscribed to.

secure (optional, default: True)
    By default, all data is transferred using an encrypted transfer.
    If an unencrypted transfer is desired, set this option to False.
    NOTE: The Digi ConnectPort X3 currently does NOT support this option,
    and the option MUST be set to False.

compact_xml (optional, default: False)
    True will produce output XML with the information stored as attributes
    to the sample node instead of separately tagged, resulting in smaller
    XML output.


