Framework for building UIs for OpenStack projects dealing with complex input data
Go to file
Timur Sufiev 531dc56c64 Fix changing Action/Workflow/Task id
To make it happen <collapsible-group> directive had to undergo the
same transformation that was applied to <panel> directive: instead of
passing just a '@title' reference, the whole '=content' reference is
now passed to the <collapsible-group>'s scope. This allows to use
<editable> directive inside it with 'ng-model=group.title' as
getter/setter method. Yet <collapsible-group>'s scope wasn't remade as
radically as <panel>'s was - '&on-add' and '&on-remove' are still
there and left for future refactoring.

Change-Id: I4de7a542f282efee6deb34d4957a5873d617ad64
Closes-Bug: #1446171
Closes-Bug: #1446226
2015-04-28 21:05:32 +03:00
bin Add karma testing 2015-04-17 15:27:11 +03:00
extensions Fix changing Action/Workflow/Task id 2015-04-28 21:05:32 +03:00
merlin Fix changing Action/Workflow/Task id 2015-04-28 21:05:32 +03:00
tools Rewrite Merlin as a collection of Django apps for Horizon integration 2014-10-16 19:32:50 +04:00
.gitignore Refactor third-party libraries usage and clean up karma config 2015-04-25 19:18:52 +00:00
.gitreview Added .gitreview 2014-08-28 23:51:02 +00:00
Gruntfile.js Add karma testing 2015-04-17 15:27:11 +03:00
README.md Add info to README.md on running unit tests locally 2015-04-22 14:33:30 +03:00
bower.json Refactor third-party libraries usage and clean up karma config 2015-04-25 19:18:52 +00:00
karma-unit.conf.js Rewrite <editable> directive 2015-04-28 17:05:18 +03:00
nodeenv.sh Add karma testing 2015-04-17 15:27:11 +03:00
package.json Add unit-tests for merlin directives 2015-04-25 11:00:39 -07:00
requirements.txt Rewrite Merlin as a collection of Django apps for Horizon integration 2014-10-16 19:32:50 +04:00
test-requirements.txt Rewrite Merlin as a collection of Django apps for Horizon integration 2014-10-16 19:32:50 +04:00
tox.ini Add karma testing 2015-04-17 15:27:11 +03:00

README.md

Instructions on integrating Merlin extensions into Horizon

Although the repo contains directories meant to be used as Django apps (with templates, static files, urls & views), the whole project is not meant to be run as a standalone Django web-application (with its own settings.py etc). Instead, it should be embedded into running Horizon instance. To do so you should perform the following steps:

  1. The easiest way to always use the latest version of Merlin is by using symlinks. Identify the directory where openstack_dashboard and horizon reside. Let's assume this is /usr/lib/python2.7/site-packages and merlin repo is located at /home/user/dev/merlin. Then run the following commands
# for main Merlin sources
ln -s /home/user/dev/merlin/merlin /usr/lib/python2.7/site-packages/merlin
# for files of the Merlin's Mistral extension
ln -s /home/user/dev/merlin/extensions/mistral /usr/lib/python2.7/site-packages/mistral
  1. Next thing to do is add panel with Mistral Workbook builder (a Merlin extension) into Horizon. To do it, copy the pluggable config for the Mistral panel:
cp /home/user/dev/merlin/extensions/enabled/_50_add_mistral_panel.py /usr/lib/python2.7/site-packages/openstack_dashboard/enabled/
  1. Restart Horizon web-server. According to the default values in _50_add_mistral_panel.py you would be able to Mistral panel inside the Project dashboard, Orchestration panel group.

How to run Merlin unit-tests locally

  1. cd /home/user/dev/merlin
  2. npm install
  • If npm is not installed yet, run sudo apt-get install npm (let's assume you're using Ubuntu) and sudo apt-get install nodejs-legacy
  1. node_modules/.bin/bower install
  2. sudo npm install -g grunt-cli
  3. grunt test:unit

For more info please refer to https://wiki.openstack.org/wiki/Merlin