The Anatomy of a Losant Application Export

Exporting a Losant Application allows users to share their applications with users outside of their organization easily. All of the export files are human-readable, which makes it easy to use things like Git to independently version control your Losant Applications.

But what’s in a Losant Export?

Here’s what’s inside :face_with_monocle:

β”œβ”€β”€ application.yaml
β”œβ”€β”€ dashboards
β”‚   β”œβ”€β”€ Generator_Details.yaml
β”‚   └── Overview.yaml
β”œβ”€β”€ dataTables
β”‚   β”œβ”€β”€ warnings_and_alarms.csv
β”‚   └── warnings_and_alarms.yaml
β”œβ”€β”€ deviceRecipes.yaml
β”œβ”€β”€ devices.yaml
β”œβ”€β”€ experience
β”‚   β”œβ”€β”€ develop
β”‚   β”‚   β”œβ”€β”€ components
β”‚   β”‚   β”‚   β”œβ”€β”€ component-device-list.hbs
β”‚   β”‚   β”‚   β”œβ”€β”€ components.yaml
β”‚   β”‚   β”‚   └── css-templates.hbs
β”‚   β”‚   β”œβ”€β”€ endpoints.yaml
β”‚   β”‚   β”œβ”€β”€ layouts
β”‚   β”‚   β”‚   β”œβ”€β”€ layout-dashboard-page.hbs
β”‚   β”‚   β”‚   └── layouts.yaml
β”‚   β”‚   β”œβ”€β”€ pages
β”‚   β”‚   β”‚   β”œβ”€β”€ page-dashboard-device.hbs
β”‚   β”‚   β”‚   β”œβ”€β”€ page-dashboard-overview.hbs
β”‚   β”‚   β”‚   β”œβ”€β”€ page-login.hbs
β”‚   β”‚   β”‚   └── pages.yaml
β”‚   β”‚   β”œβ”€β”€ version.yaml
β”‚   β”‚   └── workflows
β”‚   β”‚       β”œβ”€β”€ Workflow_-_GET__.yaml
β”‚   β”‚       β”œβ”€β”€ Workflow_-_GET__logout.yaml
β”‚   β”‚       └── Workflow_-_POST__login.yaml
β”‚   β”œβ”€β”€ groups.yaml
β”‚   └── users.yaml
β”œβ”€β”€ files
β”‚   β”œβ”€β”€ device-images
β”‚   β”‚   └── rd05034.png
β”‚   β”œβ”€β”€ favicon.ico
β”‚   β”œβ”€β”€ kanarra-logo-small.png
β”‚   β”œβ”€β”€ kanarra-logo-stacked.png
β”‚   └── reset.css
└── workflows
    └── Simulate_Devices.yaml

The exported files are human-readable in YAML format, which makes the files not only easy to version control, but also easy to read, understand, and edit.

You can edit these files in the text editor of your choice and edit them! But let’s say that you would like to import just the Workflows from this export…

You can just remove everything but the workflows folder (and it’s contents), re-zip the folder, and upload that zipped file to Losant for what we call a β€œpartial” import. Your folder would look like this:

β”œβ”€β”€ application.yaml
    └── workflows
        β”œβ”€β”€ Conditionals.yaml
        β”œβ”€β”€ Email_Node_Example.yaml
        └── Simulate_Devices.yaml

Once imported into Losant, everything will be the same, but the updated workflows will be there!

All exported YAML files, except file resources, will always have two keys: resourceType and resources. If you do not have any resources of a specific type, that file will not be exported.

Have you edited Application files before? What have you been using Application Exporting or Importing for?