Diff for "VersionThreeDotO/Foundations/Delivered"

Not logged in - Log In / Register

Differences between revisions 2 and 3
Revision 2 as of 2008-11-24 22:58:58
Size: 3411
Editor: flacoste
Comment:
Revision 3 as of 2008-11-26 19:10:12
Size: 4295
Editor: flacoste
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
== API Theme ==
Line 5: Line 7:
== Make API Cacheable == === Make API Cacheable ===
Line 25: Line 27:
== Make API Cacheable - client side == === Make API Cacheable - client side ===
Line 34: Line 36:

== AJAX Theme ==
Line 52: Line 56:
 
Line 59: Line 63:
  so that I can detect regressions in Javascript code.    so that I can detect regressions in Javascript code.
Line 62: Line 66:
  
Line 65: Line 69:
   * Hook the window fire-up and results reading from test.py or make?     * Hook the window fire-up and results reading from test.py or make?
Line 67: Line 71:
 
Line 69: Line 72:
<<Anchor(api-js-access)>> 
<<Anchor(api-js-access)>>
Line 75: Line 79:
  As a Launchpad developer,    As a Launchpad developer,
Line 80: Line 84:
  
Line 84: Line 88:
  
Line 100: Line 104:
<<Anchor(ajax-patch)>>
=== AJAX PATCH ===

  **Story Points:** 2\\
  **Delivered:** 2.1.11\\
  **Bug:** [[https://bugs.edge.launchpad.net/launchpad-foundations/+bug/29645|#29645]]

  As a Launchpad programmer,\\
  I want to make the equivalent of a PATCH request through Ajax;\\
  so I can modify an object without having a representation of it.

== Infrastructure Theme ==
Line 113: Line 130:
== OpenID Theme ==
Line 116: Line 135:
  **Story Points:** 3\\   **Story Points:** 2\\
Line 119: Line 138:
  As a Relaying Party,\\   As a Relying Party,\\
Line 121: Line 140:
  the Launchpad OpenID Provider,\\ 
  so that I can minimize the possibility of somebody just reusing an 
  the Launchpad OpenID Provider,\\
  so that I can minimize the possibility of somebody just reusing an
Line 124: Line 143:


<<Anchor(private-team-rpconfig)>>
=== Configure access to private teams in +rpconfig ===

  **Story Points:** 1\\
  **Delivered:** 2.1.11\\
  **Bug:** [[https://bugs.edge.launchpad.net/launchpad-foundations/+bug/192867|#192867]]

  As a Launchpad administrator,\\
  I want to be able to configure if a trust root can query private \\
  team memberships, so that we can offer the team membership functionality \\
  to arbitrary RP.

User Stories Delivered

API Theme

Make API Cacheable

Story Points: 3
Delivered: 2.1.9

As a web service client,
I get a Last-Modified date with each representation I request. I can use that data later on to make conditional GET, PUT, or PATCH requests.
We do this because conditional GET saves bandwidth and often time, and conditional PUT/PATCH prevents clients from overwriting each others' work.

Notes:

  • Modify launchpadlib to use the new headers
  • Store Last-Modified
  • Calculate the headers for objects. No Last-Modified for collections.

Make API Cacheable - client side

Story Points: 3
Delivered: 2.1.9

As a launchpadlib user,
ll GET requests I send have their Last-Modified headers stored for later. Subsequent GET or PATCH requests are made conditional using the stored value.

AJAX Theme

YUI Integration

Story Points: 1
Delivered: 2.1.10

As a Launchpad developer, I want to be able to use YUI from a page template, so that I can do cool UI.

Notes:

  • Build/Package YUI files
  • Add to main template, with switch for dev mode.

JavaScript Testing

Story Points: 5
Delivered: 2.1.10

As a Launchpad developer, I want to write a tests for my Javascript, be able to run it locally from the command line; so that I can detect regressions in Javascript code.

Notes:

  • Create YUI 2.5.2 bundle
  • Server the bundle from icing
  • Hook the window fire-up and results reading from test.py or make?
  • Presumed Rhino and Doh can do it (Dojo)

API JS Access

Story Points: 5
Delivered: 2.1.10

As a Launchpad developer, I want to be able to use the Launchpad web service API from JavaScript, so that I can use the standard API to manipulate the content from the UI.

Notes:

  • Somehow call the WebService publisher and Request for different vhosts.
  • Support canonical_url for API objects on other hosts.
  • Add the cookie-based authentication to WebServicePublication.

Initial API JavaScript Library

Story Points: 8
Delivered: 2.1.10

As a Launchpad developer, I want a JS library available that allow me to easily make API call to the Launchpad web service, so that I can access the Launchpad object model without having to write custom XHR request and interpret the resulting JSON.

Notes:

AJAX PATCH

Story Points: 2
Delivered: 2.1.11
Bug: #29645

As a Launchpad programmer,
I want to make the equivalent of a PATCH request through Ajax;
so I can modify an object without having a representation of it.

Infrastructure Theme

Zope 3.4 Upgrade

Story Points: 8
Delivered: 2.1.10

As a Launchpad developer, I want to have zope 3.4 available in my tree, so that I can take advantage of the latest changes in it.

Notes:

OpenID Theme

Login-freshness OpenID extension

Story Points: 2
Delivered: 2.1.11

As a Relying Party,
I want to specify the maximum time since the user entered his password on the Launchpad OpenID Provider,
so that I can minimize the possibility of somebody just reusing an already authenticated session.

Configure access to private teams in +rpconfig

Story Points: 1
Delivered: 2.1.11
Bug: #192867

As a Launchpad administrator,
I want to be able to configure if a trust root can query private
team memberships, so that we can offer the team membership functionality
to arbitrary RP.

VersionThreeDotO/Foundations/Delivered (last edited 2009-04-21 13:20:28 by flacoste)