update yangvisualizer (checkbox, hide/show nodes, sorting modules, disable zooming)
[dlux.git] / README.md
index f6c6a1da0bed8ffaa0d81db7e978cc851b32a0ff..9c39851ba649ad90a3f37fe17ef2c9e491c1c7c4 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,40 +1,48 @@
 # OpenDaylight DLUX \r
 \r
-OpenDaylight DLUX is a Javascript stateless user interface that communicates with the service backend to provide a consistent and user-friendly interface to interact with OpenDaylight projects and base controller.\r
+OpenDaylight DLUX is a Javascript-based stateless user interface that communicates with the service backend to provide a consistent and user-friendly interface to interact with OpenDaylight projects and base controller.\r
 \r
 \r
 ## Quick Start\r
 \r
-Install Node.js then:\r
+1. Install Node.js. Use link http://nodejs.org/download/\r
+2. Go to directory dlux-web from command line\r
+\r
+   $ cd dlux-web\r
+\r
+3. Execute following steps from shell prompt\r
+\r
+   $ sudo npm -g install grunt-cli karma bower\r
+   $ npm install\r
+   $ bower install\r
 \r
-```sh\r
-$ sudo npm -g install grunt-cli karma bower\r
-$ npm install\r
-$ bower install\r
-$ grunt watch\r
-```\r
 \r
-Finally, open `file:///path/to/ng-boilerplate/build/index.html` in your browser.\r
+4. To run the dlux on local node server, use command\r
 \r
-If you want to run the dlux on local node server, use command\r
+   $ grunt live\r
 \r
-$ grunt live\r
+It will start server at http://localhost:9000/. It expects your controller to be running at localhost:8181.\r
 \r
-It will start server at http://localhost:9000/. It expects your controller to be running at localhost:8080. We can change it in app.js.\r
+You can change the base url of controller in file dlux-web/config/development.json\r
 \r
-To generate OSGi bundle for controller, run\r
+\r
+5. To generate OSGi bundle for controller, run\r
 \r
  $ mvn clean install\r
 \r
-It will generate dlux-web-0.1.0-SNAPSHOT.jar under target/.\r
-Copy this jar bundle to plugins directory inside your controller distribution. Then, you can access Dlux UI at http://localhost:8080/dlux/index.html.\r
+It will generate dlux-web-0.1.0-SNAPSHOT.jar under dlux-web/target/.\r
+This assumes that dlux is deployed on same node where md-sal is present. If md-sal is present at different OSGi container,\r
+then you should update the base url in file dlux-web/config/production.json\r
+\r
+6. Copy this jar bundle to plugins directory inside your controller distribution. Then, you can access Dlux UI at http://<<Controller IP>>:8181/dlux/index.html.\r
+\r
 \r
 ## Overall Directory Structure\r
 \r
 At a high level, the structure looks roughly like this:\r
 \r
 ```\r
-dlux/\r
+dlux-web/\r
   |- grunt-tasks/\r
   |- karma/\r
   |- src/\r
@@ -142,12 +150,12 @@ And everything will be done automatically!
 \r
 To make the build even faster, tasks are placed into two categories: build and\r
 compile. The build tasks (like those we've been discussing) are the minimal\r
-tasks required to run your app during development.\r
+tasks required to run your app during development. Build use developement.json for configuration.\r
 \r
 Compile tasks, however, get your app ready for production. The compile tasks\r
 include concatenation, minification, compression, etc. These tasks take a little\r
 bit longer to run and are not at all necessary for development so are not called\r
-automatically during build or watch.\r
+automatically during build or watch. Compile use production.json as configuration file.\r
 \r
 To initiate a full compile, you simply run the default task:\r
 \r
@@ -193,3 +201,14 @@ following to the end of the `body` tag in `index.html`:
 \r
 Boom!\r
 \r
+### Testing\r
+\r
+Tests can be run via grunt-watch command. It opens separate Chrome instance for running tests. This instance need to be open\r
+at all times (or at least during the time you want tests to be executed). Note on test execution speed - Chrome is at lower CPU \r
+priority when minimalized, or tab where are test executed is not active. This grealy decreases test execution speed, so in that \r
+case, just bring up the Chrome and/or activate tab with tests. Test are executed every time on Grunt jshint command.\r
+\r
+If you want to create/alter new task or command in Gruntfile and want to plug in test execution, you can add karma:unit to new \r
+Grunt task or karma:unit:run to Grunt command.\r
+\r
+If you are writing tests, they should be in same folder as tested file in form <TESTED_FILE>.spec.js\r