In OS X, making a symbolic link (a.k.a. symlink) is might easy thing to do. Open Terminal, and type ln -s with a trailing space. Next, in Finder, drag the file or folder you want to make a link to (this is called the source file) into the Terminal window. This will write the file path for you. Be sure there's a space after that path. Now, identify the destination file. To do that, either type in the full name, or, what I do is, grab any file from the destination folder and drop that into Terminal, then just back up and edit the file name to be what you want the link file name to be.
Note that when making links to folder, the source file path will have a trailing slash, but the destination path will not have a trailing slash.
So, to make my /LassoStartup folders, I first made my master folders. Then I went to the Site folder and deleted the existing LassoStartup folder. Then I created the symlink (I'd grab the LassoAdmin folder to create my desitination path, then edit it).
Greg Willits, August 18, 2005
Just thought I'd pass along this experiment. It's probably something many people are already doing, but I don't recall it being talked about.
I wondered if Lasso would support OS X's aliases. Specifically, if I put an alias to a ctag file in a site's /LassoStartup folder, would that work? Alas, it does not. Hmm, maybe a Unix symbolic link would work. Woohoo! Yup. Maybe it's a specifically supported thing, and maybe it just works for free due to the file system, I don't know. I don't have a Windows system I can exeriment with, so maybe someone can try a Windows shortcut to see what happens, and let us know in a comment to this article.
Anyway, my purpose was this:
I have two needs that can converge to create a bit of a mess.
One, I have a large library of ctags/types as part of an application framework. They evolve over time, and I have versions of collective releases (v310, v320, v400) for which I have apps dependent on certain releases.
Two, for mall apps running on a shared server, and in particular for my dev machine, I like to run each app in its own Lasso Site to leverage all the advantages of doing so (the most important of which is the ability to securely use global vars for persistent objects in RAM).
The mess comes from the need to duplicate the entire /LassoStartup folder with the ctag/ctype libraries. If I discover a bug or make a small update for one app, it's a maintenance pain toe sure to copy those new files to the other Sites.
What I really want to do is run multiple apps each in dedicated sites, but not have to duplicate all my ctag files (and risk having them get out of sync). The traditional solution is to use the main /LassoStartup folder at the root of the application folder. But, with several versions of libraries, this isn't feasible. What would be cool is to have several /LassoStartup folders and then tell each site which folder to use.
Symbolic links allow exactly that.
In any location I prefer, I have folders /LassoStarup_v310/, /LassoStarup_v320/, and /LassoStarup_v400/ and I make symbolic links of those as /LassoStartup/ within the sites folders. This allows me to share specific sets of libraries among multiple applications each running as a separate Lasso process.
So whether you want to share just a few ctag files, or whole startup folders, symbolic links can solve that. Cool :-)
Addendum
A couple folks have pointed out that it is apparently best to create symlinks using full root paths of the drive(s) involved. So, that's probably something to consider.