Hiya-
Well, there is a free versioning system that has been out for
quite a while. CVS is/has been used with quite a bit of
success by large groups of programmers for source control
and versioning system. CVS is concurrent versioning system
and has been with the 'nix (unix, linux) I believe for more
than a decade. Quite stable and lots of documentation with
it.
It is designed for remote server file sharing. The user
checks out a copy of the file sets to his/her local
"sandbox" and plays (modifies) his/her files to their hearts
content.
HOWEVER, when "checking in" the files, if there is a
conflict, an error message is generated and the offending
parties resolve the conflict.
Usually, the software team checks out the file set, and
individual programmers work on individual portions of the
file, then checks the modified files back into the
repository (server that holds the files). If the sandbox
in the user/programmer system is fairly current, then
there is not much of a problem. I *THINK* a friend of mine
mentioned that there is a windoze version of a cvs server,
but I'm not sure. I personally wouldn't want to support
a windows cvs server.
Clearcase, as mentioned above, provides a similar file
versioning package that is available for a price. I'm not
sure, but the last time I looked at it, it was on a "per
seat" basis. In other words, if you had 10 programmers
and 5 licenses, then only 5 programmers at a time could
hold the licenses and then check in / check out. They
they would release the license (yeah, right) and then
another would grab the license and do his/her check in/
check out.
Many people swear by clearcase, some of us swear at it.....
YMMV. I found it overly restrictive personally.
Oh, one other tidbit of cvs. You can "remotely" transfer
files in and out if your server has access to the internet.
For example, you and your laptop are somewhere in the
wilds of where-ever. You can specify the server and domain
name in the cvs check in /check out along with a user id
and password. Allows one to do remote work from an
internet cafe (like I'm doing now) or out in the field.
Data encription can be overlaid upon the data stream.
Alternatively, there is file sharing. I will limit my
discussions to SAMBA, again in the 'nix world. File sharing
is available through windoze only, however, I'm sure that
others can add much more information with much greater
authority than I can in that realm. This is where the VPN
(virtual private network) comes into play. However, there
can be some downsides to this.
If your two offices are remote from each other (i.e. not
on a common LAN, then there might be some significant
slowdowns as files are transfered via the inter/intra net.
And again, there is no "locking" of the files.
SAMBA is a software package that allows a 'nix server to
look like a file server for windoze boxes. I believe
however, that you will have to manually lock and unlock
files with this subsystem.
If it were 'nix to 'nix, then NFS (network file system)
would be the way to go, but I'm making the assumption that
windoze is the client operating system. The "filesystems"
are mounted and accessed normally after that. There is
still the speed of the network limitation that may cause
problems. One other quirk I've noticed is that NFS will
hang for quite a while while trying to access the file
server. I would in my rc.local script make sure that
the file server is up before trying to nfs mount the
file systems.
Hope this little snippet of information is of use.
Cheers,
Rich S.