Yocto Web Hob Design 0.0 — Archived: Difference between revisions

From Yocto Project
Jump to navigationJump to search
No edit summary
Line 1: Line 1:
==== Discussion ====
==== Interaction design requirements gathering for WebHob 1.3 ====


Here's


==== Interaction design proposal for WebHob 1.3 - What's New ====
==== Interaction design proposal for WebHob 1.3 - What's New ====


Deployment 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).


Dashboard 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.


==== Visual design proposal for Hob 1.3 ====
Projects As a team member
I want to share my images and configurations with other team members
so that we can better collaborate.


(to follow)
Packages 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.




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


* Connecting with Maker/Hacker community and seeing how could expand Yocto to new users and developers
 
* Network use (sensors, remote boxes, etc.)
Dashboard As an image builder
I want to be able to see an overview of current and recent activities when I first login
so that I can see if I need to do something again or what went wrong.
 
Notifications As an image builder
I want to be able to send failure output (logs, other relevant info) to a 3rd party
in case I can not fix the problem myself.
 
 
Notifications 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.
 
Scheduling As an image builder
I want to be able to schedule builds
so that I don't have to run them immediately.
 
Scheduling As an image builder
I want to be able to schedule builds
so that I don't have to run them immediately.
 
 
Build history 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.
 
Configuration As an image builder
I want to name my images for the same configuration
so that I can easily identify them (but do not use naming for keeping separate configs).
 
 
 
Configuration 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.
 
Templates As an image builder I want to be asked to save a template if the build was successful
So I can save time on my next build
 
Templates As an image builder I want to be able to manage (delete) saved templates
So that I can focus on templates I need
 
Build an image As an image builder
I want to start from previous successful steps which does not have a build yet (history max 5)
So that I don’t waste time on unsuccessful builds.
 
Build an image As an image builder I want to download the image (URL provided)
So that I can deploy the image
 
 
 
Configuration 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.
 
Create user As an architect
I want to create Web Hob users and give them access to projects
so that I can manage my resources.
 
Projects As a team member
I want to share my images and configurations with other team members so that we can better collaborate.
 
Groups
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.
 
Login As an admin
I want actions to be recorded against individual users
so that there is an audit trail.
 
Groups As an engineer
I want to be able to create package groups by selecting packages individually
so other team members don't have to.
 
Archiving As a project manager
I want to archive a finished projects
so that work can be preserved and recovered with minimum storage needs.
 
Groups 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.
 
Groups As a sysadmin I want to be able to invite guest users so that guests can login.
 
Groups As a sysadmin I want to be able to reserve available bitbake for user’s requests
so that I can fairly distribute tasks.
 
Groups As a sysadmin when bitbake are all reserved
I want to be able to randomly select one bitbake so that the user can configure the server
 
Notifications As a sysadmin when bitbake are all reserved and a build request is submitted with build configurations into the build queue
I want to be able to notify the user when the build is complete with an image URL or build failure with logs
so that the user will be aware of the status of the build
 
 
==== Comments ====
 
Please put comments here.
 
If you could also try and reference the Role, the Function or the Requirement reference as well so we can track everything easier.
 
==== Things we might have missed ====
 
If there's something that we completely missed that is not below, put them here.


=== User Stories / Requirements ===
=== User Stories / Requirements ===

Revision as of 10:15, 4 May 2012

Interaction design requirements gathering for WebHob 1.3

Here's

Interaction design proposal for WebHob 1.3 - What's New

Deployment 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).

Dashboard 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.

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

Packages 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.


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


Dashboard As an image builder I want to be able to see an overview of current and recent activities when I first login so that I can see if I need to do something again or what went wrong.

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


Notifications 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.

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

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


Build history 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.

Configuration As an image builder I want to name my images for the same configuration so that I can easily identify them (but do not use naming for keeping separate configs).


Configuration 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.

Templates As an image builder I want to be asked to save a template if the build was successful So I can save time on my next build

Templates As an image builder I want to be able to manage (delete) saved templates So that I can focus on templates I need

Build an image As an image builder I want to start from previous successful steps which does not have a build yet (history max 5) So that I don’t waste time on unsuccessful builds.

Build an image As an image builder I want to download the image (URL provided) So that I can deploy the image


Configuration 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.

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

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

Groups 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.

Login As an admin I want actions to be recorded against individual users so that there is an audit trail.

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

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

Groups 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.

Groups As a sysadmin I want to be able to invite guest users so that guests can login.

Groups As a sysadmin I want to be able to reserve available bitbake for user’s requests so that I can fairly distribute tasks.

Groups As a sysadmin when bitbake are all reserved I want to be able to randomly select one bitbake so that the user can configure the server

Notifications As a sysadmin when bitbake are all reserved and a build request is submitted with build configurations into the build queue I want to be able to notify the user when the build is complete with an image URL or build failure with logs so that the user will be aware of the status of the build


Comments

Please put comments here.

If you could also try and reference the Role, the Function or the Requirement reference as well so we can track everything easier.

Things we might have missed

If there's something that we completely missed that is not below, put them here.

User Stories / Requirements

