Difference between revisions of "DATA FLOWS"

From Anitra Support
Jump to: navigation, search
((OUT) Anitra to Movebank data feed)
({{Fa|fa-upload}} (IN) Manual data import)
 
(13 intermediate revisions by the same user not shown)
Line 19: Line 19:
  
 
== Ecotone ==
 
== Ecotone ==
:* details needed: Ecotone panel name (=URL of CSV files storage), user name, and password
+
: Details needed: Ecotone panel name (=URL of CSV files storage), user name, and password
:* user can manage this connector fully i.e. create, edit, run (once or schedule regular run), and delete<br>[[File:Ecotone2Anitra_setup_wizard.JPG|400px]]
+
: User can manage this connector fully i.e. create, edit, run (once or schedule regular run), and delete<br>[[File:Ecotone2Anitra_setup_wizard.JPG|400px]]
  
 
== Ornitela ==
 
== Ornitela ==
:* details needed: Ornitela user name and password  
+
: Details needed: Ornitela user name and password  
:* for Ornitela the data integration relies on Ornitela SFTP functionality.  
+
: Ornitela integration is realised using "Ornitela SFTP" functionality.  
 
:* i.e. in this case user creates, edits the data connector, and requests activation (or requests deactivation) of the data flow
 
:* i.e. in this case user creates, edits the data connector, and requests activation (or requests deactivation) of the data flow
 
:* by requesting activation user also requests to have the SFTP configuration in his Ornitela pannel configured by us. <br>[[File:Ornitela2Anitra_setup_wizard.JPG|400px]]
 
:* by requesting activation user also requests to have the SFTP configuration in his Ornitela pannel configured by us. <br>[[File:Ornitela2Anitra_setup_wizard.JPG|400px]]
:* Note some related aspects using SFTP:
+
: Note other related aspects using SFTP:
:** only new data are integrated once the data flow is activated.  
+
:* only new data are integrated once the data flow is activated.  
:** for importing older data (records created before the feed activation) use import functionality (any duplicate records are merged or skipped so you can import the same period repeatedly).   
+
:* for importing older data (records created before the feed activation) use the [[DATA_FLOWS#.28IN.29_Manual_data_import|Manual Data Import]] functionality (any duplicate records are merged or skipped so you can import the same period repeatedly).   
:** only the devices marked for SFTP export in the Ornitela panel will be automatically updated into Anitra
+
:* only the devices marked for SFTP export in the Ornitela panel will be automatically updated into Anitra
:** make sure you also update the connector definition anytime you are changing your Ornitela user password  
+
:* make sure you also update the connector definition anytime you are changing your Ornitela user password  
:** also bear in mind that modifying the list of devices marked for SFTP (unchecking and checking again) will result in the data flow interruption and thus to some possible gaps in the data.
+
:* also bear in mind that modifying the list of devices marked for SFTP (unchecking and checking again) will result in the data flow interruption and thus to some possible gaps in the data.
  
 
== Movebank to Anitra ==
 
== Movebank to Anitra ==
:* configuring this connector a Movebank data + Movebank metadata are connected  
+
: Configuring this connector a Movebank data (+ Movebank metadata) are connected  
:* Movebank API is employed for accessing the records
+
: Movebank API is employed for accessing the records
:* in this case user is supposed to enter a movebank username and password in combination with Movebank Study ID and request the data flow activation <br>[[File:Movebank2Anitra_setup_wizard.JPG|400px]]
+
: In this case user is supposed to enter a movebank username and password in combination with Movebank Study ID and request the data flow activation <br>[[File:Movebank2Anitra_setup_wizard.JPG|400px]]
  
 
= {{Fa|fa-upload}} (IN) Manual data import=  
 
= {{Fa|fa-upload}} (IN) Manual data import=  
  
Data Import dialog for orgaanisation level data can be accessed in Data management section of your customer profile
+
: Data Import dialog can be accessed in the Data management section of your Customer/Organization profile.
<br>[[File:manual_customer_import.JPG|1200px]]
+
: Imported data are merged under the Customer/Organisation account (new devices added or data appended to existing devices).
  
Import dialog now accepts data in the following structure/teplates:
+
: Import flow starts by browsing a file (or multiple files).<br>[[File:customer_import_01_file_selection.jpg|900px]]
  
1) data mapped directly to Anitra database column names:
+
: An import wizard in a separate browser tab is open and automated file preprocessing (checking file type, header/columns, and actual data in the file) is run.
* labeled as a "Basic format" file type in the Import dialog
+
: Messages about the progress of file checking are displayed.
* download this template file listing available columns and sample values to be used
+
: In case any errors preventing the file from being imported occur the actual import (last step of the flow) is not triggered.
 +
: In case the file passes the checks successfully (no blocking errors detected) user will confirm the import by submitting it into the database import queue in the last step of the wizard. <br>[[File:customer_import_02_import_wizard.jpg|900px]]
  
2) data in the original file structure and format of Anitra and some other tag producers (fixed custom mapping of original files to Anitra database).  
+
: '''1) Aquiring file'''
* labeled as "Anitra CSV format"
+
:: File is downloaded into working space of the import procedure. This step also confirms the import service is actually ready to process your file.
* labeled as "Ornitela CSV format" (version 1 file)
 
