zznate / intravert-ug

Experimental vert.x integration with Apache Cassandra
Apache License 2.0
65 stars 14 forks source link

Add a simple javascript UI. #151

Open boneill42 opened 11 years ago

boneill42 commented 11 years ago

This is probably a low priority and absolutely not necessary for v1.0, but I know the UI in Virgil (as limited/simple as it is) has a lot of people hooked. (developers use it over CQL/cli to quickly view data)

Even if it is simple as a page that allows people to check the vital statistics: a list of keyspaces/cfs and the cluster configuration... that goes a long way. (especially in non-prod environments where people may not want the overhead of opcenter, etc.)

If we end up supporting the virgil API, I could straight port the UI over. (it uses ExtJS, which is a little heavy) Or I/we could probably crank one out quickly using jquery.

zznate commented 11 years ago

Yeah - I'm all for supporting the UI.

If it's a simple mater of re-formatting the JSON that comes back from the eventBus handlers, that's fine with me. My goal all along was to be backwards compatible with virgil.

edwardcapriolo commented 11 years ago

ExtJs has some licencing issues yes. I know it's sexy but I have read they have done a "bad thing". Fact or fiction?

edwardcapriolo commented 11 years ago

Other then licences stuff I am all for porting the UI. I also want to create a simple one that allows us to post json in intravery format and get the response on page.

boneill42 commented 11 years ago

Yep. Its supposedly okay to embed ExtJS in an open-source project, but not so cool to absorb into a commercial product. It only took me a night or two to put together. Its about a hundred lines of code... (http://brianoneill.blogspot.com/2011/11/virgil-gui-for-cassandra-now-included.html)

I think we could easily implement the same thing in again using a different library.

zznate commented 11 years ago

There's like 30mil jscript libraries out there and there are all pretty ok from what I hear. I would really prefer this to be license compatible (principle of the matter as well).

boneill42 commented 11 years ago

+1, agreed.

edwardcapriolo commented 11 years ago

I had done a bit of reading and found several people have problems with the way ExtJs is licensed.

http://en.wikipedia.org/wiki/Ext_JS

YUI-Ext was available under the BSD license. In April 2008 the open source license associated with Ext was changed. In version 2.0.2, the authors stated that Ext was available under an LGPL-style license as long as you "plan to use Ext in a personal, educational or non-profit manner" or "in an open source project that precludes using non-open source software" or "are using Ext in a commercial application that is not a software development library or toolkit". This was no longer the case with Ext 2.1.[10] Some people[who?] claimed that the license conditions as the authors described it stood while others[weasel words] claimed that clause 7[11] of the LGPL-style license enabled the software to be used by all regardless of Ext's conditions. The Ext authors claim that section 7 of the LGPL as it is worded did not apply to "conditions" which their license required before distribution under the LGPL was permitted as opposed to "additional restrictions" which section 7 allowed a distributor to remove.[citation needed]

On 20 April 2008, Ext 2.1 was released under a new dual license structure which allowed the options of the full GPL 3.0 license or a commercial license.[12]

The change in license over time, from a permissive open source license to a restrictive dual license, caused controversy in the Ext user community.[13][14][15][16]

I mean I do not want to incur extra work but I think i would rather avoid it.Since I find it a bit shadey.

boneill42 commented 11 years ago

While we're hating on it.... ExtJS is also pretty heavy. Unless you incorporate a build tool, you need to pull in an enormous library. I'll take a look around to see what might work best. If you guys have any suggestions let me know. Regardless, once we have a simple REST layer, layering on a javascript UI should be cake.

edanuff commented 11 years ago

I've heard very good things about AngularJS (http://angularjs.org/) from the guys I (and Nate) work with. It's MIT license. Worth checking out.