Are you looking to customize more than just the logo for your dashboard? Possibly adding content from a new API? Adding status icons to the table? Adding more contextual help text for your users? Improving the slow data load for large tables? This session is for you!
Today, Horizon is a Django-based project that provides a core set of libraries on which the OpenStack UI Dashboard is built. Since the Kilo cycle, however, Horizon has shifted toward more client-side development in order to build a more responsive, scalable, user-friendly application. AngularJS is one such tool. It is a popular open-source Javascript framework that extends the basic functionality of HTML to allow for more dynamic web applications.
This session will cover the basics of AngularJS as well as the evolving Horizon landscape. In Kilo, we have decoupled the data access from the data presentation. The new REST framework allows us to talk to the service API directly. With the data on the client-side now, we can focus on usability, including better performance, better workflow logic, more visual enhancements, as well as the ability to leverage more innovative client-side technologies. We can easily customize and enhance the look and feel of the table or wizard using Angular without digging through layers of code. Moving toward client-side development reduces the learning curve and gives more power to the developers to create a custom, optimal dashboard for their purposes.
After this presentation, Horizon deployers will be able to:
- visualize data in any format such as embedding icons and graphs directly into the table, as a result of the decoupling of model and view
- see more of the missing API data that was previously unavailable, as a result of decoupling of model and view
- get immediate visual feedback, the better responsiveness is a result of client-side rendering