* labeled as "Ecotone CSV format" 
 
It allows importing telemetry data in the original file structure and format generated by tag producers control pannels
 
These flows can be useful when uploading older data files not available anymore to automated flow e.g. older records after having activated Ornitela SFTP data flow (which only generated new records).
 
  
 +
: '''2) File format and structure checking'''
 +
:: CSV files only are accepted currently.
 +
:: The CSV is supposed to be well structured i.e.:
 +
::* Columns to be delimitted by a valid column separators (TAB, comma or semi-colon)
 +
::* UTF-8 data encoding to be used etc
 +
:: First row must contain column list
 +
:: column names must be unique and not empty
 +
:: Wrong files will display errors and would not be imported.
  
Note this general behavior traits of the import flow
+
: '''3) Detect import file format'''
 +
:: Import dialog now accepts data in several formats/structures
 +
:: The format is automatically detected from the first file row (column header).
 +
:: To pass this step successfully the column list must match one of the accepted formats i.e the mandatory columns (such as device identification, datetime, or latitude and longitude) per format to be supplied and matching
 +
:: Missing columns (or column names not matching) related to optional data result in having these columns skipped and not imported.
  
* import procedure performs append and merge data operations i.e.
+
:: The following formats/structures/templates are now accepted:
** for any new device (device_code) detected in the file a new Device will be created in Anitra and all the imported rows linked to it
+
:: '''Basic'''  - Anitra general import structure designed for importing custom (any) data   
** for devices matching existing Anitra devices the data from the file will be merged (rows inserted or updated using data timestamp, no delete occures here)
+
::: Data mapped directly to Anitra database column names
 +
::: Check our guidelines and sample files while preparing your import files
 +
