{"id":19252,"date":"2014-04-16T08:00:56","date_gmt":"2014-04-16T14:00:56","guid":{"rendered":"http:\/\/blog.cpanel.net\/?p=19252"},"modified":"2014-04-16T08:00:56","modified_gmt":"2014-04-16T14:00:56","slug":"ui-technology-preview-mysql-feature-using-modern-tools-and-technology","status":"publish","type":"post","link":"https:\/\/devel.www.cpanel.net\/blog\/products\/ui-technology-preview-mysql-feature-using-modern-tools-and-technology\/","title":{"rendered":"UI Technology Preview: MySQL Feature Using Modern Tools and Technology"},"content":{"rendered":"
The cPanel User Interface team has been hard at work these past six months. One of the projects we have been working on, in the shadows of the publicly released features, is an exploration of new technology for cPanel\u2019s User Interface. The next stage in this exploration was to find a replacement for YUI2 and our in-house developed CJT (cPanel JavaScript Tools) library.<\/p>\n
\nWe started a skunk works project in Fall 2013 to look at the options available. We wanted a best-of-breed JavaScript library that would make development faster, was more structured, and supported modern development standards. Based on our wish list, we investigated Backbone.js and Angular.js. We wanted to build something with each of these tools and planned on comparing these to our experience with YUI2 in x3 and YUI3 in x4. A small team was put together and a target feature was chosen, cPanel\u2019s MySQL feature.<\/p>\n
Why the MySQL feature? It is complex, with a lot of interactions that could give us a well-rounded picture of each framework\u2019s strengths and weaknesses. Some of the things we wanted to understand about each of the frameworks included:<\/p>\n
The comparison project went well. After three weeks of work, we had a nearly complete implementation of the MySQL feature in Angular.js and one a little less complete in Backbone.js. We were able to try out many advanced features of both frameworks. After looking over both implementations, we selected Angular.js, due to the increased speed of developing under Angular.js and the reduced amount of code needed to write that application.<\/p>\n
This lead to the second phase of this technology experiment: finishing up the MySQL Angular.js feature. We spent about two weeks reviewing and improving the feature, solved a few small bugs, and did some testing of the feature.<\/p>\n
Now we have reached the final phase of this experimental project: showing off the concept application to some of our clients and seeing what they think.<\/p>\n
The new MySQL interface is available for both x3 and Paper Lantern in the test release. We would like our EDGE users and plugin developer community to take a look at the new application development style and related frameworks and provide early feedback. We will consider this feedback when planning future development work on the product and look forward to any input these audiences can provide regarding the direction of this release.<\/p>\n
The demonstrative build is available at http:\/\/next.cpanel.net<\/a>. On a test server, you can point your update system to this URL using build 11.43.909.13. More complete instructions are available on cPanel Forums<\/a>.<\/p>\n This build demonstrates several aspects of our new technology stack, including:<\/p>\n This project is intended for technology demonstration purposes only so please do not deploy this build to production boxes. While fully functional, it has not been performance and security tested or passed through a full Quality Assurance (QA) cycle yet. Though we have made every effort to remove any bugs, the build may not be bug-free at this point. Again, do not<\/em> install this build on production servers<\/strong>.<\/p>\n This test release includes the original MySQL application alongside the new Angular.js based implementation. You can find the application in both x3 and Paper Lantern.<\/p>\n\n