[Feature Request] Downloading Instructions Enhancements; Set Refresh Enhancements #127

Open
opened 2025-12-25 19:18:28 +01:00 by joshmans · 7 comments

I am really loving the updates, especially dark mode - so thanks for doing that and maintaining this excellent little app.

I would like to propose some enhancements to the instructions downloading:

  1. Add the ability to batch download several at once
  2. Add the option for a checkbox or toggle to download instructions when doing a set refresh
  3. Add the option for a checkbox or toggle for download instructions when adding a set the first time.

For Set Refresh Enhancement I'd like to see the ability to batch refresh many at a time.

Maybe a scheduler of some sort to execute cronjobs? Just brainstorming. Thank you again for this excellent app - I hope you have a great Christmas and a Merry New Year!

I am really loving the updates, especially dark mode - so thanks for doing that and maintaining this excellent little app. I would like to propose some enhancements to the instructions downloading: 1) Add the ability to batch download several at once 2) Add the option for a checkbox or toggle to download instructions when doing a set refresh 3) Add the option for a checkbox or toggle for download instructions when adding a set the first time. For Set Refresh Enhancement I'd like to see the ability to batch refresh many at a time. Maybe a scheduler of some sort to execute cronjobs? Just brainstorming. Thank you again for this excellent app - I hope you have a great Christmas and a Merry New Year!

Thank you so much for the kind words and feature suggestions! I'm really glad you're enjoying the app and that dark mode is working well for you.

Both automatic instructions download and batch refresh are already things I've been looking at.

Batch Refresh: This one was straightforward and made a lot of sense, so I've already added it to the next update! You'll now see a "Bulk Refresh" button on the Admin -> Sets needing refresh page when you have multiple sets that need updating.

Screenshot_20251225_200230.png
Screenshot_20251225_200249.png

It follows the same pattern as bulk add; just paste in your comma-separated set numbers (or use the pre-populated list) and hit refresh. Can be tested on docker tag pre-1.4. Will be released with version 1.4. Changelog can be found here.

Instructions Download Enhancements: The instructions features are more complex than they initially appear. Most sets have multiple instruction file variants (US version, EU version, different languages, etc.), and users currently select which specific files they want to download. This means that simple "auto-download" checkboxes would need either:

  • Smart defaults (e.g., always download first file, always download US English or EU versions)
  • A preferences system where you configure once which variants you prefer
  • Interactive selection for each set (which defeats the automation purpose)

The challenge is that most instructions don't follow a clear pattern. Many newer sets do use patterns like V39 for US, V29 for EU, and standard X/Y for instruction numbering (e.g., "1 of 2"). However, this consistency breaks down with older sets. For example, set 21042-1 provides:

  • 21042_BI_DE
  • 21042_BI_HU
  • 21042_BI_IT
  • 21042_BI_PT
  • 21042_BI_ZHSI
  • BI 3018, 180+4/65+200G, 21042 V29
  • BI 3018, 204+4/65+200G, 21042 V39

Here it's very difficult to auto-select a manual. We could prioritize V29 or V39, but what about set 8258-1 where we get:

  • 8258_X_8258 Duty Wrecker 1 of 8
  • 8258_X_8258 Duty Wrecker 2 of 8
  • 8258_X_8258 Duty Wrecker 3 of 8
  • 8258_X_8258 Duty Wrecker 4 of 8
  • 8258_X_8258 Duty Wrecker 5 of 8
  • 8258_X_8258 Duty Wrecker 6 of 8
  • 8258_X_8258 Duty Wrecker 7 of 8
  • 8258_X_8258 Duty Wrecker 8 of 8
  • BI 3006/72+4 - 8258 4/4
  • BI 3006/80+4 - 8258 1/4
  • BI 3006/80+4 - 8258 2/4
  • BI 3006/80+4 - 8258 3/4
  • BI 3006/8 - 8258-PF/LEAFLET

I'm still brainstorming the best approach to handle this, as it's definitely a feature I want to implement. Regarding cronjobs; what specific tasks did you have in mind? Set refreshes would likely be very infrequent going forward and would only be necessary if the inventory data on Rebrickable changes.

Wishing you a wonderful Christmas as well and a Happy New Year! 🎄