:::* [https://memos-my.sharepoint.com/:x:/g/personal/dusan_rak_anitra_cz/EW3wvkVaaFlMjlp9yFMEgT4BFu_8rAWtlCh2nOUuVrfmkQ?e=XenvK8| guideline file] - explains mandatory columns, lists correct column names and data types to be used, and gives some example values
 +
:::* [https://memos-my.sharepoint.com/:x:/g/personal/dusan_rak_anitra_cz/EQhkt8fmgPVDjUak8IhbxPkBceKv7jXoiF2dhp6gcJ0lMg?e=GeAxvj| template CSV file] - This is how your files should be structured. Note the file contains a header row and several sample/test rows.
  
* first step of the import flow evaluates the file structure and the data contained
+
:: '''Movebank''' data (to be imported via Basic format currently)
** completely wrong files will display errors and will not be imported. following type of problems will prevent file from being imported
 
*** wrong column separators,
 
*** unmatching names of key columns (such as device identification, dateime, or latitude and longitude or containi)
 
*** duplicate column names in the list
 
*** wrong coding used<br>[[File:import_column_errors.jpg|1200px]]
 
** some less severe problems will only result in having some columns from the file skipped and not imported. e.g.missing column name or wrong name (not exactly matching teh template columns)<br>[[File:import_column_warnings.jpg|1200px]]
 
  
* similarly as for the file structure the rows are also checked. The rows with problem data are detected, problems shown and rows skipped while importing. You can possibly notice these  
+
:: For importing data in the original CSV file structure and format generated by some other tag producers (fixed custom mapping of original files to Anitra database) these import formats are also implemented.
** errors:
+
:: '''Ecotone'''
*** data in the cell not matching the expected target format (e.g. wrong date time format, string data too long, text data in numeric columns or similar datatype conflicts etc)
+
::: Devices created using Ecotone import format are automatically labeled as device type "Ecotone" in Anitra (same as if these were created via Ecotone integration - see automatic integration section)
*** all these rows will be skipped during the import<br>[[File:import_data_errors.jpg|1200px]]
+
:: '''Ornitela'''
** warnings:
+
::: Ornitela import currently accepts multiple versions of the Ornitela CSV file (versions 1 and 2, GPS, GPS+SENSORS, etc). Note the "SENSORS" rows are skipped and not imported.
*** possible data loss by overwritiong existing data (same combination of device and date time already exists in the database)  
+
::: Devices created using Ornitela import format are automatically labeled as device type "Ornitela" in Anitra (same as if these were created via Ornitela integration - see automatic integration section)
*** these row will be used to update existing data base records<br>[[File:import_data_warnings.jpg|1200px]]
 
  
 +
:: Flows using native file formats can be useful when uploading older data files not available anymore to automated integration flow e.g. older records after having activated Ornitela SFTP data flow (which only generates new records).
  
Note
+
: '''4) Validate data'''
* any user (inculding those not involved in any Customer account) can upload data under their private user profile (ask us in case you need this feature activated for your user account)
+
:: Once the import file is successfully matched a data-checking phase follows (i.e. rows are checked)
** in this case devices created are stored in users profile only and have no relationship with any Customer/Organisation entity
+
 
** the user who uploaded the data becomes "Device Owner"
+
:: Data validation step checks the values against datatypes expected in target columns (e.g. wrong date time format, string data too long, text data in numeric columns, or similar datatype conflicts, etc)
* for importing data in the particular customer profile (not in personal profile) make sure you chose one of your organization accounts in the "Upload in profile" selection
+
:: The rows/cells with problem data are detected and problems are shown.
** in this case data imported will be incorporated under the selected "Customer/Organisation" entity
+
:: ''Note the past option of skipping the error rows processing only non-error data not currently implemented. I.e any data error in the file prevents the whole file from being imported.''<br>[[File:customer_import_03b_import_wizard_data_err.jpg|900px]]
 +
 
 +
:: The second major task of the validation phase is to check the previous existence of the rows in the database.
 +
:: Rows matching existing records are prepared to be possibly '''updated'''.
 +
:: Rows not matching existing records are prepared to be '''inserted'''.
 +
:: Additionally, special purpose rows are removed from the file (e.g. not processed sensor rows in Ornitela files)
 +
 
 +
:: Note the import procedure performs append and merge data operations  (Also note no data delete occurs).
 +
::: For any new device (device_code) detected in the file a new Device will be created in Anitra and all the imported rows linked to it.
 +
::: For devices matching existing Anitra devices the data from the file will be merged (rows inserted or updated using data timestamp). Note a possible data loss by overwriting existing data (the same combination of device and date time already exists in the database).
 +
 
 +
:: In case no data errors are detected user can decide if new rows should be inserted and/or existing data should be updated.
 +
:: Hitting the Import button submits the task to the server queue for processing.<br>[[File:customer_import_03c_import_wizard_data_ok.jpg|700px]]
 +
 
 +
: After the import is done a summary is provided.
 +
 
 +
: Note you can import simultaneously more files in one import session. Each of the files runs independently through its 5-step import flow.
 +
: As the import of large files can last many minutes or even hours (depending on server overload), you can close the browser tab (or even your computer) any time during the import. In case you need to return to the import screen use the "Running imports" list in the customer profile to reopen the session again<br>[[File:customer_import_04_running_imports.jpg|900px]]
 +
 
 +
: [[IMPORT_OLD| Manual import functionality - old version (before 2024)]]
  
 
= (OUT) Anitra API data & metadata access =
 
= (OUT) Anitra API data & metadata access =
Line 110: Line 135:
  
 
= (OUT) Manual DATA Export=
 
= (OUT) Manual DATA Export=
* allows manually exporting data from Anitra to CSV, XLSX, KML, and GPX formats for offline use
+
: Allows manually exporting data from Anitra to CSV, XLSX, KMZ, and GPX formats for offline use.
  
* export feature can be launched in various contexts / places of the platform:
+
: Data export is available
# '''Customer''' level (data integration section of customer profile) - full data for all ANITRA devices owned by Customer are bulk exported in this case. <br>[[File:export_customer_profile.JPG|500px]] <br>''Note having collected lot of data, this type of export is prone to fail - for mass downloading all your data we strongly recomend using our API functionality instead!.''
+
:* for Device entity
# '''Device '''level  - the "Export" button in Device profile or using context menu in Device grid.<br>[[File:export_device_grid.JPG|900px]]
+
:** the "Export" button in the Device profile  
# '''Tracking ''' level  - the "Export" button in Animal/Tracking profile or using context menu in Tracking grid<br>[[File:export_tracking_profile.JPG|900px]]
+
:** context menu in Device grid<br>[[File:export_device_grid.JPG|900px]]
 +
:* for Tracking/Animal entities
 +
:** the "Export" button in Tracking/Animal profile  
 +
:** context menu in Tracking grid.<br>[[File:export_tracking_profile.JPG|900px]]
  
* exported data can be filtered by a date range
+
: Note the content and the structure of the exported file can managed in the export dialogue
* the column editor feature allows modifying output columns in terms of columns list, column order, and naming of exported columns (a user preference)<br>[[File:export_edit_columns.JPG|900px]]
+
:: * Format selector allows to swithc between the four available file formats (CSV, XLSX, KMZ, and GPX)
 +
:: * Time filter optioanly allows filtering the exported data range by time interval (empty dates = full dataset from the first till the last record)
 +
:: * Export settings section offers more export options for selected file format (e.g. default text qualifiers or field separators can be overriden here)
 +
:: * The column editor feature allows modifying output columns in terms of columns list, column order, and naming of exported columns (a user preference)<br>[[File:export_edit_columns.JPG|900px]]
  
* Note the data export functionality is typicaly only available for device admins users (Customer/Device Owner/Admins). Users with shared access ("view only") are not supposed to download and store the shared records outside of the system. In case of need a "share with data export" can be used.<br>[[File: share_with_export.JPG|900px]]
+
: Note the data export functionality is typicaly only available for device admins users (Customer/Device Owner/Admins). Users with shared access ("view only") are not supposed to download and store the shared records outside of the system. In case of need a "share with data export" can be used.<br>[[File: share_with_export.JPG|900px]]
  
 
= (OUT) Manual METADATA Export =
 
= (OUT) Manual METADATA Export =

Latest revision as of 12:23, 24 April 2024


(IN) Inbound DATA flows

A possibility of plugging to external telemetry data sources and having them fed into Anitra
Note the devices imported from the data source are imported to your profile and listed in the device list. A unified metadata structure can be then created on top of the imported data (Device - :Tracking - Animal). Ultimately data from various sources can be browsed and visualized side by side in a unified metadata-rich structure
Connectors for the following data sources currently exist:
  • Movebank
  • Ecotone
  • Ornitela
Inbound connections are managed in the "Integrations In" section of Customer profile.
Customer Profile Inbound.jpg
The overview of existing connections allows adding, editing/removal and running/scheduling the connection
Use the "+create new" button to launch the connector creation wizard and enter the information required for running the feed
Inbound connection overview.jpg
Note each of the connectors works differently and hence also the information needed for running the data flow and scheduling the run slightly differs.

Ecotone

Details needed: Ecotone panel name (=URL of CSV files storage), user name, and password
User can manage this connector fully i.e. create, edit, run (once or schedule regular run), and delete
Ecotone2Anitra setup wizard.JPG

Ornitela

Details needed: Ornitela user name and password
Ornitela integration is realised using "Ornitela SFTP" functionality.
  • i.e. in this case user creates, edits the data connector, and requests activation (or requests deactivation) of the data flow
  • by requesting activation user also requests to have the SFTP configuration in his Ornitela pannel configured by us.
    Ornitela2Anitra setup wizard.JPG
Note other related aspects using SFTP:
  • only new data are integrated once the data flow is activated.
  • for importing older data (records created before the feed activation) use the Manual Data Import functionality (any duplicate records are merged or skipped so you can import the same period repeatedly).
  • only the devices marked for SFTP export in the Ornitela panel will be automatically updated into Anitra
  • make sure you also update the connector definition anytime you are changing your Ornitela user password
  • also bear in mind that modifying the list of devices marked for SFTP (unchecking and checking again) will result in the data flow interruption and thus to some possible gaps in the data.

Movebank to Anitra

Configuring this connector a Movebank data (+ Movebank metadata) are connected
Movebank API is employed for accessing the records
In this case user is supposed to enter a movebank username and password in combination with Movebank Study ID and request the data flow activation
Movebank2Anitra setup wizard.JPG

(IN) Manual data import

Data Import dialog can be accessed in the Data management section of your Customer/Organization profile.
Imported data are merged under the Customer/Organisation account (new devices added or data appended to existing devices).
Import flow starts by browsing a file (or multiple files).
Customer import 01 file selection.jpg
An import wizard in a separate browser tab is open and automated file preprocessing (checking file type, header/columns, and actual data in the file) is run.
Messages about the progress of file checking are displayed.
In case any errors preventing the file from being imported occur the actual import (last step of the flow) is not triggered.
In case the file passes the checks successfully (no blocking errors detected) user will confirm the import by submitting it into the database import queue in the last step of the wizard.
Customer import 02 import wizard.jpg
1) Aquiring file
File is downloaded into working space of the import procedure. This step also confirms the import service is actually ready to process your file.
2) File format and structure checking
CSV files only are accepted currently.
The CSV is supposed to be well structured i.e.:
  • Columns to be delimitted by a valid column separators (TAB, comma or semi-colon)
  • UTF-8 data encoding to be used etc