Role Function Story New feature Not in Hob Requirement reference Credit
Image Builder Layers As an experienced image builder I want to add my own layers so that I can create heavily customised images to suit my project. London team
Image Builder Layers Ad an image builder I want to be able to add external layers so that I can get support for devices/software outside of the core metadata London team
Image Builder Build an image As an image builder I want to quickly create an image from default options so that I don't need to worry about customisation. London team
Image Builder Projects As an image builder I want to save my image configurations so that I can reuse them at a later stage. Not in Hob London team
Image Builder Testing 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. London team
Image Builder Deployment 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). New Not in Hob London team
Image Builder Build an image As an image builder I want to be able to add things (functionality) so that I can customise my image to my needs. London team
Image Builder Recipes 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. London team
Image Builder Dashboard 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. New Not in Hob London team
Image Builder Deployment As an image builder I want to download my image files so that I can deploy them and/or store them locally. London team
Image Builder Projects As a team member I want to share my images and configurations with other team members so that we can better collaborate. New Not in Hob London team
Image Builder Packages 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. New Not in Hob London team
Image Builder Groups As an engineer I want to be able to create package groups by selecting packages individually so other team members don't have to. New Not in Hob London team
Image Builder Dashboard As an image builder I want to be able to see an overview of current and recent activities when I first login so that I can see if I need to do something again or what went wrong. New Not in Hob London team
Image Builder Logs As an image builder if an unattended build fails I want to see the build log when I login again with the error clearly highlighted and any relevant info so I can figure out what went wrong. London team
Image Builder Notifications As an image builder I want to be able to send failure output (logs, other relevant info) to a 3rd party in case I can not fix the problem myself. New Not in Hob London team
Image Builder Configurations 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. London team
Image Builder Notifications 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. New Not in Hob London team
Image Builder Scheduling As an image builder I want to be able to schedule builds so that I don't have to run them immediately. New Not in Hob London team
Image Builder Scheduling 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. New Not in Hob London team
Image Builder Dashboard As an image builder I want to see understandable explanations of machines and whether they are real or virtual so that I can make the right decisions. London team
Image Builder Build an image As an image builder I want to be able to choose as a config option whether or not the build should continue when an error occurs so I can get as much of the build done as possible. London team
Image Builder Build history 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. New Not in Hob London team
Image Builder Configuration As an image builder I want to name my images for the same configuration so that I can easily identify them (but do not use naming for keeping separate configs). New Not in Hob London team
Image Builder Configuration 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. New Not in Hob London team
Image Builder Templates As an image builder I want to be asked to save a template if the build was successful So I can save time on my next build New Not in Hob 2.c.i. Shane Wang
Image Builder Templates As an image builder I want to be able to manage (delete) saved templates So that I can focus on templates I need New Not in Hob 2.c.ii. Shane Wang
Image Builder Build an image As an image builder I want to start from previous successful steps which does not have a build yet (history max 5) So that I don't waste time on unsuccessful builds. New Not in Hob 2.d. Shane Wang
Image Builder Dashboard As an image builder I want to be able to stop the process of parsing recipes and then select another machine So that I don't waste time on builds I don't need 4.a. Shane Wang
Image Builder Dashboard As an image builder I want to see a progress bar so that I can see how far along I am in the process So that I don’t waste time. 4.b. Shane Wang
Image Builder Build an image As an image builder when an error occurs I want to see an error dialog pop up and be brought back to the build selections so that I can make changes. 4.c. Shane Wang
Image Builder Build an image As an image builder I want to be able to select a base image so that I can build without any customisation and go to a complete build directly. 5.1. Shane Wang
Image Builder Build an image As an image builder I want to create my own image so that I can add more recipes on base images, build packages and then select a package. 5.2. Shane Wang
Image Builder Build an image As an image builder when viewing package list and it is incomplete or inaccurate I want to be able to be told about it so that I can create builds with minimal error. 5.3. Shane Wang
Image Builder Build an image As an image builder if I don’t want to view the package after seeing a warning dialog I can go directly to select package so that I can skip a step. 5.3.2. Shane Wang
Image Builder Build packages As an image builder I want to be able to stop the process of building packages and simply stop at the current page so that I don’t get an image I don’t need. 6.a. Shane Wang
Image Builder Build an image As an image builder I want to download the image (URL provided) So that I can deploy the image New Not in Hob 8.a. Shane Wang
Image builder new to Linux Build an image As an image builder new to Linux I want to understand the selections I’m making so that I’m not confused when learning to use Web Hob London team
Image builder new to Linux Build an image As an image builder new to Linux 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. London team
Architect Configuration 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. New Not in Hob London team
Architect Create user As an architect I want to create Web Hob users and give them access to projects so that I can manage my resources. New Not in Hob London team
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. New Not in Hob London team
Team Member Groups 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. New Not in Hob London team
Team Member Login As an admin I want actions to be recorded against individual users so that there is an audit trail. New Not in Hob 1. Shane Wang
Engineer Groups As an engineer I want to be able to create package groups by selecting packages individually so other team members don't have to. New Not in Hob London team
Project Manager Archiving As a project manager I want to archive a finished projects so that work can be preserved and recovered with minimum storage needs. New Not in Hob London team
Sysadmin Groups 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. New Not in Hob London team
Sysadmin Groups As a sysadmin I want to be able to invite guest users so that guests can login. New Not in Hob 0. Shane Wang
Sysadmin Groups As a sysadmin I want to be able to reserve available bitbake for user’s requests so that I can fairly distribute tasks. New Not in Hob Multi-user 1. Shane Wang
Sysadmin Groups As a sysadmin when bitbake are all reserved
I want to be able to randomly select one bitbake so that the user can configure the server
New Not in Hob Multiuser 1.a. Shane Wang
Sysadmin Notifications As a sysadmin when bitbake are all reserved and a build request is submitted with build configurations into the build queue I want to be able to notify the user when the build is complete with an image URL or build failure with logs so that the user will be aware of the status of the build New Not in Hob Multiuser 1.a.a
Architect Groups 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. London team
Architect Groups As an architect I want to create Webhob users and give them access to projects so that I can manage my resources. London team