OfficialBurns
Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.
Launchpad entry: https://blueprints.launchpad.net/distros/ubuntu/+spec/official-burns
Packages affected: We must create new packages.
Summary
This spec describes a program that produces an "Official Burn" of Ubuntu.
Rationale
ShipIt CDs cost money; users are charged for new DVDs and CDs, while Canonical has to pay for Dapper 6.06 LTS CDs and shipping. Rather than ship CDs, we can allow the user to create a high-quality burn using his own blank media and labels.
Use cases
There are a few.
- Alice wants 40 copies of the Ubuntu Edgy DVD to hand out in her Unix class; she does not want to wait for shipping or pay $10 for each, so she burns her own.
- Keybuk needs the latest Feisty milestone for testing; he has this automatically burned and labeled for him.
- Bob wants to demonstrate the upcoming features of the next version of Ubuntu; he has the latest daily burned for him and demonstrates the functionality via LiveCD.
Scope
The suggested scope allows for expansion beyond Ubuntu; however we do not support this directly.
The scope involves initially supporting Official Burns of Dapper, Edgy, and Feisty; and continuing support beyond there.
Design
The suggested design includes several important features.
- User interface
- Must supply a simple interface
- Must supply repository lists
- Must supply list of available burn images
- Must supply template selection and preview
- Possibly allow selecting which label on the template to print to
- Should allow narrowing choices
- DVD or CD
- Style (LiveCD, Install, Combo)
- Release level (Current, Old, Development)
- Vendor (Ubuntu, Fedora)
- Search (similar behavior to searching in Rhythmbox)
- Should allow adjusting burn speed
- Possibly allow a choice between "Safe" or "Fast," where "Safe" burns at one-half the maximum speed
- Should allow retaining images in a configurable directory
- Back-end
- Must allow repository URIs
- Vendor sets up a Web directory with a control file
- Control file references subdirectories as sources
- Sources contain a descriptor file describing the release type
- DVD or CD
- Image file name
- Label file name
- Style
- Release level
- Vendor
- Sources contain the image file and label
- The directory containing the control file functions as the repository
- Vendor sets up a Web directory with a control file
- Automatically download, burn, and print labels
- Download selected image to configured directory
- Burn image once downloaded
- Download label (PNG image)
- Insert label into an ODF template file and print
- Burning multiple copies should be supported
- Must allow repository URIs
Implementation
Code
- May code the program in any language, including Python, C, or C#.
- Must separate the back-end from the user interface to allow for GTK+, Qt, and text-based interfaces.
Data preservation and migration
None.
Unresolved issues
Actually need somebody to do the low level design and code this thing.