﻿<?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 Agile Toolkit Blog</title>
	<atom:link href="http://agiletoolkit.org/blog/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://agiletoolkit.org/blog</link>
	<description>library updates, tips, information and more</description>
	<lastBuildDate>Wed, 18 Jan 2012 10:29:30 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
	<item>
		<title>Comment on Agile Toolkit to join Wikipedia in 24-hour Blackout against SOPA. by Clemente Carlucci</title>
		<link>http://agiletoolkit.org/blog/agile-toolkit-to-join-wikipedia-in-24-hour-blackout-against-sopa/#comment-3989</link>
		<dc:creator>Clemente Carlucci</dc:creator>
		<pubDate>Wed, 18 Jan 2012 10:29:30 +0000</pubDate>
		<guid isPermaLink="false">http://agiletoolkit.org/blog/?p=889#comment-3989</guid>
		<description>Freedom!</description>
		<content:encoded><![CDATA[<p>Freedom!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on New Example code browser / inspector by Romans</title>
		<link>http://agiletoolkit.org/blog/new-example-code-browser-inspector/#comment-3985</link>
		<dc:creator>Romans</dc:creator>
		<pubDate>Wed, 04 Jan 2012 18:16:22 +0000</pubDate>
		<guid isPermaLink="false">http://agiletoolkit.org/blog/?p=851#comment-3985</guid>
		<description>That should be as simple as dropping Inspector.php into your /lib/ folder and adding:


        $toolbox=$this-&gt;add(&#039;Inspector&#039;,null,&#039;Toolbox&#039;);

If there are any issues, let me know.</description>
		<content:encoded><![CDATA[<p>That should be as simple as dropping Inspector.php into your /lib/ folder and adding:</p>
<p>        $toolbox=$this->add(&#8216;Inspector&#8217;,null,&#8217;Toolbox&#8217;);</p>
<p>If there are any issues, let me know.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on New Example code browser / inspector by Papa_Gateau</title>
		<link>http://agiletoolkit.org/blog/new-example-code-browser-inspector/#comment-3984</link>
		<dc:creator>Papa_Gateau</dc:creator>
		<pubDate>Wed, 04 Jan 2012 17:50:26 +0000</pubDate>
		<guid isPermaLink="false">http://agiletoolkit.org/blog/?p=851#comment-3984</guid>
		<description>Hey Romans, in your comment you say we can use it in our own projects.  How would we do that.  How do we reference the inspector.php and SourceViewer.php in our projects.

Do we just add them into the addLocation array as if it were a addon?</description>
		<content:encoded><![CDATA[<p>Hey Romans, in your comment you say we can use it in our own projects.  How would we do that.  How do we reference the inspector.php and SourceViewer.php in our projects.</p>
<p>Do we just add them into the addLocation array as if it were a addon?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Symfony 2.0 vs Agile Toolkit 3.8 – part 5 – Architecture and beyond by Thor</title>
		<link>http://agiletoolkit.org/blog/symfony-2-0-vs-atk3-8-%e2%80%93-part-5-%e2%80%93-architecture-and-beyond/#comment-3983</link>
		<dc:creator>Thor</dc:creator>
		<pubDate>Wed, 04 Jan 2012 02:31:48 +0000</pubDate>
		<guid isPermaLink="false">http://atk4.wordpress.com/?p=114#comment-3983</guid>
		<description>Version control on database?! Wow, that&#039;s a heavensend.  Most other frameworks take the &quot;you should have a thoroughly designed database structure before you begin your project&quot; approach -- which is fine for enterprise software, but so antithetical to the agile approach where you have a minimally viable site for launch that continues to grow and develop based on real-life feedback.</description>
		<content:encoded><![CDATA[<p>Version control on database?! Wow, that&#8217;s a heavensend.  Most other frameworks take the &#8220;you should have a thoroughly designed database structure before you begin your project&#8221; approach &#8212; which is fine for enterprise software, but so antithetical to the agile approach where you have a minimally viable site for launch that continues to grow and develop based on real-life feedback.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Comparison of Propel, Doctrine and Agile Toolkit ORM by Romans</title>
		<link>http://agiletoolkit.org/blog/comparison-of-propel-doctrine-and-agile-toolkit/#comment-3980</link>
		<dc:creator>Romans</dc:creator>
		<pubDate>Fri, 30 Dec 2011 11:23:37 +0000</pubDate>
		<guid isPermaLink="false">http://agiletoolkit.org/blog/?p=614#comment-3980</guid>
		<description>this process is called normalization, in theory validation only performs a check and returns true/false. If you are using beforeUpdate then you can manipulate the data. Those are interesting points. It&#039;s an interesting conversation, please re-post it here: http://groups.google.com/group/agile-toolkit-devel</description>
		<content:encoded><![CDATA[<p>this process is called normalization, in theory validation only performs a check and returns true/false. If you are using beforeUpdate then you can manipulate the data. Those are interesting points. It&#8217;s an interesting conversation, please re-post it here: <a href="http://groups.google.com/group/agile-toolkit-devel" rel="nofollow">http://groups.google.com/group/agile-toolkit-devel</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Comparison of Propel, Doctrine and Agile Toolkit ORM by OpenTechnologist</title>
		<link>http://agiletoolkit.org/blog/comparison-of-propel-doctrine-and-agile-toolkit/#comment-3979</link>
		<dc:creator>OpenTechnologist</dc:creator>
		<pubDate>Fri, 30 Dec 2011 05:04:11 +0000</pubDate>
		<guid isPermaLink="false">http://agiletoolkit.org/blog/?p=614#comment-3979</guid>
		<description>i&#039;m not sure though if the function receiving the field data can directly manipulate and effect changes back to the field data. i haven&#039;t gone far testing this. my first assumption was to use:

function validate(&amp;$data, &amp;$mvcform) {
	:
	$data=$correct_data;
	:
}

but haven&#039;t tried it yet. or, another solution would be to use the &quot;&amp;&quot; symbol:

function validate(&amp;$data, &amp;$mvcform) {
	:
	$mvcform-&gt;fields[$fieldname] = $correct_data;
	:
}

although, the problem on this 2nd approach is to determine the current field&#039;s name.

in any case, since validate only receives field data only without the field name, we cannot have a &quot;generic&quot; validate function to be used for all fields.

it would be nice if we can see this changed in future versions like:

function validate(&amp;$data) {
	:
	if(is_object($data))
		if($data-&gt;name==&#039;dateofbirth&#039;) {
			:
			$data-&gt;data==reformatdate(&#039;yyyy-mm-dd&#039;,$data-&gt;data);
			:
		}
	:
}

to preserve old usage, we can check if $data is of type object.

what do you think? :)</description>
		<content:encoded><![CDATA[<p>i&#8217;m not sure though if the function receiving the field data can directly manipulate and effect changes back to the field data. i haven&#8217;t gone far testing this. my first assumption was to use:</p>
<p>function validate(&amp;$data, &amp;$mvcform) {<br />
	:<br />
	$data=$correct_data;<br />
	:<br />
}</p>
<p>but haven&#8217;t tried it yet. or, another solution would be to use the &#8220;&amp;&#8221; symbol:</p>
<p>function validate(&amp;$data, &amp;$mvcform) {<br />
	:<br />
	$mvcform-&gt;fields[$fieldname] = $correct_data;<br />
	:<br />
}</p>
<p>although, the problem on this 2nd approach is to determine the current field&#8217;s name.</p>
<p>in any case, since validate only receives field data only without the field name, we cannot have a &#8220;generic&#8221; validate function to be used for all fields.</p>
<p>it would be nice if we can see this changed in future versions like:</p>
<p>function validate(&amp;$data) {<br />
	:<br />
	if(is_object($data))<br />
		if($data-&gt;name==&#8217;dateofbirth&#8217;) {<br />
			:<br />
			$data-&gt;data==reformatdate(&#8216;yyyy-mm-dd&#8217;,$data-&gt;data);<br />
			:<br />
		}<br />
	:<br />
}</p>
<p>to preserve old usage, we can check if $data is of type object.</p>
<p>what do you think? <img src='http://agiletoolkit.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Comparison of Propel, Doctrine and Agile Toolkit ORM by Romans</title>
		<link>http://agiletoolkit.org/blog/comparison-of-propel-doctrine-and-agile-toolkit/#comment-3978</link>
		<dc:creator>Romans</dc:creator>
		<pubDate>Thu, 29 Dec 2011 16:04:17 +0000</pubDate>
		<guid isPermaLink="false">http://agiletoolkit.org/blog/?p=614#comment-3978</guid>
		<description>Wow, nice :)</description>
		<content:encoded><![CDATA[<p>Wow, nice <img src='http://agiletoolkit.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Comparison of Propel, Doctrine and Agile Toolkit ORM by OpenTechnologist</title>
		<link>http://agiletoolkit.org/blog/comparison-of-propel-doctrine-and-agile-toolkit/#comment-3977</link>
		<dc:creator>OpenTechnologist</dc:creator>
		<pubDate>Thu, 29 Dec 2011 14:23:38 +0000</pubDate>
		<guid isPermaLink="false">http://agiletoolkit.org/blog/?p=614#comment-3977</guid>
		<description>under the &quot;Validation&quot; section, which reads:

&quot;Agile Toolkit allows to add validation on per-field basis using validate($callable). Callable receives row data as an argument and can make a simple decision by returning true or false.&quot;

Correction:

the $callable receives two parameters: the 1st parameter is a single piece of data (not a whole row) which the field is currently holding. while the 2nd parameter is an object of the form: $this-&gt;owner (which in general resolves to an MVCForm class).

There are three ways on how to use validate and declare a corresponding function:

(#1) as an anonymous function, only available on PHP5.3:

-&gt;validate(function validate($data){ /* more code here */ return !empty($data); } )

(#2) or, as a method inside the same model class:

-&gt;validate(array($this,&#039;validate&#039;))

(#3) or, as a regular function outside the model class but inside the same file as the model class:

-&gt;validate(&#039;validate&#039;)

as for the 2nd parameter which is the $this-&gt;owner object, it may be useful for the #3 approach where a regular function can have access to the object calling it.

SOURCE: Hacking the ATK4 Source Code</description>
		<content:encoded><![CDATA[<p>under the &#8220;Validation&#8221; section, which reads:</p>
<p>&#8220;Agile Toolkit allows to add validation on per-field basis using validate($callable). Callable receives row data as an argument and can make a simple decision by returning true or false.&#8221;</p>
<p>Correction:</p>
<p>the $callable receives two parameters: the 1st parameter is a single piece of data (not a whole row) which the field is currently holding. while the 2nd parameter is an object of the form: $this-&gt;owner (which in general resolves to an MVCForm class).</p>
<p>There are three ways on how to use validate and declare a corresponding function:</p>
<p>(#1) as an anonymous function, only available on PHP5.3:</p>
<p>-&gt;validate(function validate($data){ /* more code here */ return !empty($data); } )</p>
<p>(#2) or, as a method inside the same model class:</p>
<p>-&gt;validate(array($this,&#8217;validate&#8217;))</p>
<p>(#3) or, as a regular function outside the model class but inside the same file as the model class:</p>
<p>-&gt;validate(&#8216;validate&#8217;)</p>
<p>as for the 2nd parameter which is the $this-&gt;owner object, it may be useful for the #3 approach where a regular function can have access to the object calling it.</p>
<p>SOURCE: Hacking the ATK4 Source Code</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Grid Documentation by Romans</title>
		<link>http://agiletoolkit.org/blog/grids/#comment-3976</link>
		<dc:creator>Romans</dc:creator>
		<pubDate>Tue, 27 Dec 2011 13:37:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.atk4.com/?p=322#comment-3976</guid>
		<description>OT: JavaScript might need some adjustment for an up-dated HTML. Normally reloading the whole grid is sufficiently inexpensive and fast. The only problem is that screen is scrolling up because of content disappearance for a short moment.</description>
		<content:encoded><![CDATA[<p>OT: JavaScript might need some adjustment for an up-dated HTML. Normally reloading the whole grid is sufficiently inexpensive and fast. The only problem is that screen is scrolling up because of content disappearance for a short moment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Grid Documentation by OpenTechnologist</title>
		<link>http://agiletoolkit.org/blog/grids/#comment-3975</link>
		<dc:creator>OpenTechnologist</dc:creator>
		<pubDate>Mon, 26 Dec 2011 17:35:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.atk4.com/?p=322#comment-3975</guid>
		<description>in this code, the reloadRow(id) breaks the grid and columns
gets cluttered and repeated for each column:

   $grid-&gt;js(null,
      $grid-&gt;js(null,
         $grid-&gt;js()
          -&gt;univ()-&gt;successMessage(&quot;Payroll Period Successfully Generated..&quot;))
          -&gt;atk4_grid(&#039;reloadRow&#039;,$_GET[&#039;Generate&#039;]))
          -&gt;atk4_grid(&#039;highlightRow&#039;,$_GET[&#039;Generate&#039;])
   -&gt;execute();</description>
		<content:encoded><![CDATA[<p>in this code, the reloadRow(id) breaks the grid and columns<br />
gets cluttered and repeated for each column:</p>
<p>   $grid-&gt;js(null,<br />
      $grid-&gt;js(null,<br />
         $grid-&gt;js()<br />
          -&gt;univ()-&gt;successMessage(&#8220;Payroll Period Successfully Generated..&#8221;))<br />
          -&gt;atk4_grid(&#8216;reloadRow&#8217;,$_GET['Generate']))<br />
          -&gt;atk4_grid(&#8216;highlightRow&#8217;,$_GET['Generate'])<br />
   -&gt;execute();</p>
]]></content:encoded>
	</item>
</channel>
</rss>

