Milo - The interface into luci.
Layout
- frontend/appengine/
- main.go - Main router and entry point into app.
- static/ - CSS and JS assets. All assets go under a named subfolder.
- templates/ - HTML assets for use with go templates.
- common/miloerror - Error subclass used to pass HTTP statuses.
- client/cmd/backfill - Git data backfiller.
Subdirectory layout
To retain convention, each data source (e.g. swarming, DM) should have the following files:
- html.go - All routable HTML endpoints of type handler.
Themes and Templates
Milo supports the switching of themes (template bundles) based on user preference. Themes must follow these layouts:
- Go Templates go under appengine/frontend/templates/[[Theme Name]] ** Base templates go under appengine/frontend/templates/[[Theme Name]]/includes ** Actual templates go under appengine/frontend/templates/[[Theme Name]]/pages
- Static resources (css, javascript, images, etc) go under /frontend/static/[[Theme Name]]. This boundry isn't enforced, this is just by convention, so one theme is allowed to use resources in other themes (but it is not recommended)
- Add the Theme Name into the map in appengine/settings/theme.go:THEMES
Seeding data for local development
- After starting the dev_appserver, run go run client/cmd/backfill/main.go buildbot -master=“chromium.win” -remote-url=“localhost:8080” -dryrun=false -buildbot-fallback=true (replace the port number with your dev_appserver port number)