Hey all! Just wanted to update you on some changes being made to the web admin tool. The last two weeks or so, webadmin development has lived in a nice, quiet branch, but it is now merged back into the server master.
*First, a TL;DR:* I've made a bunch of big changes to webadmin, it is now more awesome, but there are probably lots of bugs, please give feedback :) *And then, giant detailed email:* *The merge means some good technical things have happened:* - We now use Backbone.js, which has lead to much better code structure ( http://documentcloud.github.com/backbone/) - All webadmin code is written in Coffeescript, which looks like a blend of Python, Ruby and JS. This has really sped up development, and I hope this will make it easier for non-JS fans to interact with the webadmin code base. (http://jashkenas.github.com/coffee-script/) - We use require.js to define dependencies between coffeescript files. This gets rid off a ton of stuff in the server POM, makes debugging easier, and allows us to use require.js tools to aggregate and optimize both JS and CSS for production packaging. This will also make it easy to dynamically load JS plugins into webadmin if we want that functionality later on. - All templates are written in HAML, which is a major improvement to the JST templates we used before. - Based on Andreas work on the web-visualization project, the webadmin integration tests can now be triggered to run in both IE, FF and Chrome. They pass in FF, there seems to be bugs/inconsistencies in how webdriver handles keyboard emulation in chrome, and I haven't had time to run the tests in IE (they won't pass, see further down). - All webdriver tests are written as Cucumber tests, allowing us to write easy-to-read tests that can be direct translations of features and related acceptance criteria from our user stories. See https://github.com/neo4j/server/blob/master/server/features/webadmin/databrowser-node.featurefor an example. * It also means some new features are now in place:* - A new and more polished UI - A complete rewrite of the data browser, hopefully making it easier, more straight forward and faster to use - The new data browser features both a tabular and a visualized view of the data. The visualized view is so far only a two-day hack to see that it works, but it will get lots of caressing and love before the 1.3 release. - Our first keyboard shortcut, and a simple framework to cleanly put more of them in place. Press "s" to get to the databrowser search bar from any page. *And there are a few things I need to work on before the 1.3 release*: - The webdriver tests are not currently run by teamcity. Andrés/Thomas: To have it run them, change the mvn call for the webdriver step to be "mvn integration-test -Dtests=web". Note that b/c of the cucumber stuff, running them has the same requirements as running the server-QA branch. - IE currently does not work. I've resolved some issues, but have a few related to plotting and searching in the data browser left. Oh, and it looks like absolute bollocks and vomits exceptions. Will adress ASAP. - The build pipeline for webadmin is not included in the server pom. Yeah. Don't panic, doing mvn package will produce a server artifact with a working webadmin. What I mean is that the build system does not currently propagate changes in the coffeescript or HAML files (under src/main/coffeescript) into "compiled" js files in the webadmin-html directory. I wrote a mashup maven plugin that does exactly that ( https://github.com/jakewins/brew), but because I got sidetracked and because the general consensus appears to be maven will be replaced soon, I never put the effort in to get the plugin to maven central. Thus, currently and reluctantly, the toolchain for working with webadmin is disconnected from the normal build system. I'm really sorry about that, this will be my first priority to fix. If anyone is wanting to do any work that would require this toolchain before this is resolved, drop me an email and I'll explain how to set it up. Phew. Sorry about the giant email. I'm off for a week in Austria in a few hours, before the last snow melts, will be back to coding Monday evening the 28'th and will make the issues listed above, together with visualization, my top priorities. I would really love to hear your comments and see bug reports, so that we can deliver a seriously awesome, beautiful and stable web admin tool in the 1.3 release. Cheers! Jacob Hansson Phone: +46 (0) 763503395 Twitter: @jakewins _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user