Framework for building UIs for OpenStack projects dealing with complex input data
Go to file
Timur Sufiev 4bc01fe872 Fix the bug with asynchronous template loading
Due to each field template being loaded asynchronously it was possible
that some templates hadn't been put to the $templateCache by the time
they were requested from it for rendering a field directive. This lead
to some random field shown in the initial document not being rendered
at all. Fix this problem by using promises, effectively delaying the
field rendering until the moment the template is finally loaded. Using
promises also allows to not use $templateCache at all - the
templateContents are passed as resolve() method argument.

Also add 'ng-cloak' directive to the toplevel Workbook div to prevent
raw Angular template flickering during initial load.

Change-Id: I8a52b9730b52d4dd20400460137576713c081867
Closes-Bug: #1428730
2015-04-21 13:49:23 +03:00
bin Add karma testing 2015-04-17 15:27:11 +03:00
extensions Fix the bug with asynchronous template loading 2015-04-21 13:49:23 +03:00
merlin Fix the bug with asynchronous template loading 2015-04-21 13:49:23 +03:00
tools Rewrite Merlin as a collection of Django apps for Horizon integration 2014-10-16 19:32:50 +04:00
.gitignore Rewrite Merlin as a collection of Django apps for Horizon integration 2014-10-16 19:32:50 +04: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 Minor doc fix 2014-10-16 19:43:35 +04:00
bower.json Add karma testing 2015-04-17 15:27:11 +03:00
karma-unit.conf.js Fix the bug with asynchronous template loading 2015-04-21 13:49:23 +03:00
nodeenv.sh Add karma testing 2015-04-17 15:27:11 +03:00
package.json Add karma testing 2015-04-17 15:27:11 +03: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.

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