supermemo-wiki / SuperMemoAssistant.Wiki

Documentation resources
MIT License
3 stars 7 forks source link

SuperMemo Backup Documentation Improvement Suggestions #11

Closed rajlego closed 3 years ago

rajlego commented 4 years ago

Bitshelter: Could you add a calculation method for checking how many gigabytes you should set aside for bitshelter in relation to the size of your collection? Or otherwise, an estimation such as, per 500mb set aside 1GB for bitshelter.

Github: The Follow this Guide link looks quite outdated compared to the latest installer of git for windows. After following it, I'm not sure anyone not already proficient with computers would be able to use it. It's really easy to make a small mistake and be stuck doing a lot of troubleshooting. I'm not sure how you could simplify it though, so maybe having an alternate easier to set up backup method would be better. When I run sm-main-commit.bat, it doesn't give any progress update and you don't see any changes in the command prompt, I think making it verbose would be better because I'm not sure if it's bugging out or just doing stuff in the background.

Using David's post, do you think that you could use symlinks to have both plan and sleep data be backed up in the same folder as the collections?

3/13/2019 All Suggestions: Change to Wiki Guide: -for bitshelter, add guides on how many gigabytes should be set aside relative to collection size -consider asking the author for permission to just copy his guide to the wiki. We could then update it with better pictures and something easier to follow. As it is now, it's not something someone not competent with computers could follow -From guide: In your SuperMemo Drive (E:), open a command prompt: type cmd.exe, then press Enter The instructions on opening a command prompt don't really make sense to me. I think it's better to just tell people to hold shift, right click and open powershell. Then do git clone. -An error I have often is that git add -A && git commit -m "Update" runs fine BUT when I run git push if pageant isn't set properly it just doesn't show any error but closes. If there's a more verbose version of the command I would input it. I would also add the following troubleshooting suggestions if that happens: right click on pageant and make sure your github key is actually added. Add it and try git push again. If it works, the issue is that when you added pageant to startup you didn't make the target contain key path: C:\Putty\pageant.exe %USER_HOME%.ssh\github-rsa.ppk

Feature Suggestions: -script for download -integrate git backup with SMA directly. That would fit with another script I also wanted: automatically run backup script on opening and closing SM. Eventually, I think it would be workable to have SMA work akin to the anki sync feature. If you have absolute upload and always treat most recent upload as latest and have absolute download and always overwrite when you download, I think it might not be too complicated. -I currently am able to use git on all my collections fine. But because they're in a seperate folder, plan and sleepchart data aren't synced. You could just use git on your entire SuperMemo folder but I wouldn't want to sync exe's between computers, just plan, sleepchart and collections since I'd like SM on laptop and SM on desktop to have diffferent templates and the such. I think there's a way to get around this using symlinks but I'm not so familiar with how to get them to work with git. Maybe David would be helpful.

Bugs: -On parallels, when running bitshelter it throws error about some C++ library. Both me and zeiss encountered it. I could've sworn somewhere you recommended installing some dependencies but I can't find it anywhere now. I'd recommend it again in case other people encounter the same error. -I'm not super familiar with Git so when I do git pull to download upload from other computer if there's any change locally then it throws errors. Friend told me to do git fetch --all `git reset --hard origin/master' I have no idea how safe that is or if there's a better way. Is there a way to upload the local copy if there's slight changes to some secondary branch as insurance and then do git fetch in a single script? I'm sure you could give people the exact script I mentioned above but it would be really easy to screw up

rajlego commented 4 years ago

I commented on the follow this guide post and the guide updated some of the issues I mentioned but said he doesn't want to update the images. I don't think they need updated because in reality you don't need to change any of the settings anyways. I requested he add that disclaimer but in case he doesn't I'd advise mentioning that it's not necessary to worry about the git for windows install settings.

I'm currently trying to use git'd SuperMemo between two computers with decent success, using git pull origin master sort of works though if there's any changes on the one I'm pulling to it throws small errors. It would be useful having a bat for pull but I guess it's much more dangerous and has a risk of overwriting local progress if you don't know what you're doing.

alexis- commented 4 years ago

Thank you for your input on this. Can you make a list of all the changes/improvements that you believe ought to be done ? Add it to your initial message, that way GitHub will pick it up a todo list.

Looking forward to watch the tutorial video.

rajlego commented 4 years ago

Not sure if it's in the format you wanted but I updated original post. Regrading video, I had to go to India all of a sudden today (I'm actually in Kuala Lumpur at the moment) so I'll have to wait till I can get all my stuff running before I can record it. Once I can start recording things, there are a few videos I'm thinking of making: -how to set up git backup from scratch -how to setup bitshelter -how to restore from bitshelter -how to restore from git (to be honest I don't actually know how to do this, I'll have to study a bit of git) If there's any advice you have on how to make/structure the video let me know, I have no experience with such things. I'm planning to basically just make it in accordance with what the documentation shows and show what I'd do step by step.

rajlego commented 4 years ago

Out of what I posted, remaining suggestions (these are things I need help with) for adding to documentation:

  1. For bitshelter, add guidance on how many gigabytes should be set aside relative to collection size
  2. Use .gitignore to have enter SM folder in git and be able to sync everything except exe/system specific settings
  3. Possible system for integrating git with cloud storage

Features: Integrate backup with SMA

alexis- commented 4 years ago
  1. For bitshelter, add guidance on how many gigabytes should be set aside relative to collection size

I have set it to 15GB personally. That's a very comfortable allowance to say the least. 5GB ought to do the trick for most people. But it really depends on what you are doing, there is no "safe" recommendation.

There could be a short explanation on the mechanism behind snapshots. For reminders:

The separate partition is useful to avoid wasting space with snapshots that will remember the state of changes operated on files that you don't really care about
That is, if you create a partition only for your collection, the space used by snapshots will be dedicated only to your collection
A more practical example, if you store your collection on C:\ with 5gb of snapshot space, if you download for 5gb or more of data (say, a HD movie), then you will effectively have flushed out all your previous snapshots
  1. Use .gitignore to have enter SM folder in git and be able to sync everything except exe/system specific settings

Adding your SM binaries to the repo shouldn't be an issue, the size is negligible.

That way you can synchronize your layout configuration, CSS file, etc. The only requirement is that your collection partition and folder path be the same on all your machines, which shouldn't be an issue.

  1. Possible system for integrating git with cloud storage

I have attached the relevant excerpt from our conversation with joepo yesterday (2020/03/23)

SuperMemo.wiki - general [673071774438522907] (after 2020-03-23).zip

Features: Integrate backup with SMA

That's planned at some point. It's not a priority though.

rajlego commented 4 years ago

Would it be reasonable to add SMA as well to the git collection backup?

alexis- commented 3 years ago

At the moment it's not easily feasible because the location of SMA's config folder is fixed. There's an issue open in the SMA repo to add a configurable location