Who Created Cyclotron?

Cyclotron was created by Expedia Group in 2013. It was released to the world as an open-source project in 2015.

Why Cyclotron?

Cyclotron was inspired by the repetitive nature of building dashboard websites. As a platform, Cyclotron provides common scaffolding and plumbing that many dashboards can leverage.

Instead of spending time evaluating web frameworks and configuring Grunt/Gulp/Webpack/Browserify, you can skip straight to creating a dashboard.

What Does Cyclotron Provide?

Here's a short list:

  • Web server: all dashboards are hosted within Cyclotron
  • Layout engine: Cyclotron arranges and sizes Widgets in a dashboard, and scales to the browser
  • Data Sources: Built-in components for loading data, with optional filtering/sorting, refresh
  • Widgets: Build-in components for visualizing data (e.g. chart, table, etc)

What Exactly Is a Dashboard?

According to Wikipedia , a dashboard is "a management tool used to get an overview of enterprise health."

In Cyclotron terms, a dashboard is a web page that can be configured to load and display data. The "what", "where", and "how" is up to the user—at minimum, Cyclotron provides a URL and a blank web page. Widgets and Data Sources can be added and configured, along with other commonly required functionality.

How is a Dashboard Created?

A dashboard is declaratively defined as a JSON document, which contains all the properties needed for Cyclotron to render the dashboard. Cyclotron has an editor that knows all the available properties, and creates this JSON document automatically.

Why Use Cyclotron vs. Building a Custom Dashboard?

Taking advantage of the built-in features of Cyclotron can make it faster and easier to create dashboards without starting from scratch. However, Cyclotron may not be a good fit for all dashboards. We believe that Cyclotron is a good fit for a wide range of use cases, but its feature set cannot offer the same flexibility that custom development can afford.

Is Cyclotron Extensible?

Yes, Cyclotron exposes many extension points for dashboards:

  • JavaScript and CSS stylesheets can be linked or embedded directly in dashboards.
  • Inline JavaScript can be used directly in many properties to dynamically generate content
  • HTML and JavaScript widgets provide a means of embedding custom content or visualizations
In addition, custom Widgets, Data Sources, or Themes could be developed and integrated with Cyclotron, for reuse across dashboards.

How Many Dashboards Can One Cyclotron Instance Support?

One instance of Cyclotron can contain virtually any number of dashboards, provided MongoDB has enough space to store them. Aside from storage requirements, each additional Dashboard does not increase the load on Cyclotron. Increasing users will put additional load on Cyclotron, but the client-side rendering of dashboards offloads most of the work.

How Many Users Can One Cyclotron Instance Support?

Cyclotron was designed to allow multiple users to create and view dashboards; there's no real limit to the number of users. As mentioned above, increasing concurrent users will put additional load on Cyclotron, but this should be negligible.

As the number of users grows, Tags can be assigned to dashboards to help with organiziation. And if authentication is enabled, permissions can be set to restrict editing or viewing of dashboards.

Can Cyclotron be Load-Balanced?

Yes, the REST API is stateless, and single MongoDB instance or replica set can be used with multiple instances of the REST API. Similarly, multiple web servers hosting the Cyclotron web site can be load-balanced together.

Does Cyclotron Support Authentication and Permissions?

Yes, Cyclotron has (optional) support for LDAP or Active Directory integration. If enabled, permisisons can be set on dashboards to restrict editing and/or viewing

Can I Use Cyclotron to Host Dashboards on the Internet?

It is not recommended to deploy Cyclotron as-is in a public setting. Cyclotron was designed to be used in a corporate intranet environment, rather than for public dashboards.

In addition, it's possible to create malicious dashboards using the extensibility features of Cyclotron. Allowing untrustworthy users to create dashboards is not recommended.

Can Cyclotron Be Used Without MongoDB?

Not currently; however it would be possible to reimplement the REST API using a different database, without changing the front-end.

What Operating Systems are Supported?

Cyclotron's main dependencies are Node.js and MongoDB, so most OSes which can rnu these two products should also run Cyclotron. Cyclotron has been tested succesfully on current versions of Linux (CentOS), OS X, and Windows.

Check out Getting Started for more information on installation.

Can I Deploy in the Cloud?


Can I Host My Dashboard on a Separate Domain?

Meaning, use http://mydashboard instead of http://cyclotron/mydashboard.

No, this isn't supported natively by Cyclotron. The solution involves installing Nginx on another server (since only one service can run on port 80), and configuring Nginx as a reverse-proxyto the Cyclotron dashboard.

Do I Need a Highcharts License?

The Chart Widget has a dependency on the excellent Highcharts charting library, wrapping its functionality and customization into Cyclotron.

Highchartsoffers both a commercial license as well as a free non-commercial license. Please review the licensing options and terms before using this software, as the Cyclotron license neither provides nor implies a license for Highcharts.

The only feature depending on Highcharts is the Chart widget, so both can be removedif necessary to avoid any licensing concerns.

Can I Use Cyclotron to Create Web Sites?

Yes, Cyclotron can be used to create web sites that don't look like traditional dashboards. The HTML Widget can embed custom HTML, and custom JavaScript and CSS can be loaded as well.

Some users have taken advantage of this approach to build a completely custom UI, while still leveraging Cyclotron's Data Sources and other features.

I Don't Need All These Widgets and Data Sources

Not a problem. It's pretty easy to remove unwanted Widget or Data Sources,with the added benefit of reducing the size of downloaded resources. Check outEXTENDING.md in the repository for more details.

Can I Contribute?

Absolutely! Bug reports, feature requests, and pull requests are all welcome on the GitHub page. Please refer toCONTRIBUTING.md in the repository for more details, especially before submitting any pull requests.

Back to top