<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>mFabrik - mobile sites, apps, HTML5 and CMS software development &#187; documentation</title>
	<atom:link href="http://blog.mfabrik.com/tag/documentation/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mfabrik.com</link>
	<description>Freedom delivered.</description>
	<lastBuildDate>Wed, 03 Aug 2011 09:47:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Sauna Sprint day 1: Sunday (technical &amp; motivational)</title>
		<link>http://blog.mfabrik.com/2011/07/25/sauna-sprint-day-1-sunday-technical-motivational/</link>
		<comments>http://blog.mfabrik.com/2011/07/25/sauna-sprint-day-1-sunday-technical-motivational/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 13:31:37 +0000</pubDate>
		<dc:creator>Mikko Ohtamaa</dc:creator>
				<category><![CDATA[plone]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[buildout]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[eestec]]></category>
		<category><![CDATA[sauna sprint]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[unified installer]]></category>

		<guid isPermaLink="false">http://blog.mfabrik.com/?p=1331</guid>
		<description><![CDATA[Now it has begun: Sauna Sprint 2011 &#8211; an open source event in Finland for Plone &#38; Python hackers and EESTEC students. The first day of Sauna Sprint was spent introducing new EESTEC people to Plone. Almost everyone got Ubuntu installed, there was a short crash course for IRC and then we started installing Plone. [...]]]></description>
			<content:encoded><![CDATA[<p>Now it has begun: Sauna Sprint 2011 &#8211; an open source event in Finland for Plone &amp; Python hackers and EESTEC students.</p>
<p>The first day of Sauna Sprint was spent introducing new EESTEC people to Plone. Almost everyone got Ubuntu installed, there was a short crash course for IRC and then we started installing Plone.</p>
<p>We had a bunch of EESTEC students as a test subject and our goal was to map obstacles in the process of installing Plone for local computer for development. We got some interesting results.</p>
<p><a href="http://blog.mfabrik.com/wp-content/uploads/2011/07/2011-07-25.jpg"><img class="alignnone size-full wp-image-1335" title="SAMSUNG" src="http://blog.mfabrik.com/wp-content/uploads/2011/07/2011-07-25.jpg" alt="" width="800" height="480" /></a></p>
<p>The data was collected on whiteboard where everyone was free to express any problem he or she had during the installation. The advisors also monitored the user group for possible problems and made notes.</p>
<p><a href="http://blog.mfabrik.com/wp-content/uploads/2011/07/2011-07-24-14.29.28.jpg"><img class="alignnone size-full wp-image-1332" title="SAMSUNG" src="http://blog.mfabrik.com/wp-content/uploads/2011/07/2011-07-24-14.29.28.jpg" alt="" width="800" height="480" /></a></p>
<p style="text-align: center;"><em>Aperture Science test subjects installing Plone in hope they’ll get a cake if they success </em></p>
<p style="text-align: center;"><em><a href="http://blog.mfabrik.com/wp-content/uploads/2011/07/2011-07-24-14.12.49.jpg"><img class="alignnone size-full wp-image-1333" title="SAMSUNG" src="http://blog.mfabrik.com/wp-content/uploads/2011/07/2011-07-24-14.12.49.jpg" alt="" width="800" height="480" /></a><br />
</em></p>
<p style="text-align: center;"><em>Good job, but the cake was a lie.</em></p>
<h2>Plone is #%!!”€&amp;! difficult, but we can fix it</h2>
<p>The comments below are collected from the whiteboard.</p>
<p>Don’t make assumptions in the documentation &#8211; people are tabula rasa (i.e. how to use cd command and so on)</p>
<p>Documentation needed to install gcc, PIL dependencies etc. on OS level</p>
<p>No good instructions how to set-up Python with virtualenv (was being fixed in the sprint). Buildout actually does not work with the system Python out of the box: you need to break your OS http://stackoverflow.com/questions/5818100/buildout-tries-to-update-system-wide-distribute-installation-and-refuses-to-run</p>
<p>People try to run buildout by “cd bin ; ./buildout” &#8211; it does not work and the error message is confusing</p>
<p>Unified Installer &#8211; ZEO installation is broken (need clarification what was broken)</p>
<p>Detect Python version in buildout and don&#8217;t try to run on incompatible version</p>
<p>When creating first Plone site input field has label “Path identifier” &#8211; people try to enter Plone FS path there</p>
<p>README.txt in Unified Installer needs updates</p>
<p>ZopeSkel template plone4_buildout should autodetect the latest Plone version (now was 4.0.1)</p>
<p>Update the out of the box Plone installation front page to contain more developer friendly instructions too</p>
<p>plone.org/downloads: Show add-on version compatibility as the first item on the page &#8211; if now compatibility set warn that the compatibility is unknown (same kind of warning if no updates for one year)</p>
<p>Have an easy way to report broken packages</p>
<p>Force a process to improve add-on documentation in p.org, especially regarding installation. Only 1/5 themes was successfully installed by the test personel without guidance, mostly due to lack of instructions and version incompatibilities.</p>
<p>Some <a href="http://piratepad.net/JgN6WR47eJ">work in progress on PiratePad</a> regarding the installation of Plone.</p>
<h2>Evening program</h2>
<p style="text-align: left;">We had Sauna time in Hervanta, student style. EESTEC lived up to their reputation as party animals.</p>
<p style="text-align: left;"><a href="http://blog.mfabrik.com/wp-content/uploads/2011/07/2011-07-24-22.02.11.jpg"><img class="alignnone size-full wp-image-1334" title="SAMSUNG" src="http://blog.mfabrik.com/wp-content/uploads/2011/07/2011-07-24-22.02.11.jpg" alt="" width="800" height="480" /></a></p>
<p style="text-align: center;"><em>Delicious pizza was baked, though the audience loudly disagree when the pizza was burnt enough to be eaten<br />
</em></p>
<p><a href="http://blog.mfabrik.com/wp-content/uploads/2011/07/2011-07-24-22.15.39.jpg"><img class="size-full wp-image-1337 aligncenter" title="SAMSUNG" src="http://blog.mfabrik.com/wp-content/uploads/2011/07/2011-07-24-22.15.39.jpg" alt="" width="480" height="800" /></a></p>
<p style="text-align: center;"><em>Magic Toni Sause</em></p>
<p>&nbsp;</p>
<p>&nbsp;
<p class="signature">
<a href="http://mfabrik.com/@@zoho-contact-form"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/mfabrik-24.png"></a> <a href="http://mfabrik.com/@@zoho-contact-form">Get developers</a> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml"><img valign="middle" src="http://www.feedburner.com/fb/images/pub/feed-icon16x16.png" alt="" style="vertical-align:middle;border:0"/></a> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml">Subscribe mFabrik blog in a reader</a> <a href="http://twitter.com/mfabrik"> <img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/twitter-24.png"></a> <a href="http://twitter.com/moo9000">Follow me on Twitter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mfabrik.com/2011/07/25/sauna-sprint-day-1-sunday-technical-motivational/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When Python sucks: how you call a function and document it</title>
		<link>http://blog.mfabrik.com/2011/03/29/when-python-sucks-how-you-call-a-function-and-document-it/</link>
		<comments>http://blog.mfabrik.com/2011/03/29/when-python-sucks-how-you-call-a-function-and-document-it/#comments</comments>
		<pubDate>Tue, 29 Mar 2011 09:11:38 +0000</pubDate>
		<dc:creator>Mikko Ohtamaa</dc:creator>
				<category><![CDATA[plone]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[epytext]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zope]]></category>

		<guid isPermaLink="false">http://blog.mfabrik.com/?p=1175</guid>
		<description><![CDATA[Though maybe written tongue-in-cheek, this Python Makes Me Nervous article has some excellent points. Because of duck-typing, you should rigorously document how methods should be called (try epytext and its fields). Most open source Python projects do the exact opposite Even Python standard library is poorly documented and sets a very bad example (missing manual [...]]]></description>
			<content:encoded><![CDATA[<p>Though maybe written tongue-in-cheek, this <a href="http://teddziuba.com/2008/12/python-makes-me-nervous.html">Python Makes Me Nervous article</a> has some excellent points.</p>
<ul>
<li>Because of duck-typing, you should rigorously document how methods should be called (try <a href="http://epydoc.sourceforge.net/epytext.html">epytext</a> and its fields).</li>
<li>Most open source Python projects do the exact opposite</li>
<li>Even Python standard library is poorly documented and sets a very bad example (<a href="http://www.voidspace.org.uk/python/articles/urllib2.shtml">missing manual</a> ???)</li>
<li>Thus, programming in Python becomes nightmare of grepping through source code (the implementation) or stepping into it in pdb just to figure out how APIs should work (<a href="http://collective-docs.plone.org/security/permission_lists.html#listing-different-available-permissions">Plone/Zope,</a> anyone?)</li>
</ul>
<p>Should Python community stop in some point to focus on delivering better documentation instead of focusing on new features and goodies (like the syntax moratorium which was recently lifted)?</p>
<p>﻿﻿From my personal experience</p>
<ul>
<li>The best, and the only, person to document the code adequately is the person how originally wrote it</li>
<li>Because the author already knows how to use the code he doesn&#8217;t need to care about the fact how to enable the code for other users.  Many libraries and projects are driven by &#8220;scratching your own need&#8221; mentality, not by &#8220;let&#8217;s make this a happy community&#8221; mentality. The exception is something like Facebook or Google whose sole purpose is to attract new users their platform bringing in new €€€.</li>
<li>If you are developing a framework or community project make the documentation a requirement for deliverable and stick with it. If you let one person to skip one hour of writing documentation you are making 10 persons spending one hour figuring out how to use the damn thing.</li>
<li>Doctests are not documentation. They are tests. They are extremely unreadable way to say &#8220;how I should use this thing&#8221;, because doctests are often executed in the context of test stubs which do not reflect connections to the other parts of the framework or real contexts.</li>
<li>&#8220;Buy a book &#8211; it tells you everything&#8221; business model is not feasible in long run. Books get old. Books are not searchable. People don&#8217;t buy books.</li>
</ul>
<p>The good documentation is a way to differentiate, and win, in the situation where there are competing frameworks. I believe the success of Django was mostly driven by its good documentation.</p>
<p>This points could be applied to other duck-typed, open source driven programming languages (PHP anyone?). With good documentation we can reduce the need of Valium recipes for everyone of us.</p>
<p>&nbsp;
<p class="signature">
<a href="http://mfabrik.com/@@zoho-contact-form"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/mfabrik-24.png"></a> <a href="http://mfabrik.com/@@zoho-contact-form">Get developers</a> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml"><img valign="middle" src="http://www.feedburner.com/fb/images/pub/feed-icon16x16.png" alt="" style="vertical-align:middle;border:0"/></a> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml">Subscribe mFabrik blog in a reader</a> <a href="http://twitter.com/mfabrik"> <img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/twitter-24.png"></a> <a href="http://twitter.com/moo9000">Follow me on Twitter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mfabrik.com/2011/03/29/when-python-sucks-how-you-call-a-function-and-document-it/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Vote Mr. Moo for Ploneconf2010 speaker and see how get free beers</title>
		<link>http://blog.mfabrik.com/2010/09/15/vote-mr-moo-for-ploneconf2010-speaker-and-see-how-get-free-beers/</link>
		<comments>http://blog.mfabrik.com/2010/09/15/vote-mr-moo-for-ploneconf2010-speaker-and-see-how-get-free-beers/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 17:14:32 +0000</pubDate>
		<dc:creator>Mikko Ohtamaa</dc:creator>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[ploneconf2010]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://blog.mfabrik.com/?p=816</guid>
		<description><![CDATA[I am running for a speaker seat in Plone Conference 2010. As a strategy to gain this glamored position I have submitted several topics which might interest you. Vote here. ﻿Backpacking with Plone: how our team has redefined North Lapland travel industry with Plone sites. I promise to bring a genuine Lapland snowball with me [...]]]></description>
			<content:encoded><![CDATA[<p>I am running for a speaker seat in Plone Conference 2010. As a strategy to gain this glamored position I have submitted several topics which might interest you.</p>
<p><a href="http://www.ploneconf2010.org/the-event/talks">Vote here</a>.</p>
<ul>
<li><strong>﻿Backpacking with Plone:</strong> how our team has redefined North Lapland travel industry with Plone sites. I promise to bring a genuine Lapland snowball with me and toss it to the first person asking a question.</li>
<li>﻿﻿<strong>Mad about mobile:</strong> How to turn your Plone web site to a mobile site in 15 minutes (* the actual time varies on the status of PyPi and buildouting speed). If you can&#8217;t afford iPhone 4 yet, I promise the site will be 100% functional on a 40$ budget phones also.</li>
<li>﻿<strong>Culture of good documentation:</strong> Plone is hated because newcomers cannot grasp how to customize it. I belive this is an attitude problem, not with the newcomers, but with module authors. <a href="http://plone.org/documentation/manual/plone-community-developer-documentation/">This manual is now 86k words</a>. If we can make it to go up to 100k words in the conference <strong>I&#8217;ll buy a beer everyone who participates the effort</strong>.</li>
<li><strong>The world outside Plone:</strong> Why there exist 13 600 000 Joomla! sites, but 20 000 Plone sites? Why single Joomla! freelancer-entrepreneur can make 250k€ a year alone? How we could make Plone more succesfully by learning what others are doing? Our team has some cross-system experience and we want to give you the best bits what others are doing right (and Plone might be doing wrong).</li>
</ul>
<p><a href="http://www.ploneconf2010.org/the-event/talks">Vote here in the case you missed the link above</a>.</p>
<p>Ps. If I am too boring I promise I will do only PHP/Joomla! jobs in the future, so vote me now or I will forever hold my peace :&lt;﻿</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">because Plone community has had problems with the attitude</div>
<p class="signature">
<a href="http://mfabrik.com/@@zoho-contact-form"><img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/mfabrik-24.png"></a> <a href="http://mfabrik.com/@@zoho-contact-form">Get developers</a> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml"><img valign="middle" src="http://www.feedburner.com/fb/images/pub/feed-icon16x16.png" alt="" style="vertical-align:middle;border:0"/></a> <a href="http://feeds.feedburner.com/mFabrikWebAndMobileDevelopment" rel="alternate" type="application/rss+xml">Subscribe mFabrik blog in a reader</a> <a href="http://twitter.com/mfabrik"> <img valign="middle"  src="http://blog.mfabrik.com/wp-content/uploads/twitter-24.png"></a> <a href="http://twitter.com/moo9000">Follow me on Twitter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mfabrik.com/2010/09/15/vote-mr-moo-for-ploneconf2010-speaker-and-see-how-get-free-beers/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Plone Developer Manual, take #0.1</title>
		<link>http://blog.mfabrik.com/2009/09/26/plone-developer-manual-take-0-1/</link>
		<comments>http://blog.mfabrik.com/2009/09/26/plone-developer-manual-take-0-1/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 22:53:44 +0000</pubDate>
		<dc:creator>Mikko Ohtamaa</dc:creator>
				<category><![CDATA[plone]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[comic]]></category>
		<category><![CDATA[contributing]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[englishismysecondlanguage]]></category>
		<category><![CDATA[happynow]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[itcontainshundredstyposiwantyoutofix]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[sphinx]]></category>

		<guid isPermaLink="false">http://blog.twinapex.fi/?p=273</guid>
		<description><![CDATA[The first public version of  Plone developer manual is available here. It is still very much draft, but I assure you will find it useful. You will find it even more useful after you put in the answers for your own problems. In my previous Plone developer documentation rant my flow of though was little [...]]]></description>
			<content:encoded><![CDATA[<p>The first public version of  <a href="http://plonemanual.twinapex.fi/index.html">Plone developer manual</a> <a href="http://plonemanual.twinapex.fi">is available here</a>.</p>
<p>It is still very much draft, but I assure you will find it useful. You will find it even more useful <a href="http://plonemanual.twinapex.fi/introduction/updating_this_document.html">after you put in the answers for your own problems</a>.</p>
<p>In my <a href="http://blog.twinapex.fi/2009/07/22/helping-people-and-writing-plone-developer-api-manual-killing-two-birds-with-one-stone/">previous Plone developer documentation rant</a> my flow of though was little abstract and I couldn&#8217;t clearly explain how I want the community to maintain this crucial piece of documentation.  This time I made a comic.</p>
<p><img class="alignnone" title="Plone Developer the comic" src="http://plonemanual.twinapex.fi/_images/comic.png" alt="" width="420" height="479" /></p>
<p>* <a href="http://plone.org/support">How to get support</a></p>
<p>** <a href="http://plonemanual.twinapex.fi/introduction/updating_this_document.html">How to update Plone Developer Manual</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mfabrik.com/2009/09/26/plone-developer-manual-take-0-1/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Helping people and writing Plone developer API manual &#8211; killing two birds with one stone</title>
		<link>http://blog.mfabrik.com/2009/07/22/helping-people-and-writing-plone-developer-api-manual-killing-two-birds-with-one-stone/</link>
		<comments>http://blog.mfabrik.com/2009/07/22/helping-people-and-writing-plone-developer-api-manual-killing-two-birds-with-one-stone/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 22:48:50 +0000</pubDate>
		<dc:creator>Mikko Ohtamaa</dc:creator>
				<category><![CDATA[plone]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[api reference]]></category>
		<category><![CDATA[collective]]></category>
		<category><![CDATA[developer manual]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[manual]]></category>

		<guid isPermaLink="false">http://blog.twinapex.fi/?p=219</guid>
		<description><![CDATA[Plone developer API documentation could be better. For this very reason, people ask questions regarding how to do a simple thing or two in Plone code. Asking questions is often the only way to fight through the monstrous codebase. Luckily these questions usually receive answers from the active community in product-developers@ list and IRC.  See [...]]]></description>
			<content:encoded><![CDATA[<p>Plone developer API documentation could be better. For this very reason, people ask questions regarding how to do a  simple thing or two in Plone code. Asking questions is often the only way to fight through the monstrous codebase. Luckily these questions usually receive answers from the active community in product-developers@ list and IRC.  See also <a href="http://n2.nabble.com/Developer-manual-stub-now-available-tp3168160p3168160.html">prior mailing list dicussion</a>.</p>
<p>However, asking the same questions again and again, or asking the question in the first place, is undesirable way to proceed. A proper way to fix the problem would be have a proper documentation voiding the need to ask the question in the first place.  Since documenting Plone API is a huge task, I propose the following to get things bootstrapped:</p>
<p>1. Wherever and whenever someone asks a question regarding Plone code development do not answer directly</p>
<p>2. Instead, write the example code snippet and commit it to <a href="https://svn.plone.org/svn/collective/collective.developermanual/trunk">https://svn.plone.org/svn/collective/collective.developermanual/trunk</a> (collective commit access needed)</p>
<p>3. Give the link to the SVN trunk file as an answer  This way we should slowly start building up a &#8220;developer reference&#8221; which covers the most common API use cases.</p>
<p>https://svn.plone.org/svn/collective/collective.developermanual/trunk is a mess. Do not care about this little detail. Just toss in your .txt files. The docteam and I will properly proof-read and structure it in the future. As soon as we code snippets keep flowing in I am happy!</p>
<h2>Example</h2>
<p>Here is how I helped some unlucky person struggling with DataGridFrield and created some documentation during the process.</p>
<p>Private email question:</p>
<p><em>I have been using your excellent <span>DataGridField</span> add-on on a projet, where as webmanager I add variable lists of information within an objet.  However now I would like to build a script that would insert new rows and content automatically : let&#8217;s say a User calls a specific objet &#8216;A&#8217; from time to time, I would like to have a <span>DataGridField</span> that will record incrementally these calls (with columns like &#8220;when&#8221;, &#8220;how long&#8221;, &#8220;what result&#8221;) each time they are made, without the User having to do anything.</em></p>
<p><em>I tried to find an answer in the code but I&#8217;m not fluent enough in Python yet to understand everything I read.  Could you tell me how I could build that script or where shall I look for clues ?</em></p>
<p>Private email answer:</p>
<div><em>I hope this helps &#8211; wrote it for you:</em></div>
<div><em><br />
</em></div>
<div><em><a href="https://svn.plone.org/svn/collective/collective.developermanual/trunk/fields_and_widgets/datagridfield.txt">https://svn.plone.org/svn/collective/collective.developermanual/trunk/fields_and_widgets/datagridfield.txt</a></em></div>
<p>Please also read some <a href="https://svn.plone.org/svn/collective/collective.developermanual/trunk/00_introduction/documentation_process.txt">guidelines I tried to come up for documentation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mfabrik.com/2009/07/22/helping-people-and-writing-plone-developer-api-manual-killing-two-birds-with-one-stone/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How do you prefer your documentation?</title>
		<link>http://blog.mfabrik.com/2008/11/22/how-do-you-prefer-your-documentation/</link>
		<comments>http://blog.mfabrik.com/2008/11/22/how-do-you-prefer-your-documentation/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 13:19:43 +0000</pubDate>
		<dc:creator>Mikko Ohtamaa</dc:creator>
				<category><![CDATA[Plone (old)]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[discussion]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[manual]]></category>
		<category><![CDATA[reference]]></category>
		<category><![CDATA[sphinx]]></category>

		<guid isPermaLink="false">http://blog.redinnovation.com/?p=148</guid>
		<description><![CDATA[Lately there have been three long email chains related to Plone development documentation here, here and here (total ~100 messages). This little post tries to summarize the current discussion. I think the dicussion is mostly fueled by third party developers&#8217; frustration with the current development documentation situation. Developing for Plone is difficult, since finding references, [...]]]></description>
			<content:encoded><![CDATA[<p>Lately there have been three long email chains related to Plone development documentation <a href="http://n2.nabble.com/Plone.org-documentation-process-considered-harmful-td1483044.html">here</a>, <a href="http://n2.nabble.com/Plone.org-documentation%3A-first-do-no-harm-td1490526.html">here</a> and <a href="http://n2.nabble.com/Re%3A-If-core-code-is-undocumented-it%27s-broken-%28Was%3A-where-should-developer-documentation-go-%29-td1511898.html">here</a> (total ~100 messages). This little post tries to summarize the current discussion.</p>
<p>I think the dicussion is mostly fueled by third party developers&#8217; frustration with the current development documentation situation. Developing for Plone is difficult, since finding references, how tos and examples for those little things you need is very hard. This is a <a href="http://n2.nabble.com/Re%3A-If-core-code-is-undocumented-it%27s-broken-%28Was%3A-where-should-developer-documentation-go-%29-tp1511898p1564744.html">turn off</a> for many developers who would otherwise use this great system &#8211; high developer learning curve and gaps in the documentation makes the system useless.</p>
<p>Points everyone agree are</p>
<ul>
<li>Plone development documentation is not good</li>
<li>Sphinx is good for API documentation &#8211; already happening</li>
<li><a href="http://n2.nabble.com/user/UserNodes.jtp?user=19441">Contributors are needed</a></li>
</ul>
<p>Points discussed are</p>
<ul>
<li>Should developer documentation be more open ended (Wiki-like). This covers
<ul>
<li>Developer manual</li>
<li>How tos and other misc. references</li>
<li>API documentation</li>
</ul>
</li>
<li>Mostly, it is <strong>not</strong> about generic end user, admin or system integrator or getting started documentation (<a href="http://n2.nabble.com/Re%3A-If-core-code-is-undocumented-it%27s-broken-%28Was%3A-where-should-developer-documentation-go-%29-tp1511898p1516197.html">here</a>, <a href="http://n2.nabble.com/Plone.org-documentation-process-considered-harmful-tp1483044p1484381.html">here</a>)</li>
</ul>
<p>Pro wiki-like documentation stances</p>
<ul>
<li>It should be more open ended (<a href="http://n2.nabble.com/Re%3A-If-core-code-is-undocumented-it%27s-broken-%28Was%3A-where-should-developer-documentation-go-%29-tp1511898p1564610.html">here</a>, <a href="http://n2.nabble.com/Plone.org-documentation-process-considered-harmful-tp1483044p1485470.html">here</a>, <a href="http://n2.nabble.com/Plone.org-documentation-process-considered-harmful-tp1483044p1484381.html">here</a>)</li>
<li>It&#8217;s better to have something messy instead of nothing at all &#8211; the current approval process discourages contribution (<a href="http://plone.org/support/forums/docs">here</a>)</li>
</ul>
<p>Con wiki stances</p>
<ul>
<li>It should not be open ended, since this results to messy documentation (<a href="http://n2.nabble.com/Re%3A-If-core-code-is-undocumented-it%27s-broken-%28Was%3A-where-should-developer-documentation-go-%29-tp1511898p1564102.html">here</a>, <a href="http://n2.nabble.com/Plone.org-documentation-process-considered-harmful-tp1483044p1488603.html">here</a>)</li>
<li>There should be less plone.org documents (<a href="http://n2.nabble.com/Plone.org-documentation-process-considered-harmful-tp1483044p1483985.html">here</a>)</li>
<li>Wikis are bad (<a href="http://n2.nabble.com/Plone.org-documentation%3A-first-do-no-harm-tp1490526p1491276.html">here</a>)</li>
<li>Incomplete wikis are discouraging (<a href="http://n2.nabble.com/Re%3A-If-core-code-is-undocumented-it%27s-broken-%28Was%3A-where-should-developer-documentation-go-%29-tp1511898p1564102.html">here</a>)</li>
</ul>
<p>Let&#8217;s wait and see where this goes.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mfabrik.com/2008/11/22/how-do-you-prefer-your-documentation/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

