<?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"
	>

<channel>
	<title>sameer maggon</title>
	<atom:link href="http://www.maggon.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.maggon.com</link>
	<description>driving innovation in software products</description>
	<pubDate>Thu, 13 Nov 2008 21:48:11 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>Create word clouds from text</title>
		<link>http://www.maggon.com/2008/08/30/create-word-clouds-from-text/</link>
		<comments>http://www.maggon.com/2008/08/30/create-word-clouds-from-text/#comments</comments>
		<pubDate>Sat, 30 Aug 2008 15:30:29 +0000</pubDate>
		<dc:creator>Sameer</dc:creator>
		
		<category><![CDATA[Information Visualization]]></category>

		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.maggon.com/?p=79</guid>
		<description><![CDATA[Wordle is a web application that creates a word cloud out of the content you provide. You can supply a chunk of text, an RSS feed or a del.icio.us username.
You can change the layout, colors, etc for the generated word clouds. It also provides a &#8216;randomize&#8217; feature where you can randomly choose the format for [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wordle.net/"title="Wordle"  target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://wordle.net/');">Wordle</a> is a web application that creates a word cloud out of the content you provide. You can supply a chunk of text, an RSS feed or a del.icio.us username.</p>
<p>You can change the layout, colors, etc for the generated word clouds. It also provides a &#8216;randomize&#8217; feature where you can randomly choose the format for the word cloud.</p>
<p>Here is a word cloud of <a href="http://www.navburner.com"title="navBurner"  target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.navburner.com');">navBurner</a> product <a href="http://blog.navburner.com"title="navBurner Blog"  target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://blog.navburner.com');">blog</a>.</p>
<p><img class="aligncenter" width="450" src="http://www.maggon.com/images/navBurnerWordCloud.png" alt="navBurner Blog Word Cloud" /></p>
<p>(<a href="http://wordle.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://wordle.net/');">http://wordle.net/</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maggon.com/2008/08/30/create-word-clouds-from-text/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Amazon launches Elastic Block Store</title>
		<link>http://www.maggon.com/2008/08/27/amazon-launches-elastic-block-store/</link>
		<comments>http://www.maggon.com/2008/08/27/amazon-launches-elastic-block-store/#comments</comments>
		<pubDate>Wed, 27 Aug 2008 16:08:33 +0000</pubDate>
		<dc:creator>Sameer</dc:creator>
		
		<category><![CDATA[Cloud Computing]]></category>

		<category><![CDATA[SaaS]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[AWS]]></category>

		<guid isPermaLink="false">http://www.maggon.com/?p=78</guid>
		<description><![CDATA[Amazon Elastic Block Store is a persistent, high performance and highly available block level storage that can be attached to a running Amazon EC2 instance.
Amazon&#8217;s Web Services team recently launched Amazon Elastic Block Store and made it available to all it&#8217;s user base. Persistance Storage has been the missing (and previously talked about) piece in [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Amazon Elastic Block Store is a persistent, high performance and highly available block level storage that can be attached to a running Amazon EC2 instance.</p></blockquote>
<p>Amazon&#8217;s Web Services team <a href="http://aws.typepad.com/aws/2008/08/amazon-elastic.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://aws.typepad.com/aws/2008/08/amazon-elastic.html');">recently launched</a> Amazon Elastic Block Store and made it available to all it&#8217;s user base. Persistance Storage has been the missing (and previously talked about) piece in Amazon&#8217;s cloud computing platform and now with the introduction of EBS, that hole has been filled to provide basic building block for a variety of solutions.</p>
<p>Before Amazon EBS, the storage in Amazon cloud was local to a running instance. If the instance got terminated, all the data stored in that instance was lost. Solutions to safeguard the data from being lost included scheduled backups to Amazon S3, and in high change environments, frequent backup strategies introduced tedious processes.</p>
<p>With the introduction of Amazon EBS, virtual machines on the cloud have become more like traditional traditional physical servers. If an EC2 instance goes down, the storage volume can be made available &#8216;quickly&#8217; by attaching the volume to another EC2 instance. Thus, Persistent storage can act as the machine&#8217;s file system that will contain all the data even after restarts.</p>
<p>The separation of storage from the machine has made it possible to attach the same volume to any other EC2 instance. EBS provides the capability to snapshot the entire volume to S3, which makes it easy to create clones in the same and/or other availability zones. Applications can take advantage of this to provide redundancy across availability zones (making sure one creates a new volume from the snapshot in the respective availability zone).</p>
<p>Now that one can have persistent filesystem (of any type) and raw block level access, certain class of applications that deal with large datasets, use filesystem heavily for processing and need to be performant will be easier to build on top of the platform.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maggon.com/2008/08/27/amazon-launches-elastic-block-store/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Identifying and extracting informative content from web pages</title>
		<link>http://www.maggon.com/2008/07/21/identifying-and-extracting-informative-content-from-web-pages/</link>
		<comments>http://www.maggon.com/2008/07/21/identifying-and-extracting-informative-content-from-web-pages/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 06:09:42 +0000</pubDate>
		<dc:creator>Sameer</dc:creator>
		
		<category><![CDATA[Search]]></category>

		<category><![CDATA[Web Mining]]></category>

		<category><![CDATA[Information Extraction]]></category>

		<guid isPermaLink="false">http://www.maggon.com/?p=73</guid>
		<description><![CDATA[Web pages contain various pieces of information that surround the body or the main content of the article. One can call them ancillary blocks of information that present along side main content. Examples of these includes Navigation Sidebars, Related Items components, Ads, Header, Footer, etc. When a user tries to find information by performing a [...]]]></description>
			<content:encoded><![CDATA[<p>Web pages contain various pieces of information that surround the body or the main content of the article. One can call them ancillary blocks of information that present along side main content. Examples of these includes Navigation Sidebars, Related Items components, Ads, Header, Footer, etc. When a user tries to find information by performing a keyword search, he is mostly looking for results that contain the actual content. When an information access tool provides the results that contain the results from the ancillary blocks as well, the user has to do more work to get the desired result (add more keywords to the search or paginate through a long list of results).</p>
<p style="text-align: center;"><a href="http://www.maggon.com/wp-content/uploads/2008/07/ancillary-content-blocks.png" ><img class="alignnone size-medium wp-image-74" title="LATimes page with Ancillary blocks highlighted" src="http://www.maggon.com/wp-content/uploads/2008/07/ancillary-content-blocks-300x221.png" alt="LATimes page with Ancillary blocks highlighted" width="300" height="221" /></a></p>
<p style="text-align: center;"><em>LATimes page with Ancillary Blocks highlighted</em></p>
<p><br id="hadh0" /> To increase the quality of the returned results, the ancillary blocks can be removed at the indexing time. There are various approaches to remove the non-informative content from these web pages that have been discussed in the literature (Entropy-threshhold based approach by Lin and Ho, ContentExtractor and FeatureExtractor by Debnath et al). There is also another approach that is very straight forward and is used by perl module <a href="http://search.cpan.org/~jtaverni/HTML-Content-Extractor-0.01/"title="Perl HTML Content Extractor"  target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://search.cpan.org/~jtaverni/HTML-Content-Extractor-0.01/');">HTML-Content-Extractor</a> and has been ported to PHP and is described <a href="http://w-shadow.com/blog/2008/01/25/extracting-the-main-content-from-a-webpage/"title="PHP Port of ContentExtractor"  target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://w-shadow.com/blog/2008/01/25/extracting-the-main-content-from-a-webpage/');">here</a>. <br id="hmj_" /> <br id="hmj_0" /> The product I am working on currently is based on Java and Python, and unfortunately there is no port for Python. Thus, I wrote one in python that uses the ideas above. In short, it does the following three things<br id="udrr" /> <br id="udrr0" /> 1. Heuristics - Looking across web pages, it is evident that certain HTML tags do not create any informative content. These include tags like img, script, link, input, hr etc. These can be deleted from the DOM.<br id="snr0" /> <br id="snr00" /> 2. Feature based block detection and removal - Identifying ancillary blocks based on text to link ratio.<br id="vh_6" /> <br id="v36k" /> 3. Remove all the HTML tags from the remaining DOM.<br id="bvj7" /></p>
<p>So far, I have just tried it on content pages from CNN and LA Times. As I try more pages and find other enhancements / issues, I&#8217;ll keep posting.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maggon.com/2008/07/21/identifying-and-extracting-informative-content-from-web-pages/feed/</wfw:commentRss>
		</item>
		<item>
		<title>User Interface for Solr (Lucene based)</title>
		<link>http://www.maggon.com/2008/07/02/user-interface-for-a-solr-engine/</link>
		<comments>http://www.maggon.com/2008/07/02/user-interface-for-a-solr-engine/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 15:52:55 +0000</pubDate>
		<dc:creator>Sameer</dc:creator>
		
		<category><![CDATA[Navigation]]></category>

		<category><![CDATA[Search]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Lucene]]></category>

		<category><![CDATA[Solr]]></category>

		<category><![CDATA[User Interface]]></category>

		<guid isPermaLink="false">http://www.maggon.com/?p=70</guid>
		<description><![CDATA[Lars Kotthoff has written a user interface for Solr that can talk to a Solr instance. Here are some screenshots from the working system.


]]></description>
			<content:encoded><![CDATA[<p>Lars Kotthoff has written a <a href="http://larsko.dyndns.org:8080/solr-ui/search.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://larsko.dyndns.org:8080/solr-ui/search.html');">user interface for Solr</a> that can talk to a Solr instance. Here are some screenshots from the working system.</p>
<p><a href='http://www.maggon.com/wp-content/uploads/2008/07/picture-46.png'><img src="http://www.maggon.com/wp-content/uploads/2008/07/picture-46-300x151.png" alt="" title="Solr UI - Category Facet" width="300" height="151" class="alignnone size-medium wp-image-71" /></a></p>
<p><a href='http://www.maggon.com/wp-content/uploads/2008/07/picture-47.png'><img src="http://www.maggon.com/wp-content/uploads/2008/07/picture-47-300x146.png" alt="" title="Solr UI - People Drill Down" width="300" height="146" class="aligncenter size-medium wp-image-72" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maggon.com/2008/07/02/user-interface-for-a-solr-engine/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SpellCheck component added to Solr</title>
		<link>http://www.maggon.com/2008/06/30/spellcheck-component-added-to-solr/</link>
		<comments>http://www.maggon.com/2008/06/30/spellcheck-component-added-to-solr/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 23:00:04 +0000</pubDate>
		<dc:creator>Sameer</dc:creator>
		
		<category><![CDATA[Search]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Lucene]]></category>

		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.maggon.com/?p=69</guid>
		<description><![CDATA[Solr has a great way to plug in components, which they call SearchComponents into a request. This enables different components to be chained together to add new functionality without writing any code. Once a component is created, integrators can plug that component to be used in their applications (web or otherwise).
Solr has a set of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://lucene.apache.org/solr/"title="Solr"  target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://lucene.apache.org/solr/');">Solr</a> has a great way to plug in components, which they call <a href="http://wiki.apache.org/solr/SearchComponent"title="Solr Search Components"  target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://wiki.apache.org/solr/SearchComponent');">SearchComponents</a> into a request. This enables different components to be chained together to add new functionality without writing any code. Once a component is created, integrators can plug that component to be used in their applications (web or otherwise).</p>
<p>Solr has a set of default <a href="http://wiki.apache.org/solr/SearchComponent"title="Solr Search Components"  target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://wiki.apache.org/solr/SearchComponent');">SearchComponent</a> like MoreLikeThisComponent, HighlightComponent, etc and this month, another has been added to the list - <a href="http://wiki.apache.org/solr/SpellCheckComponent"title="Spell Check Component"  target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://wiki.apache.org/solr/SpellCheckComponent');">SpellCheckComponent</a>. This was in works for sometime, but now is out to be used.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maggon.com/2008/06/30/spellcheck-component-added-to-solr/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQL - Delete and Select on same table</title>
		<link>http://www.maggon.com/2008/05/29/mysql-delete-and-select-on-same-table/</link>
		<comments>http://www.maggon.com/2008/05/29/mysql-delete-and-select-on-same-table/#comments</comments>
		<pubDate>Thu, 29 May 2008 23:30:02 +0000</pubDate>
		<dc:creator>Sameer</dc:creator>
		
		<category><![CDATA[Database]]></category>

		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.maggon.com/?p=68</guid>
		<description><![CDATA[If you want to delete from a table and select from the same table in a subquery (MySQL makes it hard):

DELETE FROM  Table1
WHERE id
    IN ( SELECT id FROM
           (SELECT A.id FROM Table1 A
        [...]]]></description>
			<content:encoded><![CDATA[<p>If you want to delete from a table and select from the same table in a subquery (MySQL makes it hard):</p>
<p><code><br />
DELETE FROM  Table1<br />
WHERE id<br />
    IN ( SELECT id FROM<br />
           (SELECT A.id FROM Table1 A<br />
                   LEFT OUTER JOIN Table2 B ON B.id = A.other_column WHERE B.id is null)<br />
            AS BOGUSTABLENAME)<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maggon.com/2008/05/29/mysql-delete-and-select-on-same-table/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google AJAX Libraries API</title>
		<link>http://www.maggon.com/2008/05/28/google-ajax-libraries-api/</link>
		<comments>http://www.maggon.com/2008/05/28/google-ajax-libraries-api/#comments</comments>
		<pubDate>Wed, 28 May 2008 16:51:03 +0000</pubDate>
		<dc:creator>Sameer</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<category><![CDATA[API]]></category>

		<category><![CDATA[Performance]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.maggon.com/?p=66</guid>
		<description><![CDATA[Google recently announced the AJAX Libraries API for developers.
The AJAX Libraries API is a content distribution network and loading architecture for the most popular open source JavaScript libraries&#8230;&#8230;.Google works directly with the key stake holders for each library effort and accept the latest stable versions as they are released. Once we host a release of [...]]]></description>
			<content:encoded><![CDATA[<p>Google recently announced the <a href="http://code.google.com/apis/ajaxlibs/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://code.google.com/apis/ajaxlibs/');">AJAX Libraries API</a> for developers.</p>
<blockquote><p>The AJAX Libraries API is a content distribution network and loading architecture for the most popular open source JavaScript libraries&#8230;&#8230;.Google works directly with the key stake holders for each library effort and accept the latest stable versions as they are released. Once we host a release of a given library, we are committed to hosting that release indefinitely.
</p></blockquote>
<p>Whenever I take a look at the pages of our new product (n private alpha) using <a href="http://developer.yahoo.com/yslow/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://developer.yahoo.com/yslow/');">YSlow</a>, two things always rank as &#8216;F&#8217;. First is using a Content Distribution Network (CDN) and second is the expires header (see screenshot below).</p>
<p><a href='http://www.maggon.com/wp-content/uploads/2008/05/picture-10.png'><img src="http://www.maggon.com/wp-content/uploads/2008/05/picture-10.png" alt="YSlow Report of NB" title="YSlow-Report" width="295" height="291" class="alignnone size-medium wp-image-67" /></a></p>
<p>The expires header is something that we need to work on but then there is CDN. At initial stages, it&#8217;s difficult for developers / development group to get access to a Content Distribution Network. But with Google&#8217;s AJAX Libraries API, developers can get access to Google&#8217;s CDN to deliver their Javascripts.</p>
<p>All you have to do is to identify the version you are using and replace the script tags with the following.</p>
<p><code>&lt;script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js"&gt;&lt;/script&gt;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maggon.com/2008/05/28/google-ajax-libraries-api/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lucene to get Faceted Search and NLP enhancements</title>
		<link>http://www.maggon.com/2008/05/27/lucene-gets-faceted-search-and-nlp-enhancements/</link>
		<comments>http://www.maggon.com/2008/05/27/lucene-gets-faceted-search-and-nlp-enhancements/#comments</comments>
		<pubDate>Tue, 27 May 2008 15:23:21 +0000</pubDate>
		<dc:creator>Sameer</dc:creator>
		
		<category><![CDATA[Search]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Faceted Navigation]]></category>

		<category><![CDATA[Lucene]]></category>

		<category><![CDATA[Navigation]]></category>

		<category><![CDATA[NLP]]></category>

		<guid isPermaLink="false">http://www.maggon.com/?p=64</guid>
		<description><![CDATA[Teragram, a vendor for multilingual Natural Language Processing technologies has integrated it&#8217;s set of tools into Apache Lucene. As this article points, the integration would enable Lucene to provide some sort of support to add taxonomies and faceted search to their web sites, as well as to correct the spelling of queries and search in [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.teragram.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.teragram.com');">Teragram</a>, a vendor for multilingual Natural Language Processing technologies has integrated it&#8217;s set of tools into <a href="http://lucene.apache.org/java/docs/index.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://lucene.apache.org/java/docs/index.html');">Apache Lucene</a>. As this <a href="http://gilbane.com/news/2008/05/teragram_integrates_linguistic.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://gilbane.com/news/2008/05/teragram_integrates_linguistic.html');">article</a> points, the integration would enable Lucene to provide some sort of support to add taxonomies and faceted search to their web sites, as well as to correct the spelling of queries and search in multiple languages. </p>
<p>Doesn&#8217;t <a href="http://lucene.apache.org/solr/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://lucene.apache.org/solr/');">Solr</a> already provides faceted search on top of Lucene?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maggon.com/2008/05/27/lucene-gets-faceted-search-and-nlp-enhancements/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Use of Navigation Paths</title>
		<link>http://www.maggon.com/2008/05/19/use-of-navigation-paths/</link>
		<comments>http://www.maggon.com/2008/05/19/use-of-navigation-paths/#comments</comments>
		<pubDate>Mon, 19 May 2008 23:00:34 +0000</pubDate>
		<dc:creator>Sameer</dc:creator>
		
		<category><![CDATA[Navigation]]></category>

		<category><![CDATA[Analytics]]></category>

		<category><![CDATA[Information Organization]]></category>

		<category><![CDATA[User Interface]]></category>

		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.maggon.com/?p=62</guid>
		<description><![CDATA[Collect all the paths you can think of in a pile, pull out the 8 paths that 80% of your visitors come looking for, and that’s your home page.
An interesting approach to create Home Page containers for navigation front ends. See full article at Signal vs. Noise
]]></description>
			<content:encoded><![CDATA[<blockquote><p>Collect all the paths you can think of in a pile, pull out the 8 paths that 80% of your visitors come looking for, and that’s your home page.</p></blockquote>
<p>An interesting approach to create Home Page containers for navigation front ends. See<a href="http://www.37signals.com/svn/posts/1030-think-about-paths-instead-of-hierarchies" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.37signals.com/svn/posts/1030-think-about-paths-instead-of-hierarchies');"> full article</a> at <a href="http://blogcabin.37signals.com/svn/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://blogcabin.37signals.com/svn/');">Signal vs. Noise</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maggon.com/2008/05/19/use-of-navigation-paths/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Giving static content access to Marketers using django flatpages</title>
		<link>http://www.maggon.com/2008/05/18/giving-static-content-access-to-marketers-using-django-flatpages/</link>
		<comments>http://www.maggon.com/2008/05/18/giving-static-content-access-to-marketers-using-django-flatpages/#comments</comments>
		<pubDate>Sun, 18 May 2008 21:04:27 +0000</pubDate>
		<dc:creator>Sameer</dc:creator>
		
		<category><![CDATA[Django]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[flatpages]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.maggon.com/?p=61</guid>
		<description><![CDATA[I have been working on a new product based on Django Framework. On Friday, I had to sit with our marketing head to go over most of the pages that contain the static content related to the product.
Whoever has worked on a new product knows that the content in these pages evolve overtime. Frequently, during [...]]]></description>
			<content:encoded><![CDATA[<p>I have been working on a new product based on <a href="http://www.djangoproject.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.djangoproject.com/');">Django Framework</a>. On Friday, I had to sit with our marketing head to go over most of the pages that contain the static content related to the product.</p>
<p>Whoever has worked on a new product knows that the content in these pages evolve overtime. Frequently, during the initial stages, and (hopefully) less often afterwards. The question that I was looking an answer for, was - <strong>“How can you setup things so that the developers do not get involved in making the content changes?”</strong></p>
<p>I started looking for how to push the content addition and modification to marketing as opposed to the product dev guys. Apparently, <a href="http://www.djangoproject.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.djangoproject.com/');">Django framework</a> have an amazingly simple application for exactly this purpose - called - ‘<a href="http://www.djangoproject.com/documentation/flatpages/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.djangoproject.com/documentation/flatpages/');">flatpages</a>’. You can add new pages and modify existing pages through the Django admin interface without the need to change the code once flatpages has been installed.</p>
<p>To restrict the marketing guys to only change the static content, create a Marketing Group that has access to only flatpages model in Django admin. That way, they can change the content, and the developers can focus on things that moves the product forward!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maggon.com/2008/05/18/giving-static-content-access-to-marketers-using-django-flatpages/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
