Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror

Document Management and Version Control? 326

Posted by Cliff
from the need-not-be-mutually-exclusive dept.
Tom wonders: "I am working in a medium-sized software development company. The functional analysts use Microsoft Word to document the specifications, and Sharepoint to publish the documents. However we'd like to improve our process to have better revision control and traceability. We have looked at alternatives like using Wikis, or static HTML documents with CVS. The functional analysts want ease of use, while we developers would like to see high-quality end products, revision control (i.e. tagging & branching of the document base), and traceability features. What tools and document formats do you use and would recommend?"
This discussion has been archived. No new comments can be posted.

Document Management and Version Control?

Comments Filter:
  • by drakaan (688386) on Monday June 05, 2006 @05:18PM (#15475508) Homepage Journal
    Shoot the functional analysts. Once that's done, there won't be any complaining, and you can use CVS. Extreme, but simple.
    • DeltaView comparites (black-line documents comparing versions) don't make mistakes and don't leave embarrassing metadata behind like word "track changes".

      They tie into a number of commercial document storage systems such as Hummingbird.

      But neither will be free (or even that cheap, maybe cheaper than implementing upgrades to Sharepoint.
  • The simple answer (Score:5, Informative)

    by Ckwop (707653) * <Simon.Johnson@gmail.com> on Monday June 05, 2006 @05:18PM (#15475515) Homepage
    Latex with CVS. This is what I use for my documents. It's simple (yes it is simple.. markup languages are not hard to understand) and with CVS it's far more feature complete than Word in version control.

    There's plenty of WYSIWYG tools for Latex. Let Google be your guide.

    Simon.
    • Re:The simple answer (Score:5, Informative)

      by CRCulver (715279) <crculver@christopherculver.com> on Monday June 05, 2006 @05:33PM (#15475622) Homepage

      There's plenty of WYSIWYG tools for Latex.

      I'm always happy to see fellow TeX evangelists here. If you don't know about LaTeX yet, check out the TeX Frequently Asked Questions [tex.ac.uk] and discover the joys of a typesetting system that is not only high-quality, but free as in freedom and immensely extendable.

      LaTeX's markup makes so much sense that a WYSIWYG tool isn't necessary, for even the man on the street can be just a productive with doing it up in a text editor. A good and free as in beer guide to the system is The Not So Short Introduction to LaTeX2e [ctan.org] , though if you are going to be markup up lots of math (LaTeX's specialty) you'll probably want Graetzer's Math Into LaTeX [amazon.com] since LShort doesn't cover it so much.

      • TeX can be very productive as long as people don't waste any of your time talking about pronouncing "Tex" as "techh" (*clears throat*).

        Just like Linux productivity jumped when people stopped wasting any time talking about pronouncing it "lihnuhks" vs "lienuhks".
      • by fm6 (162816)
        LaTex may be terminally cool for creating fancy-looking documents. But it doesn't solve any problems that this guy cares about. For his purposes, it's just another word processing format.
        • Re:The simple answer (Score:5, Informative)

          by Ithika (703697) on Monday June 05, 2006 @06:00PM (#15475817) Homepage

          LaTex may be terminally cool for creating fancy-looking documents. But it doesn't solve any problems that this guy cares about. For his purposes, it's just another word processing format.

          Not true. The OP asks about version control and branching... and the best way to store something for version control is as plain text. Yes, modern version control software allows fairly sophisticated binary deltas (for example, I believe SVN has this capability) but there are still features that can't be done without text.

          For example, can your version control software tell you what text changed between two revisions of Word documents? It can if they're LaTeX documents.

          • Plain text makes it easier to manage version control and branching. But it's not enough. You need a simple document structure that doesn't embed a lot of formatting crap in your document.

            And even if you're right, you don't need to switch to LaTex to have plain text files. All word processors, including Word [wikipedia.org], have plain text formats.

            • You need a simple document structure that doesn't embed a lot of formatting crap in your document.

              That is a reason to use LaTeX or similar markup scheme which promotes separation of content from styling. I don't know much about DocBook, so it may be an even better candidate for that sort of thing.

              Using RTF from may be feasible, but from what I remember its RTF output is just as ugly as its HTML. It would be horrible to use with diff.

              • I agree that separation of content from presentation is a good idea. Indeed, for thie purpose at hand, it's essential. But LaTeX does not do any such thing. It embeds formatting info in the document.
                • Re:The simple answer (Score:4, Informative)

                  by masklinn (823351) <slashdot.org@nosPaM.masklinn.net> on Monday June 05, 2006 @07:05PM (#15476309)
                  Uh, no, latex embeds semantics into the document, then uses classes & packages to translate these semantics to visual displays.
                  • Since LaTeX is, beneath the hood, TeX, you can't predict how free from formatting specific markup the document will be.

                    Can you write LaTeX files without formatting information in them? Yes. I've rarely seen one, though.

                • Very true! That's why I encourage people to look at DocBook [oasis-open.org]. I've been using it for over a year now in lieu of LaTeX for documents ranging from simple HowTos, to design and specification documents, and some nearly book sized projects.

                  Paired with a sensible XML editor, you can be very productive!

                  • What editor do you use?
                  • Re:The simple answer (Score:5, Interesting)

                    by Zontar The Mindless (9002) * <plasticfish DOT info AT gmail DOT com> on Monday June 05, 2006 @08:13PM (#15476661)
                    DocBook rocks.

                    We use DocBook XML for the source format of the MySQL Manuals, and SVN for version control. We maintain 3 distinct versions of a >1600-page software manual this way, in numerous translations. We produce end-user docs in HTML, PDF, TexInfo, plaintext, CHM, and a couple of other formats. These include the online manuals at dev.mysql.com which get updated 4 times a day from our SVN repositories. We also maintain the Internals Manual using this system. It's also relatively easy for us to produce documentation that's either standalone or integrated with larger documents, such as the Connectors manuals.

                    We are very happy with this system. Our users seem to be also.

                    I use oXygenXML as my principal XML editor. So do some of my teammates. It's thoroughly DocBook-aware and does nice transformations of shorter DocBook documents into HTML and PDF. It also validates, pretty-prints, and does a good job performing diffs and merges between different versions of large (100+ K) documents. (It also provides for editing and debugging XSLT stylesheets, although I don't personally use it for that at present.) It's available on *nix, Windows, and Mac (yes, it's a Java GUI app, but it's remarkably fast and stable one). It's neither libre nor gratis, but it's well worth the money, and much cheaper than the (other) commercial alternatives. If you are working hands-on with large amounts of XML in a production setting, I strongly recommend that you check it out.
                • Re:The simple answer (Score:2, Informative)

                  by VE3MTM (635378)
                  Quoting fm6:

                  But LaTeX does not do any such thing. It embeds formatting info in the document.

                  Only if the author sucks at writing LaTeX, and does things like this:

                  {\Large This is a heading}\bigskip
                  Here is some text. Here is some {\bf important} text.

                  When they should be doing things like this:

                  \section {This is a heading}
                  Here is some text. Here is some \emph {important} text.

                  A LaTeX document, used properly, does not have any styling information in the document -- that's the job of the document class, and possi

        • Re:The simple answer (Score:5, Informative)

          by flooey (695860) on Monday June 05, 2006 @06:01PM (#15475826)
          LaTex may be terminally cool for creating fancy-looking documents. But it doesn't solve any problems that this guy cares about. For his purposes, it's just another word processing format.

          Actually, switching to LaTeX changes the scope of the problem from tracking changes to arbitrary files to tracking changes to text files. There are a lot more tools that are good for the latter problem than the former, so the available options get bigger. You're right that it doesn't suggest a good tool to go with, though.
      • by dsandler (224364) <dsandler@nOsPAm.dsandler.org> on Monday June 05, 2006 @05:48PM (#15475742) Homepage
        LaTeX's markup makes so much sense that a WYSIWYG tool isn't necessary, for even the man on the street can be just a productive with doing it up in a text editor.

        I love LaTeX (I have TeXShop [uoregon.edu] open in the background right now!), but I have to argue with the assertion that the uninitiated "man [or woman! -ed] on the street" can be just as productive as s/he was in Word. Compare Word's graphical table builder and tab ruler, the result of about 20 years of noodling around with the best user experience for creating such things, with \begin{tabular}{|r|r@{.}l|}. OW MY WORD PROCESSOR.

        Even if you give everyone a pocket syntax reference, unless you have a TeX ninja working overtime on your templates, you'll still end up with a lot of documents that look like academic research papers. This is fine if what you're writing are academic research papers [hi!], but for most corporate communication people are accustomed to more effortless (read: WYSIWYG) control over the output. (This is, of course, usually a terrible idea, resulting in official RIF memos from HR written in Comic Sans; I think there's a happy medium somewhere in between.)

        • When did I saw that the person would be just as productive as in Word? LaTeX and Word are in entirely different classes of software. One's a typesetting system, the other's a word processor. For the man on the street who needs to formally typeset something, LaTeX is the best option since it's high-quality and free (in both ways).
          • Re:The simple answer (Score:3, Interesting)

            by dsandler (224364)
            When did I saw that the person would be just as productive as in Word?

            Sorry, I over-generalized "WYSIWYG tool [for LaTeX]" to WYSIWYG document processor. You're probably right that graphical LaTeX editors aren't substantially more accessible than the bare LaTeX markup.

            [Aside: Where are these men-on-the-street who need all this professional typesetting? I want to live on that street! My car probably wouldn't get broken into as much.]

          • When did I saw that the person would be just as productive as in Word?
            You said "a WYSIWYG tool is unnecessary". Perhaps you forgot to add "if you don't give a shit about productivity."
            • That's a matter of perspective. Using Word, you couldn't produce the kind of LaTeX'd documents I've seen in fields from mathematics and software engineering to linguistics, no matter how long you tried. And for that matter, someone competent with a tool like LaTeX will generally be far more productive doing a task that suits it than someone competent using a tool like Word.

              As I've commented here several times before, it's a mystery to me why no-one has got wise to this and filled the rather large gap betw

              • As I've commented here several times before, it's a mystery to me why no-one has got wise to this and filled the rather large gap between Word (pretty UI to some people, but seriously underpowered for non-trivial work) and LaTeX (seriously powerful if you know what you're doing, but some daft limitations and horrible usability).

                Surely you've heard of LyX and ConTeXt? They've been around for years.

                • Yes, and they certainly have their merits. But really, they're not even on the scale of what I'm envisaging here (which is closer to a package with WP ease of use, DTP levels of page layout and typography tools, LaTeX levels of support for templated content and document structure, and a plug-in model for incorporating non-textual content).

                  This is one of those really annoying things, where I've developed quite a detailed vision after many sessions of thinking about this subject, I have the technical abilit

              • That's a matter of perspective. Using Word, you couldn't produce the kind of LaTeX'd documents I've seen in fields from mathematics and software engineering to linguistics, no matter how long you tried. And for that matter, someone competent with a tool like LaTeX will generally be far more productive doing a task that suits it than someone competent using a tool like Word.

                Perfectly true. But, beside the point, since the person who asked the original question could give a shit. LaTeX's cool formatting fea

      • While the rest of the world has gone ahead, (La)TeX is still in stuck in 7-bit ASCII land and is thus unusable for the languages I have documents in. And no, Omega/Lambda is still vapourware.
        • Re:The simple answer (Score:4, Informative)

          by CRCulver (715279) <crculver@christopherculver.com> on Monday June 05, 2006 @06:18PM (#15475972) Homepage
          This is totally false. All modern LaTeX installations allow one to typeset text in UTF-8. As a student of comparative Indo-European linguistics, I regularly typeset documents mixing the Greek, Cyrillic (including obscure OCS characters), and Latin scripts, as well as the International Phonetic Alphabet. I've also typeset some simple things in simplified Chinese.
          • How did you know what languages I had in mind? I was talking about Tamil or Devanagari. Current solutions don't handle ligatures very well, if at all.

            Actually, I find (La)TeX sub-par even for accented Latin (as used in IAST, for example). I don't want to have to treat combining characters differently from regular Latin.

            • by CRCulver (715279)

              Most UTF-8 software doesn't handle Devanagari well. LaTeX is hardly in the stone age compared to other programs.

              Actually, I find (La)TeX sub-par even for accented Latin (as used in IAST, for example). I don't want to have to treat combining characters differently from regular Latin.

              Accented Latin doesn't require combining characters, since macron-ed vowels are distinct characters in Unicode. When I write a LaTeX document with Latin, I enter all characters in just plain, direct UTF-8.

              • Most UTF-8 software doesn't handle Devanagari well. LaTeX is hardly in the stone age compared to other programs.

                Now you're just back-pedalling. I have to typeset Devanagari and Tamil. I don't use software that cannot handle it easily. LaTeX, otherwise well-designed, doesn't cut it. So I don't use it anymore.

                BTW, lots of UTF-8 software do handle Devanagari/Tamil. Software that don't do any rendering handle it just fine, like bash, vim and most of the GNU utils. On Linux, the ones that do rendering mostly

            • Incidentally, it is possible to typeset very elegant Devanagari with LaTeX. Charles Wilker's A Practical Sanskrit Introductory [sanskrit.gde.to] was typeset in TeX. See his explanation [sanskrit.gde.to] for more details. While Devanagari cannot be entered as straightforwardly as most other scripts, it can still be typeset.
            • How did you know what languages I had in mind? I was talking about Tamil or Devanagari. Current solutions don't handle ligatures very well, if at all.

              Well, sorry, I'll call you on that one, then. A friend of mine typeset an entire Masters thesis with plentiful Hindi quotations using LaTeX, because none of the mainstream WP software was up to the job. We even designed a whole new font with METAFONT, containing most of the major Devanagari glyphs, and mapped to standard roman transliterations.

              This obvio

        • Re:The simple answer (Score:3, Informative)

          by CRCulver (715279)
          I should add that it's usually a simple matter of adding

          \usepackage[utf8]{inputenc}

          to the document preamble. For hyphenation, you also need to do

          \usepackage[x,y...]{babel}

          where x where the arguments are whatever languages you want. Today I wrote a letter to a friend where my document preamble had

          \usepackage[polutonikogreek,danish,french,latin,ro manian,british]{babel}

          And you tell me LaTeX can't handle the languages of the world?

    • > There's plenty of WYSIWYG tools for Latex. Let Google be your guide.

      GNU TeXmacs is one that I've recently discovered, and it's quite nice. It's especially good if you want to incorporate sessions with programs like gnuplot, octave, or guile into your documents. (For example, if you type "plot x**2" while in gnuplot mode, the graph produced becomes part of your document, just like in Mathematica.)

      It's also good for your other daily typesetting needs.
    • There's plenty of WYSIWYG tools for Latex

      No, there aren't. If you believe a WYSIWYG tool is possible for LaTeX, then you either don't understand LaTeX or you don't don't understand WYSIWYG.
    • Re:The simple answer (Score:3, Informative)

      by fperez (99430)
      To save the OP the googling: lyx and svn (you can include raw latex for the diehards, if you want).

      I've written many collaborative documents in this manner. One involved people across 2 continents, 7 institutions, Linux, OSX and MS Windows, a tight deadline, strict government formatting requirements, and noone with enough time to merge the whole thing.

      One simple makefile, and anyone could do at anytime

      svn update
      make pdf

      and check that the final PDF was in tiptop agreement with the NIH formatting guidelines
  • Subversion... (Score:5, Informative)

    by nweaver (113078) on Monday June 05, 2006 @05:18PM (#15475516) Homepage
    Subversion is your friend...

    It handles binaries right (unlike CVS)

    It works over a variety of transport layers (HTTP/HTTPS/SSH) with some decent authentication models.

    It treast revisions as an archive-wide property.

    You can't check in an inconsistant state.

    It runs under *NIX, Mac, Windows, etc.

    Its free software.

    Try it. I switched a few months back from CVS and have been very happy.
    • Subversion is your friend...

      It handles binaries right (unlike CVS)

      Of course, Subversion is no more your friend than CVS in this case since neither can do proper diffs! It's binary data for f*ck sake! Subversion handles binaries better than CVS, but not for the reason you state.

      • by malloc (30902) on Monday June 05, 2006 @06:37PM (#15476121)

        Of course, Subversion is no more your friend than CVS in this case since neither can do proper diffs! It's binary data for f*ck sake! Subversion handles binaries better than CVS, but not for the reason you state.

        Actually, GUI Subversion clients like TortoiseSVN [tigris.org] can show diffs for binary files like Word or OpenOffice, using the built-in diff capability of these programs. The end result is you can double-click your binary document and get a window showing you the differences.

        The latest nightly TortoiseSVN builds even include an image diff viewer.

        -Malloc
    • Don't forget TortoiseSVN [tigris.org], for more ease of use for the windows people.
    • Re:Subversion... (Score:3, Insightful)

      by MichaelSmith (789609)

      Subversion is your friend...

      I have been moved on to a new project to develop a user interface in Java. I have java development skills but my job is to write UI specs in word and visio. The developers use SVN for their code and somebody checked the documentation tree (where I and three other engineers work) into SVN.

      But the people I work with (systems engineers, in our terminology) rely entirely on windows explorer and email to manage their documents. They have a complex file naming scheme which is always

      • Tortoise SVN would be your friend. It allows you to easily use SVN from windows explorer.
        • Tortoise SVN would be your friend.

          We have that but convincing the non-coding guys that a problem even exists is the real challenge. I am going to lose this one.

      • I suggest you start by committing everything into SVN and using it for yourself (like commit other people's changes as "misc other people changes" and then commit your own changes with real commit messages), if only to prevent you from being annoyed by the issues it brings.

        Then you can start evangelizing.

      • Explain what you mean be "distributed"

        I don't know how other SVN clients work, but we use an SVN server and Eclipse clients with the Subclipse plugin. The effect is that you login to Eclipse and sync whatever files, directories, or parts you want, and it copies them to your local filesystem. You can then open them in Eclipse (online or offline) but you can ALSO open them using your favorite filesystem tools, including grepping them. The current tree is completely distributed, and you never ever need to s
    • Thanks. You saved me the typing.

      I support this completely ... Subversion rocks :]

      Also, when you run a diff on an M$Word document, it acually loads a MSWord Diff version so you can graphically see the differences in the document. Not sure if OOo has this yet...

      JsD
    • My problem with svn as opposed to cvs is that sometimes I want to have per-file revision tracking. For instance, my directory full of miscellaneous documents is such a place. I do not care what the relative state of the documents is at any given point, because they have no interrelations whatsoever. Source code and independent documents are different animals, and I don't know of a revision control system that treats both of them the right way.
    • Re:Subversion... (Score:5, Informative)

      by dpaton.net (199423) on Monday June 05, 2006 @07:18PM (#15476388) Homepage Journal
      After several years of working with SourceSafe and it's truly braindead way of dealing with atomic commits and binary files (not to mention the massive data loss problems we had with it) my office switched to SVN for EVRYTHING. All employees use it for everything, from notes on ideas in Notepad or BBEdit or pico, to massive software projects with hundreds of files and over a million lines of code. Using TortiseSVN to put it into the windows desktop shell, it's nearly transparent, and it allows atomic commits to work intelligently, making the engineers who work with programs that have multiple files (hardware in myb case, a half dozen files for each PCB design, it works even better for revision control for the software guys), which has allowed us to recover a really insane amount of time we'd been handing over to M$SS for maintainance and babysitting. Additionally, the (automagically compressed) repository size for 11 hardware guys and 13 software guys with a year's worth of code and binaries (2M lines and hundreds of MBs, local, respectiively) is a paltry 180MB. That's with upwards of 20 commits on everyone's data every day. I admit, I sound like I drank the SVN kool-aid, and I'm OK with that. The next step is to install it at home and use it to back up /home, /documents and /music on my various and sundry computers (seperate server, weekly media swap, etc).

      I love it that much, and you can too!
    • I've just started to use trac [edgewall.com], from edgewall software. It's open source, easy to administer, and has an interface direct to a subversion backend.

      In summary, it has the following features:

      • Wiki for documentation/specifications/knowledge base. The wiki is extremely easy to use, but there is a bit of labour involved in importing a whole stack of word documents;
      • Subversion interface. You can directly access your subversion repository (This implies that you will be using subversion for your source control). Su
  • Someone replied: "Ever heard of Adobe Acrobat? That's what it's for." I'd like to say they missed the point of the question, which isn't just edits to a document. What I think the poster, and myself, are searching for is a web-based document server that tracks who's working on what, when. So if I decide I'm going to work on the Abstract of a paper, I go online, download it, and work on it. Let Word or whatever track my exact edits.

    When another user decides to edit it, they'll see that it's "checked out
    • by Anonymous Coward
      SugarCRM's document feature does exactly that (web-based check-in/check-out). Plus, it's open source (yay) and does a bunch of other stuff, which you may or may not need (I believe you can just turn off other modules/functions that you don't need so that they don't bother you).

      http://www.sugarcrm.com/ [sugarcrm.com]
    • Quite right - Submitter is not looking for a word processing tool, necessarily. Just something that allows you to fall back to an earlier revision if necessary, and maintain accountability for changes. Subversion is really rather robust in this respect. You can branch off toward infinite if you'd like.

      In a nutshell: You set up the central repository, and then everyone who might work on a file maps a directory to this trunk. Whenever you make a change to a document, you check that in to the central Subve

    • The poster says they're using Sharepoint. It already has the capability to "check out" a file instead of just opening and saving it. Click the down-arrow next to the document name and select "check out". The document list will then update to show that you've got the document checked out. When you've edited and saved the document, do the same and select "check in".

      Doing this keeps previous versions of the document. If you just open, edit & save, then you're just updating the current version of the docume
  • by masklinn (823351) <slashdot.org@nosPaM.masklinn.net> on Monday June 05, 2006 @05:21PM (#15475538)

    While I haven't managed to get them integrated into the workflow yet (working on it), I find tools such as Trac [edgewall.com] extremely interresting and full of potential: Trac integrates a wiki (for base documentation) with a bugtracker (bugzilla-like) and a Subversion repository while linking all of them together (you can use the SVN commit comments to link a commit to a bug, track them from the wiki, generate timelines, ...)

    And important document should never ever be stored in proprietary binary formats: you can't decrypt them yourself, can't change bugs, can't do anything.

    • Precision to my previous post: when I say that I haven't managed to get them integrated into the workflow, it's not in the technical sense of the term (installing Trac is fairly trivial) but in the hierarchy-related one, management isn't interrested in changing it's habbits or in seeing the dev teams change their habits.

    • And important document should never ever be stored in proprietary binary formats: you can't decrypt them yourself, can't change bugs, can't do anything.

      Amen to that. One of the nicest things about non-binary formats is the ability to difference versions without any special tools.

  • Trac (Score:3, Informative)

    by XeusTsu (965623) on Monday June 05, 2006 @05:23PM (#15475558) Homepage
    I myself like using trac which I believe is opensource and works off of a subversion tree. To my knowledge Subversion is meant to be a better solution then CVS for most items, and can be used on it's own.

    On the other hand, my company uses Subversion and TortoiseSVN as a shell extension, edit files locally and simply commit them to the subversion repository. You can do all the blame, branching/tagging you need, but our company is likely much smaller then yours. Something to look at I guess.
    • Re:Trac (Score:3, Interesting)

      by gregmac (629064)
      Since trace is just a frontend to a subversion repository, and tortoisesvn is a frontend to subversion (client) itself, using all 3 is perfectly acceptable - i do it all the time (for my windows development, anyways).

      But I do agree, Trac is a great tool. Combination of wiki + ticket tracker + roadmap + svn browser. It's great because it's all integrated: you can make wiki posts that say "this will be done in milestone:1.2", tickets that say "Fixed in [265]" (revision), or svn commit messages saying "Fixed t
  • It's pretty shocking to change everything (document format, writing environment, collaboration tools) all at once. Start with reasonable source control, the best bacon-saving device you can get. Have everyone check existing docs (Word, HTML, whatever) into source control; Even though diffs are meaningless for the binary formats, the other benefits (versioning, collaboration, remote storage, tags, platform independence) are huge. It's the quickest way to put an end to the madness of emailed .doc files and accidental deletions.

    If you've got a lot of Windows users, go with Subversion [tigris.org] and get everyone to install the TortoiseSVN [tigris.org] shell extension, which offers the most natural GUI for new (and experienced!) users of version control.

    Once everyone's comfortable with SVN, you can then start migrating to text-based document formats in which the source control diffs mean something (LaTeX, XML, reStructured, etc.)

  • by AccUser (191555)
    Trac [edgewall.com] is a powerful ticketing system that integrates well with Subversion [tigris.org], and is built around an easy to use Wiki. I would also recommend using TortoiseSVN [tigris.org] as a Windows client for both developers and non-developers.
  • Meta-answer (Score:5, Informative)

    by Jerf (17166) on Monday June 05, 2006 @05:36PM (#15475645) Journal
    I doubt I'll have much to add to the long list of people describing their experiences with various systems, but I'll pop out this meta-thought: Your developers and "functional analysts" probably have wildly varying needs, especially if the "functional analysts" use word-processing documents like Word. There's no crime in given each group of people a separate system.

    Your devs probably ought to get subversion because the continuing cost of using a sub-optimal source management system adds up to staggering amounts pretty fast. Your other writers probably aren't continuously branching and merging and doing all the other things subversion allows (if nothing else that's really confusing for most documents), so they can use a simpler, easier-to-use system that doesn't incur continuous costs due to confusion and documents getting mangled or destroyed due to incorrect use of the system.

    The right tool for the right job.

    (Note: I'm not saying you should use multiple systems; I'm just saying it's not a crime, if they solve different problems. If you can get your writers to use SVN, especially if they use something with a decent plaintext representation that stands a chance in Hell of merging, hey, great, more power to you.)
    • Exactly.

      What is the problem with keeping specs in Sharepoint and code in SVN?

      Sharepoint is really good at tracking/merging Word docs. SNV is really good at tracking/merging text files. Why not use both?
  • Your big problem is your analysts. They want "ease of use" which is just another way of saying "we like working with a word processor". But the messy data maintained by a word processor is incompatible with your other goals. You need a well-structured format such as XML/Docbook. (I mention that specific format by way of example, though it's a good general-purpose solution if you want to maximize your reliance on off-the-shelf technology.) Imposing structure on your document base is moderately difficult, but
  • I use subversion + LaTeX when I can. I use vim with latexsuite & usually use subversion in another term (although I have the subversion plugin for vim). Each individual product has already been suggested above, and they are powerful in combination.

    That being said, it is not usable if you're dealing with end users who don't understand the tools. Your FAs sound like such users. The front ends for LaTeX have scared end users and/or write pretty bad LaTeX (which causes those who hack it in vim to screa
  • by Qbertino (265505) on Monday June 05, 2006 @05:50PM (#15475755)
    Many have mentioned Trac/Subversion allready and I second that.
    For managing Documents I would use Knowledge Tree [ktdms.com]. The open source version is cool and the professional edition adds in all the stuff managers like.
  • by Karma Farmer (595141) on Monday June 05, 2006 @05:58PM (#15475800)
    Based on the requirements, you should be using Microsoft Word and Microsoft Sharepoint.

    If those don't fill your needs, then either you've failed to describe your requirements or you've failed to correctly set up the software.
  • by Circuit Breaker (114482) on Monday June 05, 2006 @06:05PM (#15475853)
    Where I work, developers use CVS exclusively. It has its quirks, and we've considered alternatives, but the combination of CVS+TortoiseCVS+Jalindi Igloo (Visual Studio integration)+Jira is unbelievebly hard to beat (Subversion doesn't have a reasonable SCC connector, and nothing else has anything that comes close to TortoiseCVS -- even TortoiseSVN is clunky and awkward by comparison. Oh, and CVS mergepoints work perfectly, unlike the nonexistent merge tracking capabilities of Subversion).

    When our "functional analysts alike" guys wanted version control, we naturally gave them the tried-and-tested CVS, and gave them instruction on its use. It was a horrible failure. The update-edit-change-commit cycle which is so trivial to developers just didn't work. The people are not dumb - just have a different mindset. We had also tried a Wiki (MoinMoin, works well for devs), but its inability to search or version Excel files make it irrelevant.

    Eventually, much to my dismay, we settled on Sharepoint. And while it's clunky, horrible, keeps only the 7 latest versions of any file, has no branching and is often inconsistent with error messages, them users are able to work with it without requiring assistance.

    Do not confuse a feature list with applicability of a tool to the situation at hand which, it appears, might depend more on the people involved than anything else.
  • by HFShadow (530449) on Monday June 05, 2006 @06:20PM (#15475989)
    http://svnbook.red-bean.com/nightly/en/svn.webdav. autoversioning.html [red-bean.com]

    From the SVN Handbook:
    "Because so many operating systems already have integrated WebDAV clients, the use case for this feature borders on fantastical: imagine an office of ordinary users running Microsoft Windows or Mac OS. Each user "mounts" the Subversion repository, which appears to be an ordinary network folder. They use the shared folder as they always do: open files, edit them, save them. Meanwhile, the server is automatically versioning everything. Any administrator (or knowledgeable user) can still use a Subversion client to search history and retrieve older versions of data."
    • That's exactly the setup I've put in place in a couple of places. Works brilliantly. Non-technical and recalcitrant users simply get another folder that they can drag-and-drop files to. MS-Word and many other tools understand WebDAV and will issue LOCK commands, so other users know when files are being worked on and won't conflict. There are the occasional "drop new copy over the top of updated one" type-errors, but that's the trade-off for ease-of-use. Pick what's more important to you.
    • by Anonymous Coward
      We tried this setup with a Linux/Apache server and WinXP clients. A word of caution: Windows XP WebDAV implementation is horribly, horribly broken especially if you want to have any resemblance of security. Couple of days and several dozen google searches later we were able to patch something together, but it was definitely not pretty.
  • I would strongly recommend going with a Wiki with access control. This will allow your team to collaborate on various documents. I highly recommend Confluence http://www.atlassian.com/software/confluence/ [atlassian.com] from Atlassian Software.

    Everything your analysts like about the combo of Word and Sharepoint will be provided in an easy to use package, plus everything that the "geeks" want, need, and love will also be provided.

    Yours,

    Jordan
  • by puppetluva (46903) on Monday June 05, 2006 @06:44PM (#15476163)
    We chose Confluence at my firm ( http://www.atlassian.com/ [atlassian.com] ). They are the same people who write Jira (the project management system on a bunch of open-source sites). It handled all of our requirements (very similar to yours) and it works really, really well. I don't work for the company, but I feel good talking-up people who make good products. My favorite features:
    • WYSIWYG editor built in with an option to do wiki-markup if you want.
    • Full versioning of the docs and attachments
    • Full searchable indexing of both docs and attachments (even word, powerpoint, excel, and pdfs)
    • Customizable navigation and templating
    • Easily customizable permissions
    • It works great with open-source databases (postgres in our case) and pay ones and its searching is very powerful
    • You can be set-up and running in about 30 minutes
    My favorite feature is that we don't have to mess with it at all. We set it up and both non-developers and developers get along with it well. I would chose it over Sharepoint or Notes in a heartbeat (both of which I used before and thought were a mess).
  • Lucidoc (Score:3, Informative)

    by Xofer D (29055) on Monday June 05, 2006 @06:58PM (#15476258) Homepage Journal
    It sounds like you want something like Lucidoc [lucidoc.com]. It integrates with Word and even IE, and does what you seem to want, I believe. It's pretty seamless, and used in health care document systems. Have a look at it and see if it does what you want; it sure would be easier than convincing MS Word users to use cvs or svn. Disclaimer: I am neither a vendor nor a user of this stuff, but I know one of the developers.
  • Telelogic's Doors (Score:2, Informative)

    by bheilig (516136)
    We use Telelogic's Doors [telelogic.com] It's good for large projects with multiple systems. It supports requirements tracability and revision history to the object (typically a paragraph). After you're done you can export it to MS Word and you can customize this process using a scripting language and Word templates. I work for a government contractor and the systems we develop include hardware and software efforts on multiple independent processors. It might be overkill for what you need.

    Brian
  • Go for Alienbrain (Score:2, Informative)

    by codesurgeon (979732)
    Having individuals on the team without a development background and/or the need for a decent UI and all the features you could ask for in a version control system, I'd urge you to get your hands on Alienbrain. It is stable, easily accessible for non-techies, industry-proven and still the market-leader in game dev. You could of course look into UIs for subversion etc. but I guess something along the lines of Alienbrain would be most feasible in your case. And for the rest set up a wiki.
  • Google crm-ctt and alfresco. Done.
  • by toby (759) *
    Twiki.org [twiki.org] = powerful version controlled wiki, very easy to use. Check out the case studies and customer list [twiki.org]!
  • well, duh. if you want to version control your documents, maybe you should make them plain text and store them with your source code? ya think? that leaves you with html and LaTeX. where I work, we use noweb as a thin wrapper around LaTeX.
  • Svnwiki, of course (Score:5, Interesting)

    by Azul (12241) on Monday June 05, 2006 @07:51PM (#15476562) Homepage

    I would suggest using svnwiki [freaks-unidos.net], a wiki system that stores its whole contents in a Subversion repository (Disclaimer: I am the main author of svnwiki). That allows you to use the usual svn commands (svn diff, svn log, svn update, etc.) to work with your wiki as well as using the web interface.

    You can see an example wiki [bogowiki.org] (in spanish) and its associated svn repository [no-ip.info] (login as anonymous, password is the empty string; Slashdot seems to strip out this auth information from my URL) to get an idea of what the repository looks like.

    These are examples of some of its features:

  • This will only confuse them!

    Unless your spec is hundreds of pages long, I dont see a need for branching

    Do not overkill
  • by boatboy (549643) on Monday June 05, 2006 @09:55PM (#15477100) Homepage
    Alot of people don't realize it, but there is document versioning built into Word. If it's turned on, it will track changes, etc. by user. There is also pretty rich editing capabilities. Reviewers can mark up the doc with comments, etc... Adding sharepoint lets you distribute that process pretty well. Get an in-depth Word book and figure out how to do it in sharepoint/word.
    • by glesga_kiss (596639) on Tuesday June 06, 2006 @08:44AM (#15478950)
      While the in-built "track changes" is useful, it's not version control. You can't go back to the document as it was on Jan 1st 2006. Part of the reason for version control is to safeguard against corruption. "Track changes" doesn't do this.

      I use the comments stuff heavilly myself though, very useful to mark and annotate work-in-progress.

  • Subversion + Trac (Score:3, Insightful)

    by fbg111 (529550) on Monday June 05, 2006 @10:07PM (#15477156)
    I second all the Subversion [tigris.org] recommendations, and add to that the web-based Trac [edgewall.com] frontend. Trac incorporates a web-based interface to your SVN repository, along with authentication & access levels, wiki, and several project-management features (timeline tracking, milestone tracking, ticket system, etc.) Nice interface to SVN, though you should still install Tortoise on everyone's desktop for additional client functionality. Here's an interesting writeup on one sysadmin's use of SVN, Trac, and RapidSVN client [adminfoo.net].
  • use subversion (Score:3, Insightful)

    by jilles (20976) on Tuesday June 06, 2006 @02:17AM (#15477846) Homepage
    The reason I'm recommending subversion is because I strongly believe that development artifacts should be kept as close to the source code as possible (so when you branch or tag these artifacts are part of the operation instead of out of date binary blobs on some network drive). Since we are talking about functional specifications here that means storing them in a source repository and as far as I can see subversion is the best option. It supports efficient storage of binary files; easy integration with windows explorer; easy esposure through an intranet or even over internet via ssh or https; integration with webdav etc.

    Do not use cvs. Period. There are no use cases left where cvs is better than subversion. Even the tooling now is comparable or better for subversion (e.g. tortoisesvn is much nicer than tortoisecvs) so the legacy tooling excuse for using cvs is no longer valid.

"There... I've run rings 'round you logically" -- Monty Python's Flying Circus

Working...