First row must contain column list
column names must be unique and not empty
Wrong files will display errors and would not be imported.
3) Detect import file format
Import dialog now accepts data in several formats/structures
The format is automatically detected from the first file row (column header).
To pass this step successfully the column list must match one of the accepted formats i.e the mandatory columns (such as device identification, datetime, or latitude and longitude) per format to be supplied and matching
Missing columns (or column names not matching) related to optional data result in having these columns skipped and not imported.
The following formats/structures/templates are now accepted:
Basic - Anitra general import structure designed for importing custom (any) data
Data mapped directly to Anitra database column names
Check our guidelines and sample files while preparing your import files
  • guideline file - explains mandatory columns, lists correct column names and data types to be used, and gives some example values
  • template CSV file - This is how your files should be structured. Note the file contains a header row and several sample/test rows.
Movebank data (to be imported via Basic format currently)
For importing data in the original CSV file structure and format generated by some other tag producers (fixed custom mapping of original files to Anitra database) these import formats are also implemented.
Ecotone
Devices created using Ecotone import format are automatically labeled as device type "Ecotone" in Anitra (same as if these were created via Ecotone integration - see automatic integration section)
Ornitela
Ornitela import currently accepts multiple versions of the Ornitela CSV file (versions 1 and 2, GPS, GPS+SENSORS, etc). Note the "SENSORS" rows are skipped and not imported.
Devices created using Ornitela import format are automatically labeled as device type "Ornitela" in Anitra (same as if these were created via Ornitela integration - see automatic integration section)
Flows using native file formats can be useful when uploading older data files not available anymore to automated integration flow e.g. older records after having activated Ornitela SFTP data flow (which only generates new records).
4) Validate data
Once the import file is successfully matched a data-checking phase follows (i.e. rows are checked)
Data validation step checks the values against datatypes expected in target columns (e.g. wrong date time format, string data too long, text data in numeric columns, or similar datatype conflicts, etc)
The rows/cells with problem data are detected and problems are shown.
Note the past option of skipping the error rows processing only non-error data not currently implemented. I.e any data error in the file prevents the whole file from being imported.
Customer import 03b import wizard data err.jpg
The second major task of the validation phase is to check the previous existence of the rows in the database.
Rows matching existing records are prepared to be possibly updated.
Rows not matching existing records are prepared to be inserted.
Additionally, special purpose rows are removed from the file (e.g. not processed sensor rows in Ornitela files)
Note the import procedure performs append and merge data operations (Also note no data delete occurs).
For any new device (device_code) detected in the file a new Device will be created in Anitra and all the imported rows linked to it.
For devices matching existing Anitra devices the data from the file will be merged (rows inserted or updated using data timestamp). Note a possible data loss by overwriting existing data (the same combination of device and date time already exists in the database).
In case no data errors are detected user can decide if new rows should be inserted and/or existing data should be updated.
Hitting the Import button submits the task to the server queue for processing.
Customer import 03c import wizard data ok.jpg
After the import is done a summary is provided.
Note you can import simultaneously more files in one import session. Each of the files runs independently through its 5-step import flow.
As the import of large files can last many minutes or even hours (depending on server overload), you can close the browser tab (or even your computer) any time during the import. In case you need to return to the import screen use the "Running imports" list in the customer profile to reopen the session again
Customer import 04 running imports.jpg
Manual import functionality - old version (before 2024)

