Diff for "Projects/LiveBranches"

Not logged in - Log In / Register

Differences between revisions 6 and 7
Revision 6 as of 2011-06-27 16:52:36
Size: 1603
Editor: mbp
Comment:
Revision 7 as of 2011-06-27 17:15:34
Size: 1743
Editor: spiv
Comment: Lots of loggerhead pages are now exposed via JSON
Deletions are marked like this. Additions are marked like this.
Line 33: Line 33:
   * `lp:~spiv/loggerhead/jsonify`
Line 34: Line 35:
   * URLs handled: `/+revlog`, `/+filediff`    * URLs handled: `/+revlog`, `/+filediff`, `/files`, `/revision`
Line 36: Line 37:
   * URLs being skipped: `DirEntry`, `/changes`    * URLs being skipped: `DirEntry`, `/changes`, `/view`, `/atom`, `/search`
   * URLs needing significant changes: `/annotate`

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.

Projects/LiveBranches (last edited 2011-06-28 15:24:09 by danilo)