<?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 on: Smart resources, or why you should care about HTTP PATCH</title>
	<atom:link href="http://blog.technologyofcontent.com/2009/12/smart-resources-or-why-you-should-care-about-http-patch/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.technologyofcontent.com/2009/12/smart-resources-or-why-you-should-care-about-http-patch/</link>
	<description>Ramblings on the technology of content management</description>
	<lastBuildDate>Tue, 07 Sep 2010 23:49:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: resource controller - StartTags.com</title>
		<link>http://blog.technologyofcontent.com/2009/12/smart-resources-or-why-you-should-care-about-http-patch/comment-page-1/#comment-3797</link>
		<dc:creator>resource controller - StartTags.com</dc:creator>
		<pubDate>Sun, 24 Jan 2010 22:56:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.technologyofcontent.com/?p=169#comment-3797</guid>
		<description>&lt;p&gt;[...] work if your controller for the resource being mapped isn&#039;t named using standard conventions? ...Smart resources, or why you should care about HTTP PATCH ...The controllers are the media types supported by PUT, which are usually the same as those for GET, [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] work if your controller for the resource being mapped isn&#39;t named using standard conventions? &#8230;Smart resources, or why you should care about HTTP PATCH &#8230;The controllers are the media types supported by PUT, which are usually the same as those for GET, [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: justin</title>
		<link>http://blog.technologyofcontent.com/2009/12/smart-resources-or-why-you-should-care-about-http-patch/comment-page-1/#comment-2821</link>
		<dc:creator>justin</dc:creator>
		<pubDate>Sun, 13 Dec 2009 11:43:57 +0000</pubDate>
		<guid isPermaLink="false">http://blog.technologyofcontent.com/?p=169#comment-2821</guid>
		<description>&lt;p&gt;A better example perhaps is if I wish to maintain a resource that keeps a search index of a bunch of sites. I would want (my crawler) to post changes to the index when sites are updated using PATCH, not the whole index. Also I would never (normally) want to retrieve (or write) the whole index, just retrieve query results from it using query strings.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>A better example perhaps is if I wish to maintain a resource that keeps a search index of a bunch of sites. I would want (my crawler) to post changes to the index when sites are updated using PATCH, not the whole index. Also I would never (normally) want to retrieve (or write) the whole index, just retrieve query results from it using query strings.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: justin</title>
		<link>http://blog.technologyofcontent.com/2009/12/smart-resources-or-why-you-should-care-about-http-patch/comment-page-1/#comment-2809</link>
		<dc:creator>justin</dc:creator>
		<pubDate>Sat, 12 Dec 2009 11:25:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.technologyofcontent.com/?p=169#comment-2809</guid>
		<description>&lt;p&gt;Yes you are right, my example s not very good.&lt;/p&gt;

&lt;p&gt;I think there is a moral of this - you should consider whether your resource should be broken up into smaller subresources before using PATCH.&lt;/p&gt;

&lt;p&gt;A collaborative text editor is a good example, but I was looking for something simpler, will come up with another one...&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Yes you are right, my example s not very good.</p>

<p>I think there is a moral of this &#8211; you should consider whether your resource should be broken up into smaller subresources before using PATCH.</p>

<p>A collaborative text editor is a good example, but I was looking for something simpler, will come up with another one&#8230;</p>]]></content:encoded>
	</item>
	<item>
		<title>By: uberVU - social comments</title>
		<link>http://blog.technologyofcontent.com/2009/12/smart-resources-or-why-you-should-care-about-http-patch/comment-page-1/#comment-2804</link>
		<dc:creator>uberVU - social comments</dc:creator>
		<pubDate>Sat, 12 Dec 2009 08:46:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.technologyofcontent.com/?p=169#comment-2804</guid>
		<description>&lt;p&gt;&lt;strong&gt;Social comments and analytics for this post...&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This post was mentioned on Twitter by justincormack: Smart resources, or why you should care about HTTP PATCH http://bit.ly/5X644P...&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p><strong>Social comments and analytics for this post&#8230;</strong></p>

