<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: What I want in a Wiki for software development</title>
	<atom:link href="http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/</link>
	<description>Kevin Dangoor on Software Development</description>
	<pubDate>Fri, 21 Nov 2008 12:23:58 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: tdyjrnfvxf</title>
		<link>http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-95142</link>
		<dc:creator>tdyjrnfvxf</dc:creator>
		<pubDate>Wed, 24 Jan 2007 00:26:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-95142</guid>
		<description>&lt;a href="http://ckdtyjn.com" rel="nofollow"&gt;isvwqewe&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p><a href="http://ckdtyjn.com" rel="nofollow" onclick="javascript:pageTracker._trackPageview ('/outbound/ckdtyjn.com');">isvwqewe</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Otto Doc</title>
		<link>http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-63037</link>
		<dc:creator>Otto Doc</dc:creator>
		<pubDate>Fri, 11 Aug 2006 20:29:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-63037</guid>
		<description>As a partial answer to the issue, I would suggest distinguishing between detail documentation and high level documentation.

For detail documentation of software, I believe it works best to generate the documentation from the commented source code itself using a tool such as Doxygen (http://www.stack.nl/~dimitri/doxygen/ ).  The result will be far more informative and more accurate and reliable with regard to the hard details than anything you would care to produce by hand, plus it can be kept automatically current with the current code base.  The developer working on a file will have that file checked out already, so there is no necessary additional checkout/checkin burden to revise comments at the same time.

The weak point tends to be for more general themes and pieces of information that are not closely tied to specific actual code.  To easily and readily tie all the details together with a larger general picture -- perhaps that might be a place where a wiki could supplement the auto generated detail documentation.

The key then is tying the two together so that each can contribute what it does best.  Using interwiki references (e.g. "this" for local reference) might be one way to do that.

In the above scenario, the wiki is used for more general or large picture aspects of the system that are not tied closely to the fast changing small details of the code.  Those general pages could/should have a reasonably longer lifetime than the code and generated documentation that changes with each release.

Can anyone think of a better way to easily supplement autogenerated documentation than with an integrated wiki?  Difficult/awkward procedures simply don't get done.</description>
		<content:encoded><![CDATA[<p>As a partial answer to the issue, I would suggest distinguishing between detail documentation and high level documentation.</p>
<p>For detail documentation of software, I believe it works best to generate the documentation from the commented source code itself using a tool such as Doxygen (http://www.stack.nl/~dimitri/doxygen/ ).  The result will be far more informative and more accurate and reliable with regard to the hard details than anything you would care to produce by hand, plus it can be kept automatically current with the current code base.  The developer working on a file will have that file checked out already, so there is no necessary additional checkout/checkin burden to revise comments at the same time.</p>
<p>The weak point tends to be for more general themes and pieces of information that are not closely tied to specific actual code.  To easily and readily tie all the details together with a larger general picture &#8212; perhaps that might be a place where a wiki could supplement the auto generated detail documentation.</p>
<p>The key then is tying the two together so that each can contribute what it does best.  Using interwiki references (e.g. &#8220;this&#8221; for local reference) might be one way to do that.</p>
<p>In the above scenario, the wiki is used for more general or large picture aspects of the system that are not tied closely to the fast changing small details of the code.  Those general pages could/should have a reasonably longer lifetime than the code and generated documentation that changes with each release.</p>
<p>Can anyone think of a better way to easily supplement autogenerated documentation than with an integrated wiki?  Difficult/awkward procedures simply don&#8217;t get done.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan</title>
		<link>http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-32008</link>
		<dc:creator>Dan</dc:creator>
		<pubDate>Mon, 06 Mar 2006 23:50:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-32008</guid>
		<description>Interesting thought about keeping the documentation for previous revisions.  We use Trac, just like CherryPy does.

Another quick-and-dirty way of approaching this is to create a Wiki hierarchy for each revision.  For instance, /Ver1.x/DocPage1, then with new revisions, /Ver2.x/DocPage1.  The TitleIndex could be used to establish of a list of exported pages, or the entire wiki could be exported to files.  An initial version of documentation could be created for Ver2.x by using the pages for Rev1.x, doing some global search/replace and basic changes, then importing them under the Rev2.x hierarchy.  Each revision starts out "clean" because there are no pages under that hierarchy at the start.  (I've never actually done this, by the way.)

Another approach could be to have a "current documentation" area (/Doc/xxx or just /xxx), export those pages at each major revision, importing them under the pages for a specific revision (/Ver1.x/xxx), of course updating the internal page links along the way.  You keep all revision history for the mainline documentation in that case, and start over for the archived copy.  Somehow this makes better sense to me, since the active documentation is always at the same location.</description>
		<content:encoded><![CDATA[<p>Interesting thought about keeping the documentation for previous revisions.  We use Trac, just like CherryPy does.</p>
<p>Another quick-and-dirty way of approaching this is to create a Wiki hierarchy for each revision.  For instance, /Ver1.x/DocPage1, then with new revisions, /Ver2.x/DocPage1.  The TitleIndex could be used to establish of a list of exported pages, or the entire wiki could be exported to files.  An initial version of documentation could be created for Ver2.x by using the pages for Rev1.x, doing some global search/replace and basic changes, then importing them under the Rev2.x hierarchy.  Each revision starts out &#8220;clean&#8221; because there are no pages under that hierarchy at the start.  (I&#8217;ve never actually done this, by the way.)</p>
<p>Another approach could be to have a &#8220;current documentation&#8221; area (/Doc/xxx or just /xxx), export those pages at each major revision, importing them under the pages for a specific revision (/Ver1.x/xxx), of course updating the internal page links along the way.  You keep all revision history for the mainline documentation in that case, and start over for the archived copy.  Somehow this makes better sense to me, since the active documentation is always at the same location.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sebastian</title>
		<link>http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-2848</link>
		<dc:creator>Sebastian</dc:creator>
		<pubDate>Thu, 29 Sep 2005 13:52:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-2848</guid>
		<description>Although wikis are great sfor some kind of information, trusting the community to write complete docs that way probably won't work that well. I think you should  consider the model of php.net instead, one entry for each function with examples of use and a comment system that lets user provide better ways of solving problems or asking for clarifications.

For tutorials you usually want one person with a consistent style write it initially anyway. A wiki can help in that it allows anyone to write one without hassle and that people can correct grammar and factual misstakes as easily. A normal wiki probably do well for theese since there isn't very many of them, just make sure to label each page with compatible versions, if you use namespaces for that(or "webs") you can easily hack the wiki to allow "branching" and links to older versions.</description>
		<content:encoded><![CDATA[<p>Although wikis are great sfor some kind of information, trusting the community to write complete docs that way probably won&#8217;t work that well. I think you should  consider the model of php.net instead, one entry for each function with examples of use and a comment system that lets user provide better ways of solving problems or asking for clarifications.</p>
<p>For tutorials you usually want one person with a consistent style write it initially anyway. A wiki can help in that it allows anyone to write one without hassle and that people can correct grammar and factual misstakes as easily. A normal wiki probably do well for theese since there isn&#8217;t very many of them, just make sure to label each page with compatible versions, if you use namespaces for that(or &#8220;webs&#8221;) you can easily hack the wiki to allow &#8220;branching&#8221; and links to older versions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tazzzzz</title>
		<link>http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-2843</link>
		<dc:creator>tazzzzz</dc:creator>
		<pubDate>Thu, 29 Sep 2005 12:32:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-2843</guid>
		<description>Many wikis have a way to keep multiple separate "webs". If they provided an easy way to copy a page from one web to another, that would pretty much do what I'm asking about.

That said, I am swayed by Ian's argument and the fact that I'm about to have to do a global search and replace on the docs. Doing that with a through-the-web wiki is nasty to think about... doing that in TextMate is a pleasant thought.

The best bet may very well be to just go and keep the docs in Subversion, and to monitor the mailing list carefully to be sure that stuff that's coming up there is landing, in some form, in the documentation.</description>
		<content:encoded><![CDATA[<p>Many wikis have a way to keep multiple separate &#8220;webs&#8221;. If they provided an easy way to copy a page from one web to another, that would pretty much do what I&#8217;m asking about.</p>
<p>That said, I am swayed by Ian&#8217;s argument and the fact that I&#8217;m about to have to do a global search and replace on the docs. Doing that with a through-the-web wiki is nasty to think about&#8230; doing that in TextMate is a pleasant thought.</p>
<p>The best bet may very well be to just go and keep the docs in Subversion, and to monitor the mailing list carefully to be sure that stuff that&#8217;s coming up there is landing, in some form, in the documentation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Geoffrey Wiseman</title>
		<link>http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-2839</link>
		<dc:creator>Geoffrey Wiseman</dc:creator>
		<pubDate>Thu, 29 Sep 2005 11:57:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-2839</guid>
		<description>To be honest, it feels to me like the best way to handle this is to use a wiki for the current version of the documentation and do a good job keeping it up to date.  Then for past versions, you can archive the documentation in some form at the point when you're about to begin the next round of development.

You might do this by making a copy of all of the wiki documentation and moving it to its own wiki or area of the wiki.  You might do this with an exported HTML / PDF.  You could even doi it by exporting the content /into/ subversion.

I'd be curious to see a wiki with better integration with source control systems, though, I admit.  But I'm pretty happy with Confluence, so it would take a compelling set of features to convince me.</description>
		<content:encoded><![CDATA[<p>To be honest, it feels to me like the best way to handle this is to use a wiki for the current version of the documentation and do a good job keeping it up to date.  Then for past versions, you can archive the documentation in some form at the point when you&#8217;re about to begin the next round of development.</p>
<p>You might do this by making a copy of all of the wiki documentation and moving it to its own wiki or area of the wiki.  You might do this with an exported HTML / PDF.  You could even doi it by exporting the content /into/ subversion.</p>
<p>I&#8217;d be curious to see a wiki with better integration with source control systems, though, I admit.  But I&#8217;m pretty happy with Confluence, so it would take a compelling set of features to convince me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Forkel</title>
		<link>http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-2838</link>
		<dc:creator>Robert Forkel</dc:creator>
		<pubDate>Thu, 29 Sep 2005 10:56:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-2838</guid>
		<description>the functionality provided by tags (see
http://dev.muness.textdriven.com/trac.cgi/wiki/tags ) for trac could
nicely be used to flag version specific doc, i think.</description>
		<content:encoded><![CDATA[<p>the functionality provided by tags (see<br />
<a href="http://dev.muness.textdriven.com/trac.cgi/wiki/tags" rel="nofollow">http://dev.muness.textdriven.com/trac.cgi/wiki/tags</a> ) for trac could<br />
nicely be used to flag version specific doc, i think.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dethe Elza</title>
		<link>http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-2829</link>
		<dc:creator>Dethe Elza</dc:creator>
		<pubDate>Thu, 29 Sep 2005 01:29:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-2829</guid>
		<description>Have you taken a look at Trac?  It's a wiki and project management system built on top of Subversion.

http://www.edgewall.com/trac/</description>
		<content:encoded><![CDATA[<p>Have you taken a look at Trac?  It&#8217;s a wiki and project management system built on top of Subversion.</p>
<p><a href="http://www.edgewall.com/trac/" rel="nofollow">http://www.edgewall.com/trac/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tazzzzz</title>
		<link>http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-2827</link>
		<dc:creator>tazzzzz</dc:creator>
		<pubDate>Thu, 29 Sep 2005 00:17:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-2827</guid>
		<description>I do agree with you, Ian, about textareas being the nastiest text editors around. TextMate sure blows the pants off of a textarea :)

Yeah, maybe I've got the best setup as it is...</description>
		<content:encoded><![CDATA[<p>I do agree with you, Ian, about textareas being the nastiest text editors around. TextMate sure blows the pants off of a textarea <img src='http://www.blueskyonmars.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Yeah, maybe I&#8217;ve got the best setup as it is&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ian Bicking</title>
		<link>http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-2819</link>
		<dc:creator>Ian Bicking</dc:creator>
		<pubDate>Wed, 28 Sep 2005 18:00:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/09/27/what-i-want-in-a-wiki-for-software-development/#comment-2819</guid>
		<description>I don't think version control solves the problem particularly.  Documents can linger and break in Subversion just as well as a Wiki.  The answer in my mind is testable documentation.  doctest does some of this -- and does it well in many ways -- but in the context of a web app/framework it can be hard to work with.  But not impossible!

I played around with tools for this some time ago.  Sadly, I've let the tools linger and break, not to mention the documentation built with the.  Sigh.  But generally speaking I think it is achievable.  

As far as Wikis... well, textarea is the stupidest text editor ever made, and when producing serious documentation I consider it unacceptable.  The whole environment is uncomfortable.  And I don't see Wikis producing good documentation.  A few core people generally produce good documentation -- sometimes in spite of a crappy Wiki editing interface, but not because of it -- and external people add recipes and suggestions that provide important feedback.  But you don't need a Wiki to get feedback and comments.

I think a Subversion-based system, with a easy-to-run and easy-to write documentation testing system (maybe based on doctest, but maybe not) is the most important.  Then a web browser of that documentation that allows comments and annotation -- maybe just limited commenting on the (fairly copious) anchors that reST inserts automatically.  Those comments could go in a companion file, maybe with a tool to merge them when you want to integrate comments into the documentation.  Or maybe the comments could go into the document directly, especially if you can ignore them when testing (since there's a security risk to testing documentation from a potentially anonymous source).  I'm not sure what support reST can really provide for that kind of annotation; maybe a custom directive.  But anyway, that's my opinion on the matter.  That's a tool I'd like both as a user and as a developer/documentor.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t think version control solves the problem particularly.  Documents can linger and break in Subversion just as well as a Wiki.  The answer in my mind is testable documentation.  doctest does some of this &#8212; and does it well in many ways &#8212; but in the context of a web app/framework it can be hard to work with.  But not impossible!</p>
<p>I played around with tools for this some time ago.  Sadly, I&#8217;ve let the tools linger and break, not to mention the documentation built with the.  Sigh.  But generally speaking I think it is achievable.  </p>
<p>As far as Wikis&#8230; well, textarea is the stupidest text editor ever made, and when producing serious documentation I consider it unacceptable.  The whole environment is uncomfortable.  And I don&#8217;t see Wikis producing good documentation.  A few core people generally produce good documentation &#8212; sometimes in spite of a crappy Wiki editing interface, but not because of it &#8212; and external people add recipes and suggestions that provide important feedback.  But you don&#8217;t need a Wiki to get feedback and comments.</p>
<p>I think a Subversion-based system, with a easy-to-run and easy-to write documentation testing system (maybe based on doctest, but maybe not) is the most important.  Then a web browser of that documentation that allows comments and annotation &#8212; maybe just limited commenting on the (fairly copious) anchors that reST inserts automatically.  Those comments could go in a companion file, maybe with a tool to merge them when you want to integrate comments into the documentation.  Or maybe the comments could go into the document directly, especially if you can ignore them when testing (since there&#8217;s a security risk to testing documentation from a potentially anonymous source).  I&#8217;m not sure what support reST can really provide for that kind of annotation; maybe a custom directive.  But anyway, that&#8217;s my opinion on the matter.  That&#8217;s a tool I&#8217;d like both as a user and as a developer/documentor.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.374 seconds -->
