Moving Projects Around

How do you best share projects between machines without getting numerous errors locating external project items?

I’ve started coding in Xojo in Mavericks (running in Parallels), opening my code from a shared folder.

However, when I go back to Mountain Lion, I get a dialog saying “There was a problem connecting to the server X”, which was my shared folder. I get this dialog ad infinitum. After spending 5 minutes with the return key held down, I gave up. Presumably Xojo is trying to reference external project items in a folder in a hard path to the server.

It would be nice if Xojo used a relative path to external items rather than a hard path.

I’ve been using Dropbox for years and so far have had no problems at all. I keep all my external project items like images, etc in a directory so no matter what computer I go to, the directory structure is the same. Hope this helps

Let me add, in my dropbox I create a directory for my project and normally it’s at the same level as my directory for external items. When dropbox syncs to the other computers, the directory structure is the same on all computers.

It was so.
Since RB12.1 things are changed (without any note)
The relative feedback <https://xojo.com/issue/26273> has been closed “by design”
<https://xojo.com/issue/25184> is still open…

There is also a discussion about this bug/feature of the external items in this forum

What project format are you using?
I think the Xojo format uses relative paths instead of absolute and should work better.
(correct me if I’m wrong)

As from another thread, for binary and XML projects Xojo uses a fallback list to retrieve external items:

SaveInfo
RelativePath
FullPath

see https://forum.xojo.com/3279-external-items

I mostly don’t use external items at all.
IF I do need to actually share code I set it up in SVN with an external then svn update commit etc just work and you can treat it exactly as if it’s a part of your project (since it is)
And moving items is trivial (I do exactly what you’re doing between my XP, Windows 7, Windows 8 and various linux vms without issue since it’s all relative paths in text projects)

Many times (esp when I was working on many client projects) each of their projects got their own copy of whatever shared code and I did what ever fixes & updates to it as needed with the version of RB their project was using. Mostly this was because some clients would move up to a newer version at a different pace and so having it as shared meant more headaches trying to write all the various #if RBVersion in it so it would work as expected across all version in use. At one point they ranged from 2006 to 2009 and it was just too darned painful.

I had the same issue with plugins and so eventually just had multiple sets - usually one per client but in a couple cases one per project as the client moved one project up to a newer version of RB and plugins and left one other in an older version for some time.

YMMV

Norman the point is about the search order of the external item, not the use or abuse of external item.

Now the search order is (checked from xml format, but as you said the binary is the same): SaveInfo, PartialPath, FullPath
It should be PartialPath,SaveInfo,FullPath or if I exchange an image i have to relocate it or destroy the original folder item.

For the coding troubles with external item i’ve found how live happily with them. A user can also never use external code items, but images are external items for every one (unless coded as string constants )

For those that use Dropbox, may I suggest using TrueCrypt with it. Just make a container file, and store the container file on your Dropbox. The backups are incremental, and it works perfectly. Open TrueCrypt, open your container file in your Dropbox, and it will assign it a partition and drive letter once you enter the proper credentials. Call me paranoid… don’t want anybody getting my code or content. :stuck_out_tongue: