<?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: Comparing Django/Rails to Plone</title>
	<atom:link href="http://www.jrandolph.com/blog/2005/07/18/comparing-djangorails-to-plone/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jrandolph.com/blog/2005/07/18/comparing-djangorails-to-plone/</link>
	<description>software development and testing</description>
	<lastBuildDate>Thu, 24 Apr 2008 12:51:01 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: felix</title>
		<link>http://www.jrandolph.com/blog/2005/07/18/comparing-djangorails-to-plone/comment-page-1/#comment-225</link>
		<dc:creator>felix</dc:creator>
		<pubDate>Tue, 22 Nov 2005 13:58:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=9#comment-225</guid>
		<description>Swappable authorization systems should be standard on all web software.  Every bulletin board, bug tracker and CMS should have a standard swappable authorization API.  It is such a common problem that people are chained to some old bulletin board and somebody else wrote their own auth for another part of the site etc...

While Rails has one auth system currently, there are others for Rails and there will be other still to come.  Which is at is should be I think, not that Rails HAS such and such a system.

For my own framework (PHP) that I have used for several clients, I have all the auth and user access functions defined in one file, and I have been able to insert my app into drupal, twiki, xoops quite easily.</description>
		<content:encoded><![CDATA[<p>Swappable authorization systems should be standard on all web software.  Every bulletin board, bug tracker and CMS should have a standard swappable authorization API.  It is such a common problem that people are chained to some old bulletin board and somebody else wrote their own auth for another part of the site etc&#8230;</p>
<p>While Rails has one auth system currently, there are others for Rails and there will be other still to come.  Which is at is should be I think, not that Rails HAS such and such a system.</p>
<p>For my own framework (PHP) that I have used for several clients, I have all the auth and user access functions defined in one file, and I have been able to insert my app into drupal, twiki, xoops quite easily.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Groovie</title>
		<link>http://www.jrandolph.com/blog/2005/07/18/comparing-djangorails-to-plone/comment-page-1/#comment-65</link>
		<dc:creator>Groovie</dc:creator>
		<pubDate>Sat, 06 Aug 2005 00:28:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=9#comment-65</guid>
		<description>&lt;strong&gt;Making Decisions for Others&lt;/strong&gt;

_Reading the last post would help greatly for this one, and I should note that this post does end up comparing aspects of Django with Rails _ As I mentioned in my last post, Rails has been greatly helped by...</description>
		<content:encoded><![CDATA[<p><strong>Making Decisions for Others</strong></p>
<p>_Reading the last post would help greatly for this one, and I should note that this post does end up comparing aspects of Django with Rails _ As I mentioned in my last post, Rails has been greatly helped by&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lonely Lion - Django First Impressions</title>
		<link>http://www.jrandolph.com/blog/2005/07/18/comparing-djangorails-to-plone/comment-page-1/#comment-64</link>
		<dc:creator>Lonely Lion - Django First Impressions</dc:creator>
		<pubDate>Thu, 04 Aug 2005 20:38:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=9#comment-64</guid>
		<description>[...] ntil I try and build something substantial with it.  Paraphrasing what Jason writes in his blog Django is sort of between Myghty and Plone in terms of the ratio of what you get for free, and how much y [...]</description>
		<content:encoded><![CDATA[<p>[...] ntil I try and build something substantial with it.  Paraphrasing what Jason writes in his blog Django is sort of between Myghty and Plone in terms of the ratio of what you get for free, and how much y [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Julian</title>
		<link>http://www.jrandolph.com/blog/2005/07/18/comparing-djangorails-to-plone/comment-page-1/#comment-60</link>
		<dc:creator>Julian</dc:creator>
		<pubDate>Wed, 20 Jul 2005 01:39:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=9#comment-60</guid>
		<description>Yeah, authentication and authorisation.  That is such a pain.

It&#039;s the main reason I&#039;m sticking with Plone.

But yeah, I agree with Ian Bicking.  A while back, why didn&#039;t anyone develop something in Apache to handle universal authentication.

I mean, try explaining to people in a company intranet that, yes, they need to log into Bugzilla, and yes, they need to log into the CRM...</description>
		<content:encoded><![CDATA[<p>Yeah, authentication and authorisation.  That is such a pain.</p>
<p>It&#8217;s the main reason I&#8217;m sticking with Plone.</p>
<p>But yeah, I agree with Ian Bicking.  A while back, why didn&#8217;t anyone develop something in Apache to handle universal authentication.</p>
<p>I mean, try explaining to people in a company intranet that, yes, they need to log into Bugzilla, and yes, they need to log into the CRM&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ian Bicking</title>
		<link>http://www.jrandolph.com/blog/2005/07/18/comparing-djangorails-to-plone/comment-page-1/#comment-58</link>
		<dc:creator>Ian Bicking</dc:creator>
		<pubDate>Tue, 19 Jul 2005 17:12:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=9#comment-58</guid>
		<description>Authentication is hard.  Zope authentication seems nice, until you need to do something non-standard and it kicks you in the ass.  The new pluggable auth stuff will probably help tremendously there, but up until that it was pretty hard to work with.  It&#039;s not Zope&#039;s fault exactly (though there was some early misdesign of the auth system); Zope (as mentioned here) tried what other Python systems (and Rails and PHP) didn&#039;t try.

Ultimately, though, I don&#039;t think applications are the right place to handle authentication (authorization definitely, but not authentication).  It works fine when you have one app.  It works fine when you are a 100% Rails, or 100% Django, or 100%-whatever shop.  But really, how realistic is that?  If there&#039;s anyplace that is ripe for inter-framework and inter-language cooperation, authentication is it.</description>
		<content:encoded><![CDATA[<p>Authentication is hard.  Zope authentication seems nice, until you need to do something non-standard and it kicks you in the ass.  The new pluggable auth stuff will probably help tremendously there, but up until that it was pretty hard to work with.  It&#8217;s not Zope&#8217;s fault exactly (though there was some early misdesign of the auth system); Zope (as mentioned here) tried what other Python systems (and Rails and PHP) didn&#8217;t try.</p>
<p>Ultimately, though, I don&#8217;t think applications are the right place to handle authentication (authorization definitely, but not authentication).  It works fine when you have one app.  It works fine when you are a 100% Rails, or 100% Django, or 100%-whatever shop.  But really, how realistic is that?  If there&#8217;s anyplace that is ripe for inter-framework and inter-language cooperation, authentication is it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ToddG</title>
		<link>http://www.jrandolph.com/blog/2005/07/18/comparing-djangorails-to-plone/comment-page-1/#comment-57</link>
		<dc:creator>ToddG</dc:creator>
		<pubDate>Tue, 19 Jul 2005 00:02:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=9#comment-57</guid>
		<description>I&#039;ve gotten a similar impression regarding authz with Rails. Also with CherryPy, Mason, etc. etc. -- almost every other webapp framework out there. 

Pretty much always comes down to numerous people saying &quot;it&#039;s dependent on your specific situation&quot;. Seems to me most of the time it isn&#039;t though, and what makes Rails (and others) so handy for rapid dev is they acknowledge most apps are similar in more ways than not. But still most leave out this component. I don&#039;t understand why really...</description>
		<content:encoded><![CDATA[<p>I&#8217;ve gotten a similar impression regarding authz with Rails. Also with CherryPy, Mason, etc. etc. &#8212; almost every other webapp framework out there. </p>
<p>Pretty much always comes down to numerous people saying &#8220;it&#8217;s dependent on your specific situation&#8221;. Seems to me most of the time it isn&#8217;t though, and what makes Rails (and others) so handy for rapid dev is they acknowledge most apps are similar in more ways than not. But still most leave out this component. I don&#8217;t understand why really&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Josh</title>
		<link>http://www.jrandolph.com/blog/2005/07/18/comparing-djangorails-to-plone/comment-page-1/#comment-56</link>
		<dc:creator>Josh</dc:creator>
		<pubDate>Mon, 18 Jul 2005 23:14:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=9#comment-56</guid>
		<description>Salted hash. Must taste funny. Plus, you&#039;d be thirsty _and_ have the munchies.</description>
		<content:encoded><![CDATA[<p>Salted hash. Must taste funny. Plus, you&#8217;d be thirsty <em>and</em> have the munchies.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason Huggins</title>
		<link>http://www.jrandolph.com/blog/2005/07/18/comparing-djangorails-to-plone/comment-page-1/#comment-53</link>
		<dc:creator>Jason Huggins</dc:creator>
		<pubDate>Mon, 18 Jul 2005 15:29:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=9#comment-53</guid>
		<description>Regarding internationalization and accessibility... Because Plone is more of a customizable application with lots more done for you already than in Rails... there are far more &quot;guide posts&quot; for you to follow on these two issues. Most of the Plone UI is multilingual out of the box (perhaps a reason it is so popular in Europe!), and is already compliant with US Section 508 (http://www.section508.gov/). If you play by  Plone&#039;s rules on these topics, there is less work for you, the app developer, to do if you care about these things. But sometimes, those rules can feel restrictive if you don&#039;t care about it and want to be more creative in your UI design.</description>
		<content:encoded><![CDATA[<p>Regarding internationalization and accessibility&#8230; Because Plone is more of a customizable application with lots more done for you already than in Rails&#8230; there are far more &#8220;guide posts&#8221; for you to follow on these two issues. Most of the Plone UI is multilingual out of the box (perhaps a reason it is so popular in Europe!), and is already compliant with US Section 508 (<a href="http://www.section508.gov/" rel="nofollow">http://www.section508.gov/</a>). If you play by  Plone&#8217;s rules on these topics, there is less work for you, the app developer, to do if you care about these things. But sometimes, those rules can feel restrictive if you don&#8217;t care about it and want to be more creative in your UI design.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason Huggins</title>
		<link>http://www.jrandolph.com/blog/2005/07/18/comparing-djangorails-to-plone/comment-page-1/#comment-52</link>
		<dc:creator>Jason Huggins</dc:creator>
		<pubDate>Mon, 18 Jul 2005 15:20:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=9#comment-52</guid>
		<description>Yes, Rails&#039; login generator provides good &quot;authentication&quot; security, but I also need good &quot;authorization&quot; security. I see that Salted Hash provides some authorization hooks, but I can&#039;t find helpful docs on this. After reading the Rails documentation and a fair amount of googling... I&#039;m left with the impression that authorization is largely &quot;roll your own&quot; and &quot;good luck&quot; kind of stuff in Rails. 

Here&#039;s a a summary of what I consider &quot;authorization&quot; security:
I want joe-user to be able to edit only his data, and I want joe-user to be able grant read/edit access to other friends of his choosing, and I want some folks in Finance to edit anyone&#039;s content, including joe-user&#039;s.

The common pattern for this is with roles and permission lists. Joe has a &quot;user&quot; role and has the &quot;create timesheet&quot; permission. Suzy in Finance has the &quot;finance&quot; role, and thus inherits the &quot;create timesheets for anyone&quot; permission. And sharing is taken care of with &quot;grant&quot; options.

This authorization setup is &quot;been there, done that&quot; kind of stuff in Windows, Linux, ERP apps like PeopleSoft, and relational databases like Oracle, and in Zope/Plone. I&#039;ve had a tough time trying to find how to do this kind of thing in Rails and CherryPy. (I don&#039;t want to pick on Django too much on this point since it is so new, and I&#039;m still kicking its tires.) 

The Rails wiki chapter on security covers plugging security holes--- not authentication, nor authorization. The Salted Hash Login Generator wiki page has a big warning at the top saying &quot;This appears to be broken in rails 0.13&quot;. And many blog posts I read about &quot;my first rails app&quot; seem to mention the work they did on rolling their own user permissions models and code. 
A famous post comparing Rails to Java briefly mentions rolling his own security authorization. (http://www.relevancellc.com/blogs/?p=31) When the post was slashdotted, no one seemed to comment to the fact he had to write his own authorization code. (This is odd to me, but maybe no one else thinks so?) I see that the table of contents in &quot;Agile Web Development in Rails&quot; includes a sub-section called &quot;Limiting Access&quot;, perhaps that is what I&#039;m looking for... But do I really have to spend $22.50 to get this kind of information?

Maybe this kind of stuff is just so much easier to write in Rails, but I doubt it. Plus, I feel authorization is something that should be in the framework, with lots of eyeballs looking at it to plug holes in the common parts. Imagine if you had to roll your own user, roles and permissions machinery on every OS install you did! 

I&#039;d be very, very happy if I was proven wrong about this, and someone could point out Rails&#039; philosophy on roles, permissions, and user access. (Perhaps I should ask this question on the Rails mailing list or IRC before I make any more sweeping generalizations. :-)</description>
		<content:encoded><![CDATA[<p>Yes, Rails&#8217; login generator provides good &#8220;authentication&#8221; security, but I also need good &#8220;authorization&#8221; security. I see that Salted Hash provides some authorization hooks, but I can&#8217;t find helpful docs on this. After reading the Rails documentation and a fair amount of googling&#8230; I&#8217;m left with the impression that authorization is largely &#8220;roll your own&#8221; and &#8220;good luck&#8221; kind of stuff in Rails. </p>
<p>Here&#8217;s a a summary of what I consider &#8220;authorization&#8221; security:<br />
I want joe-user to be able to edit only his data, and I want joe-user to be able grant read/edit access to other friends of his choosing, and I want some folks in Finance to edit anyone&#8217;s content, including joe-user&#8217;s.</p>
<p>The common pattern for this is with roles and permission lists. Joe has a &#8220;user&#8221; role and has the &#8220;create timesheet&#8221; permission. Suzy in Finance has the &#8220;finance&#8221; role, and thus inherits the &#8220;create timesheets for anyone&#8221; permission. And sharing is taken care of with &#8220;grant&#8221; options.</p>
<p>This authorization setup is &#8220;been there, done that&#8221; kind of stuff in Windows, Linux, ERP apps like PeopleSoft, and relational databases like Oracle, and in Zope/Plone. I&#8217;ve had a tough time trying to find how to do this kind of thing in Rails and CherryPy. (I don&#8217;t want to pick on Django too much on this point since it is so new, and I&#8217;m still kicking its tires.) </p>
<p>The Rails wiki chapter on security covers plugging security holes&#8212; not authentication, nor authorization. The Salted Hash Login Generator wiki page has a big warning at the top saying &#8220;This appears to be broken in rails 0.13&#8243;. And many blog posts I read about &#8220;my first rails app&#8221; seem to mention the work they did on rolling their own user permissions models and code.<br />
A famous post comparing Rails to Java briefly mentions rolling his own security authorization. (<a href="http://www.relevancellc.com/blogs/?p=31" rel="nofollow">http://www.relevancellc.com/blogs/?p=31</a>) When the post was slashdotted, no one seemed to comment to the fact he had to write his own authorization code. (This is odd to me, but maybe no one else thinks so?) I see that the table of contents in &#8220;Agile Web Development in Rails&#8221; includes a sub-section called &#8220;Limiting Access&#8221;, perhaps that is what I&#8217;m looking for&#8230; But do I really have to spend $22.50 to get this kind of information?</p>
<p>Maybe this kind of stuff is just so much easier to write in Rails, but I doubt it. Plus, I feel authorization is something that should be in the framework, with lots of eyeballs looking at it to plug holes in the common parts. Imagine if you had to roll your own user, roles and permissions machinery on every OS install you did! </p>
<p>I&#8217;d be very, very happy if I was proven wrong about this, and someone could point out Rails&#8217; philosophy on roles, permissions, and user access. (Perhaps I should ask this question on the Rails mailing list or IRC before I make any more sweeping generalizations. :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam Newman</title>
		<link>http://www.jrandolph.com/blog/2005/07/18/comparing-djangorails-to-plone/comment-page-1/#comment-49</link>
		<dc:creator>Sam Newman</dc:creator>
		<pubDate>Mon, 18 Jul 2005 08:43:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.jrandolph.com/blog/?p=9#comment-49</guid>
		<description>Concerning security, there is the salted hash login generator for Rails, which will secure your app - it even gives you support for stuff like signing up accounts and emailing lost passwords for free. There is also an internationalisation module for Rails, although I haven&#039;t used it myself.

The Ajax accesibility issue - well, there is nothing inherent in the Rails approach that stops people using it in an accessible way - I think you&#039;ll find that many people using Ajax outside of Rails aren&#039;t considering the accessibility issues either. And don&#039;t get caught up with blind people - if you want to support them you have a whole lot more work to do than not using Ajax - accessibility is about making websites accessibile to as many people as possible, and that includes people with older browsers (note I said accessible, not looking and behaving the same - the two are very different).</description>
		<content:encoded><![CDATA[<p>Concerning security, there is the salted hash login generator for Rails, which will secure your app &#8211; it even gives you support for stuff like signing up accounts and emailing lost passwords for free. There is also an internationalisation module for Rails, although I haven&#8217;t used it myself.</p>
<p>The Ajax accesibility issue &#8211; well, there is nothing inherent in the Rails approach that stops people using it in an accessible way &#8211; I think you&#8217;ll find that many people using Ajax outside of Rails aren&#8217;t considering the accessibility issues either. And don&#8217;t get caught up with blind people &#8211; if you want to support them you have a whole lot more work to do than not using Ajax &#8211; accessibility is about making websites accessibile to as many people as possible, and that includes people with older browsers (note I said accessible, not looking and behaving the same &#8211; the two are very different).</p>
]]></content:encoded>
	</item>
</channel>
</rss>

