<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>opensourcetutor.com &#187; Django</title>
	<atom:link href="http://www.opensourcetutor.com/tag/django/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.opensourcetutor.com</link>
	<description>On Linux, Web Development, Joomla and Magento commerce</description>
	<lastBuildDate>Sat, 04 Feb 2012 10:27:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Pluf &#8211; A PHP5 Port of Django</title>
		<link>http://www.opensourcetutor.com/2009/06/10/pluf-a-php5-port-of-django/</link>
		<comments>http://www.opensourcetutor.com/2009/06/10/pluf-a-php5-port-of-django/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 00:28:15 +0000</pubDate>
		<dc:creator>salubrium</dc:creator>
				<category><![CDATA[Linux Administration]]></category>
		<category><![CDATA[Virtualization (Virtualisation)]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Pluf]]></category>

		<guid isPermaLink="false">http://www.opensourcetutor.com/2009/06/10/pluf-a-php5-port-of-django/</guid>
		<description><![CDATA[Pluf is a PHP Framework developed as a port of Django to PHP. It claims to be simple, elegant and easy for people used to Django but in PHP5 so easy to deploy all over the world.
After reading the documentation, the file layout and concepts are all quite similar to django, though a downside is that we lose much of the beauty of the Python language and it doesn&#8217;t seem to have the Admin interface that makes django so delightful to work with.
Here is a sample of a helloworld, which ...]]></description>
			<content:encoded><![CDATA[<p>Pluf is a PHP Framework developed as a port of Django to PHP. It claims to be <i>simple, elegant and easy for people used to Django but in PHP5 so easy to deploy all over the world.</i></p>
<p>After reading the documentation, the file layout and concepts are all quite similar to django, though a downside is that we lose much of the beauty of the Python language and it doesn&#8217;t seem to have the Admin interface that makes django so delightful to work with.</p>
<p>Here is a sample of a helloworld, which would exist in a file called &#8220;Hello/Views.php&#8221;</p>
<pre>
<code>&lt; ?php
class Hello_Views
{
    public function hello($request, $match)
    {
        return new Pluf_HTTP_Response('Hello World!');
    }
}</code>
</code></pre>
<p>as you can see, it is reasonably similar to (though more verbose than) Django&#8217;s equivalent &#8220;/hello/views.py&#8221; which would look like this:</p>
<pre><code>from django.http import HttpResponse
def index(request):
    return HttpResponse("Hello world")</code></pre>
<p>Check out the full <a href="http://www.pluf.org/doc/hello-world.html" target="_blank">helloworld tutorial</a> of <a href="http://www.pluf.org/" target="_blank">Pluf</a></p>
<h2>ORM</h2>
<p>Pluf has an ORM that applies similar concepts and ideas as Django&#8217;s ORM, though as with the helloworld, it is slightly more verbose. The rest of the framework follows the same patterns, urls.php has a more verbose PHP regex patterns than django&#8217;s urls.py</p>
<h2>Caching</h2>
<p>Pluf runs it&#8217;s own caching system as well as being able to utilise <a href="http://php.net/apc" target="_blank">APC</a> and <a href="http://www.danga.com/memcached/" target="_blank">Memcached</a></p>
<h2>Django vs Pluf</h2>
<p>So what exactly does Pluf offer in ways of advantages over Django and why would you choose to use it instead? The obvious reasons are if you are well setup as a PHP developer. You work with tools and ide&#8217;s setup specifically for PHP, you have hosting infrastructure setup for PHP and you work with developers who are well versed in PHP. The other advantage of Pluf is that it comes with a migration framework out of the box, whereas django doesn&#8217;t and you need to use one of the available <a href="http://code.djangoproject.com/wiki/SchemaEvolution" target="_blank">database schema migration</a>, the most promising currently looks like <a href="http://south.aeracode.org/" target="_blank">South</a></p>
<p>Of course, Django deployment is becoming much simpler recently by leveraging the tutorials and tools like <a href="http://pypi.python.org/pypi/virtualenv" target="_blank">virtualenv</a>, <a href="http://pypi.python.org/pypi/pip" target="_blank">pip</a> and most recently <a href="http://www.modrails.com/" target="_blank">modrails</a> has begun supporting python wsgi services. I recently performed some benchmarks with modrails vs fastcgi against a django blogging application called <a href="http://byteflow.su/" target="_blank">byteflow</a> and modrails provided approx 1.8x speedup. More to come on that later.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-9469051832075629";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text";
//2007-05-22: opensourcetutor.com
google_ad_channel = "3549963802";
google_color_border = "FFF";
google_color_bg = "FFF";
google_color_link = "333";
google_color_text = "CCCCCC";
google_color_url = "999999";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>Technorati Tags: <a class="performancingtags" href="http://technorati.com/tag/PHP" rel="tag">PHP</a>, <a class="performancingtags" href="http://technorati.com/tag/Pluf" rel="tag">Pluf</a>, <a class="performancingtags" href="http://technorati.com/tag/Django" rel="tag">Django</a>, <a class="performancingtags" href="http://technorati.com/tag/Web Development" rel="tag">Web Development</a>, <a class="performancingtags" href="http://technorati.com/tag/Framework" rel="tag">Framework</a>, <a class="performancingtags" href="http://technorati.com/tag/MVC" rel="tag">MVC</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensourcetutor.com/2009/06/10/pluf-a-php5-port-of-django/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Open Source Ecommerce alternatives to Zencart, OSCommerce and Virtuemart</title>
		<link>http://www.opensourcetutor.com/2008/05/28/open-source-ecommerce-alternatives-to-zencart-oscommerce-and-virtuemart/</link>
		<comments>http://www.opensourcetutor.com/2008/05/28/open-source-ecommerce-alternatives-to-zencart-oscommerce-and-virtuemart/#comments</comments>
		<pubDate>Wed, 28 May 2008 04:47:47 +0000</pubDate>
		<dc:creator>salubrium</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Ecommerce]]></category>
		<category><![CDATA[Finance]]></category>
		<category><![CDATA[Internet Goodness]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[satchmo]]></category>

		<guid isPermaLink="false">http://www.opensourcetutor.com/2008/05/28/open-source-ecommerce-alternatives-to-zencart-oscommerce-and-virtuemart/</guid>
		<description><![CDATA[A couple of new open source Ecommerce products out and about that will hopefully see the end of the monstrosity called OSCommerce and it&#8217;s less ugly incarnations &#8211; 
Whilst they have served me well in the past and I may feel tempted to use Virtuemart for a customer who:
a) Will never ever need any customisations done to itb) Already has a Joomla installation and is very comfortable using Joomla
What&#8217;s the issue with Zencart, OSC or Virtuemart you may ask?
The issue is this. First OSCommerce is a mess. Every single module ...]]></description>
			<content:encoded><![CDATA[<p>A couple of new open source Ecommerce products out and about that will hopefully see the end of the monstrosity called OSCommerce and it&#8217;s less ugly incarnations &#8211; </p>
<p>Whilst they have served me well in the past and I <i>may </i>feel tempted to use Virtuemart for a customer who:</p>
<p>a) Will n<i>ever ever</i> need any customisations done to it<br />b) Already has a Joomla installation and is very comfortable using Joomla</p>
<p>What&#8217;s the issue with Zencart, OSC or Virtuemart you may ask?</p>
<p>The issue is this. First OSCommerce is a mess. Every single module you ever add to it is a hack, making upgrades a pain in the ass. Zencart, being closely related to OSC is not much better. It&#8217;s modularity is a bit better laid out and so you can actually create / install modules with very little hacking, if any BUT it&#8217;s template system still suffers from it&#8217;s OSC origins. It&#8217;s an effort to try and template for them..yes, it&#8217;s possible but does it really have to be that hard? Joomla&#8217;s concept is 1000 times better in regards to templating and Virtuemart excels in this area due to it&#8217;s Joomla foundations.</p>
<p>The big problem with them is when you need to make modifications to the core cart to implement a particular feature a customer wants. We have had situations where a small feature for the client required 144 changes in the files of Virtuemart. As soon as a XSS or other security issue comes to light, we have two options</p>
<ol>
<li>Let it be, cross fingers and hope nothing happens (this really is not an option)</li>
<li>Inform customer, explain risks and give them compelling reasons to update (at their cost)</li>
<li>Our current solution is when we sign contracts with customers, we include a compulsory security updates fee, which means we update their site when new security releases come out. This has worked out best so far but still requires us to explain why we are giving a solution that isn&#8217;t inherently secure to begin with. Microsoft has made this easier to explain (daily updates anyone?) and for the most part, we can kill most XSS / SQL Injection attacks using Apache modsec rules but we really want to get beyond NEEDING to upgrade and therefore NEEDING to patch our mods into new releases of Virtuemart etc.</li>
</ol>
<p>So, without further ado, there looks to be two better alternatives that have come to the rescue recently that look very, very promising though we haven&#8217;t done any work with them yet, so I will report on that later.</p>
<p>In PHP land, we have <a target="_blank" href="http://www.magentocommerce.com/">Magento</a>. A very sexy, professional looking Open Source Ecommerce application that&#8217;s built upon the Zend MVC framework and claims to be able to develop extensions without touching core code. This, hopefully will fix our templating, modification and upgrade woes in a PHP solution. It has SEF URL&#8217;s built-in, google analytics built-in and a mini-CMS of sorts.</p>
<p>In Python land, we have <a target="_blank" href="http://www.satchmoproject.com/">Satchmo</a> an open source ecommerce application built on top of the Django framework, with a reasonable feature set.</p>
<p>As part of my toolbox, my thinking at this point is if we have a customer that needs a standard shop with little to no development work, Magento will be our tool. If the customer has very unique needs, integration with other systems and customisations, we will work with Django.</p>
<p>This is because PHP deployment is so easy, that our only need should be to produce templates in Magento. If development work is needed, deployment and templating become a trivial matter in Satchmo in comparison to the ability to develop in Django &amp; Python.</p>
<p>Would love to hear other&#8217;s experiences with any of the above&#8230; and of course any horror stories (or otherwise with OSC based development)</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensourcetutor.com/2008/05/28/open-source-ecommerce-alternatives-to-zencart-oscommerce-and-virtuemart/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

