Diff for "Projects/LiveBranches"

Not logged in - Log In / Register

Differences between revisions 1 and 5 (spanning 4 versions)
Revision 1 as of 2011-06-27 11:30:21
Size: 706
Editor: mbp
Comment: kick off
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 22: Line 22:

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.

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)