Buy something in the software center

Registered by Rick Spencer on 2010-05-24

In Maverick we will offer *one thing* for sale to end users.

= In scope =
 * Something, at least one thing, is available for purchase from the software center

= Out of scope =
 * ability to add arbitrary items to the software center for sale
 * self-service of adding items for sale

Blueprint information

Status:
Started
Approver:
Rick Spencer
Priority:
High
Drafter:
Michael Vogt
Direction:
Needs approval
Assignee:
Michael Vogt
Definition:
Approved
Series goal:
Accepted for maverick
Implementation:
Beta Available
Milestone target:
milestone icon ubuntu-10.10-beta
Started by
Rick Spencer on 2010-06-15

Related branches

Sprints

Whiteboard

[gary-lasker] aggregate all for-pay PPAs to a single node in the left navigation pane (not needed for maverick, also not in spec): POSTPONED
[ubuntuone] detect if OAuth ubuntu-sso tokens are revoked (bug #624065): INPROGRESS
[gary-lasker] add GUI to show/revoke tokens from auth.conf: POSTPONED
add code to aptdaemon to add auth tokens to /etc/apt/auth.conf: POSTPONED
add code to aptdaemon that protects the tokens via root.admin/0640: DONE
add code to python-apt to be able to update only a selected sources.list file: DONE
add code that apt-get updates only the newly added source code line to aptdaemon Installing the app: POSTPONED
release upgrade handling: ensure ppa is updated to the new release (if possible): POSTPONED
release upgrade handling: ensure that purchased apps do not get removed if no longer downloadable: POSTPONED

Work items for maverick-alpha-2:
find a way to ensure we do not hammer LP too hard while still waiting for a newly added repository but still trying to respond quickly (ideally it would be LP notifiying us instead of s-c polling): DONE

Work items for maverick-alpha-3:
work with Michael Nelson to define s-c-agent API: DONE
[michael.nelson] create a s-c-agent API stub implementation for client dev use: DONE
write code that talks to ubuntu-sso for login/account setup: DONE
write code that shows a UI for login (in a good place): DONE
extract the private PPA tokens from the sources.list line that s-c-agent gives out and write it out seperately into auth.conf: TODO
write code that can talk to the software-center-agent API for "giveMeMyForPayRepos" and that understands the tokens: DONE
write UI that can show available private repos even if they are not in sources.list yet: DONE
[michael.nelson] implement payment verification check between LP and billing system in s-c-agent: DONE
write code that talks to a lazr-restful app in a non-blocking way: DONE
write code that gets Apps from the s-c-agent and feeds it into the xapian db: DONE
move available-to-buy items to a separate database and refresh more often (at every startup): DONE
[gary-lasker] consolidate backend code from the purchasedialog to a single call to add_repo_add_key_and_install_app in the backend: DONE
[gary-lasker] implement Buy button in new gtk-based appdetails view: DONE
write code that installs the package from a private PPA: DONE
add ability to view previously-purchased items to allow e.g reinstall on a new computer: DONE
[gary-lasker] auto-switch to the Previous Purchases node when it is added in the left navigation pane: DONE
[gary-lasker] centralize the install/remove functionality and wire to menu, list and details view buttons: DONE
[gary-lasker] create UI to display the list of items for sale: DONE
implement the purchase transaction UI workflow: DONE

Work items for ubuntu-10.10-beta:
Discover multi-currency capabilities of the payment system: TODO

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.