BrewBlox/brewblox-documentation

Implement review notes guide to removing things

Opened this issue · 0 comments

File: removing_things.md
Commit: 5be4c2c
Review date: April 15 2021
Tech: Tested on laptop with kubuntu 20.04 LTS and Brewblox with build date: 2021-04-07T14:53:23.863Z. Spark (service: spark-one) with Fermentation Fridge wizard blocks (standard). Spark is powered & connected over USB. Spark simulation (spark-sim) was added as extra service with HERMS setup from wizard (standard).

l1 Funny title, not exactly clear what it means from the outset, colloquial / informal language, reads more like a blog title

l6 what do you mean by removing the entire system? Chuck it out of the window? Removing the Brewblox software from your Pi? Reset the Spark? How can I reset the Spark firmware anyway? I only know how to update it. Is there no option to revert to a previous firmware? No use case for that situation either?

Style note: 'this dialog', 'this menu' are examples of informal language. It's a style thing I would not recommend or expect from a guide. Maybe better name all the menus and dialogs so we can use their names in the guide.

l17 Suggested dialog text for consistency: 'Remove widget from dashboard', 'Remove block from controller'

l22 "..also remove the block from the controller." - lose the part after the hyphen

l35 reverse text of l37 and this picture

l39 Hierarchy of headings is lost - or is this a conscious decision to find the headings in the guide sidebar? If not: 'Remove unused block names' is a subsection of 'Spark service actions' so I suggest H3. The same holds for 'Remove all blocks', 'Import/Export blocks', 'Remove Spark service'

l43 I am wondering how a controller can end up in this state... Connect to a different server, remove the blocks and connect to the first server again? It makes me wonder: does the controller keep track of the server it is connected to? Probably not... Maybe give each server some unique hash, store it on the controller and check every time the controller reconnects to the server? Then you can build warnings in the UI and ppl know something is fishy when they do it. Something like: 'Hey, this Spark was connected to server XYZ before. Do you really want to connect to this server now?' and 'If you remove these blocks, they cannot be recovered for server XYZ either'.

l55 "..all block data to the controller, and all block names to the datastore." Question: what does the action 'Import single block' do? When do you need it? It is not described...

Spark service actions - tested on spark-one (no simulation):

  • Remove unused block names: don't know how to test - Notification 'No unused names found' - good
  • Import single block: works - tested with mock analog actuator
  • Export blocks: works
  • Import blocks: works - nice notification & animation
  • Remove all blocks - (all UNchecked): works - links to dashboard and layout are restored - good
    • Confusing the popup menu is called 'Reset blocks' though. And what are those checkboxes for?
    • All block names would be removed, but the history data is still there... Expected that to go with the names... All works again after importing previously exported blocks
  • Remove all blocks - (all checked): works
    • What can I do with exported pin names? How do I import them?

l61 confusing, two pictures before text. Especially the big picture.

l63 picture shows old UI. Make new picture or refer to picture of service actions menu shown earlier.

l65: "..removing it on the Pi (server), and removing it in the UI" - We should be consistent in naming the UI; UI or Brewblox UI?

l67 "..run brewblox-ctl service remove -n <SERVICE_NAME> in the ~/brewblox directory."

Remove Spark service - tested on spark-one:

  • Situation: all up&running and spark-one connected over USB
  • brewblox-ctl service remove -n spark-one - success, left orphans
  • Service page: Remove service from UI - success, spark-one immediately rediscovered
  • Re-added spark-one: curious... block list remains empty... block list returns after F5. All links, dashboards and history data works again - good!

Reinstall Brewblox from scratch:

  • Instruction is clear, not tested.

Side notes:

  • service - list view: action menu has an horizontal scrollbar, see ServiceActionMenuHorScrollbar.png. On diagram view too. I think this is needed nor desired. This is the same for both my monitors (1280x1024) and (1440x900). Shifting the UI from the 1440 wide screen to the 1280 screen makes the problem worse, see ServiceActionMenuHorScrollbarWorse.png. The problem is stable under continued shifting back and forth.
  • Builder - editor view - standard glycol layout: What is that 2 icon on top of the glycol cooler? See GlycoLayout.png. It is the standard layout of the Glycol-cooled fermenter wizard. The icon vanishes when either the top inlet or the glycol kettle is removed. Ah, layout parts are linked to a single grid point even if the itself part is bigger. The numbered icon is indicating multiple parts linked to the same grid block... Maybe a good point for the builder guide.
  • second good point for the builder guide: menu actions N, E, D, etc. work on unselected parts on mouse hover. Menu actions don't work when multiple parts are selected
  • Personal note: standard glycol-cooled fermenter layout is ugly because of asymmetry. Consider scaling the conical by one grid block as in brewblox-GlycoLayouTEST-layout.json. You can always scale the full layout to taste.
  • Personal note: conical valves are not functional nor placed in functional positions for connecting to piping - conscious choice?