<p>This post was mentioned on Twitter by justincormack: Smart resources, or why you should care about HTTP PATCH <a href="http://bit.ly/5X644P.." rel="nofollow">http://bit.ly/5X644P..</a>.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Tweets that mention Smart resources, or why you should care about HTTP PATCH – Technology of Content -- Topsy.com</title>
		<link>http://blog.technologyofcontent.com/2009/12/smart-resources-or-why-you-should-care-about-http-patch/comment-page-1/#comment-2796</link>
		<dc:creator>Tweets that mention Smart resources, or why you should care about HTTP PATCH – Technology of Content -- Topsy.com</dc:creator>
		<pubDate>Sat, 12 Dec 2009 01:12:53 +0000</pubDate>
		<guid isPermaLink="false">http://blog.technologyofcontent.com/?p=169#comment-2796</guid>
		<description>&lt;p&gt;[...] This post was mentioned on Twitter by Richard Hulse, Justin Cormack. Justin Cormack said: Smart resources, or why you should care about HTTP PATCH http://bit.ly/5X644P [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] This post was mentioned on Twitter by Richard Hulse, Justin Cormack. Justin Cormack said: Smart resources, or why you should care about HTTP PATCH <a href="http://bit.ly/5X644P" rel="nofollow">http://bit.ly/5X644P</a> [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Brown</title>
		<link>http://blog.technologyofcontent.com/2009/12/smart-resources-or-why-you-should-care-about-http-patch/comment-page-1/#comment-2794</link>
		<dc:creator>Michael Brown</dc:creator>
		<pubDate>Sat, 12 Dec 2009 00:51:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.technologyofcontent.com/?p=169#comment-2794</guid>
		<description>&lt;p&gt;the example had its tags striped.. should be.&lt;/p&gt;

&lt;p&gt;[?xml-stylesheet href=&quot;piechart.xsl&quot; type=&quot;text/xsl&quot;?]
[votes]
[party name=&quot;teama&quot;]10[/party]
[party name=&quot;teamb&quot;]50[/party]
[party name=&quot;teamc&quot;]40[/party]
[/votes]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>the example had its tags striped.. should be.</p>

<p>[?xml-stylesheet href="piechart.xsl" type="text/xsl"?]
[votes]
[party name="teama"]10[/party]
[party name="teamb"]50[/party]
[party name="teamc"]40[/party]
[/votes]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Brown</title>
		<link>http://blog.technologyofcontent.com/2009/12/smart-resources-or-why-you-should-care-about-http-patch/comment-page-1/#comment-2793</link>
		<dc:creator>Michael Brown</dc:creator>
		<pubDate>Sat, 12 Dec 2009 00:48:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.technologyofcontent.com/?p=169#comment-2793</guid>
		<description>&lt;p&gt;Heya! Just read this, and to begin with id just like to say that i completely agree, PATCH is needed as a HTTP method. Here are my thoughts on REST and HTTP ;)&lt;/p&gt;

&lt;p&gt;To start with, your example is pretty poor! (i think u know that ;)) You would and should use POST (which is &quot;append&quot;, &quot;echo &gt;&gt; /resource&quot;). I can not see why you would keep the resource in two places, but if u really must then u can use the If-Modified-Since header when doing an update (GET) =].&lt;/p&gt;

&lt;p&gt;Again, your right =] Many people seem to see resources and collections as &quot;files&quot; and &quot;folders&quot;. Which is a terrible thing! Looking back at older operating systems (RISCOS being my fav), there was a very small difference in the two. After all, both are simply blocks of data, just handled differently. An Example. Consider an XML file. In a filesystem we can navigate to it at /dir/subdir/xmlfile.xml but what if this data is structured? this could then be seen as a &quot;folder&quot; and u could infact navigate even deeper /dir/subdir/xmlfile.xml/users/mikeyb/firstname.&lt;/p&gt;

&lt;p&gt;And again! MVC is a great way to look at REST and HTTP! However, I personally believe its not the Model, View, Or even the Controller elements. It is in fact the LINKAGE between them! HTTP (and REST) has 3 rolls, 1 is to transport the request (proxies, caches etc), 2 is to control &quot;viewables&quot;, which is used with the message body being passed back and forth. (Such as Compression, Auth, Encryption) and 3 is to manipulate or interact with a resource (The method, GET, PUT, POST etc).&lt;/p&gt;

&lt;p&gt;To give another example, Consider your &quot;voting&quot; system. You have a resource. &quot;/votes&quot; (Model). If you did a &quot;GET&quot; on /votes it would say access denied, its private data. However if you did &quot;/votes/total&quot; (Model logic) you may receive something like&lt;/p&gt;

&lt;p&gt;

10
50
40
&lt;/p&gt;

&lt;p&gt;Which is simply the totals added up. This is still the model. the View would be the output when this is run in &quot;piechart.xsl&quot;. Which would make a nice pretty chart for you =]. The Controller is to do with the View. The Model has no knowledge of the Controller in MVC. So if clicking on a segment of the piechart makes a beep sound, This would be your controller (Most likely javascript).&lt;/p&gt;

&lt;p&gt;Again, Votes are appended, so a POST to &quot;/votes&quot; with an ID is what id do =]&lt;/p&gt;

&lt;p&gt;Im not sure about the server side stuff. But as you prolly can tell its pretty hard to find a good reason to have PATCH. and after all its been years this topic has been going on. Heres what i think;&lt;/p&gt;

&lt;p&gt;Consider all the types of &quot;movement&quot; data has.. (in an operating system). It can be moved via..&lt;/p&gt;

