-
Notifications
You must be signed in to change notification settings - Fork 6
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::toJson
so it can handle writing arrays -
ExtendDONEJsonXPath
so it can handle named array elements such asequipment_items[form="Mash Tun"]
-
ExtendDONEJsonXPath
to do the calling to Boost.JSON so that we replace direct calls tofind_pointer
. Possibly use newset_at_pointer
function 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
XxxTableModel
classes (removeBtTableModelData
and fixWaterTableModel
) FinishJsonRecord::loadChildRecords
so it can load records generically- Create
MashTableModel
to replaceNamedMashEditor
, and mergeNamedMashEditor
withMashEditor
. Change code that usesMash::tunTemp_c
etc to look atEquipment
ifMash
fields not set. Then retireFrom Equipment
button. - Default all
Mash
instances 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:RecipeAdditionHop
RecipeAdditionFermentable
RecipeAdditionMisc
RecipeAdditionYeast
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)