Cookiecutter template for Horizon Plugin.
Go to file
Jeremy Stanley 947c7c9776 Clean up .gitignore references to personal tools
Developers run all sorts of different tools within Git repositories,
any of which can leave their own special trashfiles all over the
place. We can't every hope to catalog them all, so better to
recommend developers simply configure a global core.excludesfile to
filter the irrelevant files which tend to get created by their
personal choice of tools.

To this end, remove the long-standing sections for "Mr Developer"
and "Editors" since their mere existence here sends the signal that
we welcome (and have time to review) additions for any old tool
someone ever might happen to try. Also add a comment block
explaining this, for clarity.

We can, and should of course, continue to list files created by the
tools recommended by our workflow (test frameworks called from tox,
documentation and packaging builds, et cetera).

This change is a port of Ib58a57267b064e4142686de6c37a70dbff04b9a7
from the openstack-dev/cookiecutter repository.

Change-Id: I79569d8693937c436056e90116cc3f59b4a34507
2018-10-05 18:09:24 +00:00
{{cookiecutter.repo_name}} Clean up .gitignore references to personal tools 2018-10-05 18:09:24 +00:00
hooks Exclude git operations from checkbuild in tox. 2017-05-29 09:46:30 +00:00
playbooks/checkbuild Add zuul job for checkbuild target 2018-05-17 03:43:50 +00:00
.gitignore Clean up .gitignore references to personal tools 2018-10-05 18:09:24 +00:00
.gitreview Update description of this cookiecutter 2016-11-17 14:51:32 +09:00
.zuul.yaml Zuul: Remove project name 2018-08-16 18:48:26 +02:00
CONTRIBUTING.rst Update document link affected by document migration 2017-07-14 13:26:34 +00:00
cookiecutter.json Use module_name everywhere; module_folder is redundant 2017-05-31 12:26:26 +09:00
README.rst Fix cookiecutter command option 2018-01-22 19:45:20 +09:00
requirements.txt Add test environment 2017-05-29 13:27:54 +09:00
test-requirements.txt Add test environment 2017-05-29 13:27:54 +09:00
tox.ini fix tox python3 overrides 2018-10-03 02:21:50 +00:00

ui-cookiecutter

Cookiecutter template for an OpenStack Dashboard UI plugin project. This generate UI plugin project using Horizon Angular framework and the generated project includes sample panel with CRUD operations.

See also https://github.com/audreyr/cookiecutter.

  • Free software: Apache license
  • pbr: Set up to use Python Build Reasonableness
  • hacking: Enforces the OpenStack Hacking Guidelines
  • eslint: Enfoces the JavaScript Guidelines
  • testrepository: Runs tests using testrepository
  • OpenStack-Infra: Ready for OpenStack Continuous Integration testing
  • Tox testing: Setup to easily test for Python 2.7, 3.4
  • karma testing: Setup to easily test for JavaScript
  • Sphinx docs: Documentation ready for generation and publication
  • reno : Sphinx extension for Release Notes

Usage

Generate a Python package project:

cookiecutter https://github.com/openstack/ui-cookiecutter.git

This command prompts interactive input. Please check these parameters:

* "repo_group": The name for the git repo group. e.g. "openstack"
* "repo_name": The name for the git repo. e.g. "cafe-ui", This is used as python package name too.
* "launchpad_project": The name of the project on launchpad. e.g. "cafe-ui",
* "project_short_description": The short descriptions for your UI. e.g. "Cafe User Interface",
* "help_name": The name for the help. e.g. "Cafe-UI",
* "call_by_name": The name of this UI to write texts such as README or Help. e.g. "Cafe UI",
* "module_name": The name of the python module. e.g. "cafe_ui"
* "dashboard": The slug of the "dashboard" you want to add this plugin into. e.g. "project",
* "panel_group": The slug for the "panel_group". e.g. "cafe",
* "panel_group_name": The caption for the "panel_group". e.g. "Cafe",
* "panel": The slug of the "panel", in singular. e.g. "drink",
* "panel_func": The function name for the "panel", in singular. e.g. "Drink",
* "api_module": The name of the API service module. e.g. "cafe",
* "api_name": The caption for the "api_module". e.g. "Cafe"

If you want to generate without interactive input, you can use example values for these parameters as follow:

cookiecutter https://github.com/openstack/ui-cookiecutter.git --no-input

Run with OpenStack Horizon:

cd <repo_name>
pip install
cp <repo_name>/<module_name>/enabled/_90_project_<panel_group>_panelgroup.py <horizon-dir>/openstack_dashboard/local/enabled
cp <repo_name>/<module_name>/enabled/_91_project_<panel_group>_<panel>s.py <horizon-dir>/openstack_dashboard/local/enabled

then reboot the Horizon.

OpenStack projects require a working git repo for pbr to work, on newer versions of cookiecutter (>= 0.7.0 released 2013-11-09) this inital commit will be done automatically. Otherwise you will need to init a repo and commit to it before doing anything else:

cd $repo_name
git init
git add .
git commit -a

Then:

* Add the project to the OpenStack Infrastructure