Yocto Web Hob Design 0.0 — Archived: Difference between revisions

From Yocto Project
Jump to navigationJump to search
mNo edit summary
Line 109: Line 109:
I want to be able to share packages with other team members<br/>
I want to be able to share packages with other team members<br/>
so they don't need to build them again.<br/>
so they don't need to build them again.<br/>
As a team member<br/>
I need to be able to login<br/>
so that I can use Webhob.<br/>


==== Engineer ====
==== Engineer ====

Revision as of 13:41, 27 April 2012

User Stories / Requirements

Image Builder

As an experienced image builder
I want to add my own layers
so that I can create heavily customised images to suit my project.

As an image builder
I want to quickly create an image from default options
so that I don't need to worry about customisation.

(Projects)
As an image builder
I want to save my image configurations
so that I can reuse them at a later stage.

As an image builder
I want to be able to run a qemu* image after the build
so that I can tell that it works.

As an image builder
I want to be able to write images to removable media easily
so that I can test the image on the real hardware (this can be hard to do manually).

As an image builder
I want to be able to add things (functionality)
so that I can customise my image to my needs.

As an image builder
I want to see the relationships between the recipes/packages
so that I can better refine the contents of my image.

As an image builder
I want to be able to see the status of the build in real time
so that I know what the progress is at any time.

As an image builder
I want to download my img files
so that I can deploy them and/or store them locally.

As an image builder
I want to be able to view the result of a build that has completed
in case it ran overnight (log).

As an image builder
if a build fails I want to see the build log with the error clearly highlighted and any relevant info
so I can figure out what went wrong.

As an image builder
I want to be bale to send failure output (logs, other relevant info) to a 3rd party
in case I can not fix the problem myself.

As an image builder
I want to be able to go back after a build completes and edit selections / config
in case I forgot something.

As an image builder
I want to be able to get notifications (email?) when a build completes
so I know when that happens what the result was briefly.

As an image builder
I want to be able to schedule builds
so that I don't have to run them immediately.

(Running Parallel Builds)
As an image builder
I want to be able to run or schedule more than one build to run in parallel
in order to save time and make maximum use of resources.

As an image builder
I want to see understandable explanations of machines
so that I can make the right decisions.

As an image builder
I want to see recipe and package descriptions in terms of functionality
so that I don't need to be a Linux wizard to customise my image.

(2 modes (stop at 1st error)
As an image builder
I want to be able to choose whether or not to continue when an error occurs
so I can get as much of the build done as possible ( - k )

As an image builder
I want to select existing config options (except server side ones)
so that I have control over the output of the building process.

As an image builder
I want to see the history of my builds
so that I have access to any output I've created in the past - history is classified per project.

As an image builder
I want to name my images for the same configuration
so that I can easily identify them (do not use naming for config changes).

As an image builder
I want to have multiple configurations within each project
so I can have similar settings for different target machines for the same project.

Team Member

(Projects)
As a team member
I want to share my images and configurations with other team members
so that we can better collaborate.

As a team member
I want to be able to share packages with other team members
so they don't need to build them again.

As a team member
I need to be able to login
so that I can use Webhob.

Engineer

As an engineer
I want to be able to create package groups by selecting packages individually
so other team members don't have to.

Project Manager

As a project manager
I want to archive a finished projects
so that work can be preserved and recovered with minimum storage needs.

Sysadmin

As a sysadmin
I want to be able to control how much of the available server resources each user can use
so that there is fair sharing.

Architect

As an architect
I want to be able to control the level of customisation available to team members
so that I have control over the project.

As an architect
I want to create Webhob users and give them access to projects
so that I can manage my resources.