Thank you so much for the kind words and feature suggestions! I'm really glad you're enjoying the app and that dark mode is working well for you. Both automatic instructions download and batch refresh are already things I've been looking at. **Batch Refresh**: This one was straightforward and made a lot of sense, so I've already added it to the next update! You'll now see a "Bulk Refresh" button on the Admin -> Sets needing refresh page when you have multiple sets that need updating. ![Screenshot_20251225_200230.png](/attachments/a3116869-b020-47b5-830b-60f726a80234) ![Screenshot_20251225_200249.png](/attachments/1e48d175-e352-4ba8-b843-38d33ce7b1d6) It follows the same pattern as bulk add; just paste in your comma-separated set numbers (or use the pre-populated list) and hit refresh. Can be tested on docker tag `pre-1.4`. Will be released with version 1.4. Changelog can be found [here](https://gitea.baerentsen.space/FrederikBaerentsen/BrickTracker/src/branch/release/1.4/CHANGELOG.md#14). **Instructions Download Enhancements**: The instructions features are more complex than they initially appear. Most sets have multiple instruction file variants (US version, EU version, different languages, etc.), and users currently select which specific files they want to download. This means that simple "auto-download" checkboxes would need either: - Smart defaults (e.g., always download first file, always download US English or EU versions) - A preferences system where you configure once which variants you prefer - Interactive selection for each set (which defeats the automation purpose) The challenge is that most instructions don't follow a clear pattern. Many newer sets do use patterns like V39 for US, V29 for EU, and standard X/Y for instruction numbering (e.g., "1 of 2"). However, this consistency breaks down with older sets. For example, set 21042-1 provides: - 21042_BI_DE - 21042_BI_HU - 21042_BI_IT - 21042_BI_PT - 21042_BI_ZHSI - BI 3018, 180+4/65+200G, 21042 V29 - BI 3018, 204+4/65+200G, 21042 V39 Here it's very difficult to auto-select a manual. We could prioritize V29 or V39, but what about set 8258-1 where we get: - 8258_X_8258 Duty Wrecker 1 of 8 - 8258_X_8258 Duty Wrecker 2 of 8 - 8258_X_8258 Duty Wrecker 3 of 8 - 8258_X_8258 Duty Wrecker 4 of 8 - 8258_X_8258 Duty Wrecker 5 of 8 - 8258_X_8258 Duty Wrecker 6 of 8 - 8258_X_8258 Duty Wrecker 7 of 8 - 8258_X_8258 Duty Wrecker 8 of 8 - BI 3006/72+4 - 8258 4/4 - BI 3006/80+4 - 8258 1/4 - BI 3006/80+4 - 8258 2/4 - BI 3006/80+4 - 8258 3/4 - BI 3006/8 - 8258-PF/LEAFLET I'm still brainstorming the best approach to handle this, as it's definitely a feature I want to implement. Regarding cronjobs; what specific tasks did you have in mind? Set refreshes would likely be very infrequent going forward and would only be necessary if the inventory data on Rebrickable changes. Wishing you a wonderful Christmas as well and a Happy New Year! 🎄
FrederikBaerentsen added the Kind/Enhancement label 2025-12-26 02:53:28 +01:00
FrederikBaerentsen added this to the Version 1.4 milestone 2025-12-26 02:53:32 +01:00
Author

Thanks so much for adding the bulk refresh feature so quickly - that'll come in handy - I'll test it out soon.

For the instructions I think making any kind of automated downloading optional, and then defaulting to whatever would match the timezone locale - if specified - or using an optional variable. But for older sets if there isn't any kind of matching possible on a particular set, specifically on older sets - perhaps present the user with a list to select which ones to import? Maybe an option variable for instructions that could include

-Always download all matches
-Download locale matches only
-Present a list when no locale match is possible
-Present a list always
-..... More I'm not thinking of?

I was thinking that cron could be used for some of these tasks to run in the background - like downloading instructions or set refreshes, but if they aren't going to be as needed going forward then it doesn't really make sense to implement.

Thanks again - will update to the 1.4 preview in a bit here and post back any feedback :-)

Thanks so much for adding the bulk refresh feature so quickly - that'll come in handy - I'll test it out soon. For the instructions I think making any kind of automated downloading optional, and then defaulting to whatever would match the timezone locale - if specified - or using an optional variable. But for older sets if there isn't any kind of matching possible on a particular set, specifically on older sets - perhaps present the user with a list to select which ones to import? Maybe an option variable for instructions that could include -Always download all matches -Download locale matches only -Present a list when no locale match is possible -Present a list always -..... More I'm not thinking of? I was thinking that cron could be used for some of these tasks to run in the background - like downloading instructions or set refreshes, but if they aren't going to be as needed going forward then it doesn't really make sense to implement. Thanks again - will update to the 1.4 preview in a bit here and post back any feedback :-)
Author

The bulk refresh worked a treat in terms of process - thank you. I went from 22 sets needing a refresh to 18. I'm wondering why 18 are still showing as needing a refresh, though.

On the sets needing refresh page it lists the issue count - is there a way to see which parts are detected as having issues? For example, 71369-1 is showing as having 9 Bricklink issues, 3 empty URLs, 3 empty transparent, 3 empty RGB.

The bulk refresh worked a treat in terms of process - thank you. I went from 22 sets needing a refresh to 18. I'm wondering why 18 are still showing as needing a refresh, though. On the sets needing refresh page it lists the issue count - is there a way to see which parts are detected as having issues? For example, 71369-1 is showing as having 9 Bricklink issues, 3 empty URLs, 3 empty transparent, 3 empty RGB.

Could you provide a copy of your database? I don't see a specific issue with 71369-1.

I have explained why some sets doesn't disappears from Refresh list in #119.

Could you provide a copy of your database? I don't see a specific issue with 71369-1. I have explained why some sets doesn't disappears from Refresh list in #119.
Author

db attached.

db attached.

The refresh functionality I just fixed in different issue (5418aca8f0), it ensures that when you refresh a set, the parts data syncs properly with Rebrickable while preserving your tracking data (checked/missing/damaged).

I updated pre-1.4 and it should now work. I tested it on your DB.

The refresh functionality I just fixed in different issue (5418aca8f0), it ensures that when you refresh a set, the parts data syncs properly with Rebrickable while preserving your tracking data (checked/missing/damaged). I updated `pre-1.4` and it should now work. I tested it on your DB.
Author

The refresh functionality I just fixed in different issue (5418aca8f0), it ensures that when you refresh a set, the parts data syncs properly with Rebrickable while preserving your tracking data (checked/missing/damaged).

I updated pre-1.4 and it should now work. I tested it on your DB.

PERFECT! Updated, and refresh works exactly as expected. Well Done!

> The refresh functionality I just fixed in different issue (5418aca8f0), it ensures that when you refresh a set, the parts data syncs properly with Rebrickable while preserving your tracking data (checked/missing/damaged). > > I updated `pre-1.4` and it should now work. I tested it on your DB. PERFECT! Updated, and refresh works exactly as expected. Well Done!
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: FrederikBaerentsen/BrickTracker#127