Electronic file organization- how do I learn the best way?

Where can I learn about best methods for multi-user electronic file organization in a graphic design environment?

This guy I work with has been supervising the company’s file organization, basically b/c no one else has taken it on. Multiple designers/production people work on a project, multiple people touch a file—ultimately there should be ONE version of this file that gets archived (perhaps several revisions of this one file plus the final, but in the end there should be only ONE version of every round that should get backed up, plus ONE copy of every support file). So this guy was attempting to enlighten me on the way it gets done in our environment, and he’s showing me folders with a bazillion subfolders, duplicates upon duplicates of different peoples’ copies of the files they worked on that were shared, modified, and copied back to different servers at different times—I mean, to me (and I’m no expert, so maybe I’M the idiot) this seems like one GIANT clusterfuck of endless duplication in the effort to not lose THE final version of the file (and of course the only person that ever really knows what is the TRUE version is this guy, and if he dies or calls in sick, I think we would be screwed). So when this guy is “showing me his skills”, all I can do is stare at the whole mess incredulously, because I’m not sure how best to organize files, but my gut tells me that his way is not the best way.

Here’s an example of this guy’s org method:
Job Folder

Not exactly sure which is the REAL final file (and save/modify date/time info isn’t always accurate), so he ends up archiving the WHOLE MESS, and then when I ask Intern to unarchive a file for me, I get the gigantic folder full of all this nonsense, and have to go back to “file org supervisor” to pick his brain about what is the REAL final file that I should be using.

How do I learn about file organization “behind the scenes” so that if I ever DO have to come forward to make suggestions, or recommend a better way, I will be fully educated on best methods for file organization in a multi-user environment?

Investigate Code Versioning Systems (CVS) - some commercial systems are Visual SourceSafe or Borland StarTeam. You can even use Sharepoint, apparently.

There are also several OpenSource/free CVS systems (GIT, SVN, CVS).

All these allow you to check out a directory tree, locking the files so no-one else can check them out. Then, on completion, they are checked in, updating version numbers and creating an audit trail. You can branch a project into parallel streams, and merge trees together (this probably will not make sense for your projects, but works for code).

To manage this sort of project, CVS is what you need.

Si

We use SVN at work for software development and data management. SVN and I believe CVS, don’t do any explicit locking (they are check-out, check-in, merge). Each individual has their own working copy, if two people edit the same document at the same time, it is up to them to merge changes together once they go back into the repository. We used to use PVCS, which used the explicit locking idea (check-out, lock, check-in, unlock), and the concurrent editing works much better for us.

Our SVN repository has differential back-ups each night and a full back-up to tape once a week.

We had a complicated system of scripts that kept individual RCS archives of various design directories until it was pointed out by people that we were basically trying to recreate CVS. So now new projects use CVS. CVS is a good choice because it is free, available on a wide variety of platforms and has a fair amount of user community documentation on the web along with some good books on it.

You will still end up with a huge cluster fuck of duplicated files as every one checks out their personal version of the project. It will just be a reasonably well tested and documented cluster fuck of duplicated files.

CVS is great for text files, but for binary files it winds up storing a copy of each version that got checked in. If only one person is mucking with a file at any one time, that’s not a problem, but if multiple people are modifying a file, CVS isn’t good at figuring out how to merge in each person’s changes – you always have to merge it in by hand. However, given your current situation, it’s no worse, and also creates an audit trail.

If you are going to be doing his job, at least take the time to learn the system. He has been doing it for a reason - probably because it works. It probably isn’t the best system, but you’ll be able (once you’re in charge) to design a much better system if you know why the old system worked why it did.

Oh, and if you do design a perfect system, information and librarian specialists everywhere will instantly promote you as the Dewey of the digital age.

I probably should have mentioned that we’re in a Mac environment! Don’t know if that changes any of the recommendations given- I’ll be doing some research this afternoon…

I am one of the administrators of our CVS repository, and we swear by it. There are hundreds of projects stored in the repository, and we use it to collaborate between hundreds of developers in the States, Europe, and India.

CVS works fine on Macs.

However, I would choose a different weapon for true document management. CVS is meant for source code management, and the concurrent editing model works great when we are all editing program code. But it doesn’t work that well for Word documents.

At the very least, you should probably use a version control system that supports explicit checkout/checkin. There are plenty out there. Good luck!

Don’t use CVS; it sucks. Version control is a good thing, but CVS is out of date.

Subversion(usually shortened to SVN) would probably be adequate for what you want to do. Subversion usually uses merging techniques, but you can get it to use locking instead, which is what you want for binary data. Subversion is free software, and there is a Windows shell integration called Tortoise SVN that gives you a graphical interface to subversion through Windows Explorer.

See what your legal department uses for this kind of thing. Not having multiple people edit a document at once is a big deal over there, and they generally have some kind of software to enforce that.

[hijack]Sorry to hijack, but them’s fighting words!

It is dated, but version control is a subject where cutting edge is not necessarily better; I like simplicity and ease of management.

One of the main factors in delaying our migration to SVN was the fact that it used a database for its repository. I’m a database person to the core, but the Unix-file-based system used by CVS has a degree of simplicity I like.

It isn’t perfect, and I’m certain SVN fills in the gaps (one annoying gap: in CVS there is no audit trail on tags such as who tagged, when the tag was applied, and if a tag was removed).

We’ll get there some time in the next decade.[/hijack]

Don’t use CVS, not because it sucks, but because it really isn’t the right tool for document management.

Delay no more, SVN does flat files.

I disagree with the suggestions to use CVS or SVN, or any version management software. As others have said, they are designed for managing software development, and do a good job of it. You’re talking graphic design files, which I assume meas Illustrator (or similar), large file sizes, multiple version.

BTW, we use SVN extensively here (small team of four coders), and it has saved our bacon several times and kept chaos at bay always.

I reckon there’s no question a folder structure is the answer. I don’t like this guy’s proposal, but he would not like mine, and would not like yours. But at the end of the day, you need to have a system, and so long as it is documented and understood and observed, you may as well use his.

That being said, I agree with the premise of your question, and it’s eomrething I ask myself. I have done a fair bit of research, and come up with nothing better (and I often have an argument with a peer (separate company), about if files should be stored by project, or by the application that created them (and NAMED for the project). That’s a hole different kettle of fish.

As Spezza said, if you come up with a better system, you’ll be the new Dewey (tho his decimal system cops a fair bit of flak, the wikipedia article on his system is pretty funny). You’ll also make a lot of money.

CVS/SVN are not ideal, but they are better than most of the alternatives. At least they enforce the rules and provide an audit trail. And I suspect that graphic design projects (with external resources like photos) are somewhat more like code development than (say) Word document management (where I think CVS systems like Startteam are really wrong).

It appears that the system is undocumented and difficult to understand by anyone other than the one person who invented it. It’s a recipe for disaster.

With a CVS and document tagging, you can get both views. And far more. Thats a win. You can link one file to multiple projects, so all projects get updated when one element gets updated. Thats even better.

Si