(OUT) Anitra API data & metadata access

  • allows grabbing Anitra DATA and METADATA from external tools such as from GIS systems API interface
  • curent version of API offers access to the following items:
    • Device List (=Device metadata)
    • Device Data
    • Tracking List (=Tracking and Animal metadata)
    • Tracking Data
  • for detailed documentation and examples of API implementation refer to Anitra Public API documentation
  • note the API is currently linked to user access rights. Therefore your API credentials can be managed down in your user profile "API keys" section. You can generate new keys or revoke existing here.
    Api credentials.JPG


(OUT) Anitra to Movebank data feed

  • Anitra to Movevebank data feed can be set up in the "integration out" section of the customer profile using the "+create new" button
    Movebank customer profile integrationOUT.JPG
  • a Movebank data owner username needs to be specified and credentials verified before saving.
  • the account provided will be used to host all the data synchronized into Movebank
    Movebank customer profile integrationOUT setup.JPG
  • activate the connector by the button in Service status column
    Movebank customer profile integrationOUT.JPG
  • by default the synchronization is inactive for the new devices
  • you can switch ON/OFF data synchronization for particular tags using the "Export to Movebank" checkbox in the device profile.


Movebank check deviceprofile.JPG

  • review the status of the check and the last time of synchronization of each of your devices at the device list
    Movebank device list columns.JPG

