cookbook
cookbook copied to clipboard
Add a "Notes" Section
I do not know if this is part of the JSON+LD schema; probably not. But often when I'm manually entering in a recipe from a book or non-conforming webpage, there are Tips and Tricks or important information that go outside of the the normal step by step process. It would be great if there were a dedicated place I can put the information. Right now I'm sticking it in Tools, if it's unused or trying to embed it in the steps...
@JoshuaPettus I think this is very close to #8, right? I suspect this is a duplicate but if not, please work out the difference.
Not really, I'm not talking about user comments with likes, emojis, and what not... This is still a part of the recipe. A section that is in many cookbooks. Like your tools section. Heck if you just duplicated that and renamed it Notes, that would be fitting.
I'll give an example. I have a recipe for pretzels. In the instructions it tells you to optionally put it boiling water with baking soda. In margin there are notes about pitfalls with the baking soda process and things to watch out for that go outside the step by step process, but are still good to know if you want it to turn out right.
Have been meaning to add this feature request myself :)
This is not like #8. As @JoshuaPettus says, this is for notes that are part of the recipe itself. Typically extra information that doesn't fit into the regular instructions, such as variations and things to watch out for.
Here's a good example: https://www.madbanditten.dk/2014/09/06/chia-knaekbroed/
I think you missed the point in #8. This is about comments. No rating (#323). So I am not talking about
user comments with likes, emojis, and what not.
In fact, I was looking through the schema standard and did not find a notes section directly mentioned there. Either the information is considered user-contributed in which case they should be considered a Comment
.
One could use the text property but this is not quite correct as it will not contain the complete recipe. Another option would be hasPart.
The other option was to define something on ourselves. I have to look into this how this might work out.
One major question from my side: Should the "comments" be associated with the recipe as-it-is or with individual recipe instruction steps? The instruction steps can be modelled as CreativeWork
instances that can have Comment
s.
What about the example that is in Donatzsky's post? It seems in that example there is some sort of precedent for Notes, unless they did something outside the standard? If I'm understanding correctly, comments are created after the recipe has been created correct? That's not very useful to the creator of the recipe who has the extra information they themselves want to put in. Unless he later after the recipe has been made, puts in the comment himself? It's rather ugly if you ask me.
I do not know if it's a good idea to tie a "Comment" to an individual step. In my mind that would only hinder the flexibility of the Note. As Dontazsky describes, often such notes can contain variations of the whole process
I evaluated/extracted the JSON from the page semi-manually. The result of the process shows that the notes are not part of the JSON data. (Or did I completely miss it? I am not able to speak Danish, sorry).
The thing is: These notes are part of the page as any other part visible. For example, the page header and footer are visible but of course not part of the recipe. Even more, the comments could be part of the recipe but the JSON does not cover them as well.
So, this information currently cannot be automatically extracted from that page.
This does however not mean, that we cannot support something in this direction. As such things tend to get overly complex over time, I wanted to be sure we are on the same page. If we introduced more complexity, it should be useful if you understand what I mean.
I have multiple ideas on how to get there. One could be to extend the schema.org standard. I am not fluent enough with their way of thinking to give an answer right away. I need to work this out. As a fallback, one could use the meta JSON as discussed in #340 to store this as additional data.
Anyway, this might take some time to be honest as there is not much manpower at the moment driving the project forward. These changes need some cleanup upfront, which means additional time before the main work can begin. So if anyone is willing/capable to help, please comment.
Thank you for the detailed reply. That makes total sense. I only wish I had the skills you need. :(
This issue was not updated for 45 days. It is therefore marked as stale. When no update occurs within the next 7 days, this issue will be closed automatically in the next 7 days.
This issue was not updated since it was marked as stale. It will be closed now.
Can this be reopened? It's still a valid feature request? Or is there some other sort of mechanism that keeps track these things?
I think something like this is really useful. Before I started using this I had a notion template which stored all my recipes, and allowed me the freedom to add what I wanted. One thing I found really useful was a database of 'makes', which I added a new entry to every time I made a recipe, allowing me to make notes and to rate the meal each time.
I wonder if this could be replicated by each recipe having a list of child recipes, which a user can generate if desired when making a recipe, allowing them to add notes on any alterations which they made at each stage or ingredients which we altered.
This could work well with #364, where the parent can be replaced by a child, and the new parent maintains the make history, makes which were once a parent have an additional tag which marks them as versions.
This would probably need the initial recipe adding to itself as the first make to allow you to see v1 in your history.
One could think of using the isPartOf
/haPart
notion in schema.org.
But: A recipe is a recipe. It is no collection of recipes in general. This would break the notion of schema.org. There is already the idea to have cookbooks available in the cookbook app. But this is another story.
I currently see these options:
- Extend the standard and create an inherited type of some sense
- Add the extra information to the DB and store in a meta file (#340)
- Store a complete graph of objects with notes available.
- Put the notes in the DB only (similar to 2)
The question would be: should the notes be shared by all users or just be visible to the owner of the recipe (once #120 is done)?
Maybe the workexample element in the recipe could be used to show examples of when this recipe was made, I think that would fit with the intention of the schema.
However, I think the meta file makes more sense from a few perspectives, and allows extensions outside the schema which would be really useful. An immediate example springs to mind of a variable which allows automatic calculation of a rating, querying each make for a rating and averaging all, I'm unsure on the process but suspect this could be done in the cron job. It also provides an easier route to versioning recipes over time, and potentially makes branching out easier where a recipe folder can be copied and renamed if branched enough from the original recipe, and allow an 'inspired' where the recipe can point to recipes it led to, which would be well outside the scope of the original schema
The question would be: should the notes be shared by all users or just be visible to the owner of the recipe (once https://github.com/nextcloud/cookbook/issues/120 is done)?
I'm not sure you follow what exactly a note is in this case. A note is something that is every bit a part of the recipe as the step. It is simply extra information that does not follow the step by step process. Would it make sense to hide recipe steps from users?
As such option one makes the most sense. Extend the standard. Even if it isn't used by website import, just another blank field (like often nutrition information or tools), I don't see the harm.
Honestly I think this all stems from a clash between the modern internet style of writing recipes and traditional cookbook methods.
My current work around is to add additional notes as extra paragraphs within the final step (since a step can be a long as I want). And looks clean on the recipe card.
maybe a picture will help to describe the intent of a "notes" section on a recipe card:
This is a screenshot from recipesage,com - my current recipe collection app. I'd LOVE to move my recipes to nextcloud...