Skip to content
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

Upgrading while learning in progress #128

Closed
thomasrayner opened this issue Jan 10, 2019 · 5 comments
Closed

Upgrading while learning in progress #128

thomasrayner opened this issue Jan 10, 2019 · 5 comments
Labels
Category-Module Pertaining to the module's functionality itself. Issue-Discussion Let's talk about it! Up For Grabs / Hacktoberfest 💻 If it's Up For Grabs, take it and run with it! If not, ask if it's in progress / you can take it.
Milestone

Comments

@thomasrayner
Copy link
Contributor

Describe "Module Bug or Issue"

If you want to upgrade from one version of PSKoans to a newer one while your learning is in progress (some koans are done, some are not done), you're going to get a bunch of errors because of changes in the engine and how some of the koans have been restructured.

Context "The Problem"

Everybody wants the latest and greatest versions of their modules, but changing versions while your learning is in progress will result in a wide variety of different issues depending which versions you're moving between.

Context "Expected Behavior"

An upgrade should automatically detect inprog koans and edit them accordingly, or otherwise report your progress. If a new koan is in a file that was previously completely solved, there should be a friendly message describing that scenario.

Obviously the expected behavior is up for debate, but it's not a reasonable assumption that people will start and end their PSKoans learning journey on the same version of the module - especially while hard working folks like @vexx32 @steviecoaster and @corbob are contributing new koans.

@vexx32 vexx32 added Up For Grabs / Hacktoberfest 💻 If it's Up For Grabs, take it and run with it! If not, ask if it's in progress / you can take it. Category-Module Pertaining to the module's functionality itself. Issue-Discussion Let's talk about it! labels Jan 10, 2019
@vexx32 vexx32 added this to the Future milestone Jan 10, 2019
@vexx32
Copy link
Owner

vexx32 commented Jan 10, 2019

I don't think it'll really be feasible to upgrade files in all stages like you describe, not without maintaining a versioned list of every koan file in its blank state to compare user files to directly. Even then, it would probably be overly complex at best, and liable to fail.

I think a best-effort approach here is really the best we can reasonably offer, where any newly-added koans can be copied over without touching any existing files in the user's folder. But I'm open to any suggestions or a proof of concept, of course! 😄

@thomasrayner
Copy link
Contributor Author

That's totally fair. Perhaps some kind of warning or language somewhere so newbies can avoid troubleshooting a botched upgrade that they shouldn't have taken on?

@vexx32
Copy link
Owner

vexx32 commented Jan 10, 2019

In what sense? Unless the user explicitly opts to Measure-Karma -Reset they won't be afflicted by updates unless something fundamental in the koan file format changes.

If you just mean a simple warning / confirmation that it might occasionally break something on the Update-PSKoanUserFiles or whatever we name it command, yeah, absolutely will do. 😄

@thomasrayner
Copy link
Contributor Author

I'm just remembering when I went from 0.41.0 to whatever was newest then, that everything 'sploded. I'd hate for a noob to hit the same issue.

@vexx32
Copy link
Owner

vexx32 commented Jan 11, 2019

I figured 😂

Yeah, most of that was completely my fault, and I should have held the release until I was absolutely sure I'd got everything lined up properly 😄

Shouldn't happen again (™️)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category-Module Pertaining to the module's functionality itself. Issue-Discussion Let's talk about it! Up For Grabs / Hacktoberfest 💻 If it's Up For Grabs, take it and run with it! If not, ask if it's in progress / you can take it.
Projects
No open projects
Development

No branches or pull requests

2 participants