Update:Archive/2.0/Architecture and General Design
Update: Home Page » Architecture and General Design
This document will describe the overall architecture of the UMO services in detail. It should include sub-sections on pfs, addons, etc. that will be populated by the developers working on those components.
Addons.Mozilla.Org End-User Website
Architecture
Main - Items that are common between versions
- ID - Database identifier used to tie tables together
- GUID - Unique identifier from inside the install.rdf. Allows the application and the website to talk about the same thing
- Name - Name of the addon
- Type - Enumerator (T/E/P) that specifies if the listing is a theme, extension, or plugin
- Date Added - Date the item was submitted to the website
- Homepage - Website for the submission
- Description - Description of the addon
- Rating - Accumulated rating
- Download Count - ?
- Total Downloads - ?
- Developer's Comments - Additional comments by the developer
Version - Details for each file on the site (one row per app/os)
- ID - Database identifier
- Version - Version string x.x.x.x
- OSID - Database identifier linking compatibility with Operating Systems
- AppID - Database identifier linking compatibility with Applications
- MinAppVer - Minimum version of the supported application
- MinAppVer_int - Internal numbering of the minimum version
- MaxAppVer - Maximum version of the supported application
- MaxAppVer_int - Internal numbering of the maximum version
- Size - size of the file in kilobytes
- Date Added - Date version was added
- Date Updated - Date information about the version last changed
- URI - Download URI
- Notes - Release notes/changelog
- Approved - Enumerator (Yes/No/Disabled) used to show whether it has been approved to be listed
Userprofiles - Details for each user
- UserID - Database Identifier
- User Name - Name or nickname for users
- User Email - Email address
- User Website - User's website
- User Pass - Password
- User Mode - Enumerator (A/E/U/D) reprsenting whether the user is an Administrator, Editor, Developer, or Disabled
- User Trusted - Determines whether user is allowed to bypass approval queue
- User Email Hide - Does the user wish to disclose their email address on their public profile
- User Last Login - Last time the user logged in
- Confirmation Code - ?
AuthorXref - Relates Addons to their Authos
- ID - Main ID
- User ID - Author ID
Categories - Allows grouping of Addons
- Category ID - Database Identifier
- Cat Name - Name of Category
- Cat Desc - Description
- Cat Type - Enumerator (T/E/P) specifying whether this category is for Themes, Extensions, or Plugins
- Cat App - Name of the application the category applies to
File Repository
The following directory structure should be created and given write permissions:
- /
- files
- approval
- extensions
- themes
- ftp
- temp
- approval
- files
CategoryXref
OS
Approval Log
Downloads
FAQ
Feedback
Previews
Reviews
Plugin Finder Service
(this is for jst)
Application Update Service
This is the section of the UMO service that actually allows specific applications to check if they need to be upgraded. A couple of questions come to mind here:
- What if this was generated with the UMO toolset and then pushed to several machines designed for delivering static content?
- Can we return a base URL for Firefox/Thunderbird to chew on?
- Can we better leverage the bouncer so as to not overload the mirror network?