Diff for "Projects/LiveBranches"

Not logged in - Log In / Register

Differences between revisions 4 and 5
Revision 4 as of 2011-06-27 15:53:43
Size: 1104
Editor: jelmer
Comment: add branch URL
Revision 5 as of 2011-06-27 15:55:28
Size: 1327
Editor: spiv
Comment: Add some detail for how JSON encoding is working.
Deletions are marked like this. Additions are marked like this.
Line 26: Line 26:
   * Done by including `+json`, eg `branch/+json/+revlog/$REVID`
   * URLs handled: `/+revlog`, `/+filediff`
   * URLs already returning raw content: `/diff`, `/download`
   * URLs being skipped: `DirEntry`, `/changes`
 * proxy data from loggerhead through on https://code.launchpad.net/ (lp:~jelmer/launchpad/apache-config-loggerhead)
Line 27: Line 32:
 * proxy data from loggerhead through on https://code.launchpad.net/ (lp:~jelmer/launchpad/apache-config-loggerhead)

Live branches

Show branch content within the main web application, rather than sequestered on bazaar.l.n

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

Issues:

  • republished information must be safe against xss-type attacks from user content

Specific work items:

  • return JSON from loggerhead (currently returns HTML snippets)
    • Done by including +json, eg branch/+json/+revlog/$REVID

    • URLs handled: /+revlog, /+filediff

    • URLs already returning raw content: /diff, /download

    • URLs being skipped: DirEntry, /changes

  • 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)