[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Questions about using subversion for non-coding projects.

From: David Anderson <david.anderson_at_calixo.net>
Date: 2005-08-25 21:23:06 CEST

Jay Paulson wrote:
> My question is can Subversion handle something like this with mainly
> different kind of documents that aren't programs etc? Is there a good
> web interface that promotes users to collaborate? I would prefer if the
> web interface was written in PHP but if there are good ones written in
> something else I'd like to see them.
> Thanks for any suggestions!

In my humble experience, Subversion works very well with all kinds of
files, not just source code for programs. For example, check out the
SubWiki project, a wiki engine which uses Subversion as a storage
backend for the pages. There have been quite a few successful reports
of people using it to store various word documents as well, all very
happy families and happy endings.

Now, as to what kind of setup could encourage nonprogrammer users to use
version control and collaborative development, I can suggest basically
two things:

Use mod_dav_svn (repository accessible via http:// or https://) and
activate DAV auto-versionning (new in svn 1.2). This will allow your
users to mount the repository as a WebDAV remote drive and use it as if
it were a normal file share. Microsoft Office programs can also
directly open files by URL if they are on a subversion DAV share.
Backstage, Subversion will automagically commit when the users write to
the webdrive (albeit with a strange, nondescript commit message). This
makes the version control completely transparent if people don't want to
go through the trouble of learning new tools. The cons are that commits
don't necessarily describe a single logical change, and that commit
messages become essentially useless.

If your users are not reticent to learning a new (very easy to use!)
tool and a few version control paradigms (commit one logical change at a
time, document your changes in the logs, etc.), then TortoiseSVN on
windows (I'm assuming windows because of the file formats you mention)
integrates beautifully (*really*) with the operating system and offers
Subversion client functionality. There, the version control wouldn't be
transparent, but would be so well integrated and seamless that, after
the initial day or so of learning and teething, it would "just work".

Next, you were talking about a web interface to promote user
collaboration. The very best I can think of in this case is Trac
(http://projects.edgewall.com/trac/ iirc).

It is written in python, but integrates a wiki, a timeline (to view
changesets, diffs, revision info, navigate through time in the
repository), a task/milestone management system and a bug/issue tracking
system. In the current development version (which is stable enough to
use on a production system -- I do it), each of these features is a
plugin, so you can disable eg. the issue tracker if you'd rather not
confuse users about that.

That said, I can see how all of these features could be used for
non-programmer users: the wiki to coordinate development, the timeline
to navigate, the milestone system to manage releases and objectives, and
the issue tracker as a notepad of "stuff to do/correct". Perhaps just
modify the templates slightly to remove references to programmer terms
and replace/remove them in favour of something a little less programmer
oriented. That, all in all, shouldn't take long: Trac is well designed,
the template language (ClearSilver) is well documented and easy to get
to grips with.

As for such systems using PHP, I *do* know of some, but unless you
really insist, I'm not going to tell you about them. Don't take this
badly, I'm simply trying to prod you in the best direction: Trac's motto
is "to help developers (ie. users) whilst keeping as much out of the way
as possible", and I find that they have achieved this (very desirable)
objective. Other groupware management systems do exist, are written in
PHP, but are also the equivalent, in your case, of a tactical
thermonuclear warhead to swat a rather asmathic and sluggish baby fly.

Honestly, try Trac (unfortunately their test site, hosted by a friend of
mine, is down until in about 24 hours time, so just be patient). It is
not in your language of choice, but I believe the benefits reaped from
using it far outweigh the implementation considerations in this case.
It will make you very happy if the users are receptive to it's power and

There. Just my 0.2, delivered shrink wrapped in a three page long ode
to the joys of Subversion and Trac used properly :-). Hope that helped.

- Dave.

To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Aug 25 21:25:36 2005

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.