-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade process when data is removed (v4 upgrade) #307
Comments
I agree with @ohare93 and @ukanuk that in principle, a better deck management system would probably be ideal. (Sorry, I still haven't had time to look at Brain Brew!) That said, I don't think that using the currently available tools are insufficient for a "good enough" outcome. Categories of notesTo summarise, we have three categories of notes: I. Those which will be kept, with all their current fields. (The bulk) II. Those which will be kept, but with the contents of some of their fields removed (the "Capital" and "Flag" fields), hence causing some of their cards to become empty and probably, eventually deleted. The cards:
III. Those which will be completely removed. Types of usersTo slightly modify/re-phrase @axelboc's categorisation of scenarios: 1: New user or upgrading user who doesn't mind losing their existing progress and any now-removed cards. Wants to follow AUG in choice of cards (they don't want the now-removed cards).They want to only have the cards from I. and II.a.. This group must be able to just import the new deck (possibly deleting their old copy first), without having to fiddle with anything. 2: Upgrading user who'd prefer not to lose progress if possible, but wants to follow AUG in choice of cards.They want to only have I. and II.a. and lose as little progress as possible. 3: Upgrading user who'd prefer not to lose progress if possible, and doesn't want to lose any now-removed cards. Wants to stay "inter-operable" with AUG.They want to have all of I., II.a., II.b., III.. (I'm not sure that group 3 is much smaller than 2, if at all.) ApproachesTo partially repeat from the previous thread the possible approaches we can have: A. (Most basic.) Simply remove all the rows corresponding to III. and remove the Capital and Flag fields from II..B. (@axelboc's suggestion.)
Results:
C. Just like B. but with the first step slightly changed:
2.-5. stay the same. Results:
D. Just like B. but with the both first and the second steps modified:
3.-5. stay the same. Results: E. @ohare93's solutionLike A. but encourage users in 3 to install an add-on and manually copy the notes in II.. Results:
F. Just like E. but with temporary decks.
It's the best — everybody achieves their desired outcome, but it's also the most complicated (two different temporary decks) and involved (installing an extra add-on, manually copying cards etc.). Summary of the different approaches compared to the ideal, in a table (as an image since GFM doesn't allow coloured cells): FWIW, none of the approaches adds any overhead to new/"fresh" users or negatively affects them in any way (other than possibly confusing them). Some of the approaches add overhead to upgrading-with-progress-but-wanting-to-stick-to-aug-card-selection users (2), but only for their benefit. (They can ignore the overhead, but then they end up keeping all the tiny dependent territories, that we've fully removed.) Overall, I think that D is the best solution, since it gives the optimal result for groups 1 and 2 and a good-enough result for 3, while remaining relatively simple. F can exist for that subset of group 3 who is desperate about preserving all progress, but I think that it shouldn't be actively advertised to avoid confusing normal people (all of 1 and 2 and most of 3), with the addition of even more temporary decks... |
Awesome overview, thank you <3 What would be the impact of future upgrades of the deck for each solution, do you think? |
What types future upgrades should we be wary of? Possible scenarios, that I can think of: i Adding a new "descriptive" field. (One that doesn't result in an extra card, just enhances an existing one — e.g. pronunciation, "flag info" etc.) ii Adding a "generative" field. (One that does result in an extra field — e.g. currency.) iii More extensive editing of templates, to use the fields differently (not really clear???). iv "Non-local" fields (fields whose contents is determined by the contents of other notes — e.g. "Capital hint").
v Issues when the user exports the deck for collaboration. (As you pointed out in one of the threads, for AUG this is a relatively rare occurrence.) vi Re-adding the currently removed fields and notes. I'll think about how these (and any others you or others might think of) might work for the different approaches. |
Sorry I should have been clearer, I thought in some scenarios, the notes in the temporary deck might move back to the UG deck on subsequent imports of the UG deck. But I missed the part in D. where you mention changing the GUIDs of category-II. cards ... so my concern was unfounded. I think D. is a great solution! Of course it still means that normal users would have to perform a clean import of the deck. That being said, importing and deleting the temporary deck might actually be easier than performing a clean import, so perhaps most users will choose that option. |
Phew, in that case I won't carry out an analysis of the effects of the different approaches on such future issues. :) (FWIW I don't think that the approaches will differ significantly in how they're affected.) Regarding "Capital hints", in the cases where one country/territory from a capital hint pair is removed, while the other is not, (e.g. Jamaica and Norfolk island) it might be worth keeping the existing "Capital hint" for one more minor version, for the benefit of those who are upgrading, (especially if they're in group 2 but possibly also 1). It would give them time to get used to the fact that the removed country is no longer a valid answer (simply by the lack of its occurrence in the deck) and hence they wouldn't don't try to use it as the answer to the relevant Capital->Country card. I don't think that such a "dangling" temporary capital hint would be very harmful to new users. OTOH a clean break might be simpler and more comprehensible to users.
Yes, with the current tooling, there's no going around the fact that a simple upgrade import wouldn't suffice to lose the fully removed notes, |
I'm still not set on what to do with the removed notes. The plan as discussed so far is for me to generate a temp deck with the removed notes, to attach the ZIPs of all the variants of the temp deck (standard/extended/translated) to the v4 release notes, and to deleted the Now, @ohare93, if you're keen, you could create a repo under your GitHub account and move the notes there -- even write some release notes so I can just point people to them from the v4 release notes? Up to you. I just don't want to create a repo myself. Either way, as I've mentioned before, the notes will never be truly gone thanks to git, so we can always revive them into an extension deck when the time comes (for people not in the loop, see ohare93/brain-brew#4). |
And... done, the pre-release notes are out!! 🎉 Please don't hesitate to suggest changes if I've missed anything or something isn't here. Even without the inclusion rules, it's still quite a significant release, so high five! ✋ |
Discussion started in #306. The problem with re-importing a deck with fewer notes/cards is summarised in #306 (comment).
The goal is to find an upgrade process for users who may want to keep the notes/cards that are removed from the deck. The process would have to impact "normal" users as little as possible.
One approach, based on releasing a major version, was explained in #306 (comment). Obviously, this impacts "normal" users significantly, so it's far from ideal.
The text was updated successfully, but these errors were encountered: