Project format

I’m in the same boat.
I actually have a Time Machine backup. A backup on a server in my office, and two separate offsite backups.

I don’t do code reviews, because I work alone.

I’ve never been in a position where I needed to diff code, but have a few times just gone back in Time Machine to copy a function I knew I broke from an older version.

I totally get the value of git (and similar), but haven’t regretted stopping using it.

What I do really want is to be able to share code between projects. I’ve used external items and have been bit a few times with it. I’m looking forward to some day being able to make Xojo built plugins.

1 Like

Text for all my work, because of VCS (GitHub). Binary for sharing it via Mail, etc.

Side consideration:

And wish I could add “design time” interaction with the component area, I mean, code to paint it interactively responding for example to design time property changes (background color, number of columns, etc) and such code does not add to the compiled code, design time code is discarded on the built software, it’s used just at design time.

2 Likes

Ouch. This comes up every couple of months. Even if you are alone then using SVN/GIT with external items even in binary format will save your behind when you screw up. Like a hard drive dying this is just a matter of time.

2 Likes

Probably. I do incremental backups of the full binary though, and in 26 years I haven’t been bitten yet.
That said, I’m fully aware that there is a better way.

Maybe I just never learned to properly use GIT.

Someone on this forum should do a (paid) GIT training for Xojo users. I’d pay.

1 Like

As i once wrote in another Thread, it’s very easy:

No need to “learn Git”.

  1. Create an Account on GitHub.com
  2. Create a New Project on GitHub.
  3. Setup a UI App like https://git-fork.com/ for Git.
  4. Clone the empty Project to your local Drive.
  5. Move all Project Files into your clone Folder.
  6. Push your Project to GitHub using the UI App.

From now on push local changes as needed to GitHub. In case of emergency you can pull files/projects as needed from GitHub. If you work in Groups, it may be a bit more complex. But i assume, in this case you would already use a VCS. :wink:

BTW: You can set any Project to Private and only you can see it and it’s free. :slight_smile:

The website has to be learnt. I’ve not yet managed to achieve that.

1 Like

My workflow exactly, except I use BackBlaze for continuous cloud backup. I keep my own change log, updated with each release. With or without automated version control, if something breaks you have to go in and fix it. I like the simplicity of the binary format and manual version control.

2 Likes

I backup to two NAS devices on the LAN. One has conventional platter HD’s the other has SSD’s. I also backup to USB devices you can get them to 512 GB now. I don’t think I will ever loose all 3 and I know my network is tight with a great firewall.
I do not trust offsite backup’s. Who’s server, what country, who is looking through your data, what are they doing to protect your data, what are your rights if your personal data gets hacked? Does anyone ever read the fine print before sending your work to a stranger?

2 Likes

The backup itself is not a major problem. Yeah, I’ve managed to fritz a motherboard 2 times in 30 years.

But very rarely the project gets foobared. You change something and suddenly nothing works. Then you can use the SVN to backtrack your steps to see what you changed and what to revert to.

1 Like

Working as a one-man-show for the development in my office, my biggest Pro for using a VCS is making me able to pick little changes made in the past and revert them without having to mess with all the other changes i’ve made. Hard to do with XML/Binary.

BTW: I still believe that making txt Format available to higher License Tiers only, is a big mistake by Xojo…

2 Likes

@Julia_Truchsess

BackBlaze: you say the personal plan ($9/month)?

I see on the site:
“Unlimited Computer Backup
Unlimited files. Unlimited file size. Blazing fast. Backblaze will automatically back up all your files including documents, photos, music, movies, and more. It’s that easy.”

is that really the case or is there any limitation for traffic, performances, file size, time duration of the offer (e.g. 6 months…1 year…etc.) or anything else?

thank you.

The only limitation of the $9.99 plan I think is that you can only go back one year. You can upgrade to “forever” for an additional reasonable charge; I use Forever on my MacBook and one-year for my Windows desktop which doesn’t have critical stuff on it. It’s pretty much set-and-forget, and I’m rarely if ever aware of its background operation. The UI for recovering files is a bit clunky and I’ve looked at alternatives like pCloud and iDrive but haven’t prioritized making a change.

2 Likes

I used to use iCloud Drive but it wasn’t always playing nice with Xojo.
I’ll look into your solution. Thx.

I use Cornerstone, Text format xojo projects, but with many External XML format external items. The XML format is not fun to diff since it’s so messy.

Has anyone found out a way to use “regular” text format with Cornerstone and still be able to share items across projects?

Text format, to facilitate source control, versioning, etc.

I can’t recommend BackBlaze enough. They provide exactly what they advertise. Restores of a reasonable size can be done through the web, and if you need a whole drive restored, they’ll fedex you a hard drive if you put down a deposit.

Backblaze is truly fantastic. I shoot a lot of digital video so I have a few dozen terabytes backed up on the personal plan, so I try to spread the word as far and wide as I can to help amortize my extreme use of the service, hehe.

1 Like

Text for VCS. It’s easier to read from a git depository.

1 Like

All those backups are pointless if you have a fire, or a flood, or some other disaster. You should be using something offsite or you risk losing everything.

Everything finalized that I need to keep goes in text format. Binary project format for tests, examples, proofs of concept, etc. Local working copies are stored on an external drive and pushed to remote Git regularly, plus synced to my NAS and a remote server periodically.

1 Like