V2/CMS Tutorial/User Tools/Creating Content/Import/CSV
Contents
Importing CSV
Senfi allows you to create Assets by importing necessary information from a CSV file. The following section will detail the process to do so, and the specifications of the CSV file.
Prerequisite knowledge:
- Senfi concepts related to Asset
- Senfi concepts related to Lift & Movable Asset
- Senfi concepts related to Asset Relationship
- Zone & Level Zone concepts
- Measurement concepts, and corresponding Tag system.
- External event sources, and corresponding Tag system.
How to Import CSV
- Go to "Import" tab
- Select "CSV" tab
- Select "IMPORT" tab
- Choose the .CSV file to be uploaded.
- Click "NEXT"
- Verify the information of the assets to be imported. Ensure all information is correct before proceeding with the actual import.
- You can click on each asset row to view more information for individual asset.
- You can click on "BACK" to return to previous page if there is any information you wish to change.
- If there is an error with an asset, an alert will appear beside the asset information.
- Once all information is verified to be correct, click "IMPORT" to finish importing the CSV.
- If there is an error still remained when you click "IMPORT", the warning message will display and the assets with an error will be ignored if ignored the warning message.
CSV File Specifications
The supported CSV format is RFC 4180, UTF-8. Saving as CSV from Excel should be compatible for most Excel versions. For the purposes of this guide, we will be using Excel as the CSV editor.
The imported CSV is split into 2 parts.
- Header
- Rows
The first row of the CSV file is the header row. The header row identifies the data contained within each column. The value of the header cell tells Senfi what to do with the column's data. For example, a column with header "Name" tells Senfi to assign the value of that column to the Name of each Asset.
The value of each header cell must equal to senfi-defined values, or conform to senfi-defined format, which will be outlined in the Headers section below. Any columns with non-conforming headers will be ignored.
Each subsequent row (2nd row onwards) in the CSV file is an Asset to be imported.
Headers
Required Columns
The following headers must be in every imported CSV file, with valid values provided for each row. They are required to create an Asset.
- Name
- Is Virtual
- Site ID
Optional Columns
The following headers are optional. They provide more information about the Assets to be imported.
- Description
- Location X
- Location Y
- Location Z
- Is Movable
- Is Lift
- Zones
- a comma separated list of "Zone ID"s that the asset at.
Lift related Columns
If there are Lift assets, the following headers must exist to provide lift related information.
- Stops
- a comma separated list of "Level ID"s that the lift stops at.
- E.g: [1b0dd17a-2785-4771-88ce-7158e7081d05,68caa9f0-32ed-44d1-94cc-9ddc768314d8]
Attribute Columns
To import Attribute information, add a header for each attribute, using the following format:
- [Attribute] <attribute_name>
If an Asset does not have an attribute, leave the column blank for that row.
Measurement Columns
To import measurement's tag information, add a header for each measurement's tag_field with the following format:
- [Measurement] <measurement_code>.<tag_field>
If an Asset does not have the measurement, leave the column blank for that row.
Event Columns
To import event's tag information, add a header for each event's tag_field with the following format:
- [Event] <event_def_id>.<tag_field>
If an Asset does not have the event, leave the column blank for that row.
Relationship Columns
To import asset relationship, add a header for each relationship type (hasPart|controls|feeds|serves|monitors) with the following format:
- [Relationship] <type>
If an Asset does not have this relationship type, leave the column blank for that row. The column value is a comma separated list of "Asset ID"s that the asset have the relationship with.
Stream Columns
To add Video Streams to imported Asset, add the following header.
- Stream
The header can appear multiple times in the header row, as many as is required.
Iframe Columns
To add Iframe to imported Asset, add the following header.
- Iframe
The header can appear multiple times in the header row, as many as is required.
How to obtain relevant IDs
Site ID
Site ID can be obtained from CMS -> Site Page -> Site tab as shown below.
Asset ID
Asset ID can be obtained in CMS -> Asset page -> Asset tab as shown below.
[TODO: Add screenshot]
Zone ID
Zone ID can be obtained in CMS -> Site page -> edit Site -> Zone tab as shown below.
[TODO: Add screenshot]
Stream ID
Video Stream ID can be obtained in CMS -> Video page -> Video Stream tab
Select the Video Adapter hosting the Video Stream. The Video Stream ID will be displayed as shown below
Event Def ID
Event Def ID can be obtained from CMS -> Automation Page -> Event tab as shown below.