Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Update required info field so it can capture required and optional information #725
Before the v2.x update the required info field captured both required and optional information for entries per the BJCP guidelines. We'd like to see a return to this functionality because having to turn on the brewer specifics functionality is causing a lot of issues for our competitions, especially our larger 800 entry one.
I realize that the current recommendation is to use the brewer specifics field to capture optional information but we're experiencing increased emails from confused entrants, as well as large volumes of useless information in the field from other entrants. Also for our competitions we don't share the brewer specifics information with the judges as it tends to slow down judging.
Bruce (this is Bruce, right?), I wish I had a solid solution for both camps on this issue, but I've yet to come up with one. On one side we have organizers that don't wish to have any extraneous information input by users for any entry. They only want the essential, required information for those subcategories that require them. Then we have others that actively solicit this extra information, and wanted a venue to do that, but did not want it to be input in the same field as the required information.
The Brewer's Specifics field (an original feature of the codebase since it was part of the BJCP's Entry Recipe Form) seemed like the appropriate and logical method to capture this information, and it was "promoted" from way down in the recipe input section to its present location a few releases back and the entered information was added to pullsheet reports.
The Required Info field is a free-form text field on the front-end and a TEXT type field in the DB, so it is capable of storing up to 65,535 characters. More than enough for the purposes of capturing essential entry information for any subcategory that requires it. Pullsheets will reflect all the information entrants input into the field. The rub is bottle labels, which have a finite amount of space. Labels are why the field's character limit was implemented.
There a couple of ways I can think of to mitigate this using the currently available configuration settings and codebase...
Otherwise, I'm kind of stumped as to how to address this in a programmatic way. I'm open to suggestions!
Yep it's Bruce. So are the folks that only want required info just want items stated as required in the BJCP guidelines or are they willing to accept items stated as optional in the guidelines as well in that field? I would think this camp would allow in that field what is stipulated by the guidelines so it can be applied to the label.
My suggestion would be for an enhancement going forward so the Required Info field is displayed and required for BJCP sub categories that state an entrant must declare something. Also the field is displayed but is optional for sub categories that state an entrant may declare something. Brewers Specifics can remain for those comps that would like to use it and the existing on / off functionality should remain.
Possible change would require the brewStyleReqSpec field on the Styles table to contain a 2 for subcategories where a brewer may declare something (i.e. rye in American Wheat, honey variety, apple variety, etc). If the brewer has selected a style with a 1 or 2 in brewStyleReqSpec then display the Required Info field. If brewStyleReqSpec = 1 the field is required, ifelse brewStyleReqSpec = 2 the field is optional. Also rename Required Info to Special Ingredients on the screen so it aligns with what's on the BJCP score sheet.
Granted website prefs > character limits for special ingredients would need to be set at 50 characters in order to get all the text on the label, but those comps who want to be able to capture more optional information can turn on the Brewer Specifics functionality or export the entries to a CSV file and make a dedicated label to special ingredients using a mail merge.
OK, here's what I'm thinking...
There are some unused fields in the brewing table. One can be utilized as a Optional Info field that will be displayed for those subcategories that the BJCP states an entrant may declare something. Entry Instructions will populate as usual to provide guidance for entrants.
The BJCP2015 styles that would feature the new Optional Info field AND the Required Info/Special Ingredients field (please let me know if I missed any):
The BJCP2015 styles that would feature the new Optional Info field ONLY (again, please let me know if I missed any):
Both fields would be subject to the Admin-defined character limit. Another "Optional Info" label report could also be made available. Similarly, the optional information would be reflected on pullsheets and other reports where appropriate.
Hi, in a similar vein, I had an entrant request a way to add the base beer style for M4A Braggot. Currently there is no text field (required or optional) entry for this style without enabling the brewer's specifics section. I'd also like the feature you described (optional entry field for certain categories). Thanks
One thing to consider with this one. Just have the Optional categories trigger the Required Info/Special Ingredients field and put some instructions on the screen to the entrant telling them to put NA if they have nothing to declare. That shows that they had the chance and enter something but willingly declined to do so, and it avoids having to code extra functionality.
added a commit
Jun 20, 2017
Just trying to understand the issue here, seems like the "entrant may declare" language is very limited in the 2015 guidelines, compared to 2008. Is this mostly an issue with Cider/Mead, more than Beer?
I see that Kellerbier entry has an issue with how it works right now (if you don't enable Brewer's Specifics), compared to the guidelines language:
Seems that for this one, we should just have 3 choices in radio buttons:
Then have the "Required Info" field show up if they pick other.
I saw Bruce mentioned Rye in American Wheat, but that should go in Alternative Fermentables, not 1D American Wheat:
I didn't see 27 Historical mentioned in the previous conversation, but I think it's already covered similar to 21B Specialty IPA, since "Required Info" field comes up already:
I don't see a reason for 30B to have the optional field, there is no "MAY" in the entry info.
Why does this have to be a separate field? Participants should be able to fit any mandatory and optional info within 50 characters, otherwise we'll have to start printing an additional set of bottle labels for this optional field too, and the sorting process will be increasingly complicated.
Why can't the optional info just be entered in the required info box? All it would take would be some conditional logic to make the submitting the entry with that box empty allowed for:
(stole this list from your "optional only" list above, minus Kellerbier as described above)
If the name "required info" is confusing because it can sometimes be optional, it could just be renamed to "Entry Info".
If we give another field with 50 char limit, novice entrants that are running up against the 50 char limit in required info, will abuse the optional field to fit more info in.