Initial portal/registration

Registered by Stuart Metcalfe

The initial release of a developer portal and registration facility. Targeted for pre-Natty and focused on apps in the "For purchase" section only, initially, to smooth out some of the manual steps in getting paid software into the software centre.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Review
Series goal:
None
Implementation:
Not started
Milestone target:
None

Related branches

Sprints

Whiteboard

Outline specification: https://wiki.ubuntu.com/DeveloperSite/ApplicationTracking

Initial requirements (notes for prototype):

 * Register for program (inc. agree to terms <- Need versioned terms? check with legal)
   * Log in with SSO
   * Keep any info gathering to essentials only
 * Main page (registered user):
   * "Add an application"
   * "Set/Change payment information"
   * List existing applications with current status and other essential app stats (ie: current version(?), number sold, more?)
 * Add/edit an application
   * Simplified 'add' workflow (wizard) leads to 'edit' after creation for fine-tuning.
   * System creates PPA (per-app) when app added
     * Create regular PPA call was added to the LP API. Setting a PPA as commercial with API/XMLRPC will need further discussion - it's currently a manual LOSA task.
   * Set description, set categories, upload screens, etc. All software info.
     * Changes should go through manual approval mechanism(?)
       * Display these to the user by default with a notice "Your changes are waiting to be reviewed [View current information]"
       * How to handle multiple changes? Allow layering (complex) or "cancel and re-submit" (easier)? -- There will always be at most one version pending approval, so when editting an app if there already are pending changes the developer can update that version, without needing to explicitly cancel the edit.
     * Translations
       * (Published) app descriptions can be exported to a branch in a .pot file and added to LP translations. We should be able to update translations from LP daily or so with this.
       * Can we have a setting per-app(?) to make a commercial app's SC description available for community translations? No, commercial SC apps will always be translatable.
   * Basic file uploader or sandboxed FTP where devs can upload their tarballs (for us to package?). Need to discuss this with iamfuzz to see exactly what/why it's required and how it should work.
     * Changelog for updated apps
   * Display current status of application (eg: "Waiting for review", "Being reviewed", etc) + log of state changes by date
   * Publish/Unpublish app
     * Don't enable publishing until payment info added. Disable button and provide link "Set up my payment information"
   * Delete app
   * Enable/disable reviews for my app? No, all apps will be reviewable.
 * Set up payment information
   * Gather paypal account information. Is this *just* an email address which is registered with Paypal?
 * Admin UI:
   * Review newly added applications
   * Review edited application details

Metrics (add one or two of these to prototype as a sample, perhaps with a nice js graph?):
 * How many purchases?
 * How much have I earned? <- We need to track the publisher's percentage
 * My apps' reviews <- Related to RnR code

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.