<?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: Inverted Partials</title>
	<atom:link href="http://blog.ianbicking.org/2008/09/08/inverted-partials/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ianbicking.org/2008/09/08/inverted-partials/</link>
	<description></description>
	<pubDate>Wed, 07 Jan 2009 07:52:45 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Schuyler Duveen</title>
		<link>http://blog.ianbicking.org/2008/09/08/inverted-partials/comment-page-1/#comment-41129</link>
		<dc:creator>Schuyler Duveen</dc:creator>
		<pubDate>Tue, 09 Sep 2008 19:04:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/2008/09/08/inverted-partials/#comment-41129</guid>
		<description>I did client-side JS fragment-grabbing a while ago with MochiKit.  You can see it in the wild here:
http://havel.columbia.edu/media_panels/js/MochiPlus.js
(see functions swapFromHttp(), and safeGetElement())
The two requirements on the server side for best results is that it serve the document as text/xml, and be valid XML (in IE, that means no named entities, just numbered ones)

I found this approach especially useful for list-type refreshes, to keep the templates in template files rather than mucky JS.</description>
		<content:encoded><![CDATA[<p>I did client-side JS fragment-grabbing a while ago with MochiKit.  You can see it in the wild here:
<a href="http://havel.columbia.edu/media&#95;panels/js/MochiPlus.js" rel="nofollow">http://havel.columbia.edu/media_panels/js/MochiPlus.js</a>
(see functions swapFromHttp(), and safeGetElement())
The two requirements on the server side for best results is that it serve the document as text/xml, and be valid XML (in IE, that means no named entities, just numbered ones)</p>

<p>I found this approach especially useful for list-type refreshes, to keep the templates in template files rather than mucky JS.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ian Bicking</title>
		<link>http://blog.ianbicking.org/2008/09/08/inverted-partials/comment-page-1/#comment-41078</link>
		<dc:creator>Ian Bicking</dc:creator>
		<pubDate>Tue, 09 Sep 2008 17:32:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/2008/09/08/inverted-partials/#comment-41078</guid>
		<description>It doesn't *just* save on bandwidth -- extracting an element from a chunk of HTML is non-trivial in Javascript.  Obviously it *should* be trivial in Javascript, but for some reason Javascript woefully lacks access to a reasonable parser.  You can use `.innerHTML` as a kind of parser, but the side effects are considerable since you have to inject, at least temporarily, a bunch of live markup into your page.

Phil: Thanks for the TiddlyWeb link.  I think this is similar in some of its techniques, though the implementation is very focused and limited in my example.

I've thought about things that might be similar to TiddlyWeb, where "objects" are primarily markup, and an actual web page might be an aggregation of those objects.  Records would contain not just their data, but also potentially a visualization of the data.  Keeping data and display of data together is somewhat in line with Wiki notions of data management, as opposed traditional relation database-backed websites where there's a server side component managing the display and update of the data.  I think systems where display and data are the same are far more accessible -- there's a single canonical metaphor that people can understand, where with a traditional website there's a hidden translation that people must infer.</description>
		<content:encoded><![CDATA[<p>It doesn&#8217;t <em>just</em> save on bandwidth &#8212; extracting an element from a chunk of HTML is non-trivial in Javascript.  Obviously it <em>should</em> be trivial in Javascript, but for some reason Javascript woefully lacks access to a reasonable parser.  You can use <code>.innerHTML</code> as a kind of parser, but the side effects are considerable since you have to inject, at least temporarily, a bunch of live markup into your page.</p>

<p>Phil: Thanks for the TiddlyWeb link.  I think this is similar in some of its techniques, though the implementation is very focused and limited in my example.</p>

<p>I&#8217;ve thought about things that might be similar to TiddlyWeb, where &#8220;objects&#8221; are primarily markup, and an actual web page might be an aggregation of those objects.  Records would contain not just their data, but also potentially a visualization of the data.  Keeping data and display of data together is somewhat in line with Wiki notions of data management, as opposed traditional relation database-backed websites where there&#8217;s a server side component managing the display and update of the data.  I think systems where display and data are the same are far more accessible &#8212; there&#8217;s a single canonical metaphor that people can understand, where with a traditional website there&#8217;s a hidden translation that people must infer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: phil jones</title>
		<link>http://blog.ianbicking.org/2008/09/08/inverted-partials/comment-page-1/#comment-41037</link>
		<dc:creator>phil jones</dc:creator>
		<pubDate>Tue, 09 Sep 2008 16:10:33 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/2008/09/08/inverted-partials/#comment-41037</guid>
		<description>I wonder how much overlap there is between this and what Chris Dent is trying to do with TiddlyWeb ... (a TiddlyWiki derived server which lets you construct pages dynamically from bags of elements http://cdent.tumblr.com/tagged/tiddlyweb )</description>
		<content:encoded><![CDATA[<p>I wonder how much overlap there is between this and what Chris Dent is trying to do with TiddlyWeb &#8230; (a TiddlyWiki derived server which lets you construct pages dynamically from bags of elements <a href="http://cdent.tumblr.com/tagged/tiddlyweb" rel="nofollow">http://cdent.tumblr.com/tagged/tiddlyweb</a> )</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: slinkp</title>
		<link>http://blog.ianbicking.org/2008/09/08/inverted-partials/comment-page-1/#comment-41023</link>
		<dc:creator>slinkp</dc:creator>
		<pubDate>Tue, 09 Sep 2008 15:44:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/2008/09/08/inverted-partials/#comment-41023</guid>
		<description>At the risk of pointing out the obvious, Ian's code saves on bandwidth but the server still incurs the overhead of rendering the entire page. Armin's approach sounds cool.</description>
		<content:encoded><![CDATA[<p>At the risk of pointing out the obvious, Ian&#8217;s code saves on bandwidth but the server still incurs the overhead of rendering the entire page. Armin&#8217;s approach sounds cool.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: javier lasheras</title>
		<link>http://blog.ianbicking.org/2008/09/08/inverted-partials/comment-page-1/#comment-40878</link>
		<dc:creator>javier lasheras</dc:creator>
		<pubDate>Tue, 09 Sep 2008 10:53:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/2008/09/08/inverted-partials/#comment-40878</guid>
		<description>A middleware is like the old-school way (SSI, ESI). Only a WSGI mock is needed for development phase (if you don't want deploy a not python server).

A specialized server can mix the parts better than me ;-)</description>
		<content:encoded><![CDATA[<p>A middleware is like the old-school way (SSI, ESI). Only a WSGI mock is needed for development phase (if you don&#8217;t want deploy a not python server).</p>

<p>A specialized server can mix the parts better than me ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Armin Ronacher</title>
		<link>http://blog.ianbicking.org/2008/09/08/inverted-partials/comment-page-1/#comment-40870</link>
		<dc:creator>Armin Ronacher</dc:creator>
		<pubDate>Tue, 09 Sep 2008 10:38:46 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/2008/09/08/inverted-partials/#comment-40870</guid>
		<description>I am actually doing that on a genshi powered project.  Just that for the extracting of the element I use Genshi's xpath support and render just a part of the genshi template rather than rendering the template, parsing it with lxml and extracting a part of the tree.


Regards,
Armin</description>
		<content:encoded><![CDATA[<p>I am actually doing that on a genshi powered project.  Just that for the extracting of the element I use Genshi&#8217;s xpath support and render just a part of the genshi template rather than rendering the template, parsing it with lxml and extracting a part of the tree.</p>

<p>Regards,
Armin</p>
]]></content:encoded>
	</item>
</channel>
</rss>
