Repository navigation
BeerJSON
Matt Young edited this page May 29, 2024
·
48 revisions
This is a temporary page to help me track progress mostly on some of the turn-the-handle parts of BeerJSON.
Most of these stemmed from the difference between FermentableBase and Fermentable. Still need to fix export so recipes in BeerJSON can be read correctly on a different system (ie we need to export ingredients too).
-
OG and FG are changed slightlyFixed -
Equipment not setBy design with BeerJSON -
Batch size bar not set (but boil size is)Fixed -
Boil time is 0Fixed -
Target boil size is 0Fixed -
IBU is slightly changedFixed -
Color is slightly wrongFixed -
Fermentable additions all have yield 0.0%Fixed -
Calories / 12oz is changedFixed - Extras > Temps are all 0
-
ABV is changedFixed
-
FinishDONEJsonRecord::toJsonso it can handle writing arrays -
ExtendDONEJsonXPathso it can handle named array elements such asequipment_items[form="Mash Tun"] -
ExtendDONEJsonXPathto do the calling to Boost.JSON so that we replace direct calls tofind_pointer. Possibly use newset_at_pointerfunction too. Upgrade our copy of the BeerJSON schema to the 1.0.2 release at https://github.com/beerjson/beerjson/releases/tag/v1.0.2. (Only small changes.)- Finish tidying up
XxxTableModelclasses (removeBtTableModelDataand fixWaterTableModel) FinishJsonRecord::loadChildRecordsso it can load records generically- Create
MashTableModelto replaceNamedMashEditor, and mergeNamedMashEditorwithMashEditor. Change code that usesMash::tunTemp_cetc to look atEquipmentifMashfields not set. Then retireFrom Equipmentbutton. - Default all
Mashinstances to having a name, even if it is justMash for recipeName. -
Create new "recipe addition" classes to replace "child is use of" idiom in existing code:RecipeAdditionHopRecipeAdditionFermentableRecipeAdditionMiscRecipeAdditionYeast
| Model Class | Properties etc | DB new columns | DB mapping | BeerXML mapping | BeerJSON mapping | UI (Editor) | Optional Existing |
|---|---|---|---|---|---|---|---|
| Boil ‡ | Done | Done | Done | Done | Done | Mostly | N/A |
| BoilStep ‡ | Done | Done | Done | N/A | Done | Mostly | N/A |
| BrewNote ⹋ | |||||||
| Equipment | Done | Done | Done | Done | Done | Done | Done |
| Hop | Done † | Done | Done | Done | Done | Done | Done |
| Fermentable | Done | Done | Done | Done | Done | Done | Done |
| Fermentation ‡ | Done | Done | Done | Done | N/A | ||
| FermentationStep ‡ | Done | Done | Done | Done | N/A | ||
| Instruction ⹋ | |||||||
| Inventory | |||||||
| Mash | None! | N/A | N/A | N/A | Done | N/A | Done |
| MashStep | Done | Done | Done | Done | Done | Done | Done |
| Misc | Done | Done | Done | Done | Done | Done | None! |
| Recipe | Done | Done | Done | Done | Done | Done | Done |
| Salt ⹋ | |||||||
| Style | Done | Done | Done | Done | Done | Done | Done |
| Water | Done | Done | Done | Done | Done | Done | Done |
| Yeast | Done | Done | Done | Done | Done | Done | Done |
- "Optional Existing" means make existing required parameters optional when they are already optional in BeerXML
† Still need to extend Hop::amount_kg so we can cope with volumes for extract etc
‡ New classes for BeerJSON
⹋ Outside the scope of BeerJSON (I think)