Yocto Web Hob Design 0.0 — Archived
Discussion
Interaction design proposal for WebHob 1.3 - What's New
Visual design proposal for Hob 1.3
(to follow)
Things to explore
- Connecting with Maker/Hacker community and seeing how could expand Yocto to new users and developers
 - Network use (sensors, remote boxes, etc.)
 
User Stories / Requirements
| 
 Role  | 
 Function  | 
 Story  | 
 
  | 
 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  | 
 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.  | 
 
  | 
 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).  | 
 
  | 
 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.  | 
 
  | 
 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.  | 
 
  | 
 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.  | 
 
  | 
 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.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Dashboard  | 
 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) so that I can see if I need to do it again or what went wrong.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Logs  | 
 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.  | 
 
  | 
 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.  | 
 
  | 
 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.  | 
 
  | 
 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.  | 
 
  | 
 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.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Dashboard  | 
 As an image builder I want to see understandable explanations of machines so that I can make the right decisions.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Dashboard  | 
 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.  | 
 
  | 
 London team  | 
| 
 Image Builder  | 
 Build an image  | 
 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 )  | 
 
  | 
 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.  | 
 
  | 
 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).  | 
 
  | 
 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.  | 
 
  | 
 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  | 
 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  | 
 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.  | 
 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[#cmnt1 [a]]  | 
 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 I want to see an error dialog pop up and be brought back to Build Settings So that I can make changes.[#cmnt2 [b]]  | 
 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.[#cmnt3 [c]]  | 
 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 (select recipes), then build packages and then select a package.[#cmnt4 [d]]  | 
 5.2.  | 
 Shane Wang  | 
| 
 Image Builder  | 
 Build an image  | 
 As an image builder I want to select a base image, view the packages and see a pop up a warning dialog explaining the current available packages if they are not a complete package list and then ask if want to proceed or not so that I can create builds[#cmnt5 [e]]  | 
 5.3.  | 
 Shane Wang  | 
| 
 Image Builder  | 
 Build an image  | 
 As an image builder I want to select a base image to build selected recipes then select package so that I can build a package.[#cmnt6 [f]]  | 
 5.3.1.  | 
 Shane Wang  | 
| 
 Image Builder  | 
 Build an image  | 
 As an image builder if I don’t want to view the package I can go directly to select package so that ------[#cmnt7 [g]]  | 
 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 image  | 
 As an image builder I want to download the image (URL provided) So that I can deploy the image  | 
 8.a.  | 
 Shane Wang  | 
| 
 
  | 
 
  | 
 
  | 
 
  | 
 
  | 
| 
 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.  | 
 
  | 
 London team  | 
| 
 Architect  | 
 Create user  | 
 As an architect I want to create Webhob users and give them access to projects so that I can manage my resources.  | 
 
  | 
 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.  | 
 
  | 
 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.  | 
 
  | 
 London team  | 
| 
 Team Member  | 
 Login  | 
 As an admin I want actions to be recorded against individual users so that there is an audit trail.  | 
 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.  | 
 
  | 
 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.  | 
 
  | 
 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.  | 
 
  | 
 London team  | 
| 
 Sysadmin  | 
 Groups  | 
 As a sysadmin I want to be able to invite guest users so that guests can login.  | 
 0.  | 
 Shane Wang  | 
| 
 Sysadmin  | 
 Groups  | 
 As a sysadmin I want to be able to reserve available bitbake for user’s requests so that ------ [#cmnt8 [h]]  | 
 Multi-user 1.  | 
 Shane Wang  | 
| 
 
  | 
 
  | 
 
  | 
 
  | 
 
  | 
| 
 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  |