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

Reply via email to