<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for David Mudrak&#039;s blog</title>
	<atom:link href="http://blog.mudrak.name/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mudrak.name</link>
	<description>Moodle, Mahara and beer fan</description>
	<lastBuildDate>Thu, 12 Jan 2012 19:40:17 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Comment on Contributed plugins versioning by Mike Churchward</title>
		<link>http://blog.mudrak.name/2012/01/contributed-plugins-versioning/comment-page-1/#comment-2458</link>
		<dc:creator>Mike Churchward</dc:creator>
		<pubDate>Thu, 12 Jan 2012 19:40:17 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mudrak.name/?p=419#comment-2458</guid>
		<description>David -

We are struggling with exactly the same issue, and pretty much concluded the exact same strategy.
The downside is having to maintain multiple branches of exactly the same code, where only the version.php file is different.
So, for example, the questionnaire plugin has MOODLE_20_STABLE, MOODLE_21_STABLE and MOODLE_22_STABLE, but there is no difference in functional code. In the Plugins database on moodle.org, I have to either add three downloads, or one for the three versions. If I go with one, then the &quot;requires&quot; part of the version file needs to be the oldest version of Moodle it supports.
But, I think we have concludes, as you have, that the extra maintenance of three identical versions is still worth it to avoid confusion.

mike</description>
		<content:encoded><![CDATA[<p>David -</p>
<p>We are struggling with exactly the same issue, and pretty much concluded the exact same strategy.<br />
The downside is having to maintain multiple branches of exactly the same code, where only the version.php file is different.<br />
So, for example, the questionnaire plugin has MOODLE_20_STABLE, MOODLE_21_STABLE and MOODLE_22_STABLE, but there is no difference in functional code. In the Plugins database on moodle.org, I have to either add three downloads, or one for the three versions. If I go with one, then the &#8220;requires&#8221; part of the version file needs to be the oldest version of Moodle it supports.<br />
But, I think we have concludes, as you have, that the extra maintenance of three identical versions is still worth it to avoid confusion.</p>
<p>mike</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Contributed plugins versioning by David</title>
		<link>http://blog.mudrak.name/2012/01/contributed-plugins-versioning/comment-page-1/#comment-2443</link>
		<dc:creator>David</dc:creator>
		<pubDate>Sun, 08 Jan 2012 19:27:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mudrak.name/?p=419#comment-2443</guid>
		<description>Thanks Edmund for your comment. Yes, I can see your point. However, I personally gave up on this level of granularity for my contributed plugins. While it is crucial to distinguish major/minor changes for things like some software&#039;s core libraries as there are dependencies on the provided API etc, my plugins are the leaves of the dependency tree. There are no other plugins relying on them. Even trying to maintain a &quot;stable&quot; and &quot;development&quot; branches for these small components used to look too much as an overkill to me. So I simply gave up and have a single sequence of the software updates. That is, the example version in the blog &quot;2.1.3&quot; can be read as &quot;2.1-3&quot; in the Drupal speech. Given that I reserve the right to append new features on older branches, sure.

I agree that is suboptimal and other contributors might prefer more robust solutions. Thanks for your example provided.</description>
		<content:encoded><![CDATA[<p>Thanks Edmund for your comment. Yes, I can see your point. However, I personally gave up on this level of granularity for my contributed plugins. While it is crucial to distinguish major/minor changes for things like some software&#8217;s core libraries as there are dependencies on the provided API etc, my plugins are the leaves of the dependency tree. There are no other plugins relying on them. Even trying to maintain a &#8220;stable&#8221; and &#8220;development&#8221; branches for these small components used to look too much as an overkill to me. So I simply gave up and have a single sequence of the software updates. That is, the example version in the blog &#8220;2.1.3&#8243; can be read as &#8220;2.1-3&#8243; in the Drupal speech. Given that I reserve the right to append new features on older branches, sure.</p>
<p>I agree that is suboptimal and other contributors might prefer more robust solutions. Thanks for your example provided.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Contributed plugins versioning by Edmund Edgar</title>
		<link>http://blog.mudrak.name/2012/01/contributed-plugins-versioning/comment-page-1/#comment-2441</link>
		<dc:creator>Edmund Edgar</dc:creator>
		<pubDate>Sat, 07 Jan 2012 04:06:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mudrak.name/?p=419#comment-2441</guid>
		<description>This looks good if:
1) You only release new features every 6 months, in line with the new Moodle releases.
2) When you release a new feature, you don&#039;t want to make it available for older versions of Moodle, even if it would run on them perfectly well.

If those things don&#039;t hold, something odd is going to happen. The fundamental problem is that since you&#039;ve given up the major version version slots to the Moodle numbering, you&#039;re only left with a point release to show what features you&#039;ve got. 


For example:

I&#039;ve made my first release for Moodle 2.0.
mymodule 2.0.0

Bug fix:
mymodle 2.0.1

I make a new feature for my module. What do I call it? Calling it:
mymodule 2.0.2
...would violate the Principle of Least Astonishment, because the normal convention is that a new feature produces a new minor version number, and risk an admin upgrading expecting security and bug fixes, and ending up confusing users with functionality changes.
But I can&#039;t do:
mymodule 2.1.0
...because Moodle 2.1 isn&#039;t out yet.

So I&#039;m going to have to wait to release my software because I don&#039;t have a way to number it, which is a bit mad. But say I do. I wait 6 months and Moodle 2.1 comes out.
mymodule 2.1.0. 
Huzzah. I can release the functionality somebody contributed 5 months ago.
But people who only want to upgrade my module without upgrading their whole Moodle are going to be SOL. And there are probably quite a few people like that, because they&#039;re waiting for some other module they rely on to get upgraded too.

I suppose I could ignore the normal convention and put new functionality into the point release.
2.0.2

Then Moodle 2.1 comes out and I do:
2.1.0

But 2.0.2 and 2.1.0 are the same thing. WTF? And it gets worse every 6 months - in 3 years I&#039;ll have 6 different version numbers, all pointing at the same thing.


I think the right thing to do here is to look at a system that&#039;s managed to make a really modular system work properly and copy them. The obvious one is Drupal, who do things like this:
6.x-3.10

6 tells you that it works on major version 6 of Drupal. 
x tells you that it works on any minor version of Drupal. If it only worked on Drupal 6.2, it would be called 6.2-3.10.
3 is the major version of the module, which tells you about functionality changes.
10 is the point release of the module, which is separate from the major version so you can be confident that you can upgrade to get bug fixes and security patches without shocking your users.</description>
		<content:encoded><![CDATA[<p>This looks good if:<br />
1) You only release new features every 6 months, in line with the new Moodle releases.<br />
2) When you release a new feature, you don&#8217;t want to make it available for older versions of Moodle, even if it would run on them perfectly well.</p>
<p>If those things don&#8217;t hold, something odd is going to happen. The fundamental problem is that since you&#8217;ve given up the major version version slots to the Moodle numbering, you&#8217;re only left with a point release to show what features you&#8217;ve got. </p>
<p>For example:</p>
<p>I&#8217;ve made my first release for Moodle 2.0.<br />
mymodule 2.0.0</p>
<p>Bug fix:<br />
mymodle 2.0.1</p>
<p>I make a new feature for my module. What do I call it? Calling it:<br />
mymodule 2.0.2<br />
&#8230;would violate the Principle of Least Astonishment, because the normal convention is that a new feature produces a new minor version number, and risk an admin upgrading expecting security and bug fixes, and ending up confusing users with functionality changes.<br />
But I can&#8217;t do:<br />
mymodule 2.1.0<br />
&#8230;because Moodle 2.1 isn&#8217;t out yet.</p>
<p>So I&#8217;m going to have to wait to release my software because I don&#8217;t have a way to number it, which is a bit mad. But say I do. I wait 6 months and Moodle 2.1 comes out.<br />
mymodule 2.1.0.<br />
Huzzah. I can release the functionality somebody contributed 5 months ago.<br />
But people who only want to upgrade my module without upgrading their whole Moodle are going to be SOL. And there are probably quite a few people like that, because they&#8217;re waiting for some other module they rely on to get upgraded too.</p>
<p>I suppose I could ignore the normal convention and put new functionality into the point release.<br />
2.0.2</p>
<p>Then Moodle 2.1 comes out and I do:<br />
2.1.0</p>
<p>But 2.0.2 and 2.1.0 are the same thing. WTF? And it gets worse every 6 months &#8211; in 3 years I&#8217;ll have 6 different version numbers, all pointing at the same thing.</p>
<p>I think the right thing to do here is to look at a system that&#8217;s managed to make a really modular system work properly and copy them. The obvious one is Drupal, who do things like this:<br />
6.x-3.10</p>
<p>6 tells you that it works on major version 6 of Drupal.<br />
x tells you that it works on any minor version of Drupal. If it only worked on Drupal 6.2, it would be called 6.2-3.10.<br />
3 is the major version of the module, which tells you about functionality changes.<br />
10 is the point release of the module, which is separate from the major version so you can be confident that you can upgrade to get bug fixes and security patches without shocking your users.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Advanced grading methods in Moodle 2.2 by Ray</title>
		<link>http://blog.mudrak.name/2011/11/advanced-grading-methods-in-moodle-2-2/comment-page-1/#comment-2223</link>
		<dc:creator>Ray</dc:creator>
		<pubDate>Mon, 14 Nov 2011 23:51:09 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mudrak.name/?p=415#comment-2223</guid>
		<description>Nice work all. And of course, the supplementary question.... :) When do you expect the next plugins to land?</description>
		<content:encoded><![CDATA[<p>Nice work all. And of course, the supplementary question&#8230;. <img src='http://blog.mudrak.name/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  When do you expect the next plugins to land?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Advanced grading methods in Moodle 2.2 by Eloy Lafuente (stronk7)</title>
		<link>http://blog.mudrak.name/2011/11/advanced-grading-methods-in-moodle-2-2/comment-page-1/#comment-2222</link>
		<dc:creator>Eloy Lafuente (stronk7)</dc:creator>
		<pubDate>Mon, 14 Nov 2011 16:03:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mudrak.name/?p=415#comment-2222</guid>
		<description>Congrats Team! Great work all!

PS: let&#039;s schedule one chat to discuss about backup and restore 2.x, grr, lol.</description>
		<content:encoded><![CDATA[<p>Congrats Team! Great work all!</p>
<p>PS: let&#8217;s schedule one chat to discuss about backup and restore 2.x, grr, lol.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Moodle development traffic 7/2011 by dwebber</title>
		<link>http://blog.mudrak.name/2011/02/moodle-development-traffic-72011/comment-page-1/#comment-2220</link>
		<dc:creator>dwebber</dc:creator>
		<pubDate>Thu, 20 Oct 2011 21:22:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mudrak.name/?p=402#comment-2220</guid>
		<description>can people respond to others&#039; blogs on moodle yet?

so far, in the interface, i don&#039;t see where a person would be able to do that.</description>
		<content:encoded><![CDATA[<p>can people respond to others&#8217; blogs on moodle yet?</p>
<p>so far, in the interface, i don&#8217;t see where a person would be able to do that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Moodle development traffic 7/2011 by mudrd8mz</title>
		<link>http://blog.mudrak.name/2011/02/moodle-development-traffic-72011/comment-page-1/#comment-2129</link>
		<dc:creator>mudrd8mz</dc:creator>
		<pubDate>Fri, 18 Feb 2011 22:18:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mudrak.name/?p=402#comment-2129</guid>
		<description>[New Post] Moodle development traffic 7/2011 - via #twitoaster http://blog.mudrak.name/2011/02/moodle-d...</description>
		<content:encoded><![CDATA[<p>[New Post] Moodle development traffic 7/2011 &#8211; via #twitoaster <a href="http://blog.mudrak.name/2011/02/moodle-d.." rel="nofollow">http://blog.mudrak.name/2011/02/moodle-d..</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Moodle development traffic 5/2011 by David</title>
		<link>http://blog.mudrak.name/2011/02/moodle-development-traffic-52011/comment-page-1/#comment-2127</link>
		<dc:creator>David</dc:creator>
		<pubDate>Fri, 18 Feb 2011 20:21:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mudrak.name/?p=384#comment-2127</guid>
		<description>Esteve - there is still an issue though mentioned in my post. You can&#039;t have nested block elements within this span (see http://www.w3.org/TR/REC-html40/struct/global.html#block-inline). Also, you can&#039;t start your CONTENT block in the middle of paragraph and end in the middle of the next paragraph.</description>
		<content:encoded><![CDATA[<p>Esteve &#8211; there is still an issue though mentioned in my post. You can&#8217;t have nested block elements within this span (see <a href="http://www.w3.org/TR/REC-html40/struct/global.html#block-inline" rel="nofollow">http://www.w3.org/TR/REC-html40/struct/global.html#block-inline</a>). Also, you can&#8217;t start your CONTENT block in the middle of paragraph and end in the middle of the next paragraph.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Moodle development traffic 5/2011 by Esteve</title>
		<link>http://blog.mudrak.name/2011/02/moodle-development-traffic-52011/comment-page-1/#comment-2062</link>
		<dc:creator>Esteve</dc:creator>
		<pubDate>Tue, 08 Feb 2011 12:23:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mudrak.name/?p=384#comment-2062</guid>
		<description>Hello again:
The preceeding post has a pair of encoding errors:
where says &quot;CONTENT&quot; it should say &quot;&lt;span class=&quot;nolink&quot;&amp;gt&gt;CONTENT&lt;/span&amp;gt&quot;, 
and were says &quot;also the tag&quot; it should read &quot;also the &lt;nolink&gt; tag&quot;.

–

Esteve Badia
Maths for More – WIRIS</description>
		<content:encoded><![CDATA[<p>Hello again:<br />
The preceeding post has a pair of encoding errors:<br />
where says &#8220;CONTENT&#8221; it should say &#8220;&lt;span class=&#8221;nolink&#8221;&amp;gt&gt;CONTENT&lt;/span&amp;gt&#8221;,<br />
and were says &#8220;also the tag&#8221; it should read &#8220;also the &lt;nolink&gt; tag&#8221;.</p>
<p>–</p>
<p>Esteve Badia<br />
Maths for More – WIRIS</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Moodle development traffic 5/2011 by Esteve</title>
		<link>http://blog.mudrak.name/2011/02/moodle-development-traffic-52011/comment-page-1/#comment-2061</link>
		<dc:creator>Esteve</dc:creator>
		<pubDate>Tue, 08 Feb 2011 12:16:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mudrak.name/?p=384#comment-2061</guid>
		<description>Hello David,
We were working about this &quot;nolink&quot; issue several months ago. We made a simple algorithm that works with the syntax CONTENT, and supports nested tags, malformed html, and also the  tag. It doesn&#039;t parse the HTML. It uses only search &amp; replace so it has linear time cost and constant memory cost. 

The patch is published at http://tracker.moodle.org/browse/MDL-21721, the track still being oppened.

Best Regards,

--

Esteve Badia
Maths for More - WIRIS</description>
		<content:encoded><![CDATA[<p>Hello David,<br />
We were working about this &#8220;nolink&#8221; issue several months ago. We made a simple algorithm that works with the syntax CONTENT, and supports nested tags, malformed html, and also the  tag. It doesn&#8217;t parse the HTML. It uses only search &amp; replace so it has linear time cost and constant memory cost. </p>
<p>The patch is published at <a href="http://tracker.moodle.org/browse/MDL-21721" rel="nofollow">http://tracker.moodle.org/browse/MDL-21721</a>, the track still being oppened.</p>
<p>Best Regards,</p>
<p>&#8211;</p>
<p>Esteve Badia<br />
Maths for More &#8211; WIRIS</p>
]]></content:encoded>
	</item>
</channel>
</rss>

