[Backup] Most simple backup tool

I used, or at least tried, all of the solutions on the Codea forums for backup code. Some of them are really inspiring and comfortable to use. But I needed something more barebone, more lightweight - more K.I.S.S. Something that is as easy to use as it is fast and decent.

I was thinking for a few days on how I could implement it (from the design point of view). And the most simple thing, that came to my mind, was a slider. No fancy buttons or deep, complicated menus. No time-wasters and eye-destroyers. Fast and efficient!

tutorial screenshot

* Copy code from Gist. Paste it into a new project (long-press on the big +).
To use, just add a dependency inside your project (+ sign in top-right corner).


@se24vad - what about Codea Community? All you need to do is change the version number, and it will back up next time you run, in the cloud.

the goal

No fancy buttons or deep, complicated menus. No time-wasters and eye-destroyers. Fast and efficient!

is great! But once you have made your backup, you need to add this functionnality. And this one. And that one too. Etc, etc… and before you know it, you’ve made deep, complicated menus!

@Ignatz unfortunately CodeaCommunity crashes my Codea very often. I don’t know where the issue lies. And I dislike the additional ccConfig tab… It’s all useful and has its purpose, but Also adds a certain level of complicity and overhead, which you additionaly have to manage.

@Jvm38 What would you need to add after you made the backup? Sorry I’m not sure I understand you correctly.

You actually slide right and the backup is done. then you can just go back to the editor and resume working. Messed up? Slide left and restore a copy.

@se24vad - can you save and restore multiple versions?

@Ignatz with my backup tool? yes.

@se24vad maybe i am too doubtful, i’ll be glad to head from you about this in a couple months from now, and see if you have sticked to this version. Let’s see where it goes. Very nice work anyway .
@ignatz i am worried about the savelocaldata… how is it managed by codea? does it get removed when the project is deleted?

@Jmv38 - there was a discussion about this some time ago. I believe local data is not deleted along with a project.

@ignatz this is what i had understood too… This project uses savelocaldata though… I would rather save it in document folder then.

@Jmv38 - I agree

@se24vad Cool light weight backup utility! I’ve been addressing your concerns with CC. I’m re writing it from the ground up. It’s modular based so all you really need is the core which connects. You can then hook the different events and handle it as you please. This will allow for the expanded use of CC including a simple backup on the cloud.

This project aims at someone who is working on a private project, which doesn’t get shared (until its done, at least). While experimenting, you like to save some progress now and then. Quickly. While having some overview of what you have laid by side. At least I feel like this when prototyping and testing ideas.

The backups are project specific. And after the job is done, you wouldn’t need all those backups anyway. - That’s why I decided to go with saveLocalData instead of Dropbox, Documents, Images or all the others.

Sure, CodeaCommunity is head and shoulders better, but ‘beating’ it wasn’t the goal of this project anyway. There are a ton of solutions. This one is just one of them, which I wanted to share, as a ‘Thanks’ to the vibrating community and its helpful people.

@Briarfox THAT sounds cool! I’m really looking forward to it and would like to hear some news about the development :slight_smile: Very interesting…

@se24vad it’s going slowly because I’m completely rewriting the client. The core of CC simply connects and triggers the connect event. After that the standard CC modules can be used or you can load your own. It’s using preset triggers that the modules listen for and react accordingly. Each module, if you chose, can add params to the config or you could write your own project loading system and bypass the config. Each module is stored in documents and has the ability to update itself if the author of the module updates it. So CC can have each module update independently without the need to update cc.

I decided to do this to make it easier for me to manage the project and I’m hoping there are at least a handful of people that would like to write their own modules and share them with the community. This will result in still having a single place for people to share projects, but allow different backup and restore needs based on taste.

@Briarfox sounds awesome! I’m in! I would love to try it out and add a piece to it. :>

Where does your code backup to?

it is stored by saveLocalData() as local project data… so on device.