4bc01fe872
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 |
||
---|---|---|
bin | ||
extensions | ||
merlin | ||
tools | ||
.gitignore | ||
.gitreview | ||
Gruntfile.js | ||
README.md | ||
bower.json | ||
karma-unit.conf.js | ||
nodeenv.sh | ||
package.json | ||
requirements.txt | ||
test-requirements.txt | ||
tox.ini |
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:
- The easiest way to always use the latest version of Merlin is by using
symlinks. Identify the directory where
openstack_dashboard
andhorizon
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
- 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/
- 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