views:

75

answers:

5

We've developed a system which involves the customer using a tool to create their own content, saved as XML. Predictably they are storing versions in a myriad of folders and renaming files, etc. And predictably they've already lost work at least once.

We're not responsible for the content they create but it would be nice to help them out. Are there any really easy systems we could recommend them... we don't want them using our VCS even if they could figure it out, as we'd then be getting support requests.

update We don't even need a client-server setup. It's about stopping them saving over their master version by accident, rather than providing a backup... we hold backups of the official versions but they work on them locally during an iteration and give us the newest version to include in releases.

A: 

You can use TortoiseSVN with a subversion server. So long as they understand update and commit, they should be OK.

Oded
Obviously the point of the question is they don't.
John
A: 

Replace the primary store with a database, using a table that has some method for indicating the version of the file then add an 'Export to XML' or 'Save to XML' function that then creates the output they need. Cleaner than trying to involve a full VCS which will undoubtedly cause more confusion than is necessary.

Lazarus
Are you saying we should re-architect our entire application so it stores output in a database? They won't know how to install a DB, they won't know how to send each other their new work, they won't know how to give us the new content to include in the next release.
John
I was proposing a rearchitecting but using an embedded database rather than a separate database server application that needs installing. You hadn't mentioned a need for the users to exchange work between each other, but saving the XML and having an import would solve that. For getting content to you, you could include a specific function that either bundles and sends to you directly or builds a set of files in a defined or select location ready for sending. That's how I'd have approached the problem.
Lazarus
It's hardly worth such a big change just for this purpose though, we'd have to provide extra tools because they do like to edit the XML manually sometimes.
John
If they are savvy enough to edit the XML manually then they are probably up to learning the basics of a VCS. That said, be prepared for endless support calls. Been there myself and unfortunately for me, I hadn't written the tool the were versioning files from so didn't have the option to make it a feature of the tool.
Lazarus
+1  A: 

to my knowledge there are no version control systems which are "easy" to use for "unexperienced" users -> keep also in mind that you have to maintain a server - client environment to operate such a system... or go the hosted way, but there again, no "easy" systems available...

maybe looking at some alternative methods like dropbox.com could be an alternative. they also keep track of versions.

udo
+2  A: 

Subversion has a feature called autoversioning where a directory mounted via WebDAV (aka Microsoft Web Folders) will automatically create a new version upon a save to that directory. To the end user, there's simply a special folder to save things in.

Mark Thomas
Sounds interesting. Reminds me, Windows 7 seems to have some concept of file versioning but I don't know if that can be used - we don't need a proper remote backup so much as to stop them deleting/overwriting their master data.
John
A: 

I like the above answers but they could always use the document library feature in Sharepoint (wss - free version). it can use WebDAV as long as the site they are using is on port 80. This is one step up from storing xml, and it is sharepoint so it is pretty easy for business users to decipher. The versioning will pretty much save a new version on each save, for Office documents this works without much thought and for other documents they will need to upload it.

tanging