&lt;p&gt;1) Pipe (First In First Out),
2) Stack (First In Last Out),
3) Queue (The order is determined by application).&lt;/p&gt;

&lt;p&gt;These are all fairly common, and easily done with POST, and GET. But there is one other that exists.&lt;/p&gt;

&lt;p&gt;4) Shared Memory.&lt;/p&gt;

&lt;p&gt;THIS is where i believe PATCH exists. Its the whole aspect that the data is being manipulated by two or more applications. Neither can fully know the true state of the data, and therefore can not fully change it without conflict. Extending POST (Which is basically what PATCH does) to allow the server to decide on the correct action, or to notify the client of a conflict. Thats the true beauty of PATCH.&lt;/p&gt;

&lt;p&gt;There is however, not many real world examples of shared memory on the web and isnt used much in operating systems either (application wise anyway) which is most likely why its taken so long to be approved. But i can offer you one! Its called Mobwrite =], Which is a real-time collaborative text editor. It currently uses its own protocol tho, but i am currently (As we speak) updating it to use the HTTP methods.&lt;/p&gt;

&lt;p&gt;MikeyB&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Heya! Just read this, and to begin with id just like to say that i completely agree, PATCH is needed as a HTTP method. Here are my thoughts on REST and HTTP <img src='http://blog.technologyofcontent.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<p>To start with, your example is pretty poor! (i think u know that <img src='http://blog.technologyofcontent.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) You would and should use POST (which is &#8220;append&#8221;, &#8220;echo >> /resource&#8221;). I can not see why you would keep the resource in two places, but if u really must then u can use the If-Modified-Since header when doing an update (GET) =].</p>

<p>Again, your right =] Many people seem to see resources and collections as &#8220;files&#8221; and &#8220;folders&#8221;. Which is a terrible thing! Looking back at older operating systems (RISCOS being my fav), there was a very small difference in the two. After all, both are simply blocks of data, just handled differently. An Example. Consider an XML file. In a filesystem we can navigate to it at /dir/subdir/xmlfile.xml but what if this data is structured? this could then be seen as a &#8220;folder&#8221; and u could infact navigate even deeper /dir/subdir/xmlfile.xml/users/mikeyb/firstname.</p>

<p>And again! MVC is a great way to look at REST and HTTP! However, I personally believe its not the Model, View, Or even the Controller elements. It is in fact the LINKAGE between them! HTTP (and REST) has 3 rolls, 1 is to transport the request (proxies, caches etc), 2 is to control &#8220;viewables&#8221;, which is used with the message body being passed back and forth. (Such as Compression, Auth, Encryption) and 3 is to manipulate or interact with a resource (The method, GET, PUT, POST etc).</p>

<p>To give another example, Consider your &#8220;voting&#8221; system. You have a resource. &#8220;/votes&#8221; (Model). If you did a &#8220;GET&#8221; on /votes it would say access denied, its private data. However if you did &#8220;/votes/total&#8221; (Model logic) you may receive something like</p>

<p>

10
50
40
</p>

<p>Which is simply the totals added up. This is still the model. the View would be the output when this is run in &#8220;piechart.xsl&#8221;. Which would make a nice pretty chart for you =]. The Controller is to do with the View. The Model has no knowledge of the Controller in MVC. So if clicking on a segment of the piechart makes a beep sound, This would be your controller (Most likely javascript).</p>

<p>Again, Votes are appended, so a POST to &#8220;/votes&#8221; with an ID is what id do =]</p>

<p>Im not sure about the server side stuff. But as you prolly can tell its pretty hard to find a good reason to have PATCH. and after all its been years this topic has been going on. Heres what i think;</p>

<p>Consider all the types of &#8220;movement&#8221; data has.. (in an operating system). It can be moved via..</p>

<p>1) Pipe (First In First Out),
2) Stack (First In Last Out),
3) Queue (The order is determined by application).</p>

<p>These are all fairly common, and easily done with POST, and GET. But there is one other that exists.</p>

<p>4) Shared Memory.</p>

<p>THIS is where i believe PATCH exists. Its the whole aspect that the data is being manipulated by two or more applications. Neither can fully know the true state of the data, and therefore can not fully change it without conflict. Extending POST (Which is basically what PATCH does) to allow the server to decide on the correct action, or to notify the client of a conflict. Thats the true beauty of PATCH.</p>

<p>There is however, not many real world examples of shared memory on the web and isnt used much in operating systems either (application wise anyway) which is most likely why its taken so long to be approved. But i can offer you one! Its called Mobwrite =], Which is a real-time collaborative text editor. It currently uses its own protocol tho, but i am currently (As we speak) updating it to use the HTTP methods.</p>

<p>MikeyB</p>]]></content:encoded>
	</item>
</channel>
</rss>
