Message Boards Message Boards

Is it a bad idea to move $UserBaseDirectory and share it between machines?

POSTED BY: Bianca Eifert
6 Replies
POSTED BY: Bianca Eifert

Thanks for your thoughts on this!

Licenses are not an issue, they're in BaseDirectory already anyway.

I don't use a lot of LibraryLink stuff, but that's a good point to keep in mind.

Likewise, Paclets are something I mostly use unknowingly, that is, only when Mathematica uses them behind the scenes. I know you recently transitioned some of your packages to paclets, but I haven't looked into the pros and cons of that for myself. Good point though on the config files, I'd really have to ensure that my Dropbox folder is in the same location on all computers.

It's reassuring that you don't expect problems with items 3 and 4; those would be a real pain to mitigate.

At the moment I'm syncing Applications, Kernel (have a few lines of stuff in the init.m), and SystemFiles/Formats (recently started transitioning my import/export packages to registered import/export types and prefer the simplicity of that). However, just looking at some of the other directories: SystemFiles/FrontEnd is also a syncing candidate (I don't use palettes much, but that could always change). ApplicationData is another folder that I might actually use for its intended purpose of storing configurations and preferences for packages, with the obvious caveat that these are things I may want to set differently on different computers.

On the other hand, sharing packages with other people is obviously a lot easier if the contents that need to be installed are limited to the Applications folder; that's something many people will already know about, so an installation script wouldn't be necessary.

Still undecided... Knowing myself, I'll end up trying this at some point just for the fun of it, but realistically I'm probably better off selectively syncing. I'll certainly report back if I do try it though!

POSTED BY: Bianca Eifert
POSTED BY: Szabolcs Horvát
POSTED BY: Szabolcs Horvát

I just tried copying the Formats folder to Applications/importstuff/Formats (with a basically empty importstuff.m file to establish the context), that didn't work. You can however simply copy the actual code for RegisterImport and the import converter into a package in the app's directory and that will do the trick just fine. You obviously have to load the package before you can use Import with the new format, so that's a bit counterintuitive.

The FrontEnd folder inside a package works, and it makes sense for larger apps. But again, if you have something that's basically a stand-alone palette and wouldn't need a package for anything, things get counterintiutive.

Interesting point about the extensions in PacletInfo... Those are a little bit, erm, under-documented, so I'm not aware of a solution for formats. I'm still a bit torn about RegisterImport on the whole, but that's a different can of worms.

POSTED BY: Bianca Eifert
POSTED BY: Szabolcs Horvát
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract