Live branches
Show branch content within the main web application, rather than sequestered on bazaar.l.n
This is intended to mesh with ArchitectureGuide/ServicesRoadmap.
Moving parts:
- loggerhead serves machine-readable branch content (files, diffs, revision metadata, etc)
- same-origin proxy that republishes this through code.launchpad.net (probably in Apache)
- javascript updates to show content within the page
- branch page redesign to make it work well
New things to show on the branch page:
- per-revision lists of changed file
- per-revision diffs
- files in the tip of the branch
- more than the 10 most recent revisions
Operational changes:
- add rewrite/proxy rules on nutmeg/banana front-end apaches
- possible firewall changes to allow that proxying to occur
- robots.txt should block access to the proxied urls
Issues:
- republished information must be safe against xss-type attacks from user content
Specific work items:
- return JSON from loggerhead (currently returns HTML snippets)
lp:~spiv/loggerhead/jsonify
Done by including +json, eg branch/+json/+revlog/$REVID
URLs handled: /+revlog, /+filediff, /files, /revision
URLs already returning raw content: /diff, /download
URLs being skipped: DirEntry, /changes, /view, /atom, /search
URLs needing significant changes: /annotate
proxy data from loggerhead through on https://code.launchpad.net/ (lp:~jelmer/launchpad/apache-config-loggerhead)
- in Launchpad add javascript (i.e. client-side) templating/rendering of that JSON content. Use hidden HTML node in page, copy and populate with values from JSON, add new node to page.
lp:~jtv/launchpad/expand-diffs to render the existing /diff (not using JSON yet)