(OUT) Manual DATA Export

Allows manually exporting data from Anitra to CSV, XLSX, KMZ, and GPX formats for offline use.
Data export is available
  • for Device entity
    • the "Export" button in the Device profile
    • context menu in Device grid
      Export device grid.JPG
  • for Tracking/Animal entities
    • the "Export" button in Tracking/Animal profile
    • context menu in Tracking grid.
      Export tracking profile.JPG
Note the content and the structure of the exported file can managed in the export dialogue
* Format selector allows to swithc between the four available file formats (CSV, XLSX, KMZ, and GPX)
* Time filter optioanly allows filtering the exported data range by time interval (empty dates = full dataset from the first till the last record)
* Export settings section offers more export options for selected file format (e.g. default text qualifiers or field separators can be overriden here)
* The column editor feature allows modifying output columns in terms of columns list, column order, and naming of exported columns (a user preference)
Export edit columns.JPG
Note the data export functionality is typicaly only available for device admins users (Customer/Device Owner/Admins). Users with shared access ("view only") are not supposed to download and store the shared records outside of the system. In case of need a "share with data export" can be used.
Share with export.JPG

(OUT) Manual METADATA Export

  • allows manually exporting Device, Tracking and Animal metadata from Anitra to CSV and XLSX formats
  • this export feature can be launched in Device and Tracking list using items from the context dialogue
    Export meta tracking grid.JPG
  • you can modify the columns that will be exported (column list, order, names) using "column editor"
  • use the item "edit columns" from context dialogue over the Device or Tracking grid header line and switch to "export grid" configuration
    Export meta edit columns.JPG