LogoLogo
OverviewDemos and ResourcesContact
  • What is Engine?
  • Key Concepts
    • Drivers
    • Modules
    • Systems
    • Zones
    • Settings
    • Interfaces
    • Triggers
  • Security
  • Deployment
    • System Architecture
    • Single Sign-On
      • Configuring Engine for SAML2
      • SAML2 with Azure AD
      • SAML2 with ADFS
      • SAML2 with Auth0
      • SAML2 with GSuite
      • OAuth2
  • Integrations
    • Supported Integrations
    • Directory Services
      • Microsoft Office365
    • IoT
      • Device Drivers
      • Node-RED
      • Azure IOT Hub
    • Location Services
      • Locating Users on a Network
      • SVG Map Creation
      • Cisco CMX
      • Cisco Meraki RTLS
      • Desk Sensors
  • Administration
    • Backoffice
      • Systems
      • Devices
      • Drivers
      • Zones
      • Triggers
      • Metrics
      • Users
      • Domains
        • Applications
  • Developer Guide
    • Development Environment
    • Building Drivers
      • Discovery and Metadata
      • State
      • Scheduling Actions
      • Response Tokenisation
      • Device Drivers
      • SSH Drivers
      • Service Drivers
      • Logic Drivers
      • Testing
      • Live Monitoring
      • Logging
      • Security
      • Utilities and Helpers
    • User Interfaces
      • Composer
      • Virtual Systems
      • Widgets
      • Settings.json
  • API
    • Authentication
    • Control
      • Systems
      • Modules
      • Dependencies
      • Zones
      • Websocket
        • Commands
          • bind
          • unbind
          • exec
          • debug
          • ignore
        • Heartbeat
        • Errors
  • Support
    • Service Desk
Powered by GitBook
On this page
  • What you will need
  • Install some core tools
  • Running the Demo UI
  • Angular Resources
  • Updating your environment

Was this helpful?

  1. Developer Guide

User Interfaces

PreviousUtilities and HelpersNextComposer

Last updated 5 years ago

Was this helpful?

Building an interface for Engine is the same as building any generic web application. We try to follow industry best practices and leverage the tools used by most developers in the industry.

  • NOTE:: Windows users are recommended to install the .

    • Tools such as git and your preferred text editor make sense to run on Win32

    • Whilst both NodeJS and Ruby can run natively on Windows they are much harder to manage and use effectively when compared to their Linux counterparts.

What you will need

Please install the following applications as they are core requirements for interface development

  1. - version control

  2. A text editor

    • are cool

  3. - development platform

Install some core tools

Running the Demo UI

This is a project that can run against the Engine development environment, for those who want some instant gratification.

  1. Create a folder for storing your interface projects

  2. Open a command prompt at that location

  3. cd ngx-composer-starter to move into the folder

  4. npm install to install the project dependencies

  5. gulp serve to run the development server

NB: If you are planning to run the user interface project without the Engine Developer environment, in Step 6 above you will need to use gulp serve --mock this will allow the interface to run 'headless' with mock data for development purposes.

Angular Resources

Angular is our preferred web application framework. We recommend being familiar with it before continuing.

Updating your environment

This will keep you running on the latest version of the platform as there are periodic updates.

  • Updating NPM: npm install npm@latest -g

  • Updating NodeJS (Windows users should download the latest MSI, unless using the Linux subsystem)

    • sudo npm cache clean -f

    • sudo npm install -g n

    • sudo n stable

The tools and libraries that help with development are available via npm which is the . We recommend installing the following command line helpers

npm install -g @angular/cli

npm install --global gulp-cli

Clone the git clone https://github.com/acaprojects/ngx-composer-starter.git

NB: While the existing UIs are relatively plug'n'play with a locally spun up , a domain must first be set for localhost or your machine's IP address before authentication will be functional. Ensure the domain that's set is the same as what you're accessing the frontend app with and matches the composer config in . i.e. What's typed into the browser address bar matches the settings.json and the domain configured in Engine.

- for a basic understanding of Angular applications

- fundamentals of Angular

Linux subsystem for Windows
git
Sublime Text
Atom
Visual Studio Code
Font Ligatures
NodeJS
Ruby
Node Package Manager
Angular CLI
Gulp
Composer Starter
https://angular.io/guide/quickstart
https://angular.io/tutorial
settings.json
Engine environment