Yocto Web Hob Design 0.0 — Archived: Difference between revisions

From Yocto Project
Jump to navigationJump to search
mNo edit summary
m (moved Yocto Web Hob Design to Yocto Web Hob Design 0.0 — Archived: The Web Hob project has been re-started based o.n new user research, so this page has been superseded)
 
(86 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Requirements gathering for WebHob 1.3 ==
== WebHob design ==


Here's what we've come up with in gathering requirements and writing user stories in the London team for Web Hob 1.3. Right now the stories are broken up by role, with also the main function labelled alongside to make it easier to read.
This is a design prototype for the web application version of the Yocto Hob application. Here's a screencast of showing how it would work when the user would click through the application as well as text describing whats going on.  


== What's New ==
[[File:Yocto_webHob.2.4_screencast.0.3.mov‎]]
 
The HTML, Javascript and CSS for the prototype is available on [https://github.com/jkosem/Yocto-WebHob-Design GitHub] as well as the Photoshop files and style guides.
 
Here's a PDF of version 2.0 of the design of WebHob showing the screens how the interaction would work, how information and interaction would be laid out as well as an indication of what it will look like.
 
[[File:webhob.2.0.pdf]]
 
 
There are a number of differences with the GTK or desktop-based version, and most of these difference revolve around the use of Projects to organise people working on a build, Groups and the ability to schedule and run builds on a server. The design also concentrates on collaborative features such as being able to report on and share builds as well as incorporating help and news alongside the functionality.
 
Its also important to note that this is a design and not a set of final requirements. There a lot of things (such as the Deploy function) which are ideas more than anything and there to see how the Yocto community responds and to gather feedback. So if you have ideas and comments, please add them.
 
== Key Features of WebHob ==
 
* Create and run a build on an external server
* View the state of the running build on an externam machine in progress regardless of whether your web sessions is active or not
* Store, share and delete all builds that were made by you
* Adding your own layers via URL or upload
* Download images and kernel from the server (everything that would be in tmp/deploy/images)
* Multiple users having simultaneous access
* Sharing configuration and builds within a Project
 
 
 
== Requirements gathering for WebHob ==
 
Here's what we've come up with in gathering requirements and writing user stories in the London team for Web Hob 1.3. Right now the stories are broken up by role, with also the main function labelled alongside to make it easier to track where it is in the flow.


(Role) Image builders new to Linux
=== An explanation of user stories ===
* Understanding the selections they're making so that they're not confused when learning to use Web Hob
* Seeing the recipe and package descriptions in terms of functionality


Deployment
We've written the requirements in the form of (agile) user stories. This is helpful from a design perspective to understand who needs to do something, what they need to do and why they need to do it. This is evident in the examples we've come up with below and gives context to each feature or function, making determining its validity and value a lot easier to justify.
* Write images to removable media easily to test the image on the real hardware (this can be hard to do manually).


Dashboard
In general, it follows this format:
* Able to see the status of the build in real time to know what the progress is at any time.
* Able to see an overview of current and recent activities when I first login to see if I need to do something again or what went wrong.


Projects
<blockquote>
* Sharing images and configurations with other team members
As a ''role'', I can ''feature'' so that ''reason''.
* Able to share packages with other team members so they don't need to build them again.
</blockquote>
* Create package groups by selecting packages individually so other team members don't have to.
* Control how much of the available server resources each user can use so that there is fair sharing.
* Invite guest users so that guests can login.
* Reserve available bitbake for user’s requests to fairly distribute tasks.  
* Randomly select one bitbake so that the user can configure the server
* Create package groups by selecting packages individually so other team members don't have to.


Packages
Here's an example:
* Share packages with other team members
<blockquote>
As a ''user'', I want to ''search for my customers by their first and last names'' so that ''I can find other people easier''.


Notifications
http://en.wikipedia.org/wiki/User_story
* Send failure output (logs, other relevant info) to a 3rd party
</blockquote>
* Get notifications (email?) when a build completes
* Schedule builds
* Schedule builds so that I don't have to run them immediately.


Build history
Here's an article about the method:
* See the history of my builds - history is classified per project.


Configuration
http://www.codesqueeze.com/the-easy-way-to-writing-good-user-stories/
* Name my images for the same configuration so that I can easily identify them (but do not use naming for keeping separate configs)
* Have multiple configurations within each project so I can have similar settings for different target machines for the same project.
* Able to control the level of customisation available to team members


Templates
* Asked to save a template if the build was successful
* Manage (delete) saved templates


Build an image
=== An explanation of roles ===
* Start from previous successful steps which does not have a build yet (history max 5)
* Download the image (URL provided)


Create user
For the user stories we've come up with a number of roles that would be users of Web Hob. Most of them are pretty straighforward:
* Create Web Hob users and give them access to projects


Login
* '''Image Builder''' - A regular user of Web Hob how uses the tool to create images
* Actions to be recorded against individual users so that there is an audit trail.  
* '''Image Builder New to Linux''' - A user who would like to create images using Web Hob but is new to Linux and its methods and conventions
* '''Architect''' - A systems architect who decides the direction of a project or product
* '''Team Member''' - A member of the team or group that is collaborating on creating images with Web Hob or related tasks
* '''Engineer'''
* '''Project Manager''' - The leader of a project using Yocto who is charge of the planning and delivery of the project
* '''Sysadmin''' - A systems administrator that manages the infrastructure for Web Hob and which resources and how much image builders can access.


Archiving
* Archive a finished projects


Notifications
* When bitbake are all reserved and a build request is submitted with build configurations into the build queue able to notify the user when the build is complete with an image URL or build failure with logs


== Comments ==
== Comments ==


Please put comments here.
Please put comments in user story form in the table below. It would be extremely helpful if you could add an ID number to the first column as well.


If you could also try and reference the Role, the Function or the Requirement reference as well so we can track everything easier.
If there are any additional comments that don't fit into the table or the format provided, please put them below.


== 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 ==


{| class="wikitable"
{| class="wikitable"
! scope="col"| Role
| width="16" | ID
! scope="col"| Function
| width="74" | Role
! scope="col"| Story
| width="87" | Function
! scope="col"| New feature
| width="377" | Story
! scope="col"| Not in Hob
| width="46" | New feature
! scope="col"| Requirement reference
| width="52" | Not in Hob
! scope="col"| Credit
| width="80" | Web Hob Requirement reference
| width="59" | Credit
|-
|-
| 1
| Image Builder
| Image Builder
| Layers
| 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.
| As an image builder I want to add my own layers so that I can create heavily customised images to suit my project.
|
|
|
|
Line 92: Line 97:
| London team
| London team
|-
|-
| 2
| Image Builder
| Image Builder
| Layers
| Layers
Line 100: Line 106:
| London team
| London team
|-
|-
| 3
| Image Builder
| Image Builder
| Build an image
| Build an image
Line 108: Line 115:
| London team
| London team
|-
|-
| 4
| Image Builder
| Image Builder
| Projects
| Projects
Line 116: Line 124:
| London team
| London team
|-
|-
| 5
| Image Builder
| Image Builder
| Testing
| Testing
Line 124: Line 133:
| London team
| London team
|-
|-
| 6
| Image Builder
| Image Builder
| Deployment
| Deployment
Line 132: Line 142:
| London team
| London team
|-
|-
| 7
| Image Builder
| Image Builder
| Build an image
| 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.
| 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
| London team
|-
|-
| 8
| Image Builder
| Image Builder
| Recipes
| Recipes
Line 148: Line 160:
| London team
| London team
|-
|-
| 9
| Image Builder
| Image Builder
| Dashboard
| Dashboard
Line 156: Line 169:
| London team
| London team
|-
|-
| 10
| Image Builder
| Image Builder
| Deployment
| Deployment
Line 164: Line 178:
| London team
| London team
|-
|-
| Image Builder
| 11
| 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
| Image Builder
| Dashboard
| Dashboard
Line 196: Line 187:
| London team
| London team
|-
|-
| 12
| Image Builder
| Image Builder
| Logs
| 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.
| 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
| London team
|-
|-
| 13
| Image Builder
| Image Builder
| Notifications
| Notifications
Line 212: Line 205:
| London team
| London team
|-
|-
| 14
| Image Builder
| Image Builder
| Configurations
| Configurations
Line 220: Line 214:
| London team
| London team
|-
|-
| 15
| Image Builder
| Image Builder
| Notifications
| Notifications
Line 228: Line 223:
| London team
| London team
|-
|-
| 16
| Image Builder
| Image Builder
| Scheduling
| Scheduling
Line 236: Line 232:
| London team
| London team
|-
|-
| 17
| Image Builder
| Image Builder
| Scheduling
| Scheduling
Line 244: Line 241:
| London team
| London team
|-
|-
| 18
| Image Builder
| Image Builder
| Dashboard
| Dashboard
Line 252: Line 250:
| London team
| London team
|-
|-
|
| 19
|
|
|
|
|
|
|-
| Image Builder
| Image Builder
| Build an image
| 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.
| 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.
|
|
|
|
Line 268: Line 259:
| London team
| London team
|-
|-
| 20
| Image Builder
| Image Builder
| Build history
| Build history
Line 276: Line 268:
| London team
| London team
|-
|-
| 21
| Image Builder
| Image Builder
| Configuration
| Configuration
Line 284: Line 277:
| London team
| London team
|-
|-
| 22
| Image Builder
| Image Builder
| Configuration
| Configuration
Line 292: Line 286:
| London team
| London team
|-
|-
| 23
| Image Builder
| Image Builder
| Templates
| Templates
Line 300: Line 295:
| Shane Wang
| Shane Wang
|-
|-
| 24
| Image Builder
| Image Builder
| Templates
| Templates
Line 308: Line 304:
| Shane Wang
| Shane Wang
|-
|-
| 25
| Image Builder
| Image Builder
| Build an image
| Build an image
Line 316: Line 313:
| Shane Wang
| Shane Wang
|-
|-
| 26
| Image Builder
| Image Builder
| Dashboard
| Dashboard
Line 324: Line 322:
| Shane Wang
| Shane Wang
|-
|-
| 27
| Image Builder
| Image Builder
| Dashboard
| 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.
| 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.
|
|
|
|
Line 332: Line 331:
| Shane Wang
| Shane Wang
|-
|-
| 28
| Image Builder
| Image Builder
| Build an image
| Build an image
Line 340: Line 340:
| Shane Wang
| Shane Wang
|-
|-
| 29
| Image Builder
| Image Builder
| Build an image
| Build animage
| 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.
| As an image builder I want to be able to select a base image so that I can build without any customisation andgo to a complete build directly.
|
|
|
|
Line 348: Line 349:
| Shane Wang
| Shane Wang
|-
|-
| 30
| Image Builder
| Image Builder
| Build an image
| Build an image
Line 356: Line 358:
| Shane Wang
| Shane Wang
|-
|-
| 31
| Image Builder
| Image Builder
| Build an image
| 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.
| 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 buildswith minimal error.
|
|
|
|
Line 364: Line 367:
| Shane Wang
| Shane Wang
|-
|-
| 32
| Image Builder
| Image Builder
| Build an image
| Build animage
| 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.
| 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.
|
|
|
|
Line 372: Line 376:
| Shane Wang
| Shane Wang
|-
|-
| 33
| Image Builder
| Image Builder
| Build packages
| 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.
| 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.
|
|
|
|
Line 380: Line 385:
| Shane Wang
| Shane Wang
|-
|-
| 34
| Image Builder
| Image Builder
| Build an image
| Build an image
Line 388: Line 394:
| Shane Wang
| Shane Wang
|-
|-
| --
| Image Builder
| Build an image
| As an image builder I want to be using the latest sources for the metadata, so that I have the latest and most stable functionality.
| New
| Not in Hob?
|
| London team
|-
| --
| Image Builder
| Build an image
| As an image builder, I want to understand what's inside the image I am going to build, and how elements relate to each other, so that I can make informed customisation decisions
| New
|
|
| London team
|-
| --
| Image Builder
| Build an image
| As an image builder, I want to access the source files and scripts used to build my images, so that I can fully comply with the GPL license terms.
| New
|
|
| London team
|-
|<br />
|
|
|
|
Line 396: Line 431:
|
|
|-
|-
| 35
| Image builder new to Linux
| Image builder new to Linux
| Build an image
| 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
| 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
| New
|
|
|
|
|
| London team
| London team
|-
|-
| 36
| Image builder new to Linux
| Image builder new to Linux
| Build an image
| 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.
| 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.
| New
|
|
|
|
|
| London team
| London team
|-
|-
| <br />
|
|
|
|
Line 419: Line 457:
|
|
|
|
|-
|-
| --
| Developer
| Deploy
| As a developer I want to select the output format(s) of my image (e.g. jffs2, tar.gz, ubi etc), together with output specific options (like jffs2 eraseblock size etc) through a text field or image type specific form.
|
|
|
| Frans Meulenbroeks
|-
| --
| Developer
| Build an image
| As a developer I want to control or select image features.
|
|
|
| Frans Meulenbroeks
|-
| --
| Developer
| Build an image
| As a developer I want to select machine as well as libc version, etc.
|
|
|
| Frans Meulenbroeks
|-
| --
| Developer
| Build an image
| As a developer I want to select specific versions of a recipe.
|
|
|
| Frans Meulenbroeks
|-
| <br />
|
|
|
|
|
|
|
|-
| 37
| Architect
| Architect
| Configuration
| Configuration
Line 428: Line 514:
| London team
| London team
|-
|-
| 38
| Architect
| Architect
| Create user
| Create user
Line 436: Line 523:
| London team
| London team
|-
|-
| <br />
|
|
|
|
Line 444: Line 532:
|
|
|-
|-
| 39
| Team Member
| Team Member
| Projects
| Projects
Line 452: Line 541:
| London team
| London team
|-
|-
| 40
| Team Member
| Team Member
| Groups
| Groups
Line 460: Line 550:
| London team
| London team
|-
|-
| 41
| Team Member
| Team Member
| Login
| Projects
| As an admin I want actions to be recorded against individual users so that there is an audit trail.
| 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
|-
| 42
| Team Member
| 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
| New
| Not in Hob
| Not in Hob
| 1.
|
| Shane Wang
| London team
|-
|-
| <br />
|
|
|
|
Line 476: Line 577:
|
|
|-
|-
| 43
| Engineer
| Engineer
| Groups
| Groups
Line 484: Line 586:
| London team
| London team
|-
|-
| 44
| 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
|-
| <br />
|
|
|
|
Line 492: Line 604:
|
|
|-
|-
| 45
| Project Manager
| Project Manager
| Archiving
| Archiving
Line 500: Line 613:
| London team
| London team
|-
|-
| <br />
|
|
|
|
Line 508: Line 622:
|
|
|-
|-
| 46
| Sysadmin
| Sysadmin
| Groups
| Groups
Line 516: Line 631:
| London team
| London team
|-
|-
| 47
| Sysadmin
| Sysadmin
| Groups
| Groups
Line 524: Line 640:
| Shane Wang
| Shane Wang
|-
|-
| 48
| Sysadmin
| 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
|-
| 49
| Sysadmin
| Sysadmin
| Groups
| Groups
Line 532: Line 658:
| Shane Wang
| Shane Wang
|-
|-
| 50
| Sysadmin
| Sysadmin
| Groups
| Groups
Line 540: Line 667:
| Shane Wang
| Shane Wang
|-
|-
| 51
| Sysadmin
| Sysadmin
| Notifications
| Notifications
Line 548: Line 676:
|
|
|-
|-
| <br />
|
|
|
|
Line 556: Line 685:
|
|
|-
|-
| 52
| Architect
| Architect
| Groups
| Groups
Line 564: Line 694:
| London team
| London team
|-
|-
| 53
| Architect
| Architect
| Groups
| Groups
Line 572: Line 703:
| London team
| London team
|}
|}
== What's New ==
(Role) Image builders new to Linux
* Understanding the selections they're making so that they're not confused when learning to use Web Hob
* Seeing the recipe and package descriptions in terms of functionality
Deployment
* Write images to removable media easily to test the image on the real hardware (this can be hard to do manually).
Dashboard
* Able to see the status of the build in real time to know what the progress is at any time.
* Able to see an overview of current and recent activities when I first login to see if I need to do something again or what went wrong.
Projects
* Sharing images and configurations with other team members
* Able to share packages with other team members so they don't need to build them again.
* Create package groups by selecting packages individually so other team members don't have to.
* Control how much of the available server resources each user can use so that there is fair sharing.
* Invite guest users so that guests can login.
* Reserve available bitbake for user’s requests to fairly distribute tasks.
* Randomly select one bitbake so that the user can configure the server
* Create package groups by selecting packages individually so other team members don't have to.
Packages
* Share packages with other team members
Notifications
* Send failure output (logs, other relevant info) to a 3rd party
* Get notifications (email?) when a build completes
* Schedule builds
* Schedule builds so that I don't have to run them immediately.
Build history
* See the history of my builds - history is classified per project.
Configuration
* Name my images for the same configuration so that I can easily identify them (but do not use naming for keeping separate configs)
* Have multiple configurations within each project so I can have similar settings for different target machines for the same project.
* Able to control the level of customisation available to team members
Templates
* Asked to save a template if the build was successful
* Manage (delete) saved templates
Build an image
* Start from previous successful steps which does not have a build yet (history max 5)
* Download the image (URL provided)
Create user
* Create Web Hob users and give them access to projects
Login
* Actions to be recorded against individual users so that there is an audit trail.
Archiving
* Archive a finished projects
Notifications
* When bitbake are all reserved and a build request is submitted with build configurations into the build queue able to notify the user when the build is complete with an image URL or build failure with logs

Latest revision as of 17:01, 22 January 2013

WebHob design

This is a design prototype for the web application version of the Yocto Hob application. Here's a screencast of showing how it would work when the user would click through the application as well as text describing whats going on.

The HTML, Javascript and CSS for the prototype is available on GitHub as well as the Photoshop files and style guides.

Here's a PDF of version 2.0 of the design of WebHob showing the screens how the interaction would work, how information and interaction would be laid out as well as an indication of what it will look like.

File:Webhob.2.0.pdf


There are a number of differences with the GTK or desktop-based version, and most of these difference revolve around the use of Projects to organise people working on a build, Groups and the ability to schedule and run builds on a server. The design also concentrates on collaborative features such as being able to report on and share builds as well as incorporating help and news alongside the functionality.

Its also important to note that this is a design and not a set of final requirements. There a lot of things (such as the Deploy function) which are ideas more than anything and there to see how the Yocto community responds and to gather feedback. So if you have ideas and comments, please add them.

Key Features of WebHob

  • Create and run a build on an external server
  • View the state of the running build on an externam machine in progress regardless of whether your web sessions is active or not
  • Store, share and delete all builds that were made by you
  • Adding your own layers via URL or upload
  • Download images and kernel from the server (everything that would be in tmp/deploy/images)
  • Multiple users having simultaneous access
  • Sharing configuration and builds within a Project


Requirements gathering for WebHob

Here's what we've come up with in gathering requirements and writing user stories in the London team for Web Hob 1.3. Right now the stories are broken up by role, with also the main function labelled alongside to make it easier to track where it is in the flow.

An explanation of user stories

We've written the requirements in the form of (agile) user stories. This is helpful from a design perspective to understand who needs to do something, what they need to do and why they need to do it. This is evident in the examples we've come up with below and gives context to each feature or function, making determining its validity and value a lot easier to justify.

In general, it follows this format:

As a role, I can feature so that reason.

Here's an example:

As a user, I want to search for my customers by their first and last names so that I can find other people easier.

http://en.wikipedia.org/wiki/User_story

Here's an article about the method:

http://www.codesqueeze.com/the-easy-way-to-writing-good-user-stories/


An explanation of roles

For the user stories we've come up with a number of roles that would be users of Web Hob. Most of them are pretty straighforward:

  • Image Builder - A regular user of Web Hob how uses the tool to create images
  • Image Builder New to Linux - A user who would like to create images using Web Hob but is new to Linux and its methods and conventions
  • Architect - A systems architect who decides the direction of a project or product
  • Team Member - A member of the team or group that is collaborating on creating images with Web Hob or related tasks
  • Engineer
  • Project Manager - The leader of a project using Yocto who is charge of the planning and delivery of the project
  • Sysadmin - A systems administrator that manages the infrastructure for Web Hob and which resources and how much image builders can access.


Comments

Please put comments in user story form in the table below. It would be extremely helpful if you could add an ID number to the first column as well.

If there are any additional comments that don't fit into the table or the format provided, please put them below.


User Stories / Requirements

ID Role Function Story New feature Not in Hob Web Hob Requirement reference Credit
1 Image Builder Layers As an image builder I want to add my own layers so that I can create heavily customised images to suit my project. London team
2 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
3 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
4 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
5 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
6 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
7 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
8 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
9 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
10 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
11 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
12 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
13 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
14 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
15 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
16 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
17 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
18 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
19 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
20 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
21 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
22 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
23 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
24 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
25 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
26 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
27 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
28 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
29 Image Builder Build animage As an image builder I want to be able to select a base image so that I can build without any customisation andgo to a complete build directly. 5.1. Shane Wang
30 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
31 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 buildswith minimal error. 5.3. Shane Wang
32 Image Builder Build animage 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
33 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
34 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 Build an image As an image builder I want to be using the latest sources for the metadata, so that I have the latest and most stable functionality. New Not in Hob? London team
-- Image Builder Build an image As an image builder, I want to understand what's inside the image I am going to build, and how elements relate to each other, so that I can make informed customisation decisions New London team
-- Image Builder Build an image As an image builder, I want to access the source files and scripts used to build my images, so that I can fully comply with the GPL license terms. New London team

35 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
36 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

-- Developer Deploy As a developer I want to select the output format(s) of my image (e.g. jffs2, tar.gz, ubi etc), together with output specific options (like jffs2 eraseblock size etc) through a text field or image type specific form. Frans Meulenbroeks
-- Developer Build an image As a developer I want to control or select image features. Frans Meulenbroeks
-- Developer Build an image As a developer I want to select machine as well as libc version, etc. Frans Meulenbroeks
-- Developer Build an image As a developer I want to select specific versions of a recipe. Frans Meulenbroeks

37 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
38 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

39 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
40 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
41 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
42 Team Member 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

43 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
44 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

45 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

46 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
47 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
48 Sysadmin 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
49 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
50 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
51 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

52 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
53 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

What's New

(Role) Image builders new to Linux

  • Understanding the selections they're making so that they're not confused when learning to use Web Hob
  • Seeing the recipe and package descriptions in terms of functionality

Deployment

  • Write images to removable media easily to test the image on the real hardware (this can be hard to do manually).

Dashboard

  • Able to see the status of the build in real time to know what the progress is at any time.
  • Able to see an overview of current and recent activities when I first login to see if I need to do something again or what went wrong.

Projects

  • Sharing images and configurations with other team members
  • Able to share packages with other team members so they don't need to build them again.
  • Create package groups by selecting packages individually so other team members don't have to.
  • Control how much of the available server resources each user can use so that there is fair sharing.
  • Invite guest users so that guests can login.
  • Reserve available bitbake for user’s requests to fairly distribute tasks.
  • Randomly select one bitbake so that the user can configure the server
  • Create package groups by selecting packages individually so other team members don't have to.

Packages

  • Share packages with other team members

Notifications

  • Send failure output (logs, other relevant info) to a 3rd party
  • Get notifications (email?) when a build completes
  • Schedule builds
  • Schedule builds so that I don't have to run them immediately.

Build history

  • See the history of my builds - history is classified per project.

Configuration

  • Name my images for the same configuration so that I can easily identify them (but do not use naming for keeping separate configs)
  • Have multiple configurations within each project so I can have similar settings for different target machines for the same project.
  • Able to control the level of customisation available to team members

Templates

  • Asked to save a template if the build was successful
  • Manage (delete) saved templates

Build an image

  • Start from previous successful steps which does not have a build yet (history max 5)
  • Download the image (URL provided)

Create user

  • Create Web Hob users and give them access to projects

Login

  • Actions to be recorded against individual users so that there is an audit trail.

Archiving

  • Archive a finished projects

Notifications

  • When bitbake are all reserved and a build request is submitted with build configurations into the build queue able to notify the user when the build is complete with an image URL or build failure with logs