<?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>All Night Diner &#187; Drupal</title>
	<atom:link href="http://micropipes.com/blog/tag/drupal/feed/" rel="self" type="application/rss+xml" />
	<link>http://micropipes.com/blog</link>
	<description>because at 3am anything sounds good</description>
	<lastBuildDate>Mon, 03 May 2010 17:34:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Frameworks that start sessions for every visitor make me sad</title>
		<link>http://micropipes.com/blog/2008/03/06/frameworks-that-start-sessions-for-every-visitor-make-me-sad/</link>
		<comments>http://micropipes.com/blog/2008/03/06/frameworks-that-start-sessions-for-every-visitor-make-me-sad/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 07:00:48 +0000</pubDate>
		<dc:creator>Wil Clouser</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[AMO]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[scalability]]></category>

		<guid isPermaLink="false">http://micropipes.com/blog/2008/03/06/frameworks-that-start-sessions-for-every-visitor-make-me-sad/</guid>
		<description><![CDATA[I might have played the devil&#8217;s advocate when Lars was hating on frameworks at the barcamp last weekend, but that doesn&#8217;t mean I don&#8217;t see his point.  The latest in a series of frustrations with frameworks kept me up until 3am last night.  What better way to cap it off than complaining on [...]]]></description>
			<content:encoded><![CDATA[<p>I might have played the devil&#8217;s advocate when <a href="http://staff.osuosl.org/~lohnk/blog/">Lars</a> was hating on frameworks at the <a href="http://barcamp.org/BeaverBarCamp">barcamp</a> last weekend, but that doesn&#8217;t mean I don&#8217;t see his point.  The latest in a series of frustrations with frameworks kept me up until 3am last night.  What better way to cap it off than complaining on the internet?</p>
<p>Today&#8217;s subject is anonymous sessions.  Frameworks (and developers) love them because they are simple and convenient, but it comes at a cost.  Keeping track of sessions for every visitor on a high traffic site is far too expensive to be practical.  Developers should know how to work around this, but their frameworks need to support them.</p>
<p>The first framework on my mind is <a href="http://drupal.org/">Drupal</a>.  I filed <a href="http://drupal.org/node/201122">an issue</a> last year that Drupal should support disabling anonymous sessions.  It&#8217;s still unassigned so I&#8217;m guessing it&#8217;s not a high priority, but it was one of the main things that made me choose not to use Drupal on mozilla.com.  I <a href="http://drupal.org/node/183006">wrote some ideas</a> on how to handle it and got some responses from people suffering the same fate.  No word on any progress though.</p>
<p>The second framework, <a href="http://cakephp.org/">CakePHP</a>, has an AUTO_SESSION variable that, <a href="http://micropipes.com/blog/2008/01/07/cakephps-cache-that-wouldnt-quit/">just like $cacheQueries</a>, is far to easy to misplace faith in.</p>
<p>By setting AUTO_SESSION to false, you can&#8217;t read or write to the session.  Working as advertised?  Not so much.  If you take a closer look at what&#8217;s actually happening you&#8217;ll see that the session is still getting started, it&#8217;s just that CakePHP is blocking your access to it.  Even with AUTO_SESSION off, a cookie with a unique ID is set, and <strong>a row is still inserted into the sessions table</strong>.  That last part almost brought down <a href="https://addons.mozilla.org/">AMO</a> last night.  I wrote <a href="http://viewvc.svn.mozilla.org/vc/addons/trunk/site/cake/libs/controller/components/session.php?r1=10970&#038;r2=10969&#038;pathrev=10970">a patch that disables anonymous sessions for real</a>, but anyone that has talked to me about patching core code knows I don&#8217;t like to do it.</p>
<p>When you&#8217;re writing code, framework or not, don&#8217;t forget about scalability.</p>
]]></content:encoded>
			<wfw:commentRss>http://micropipes.com/blog/2008/03/06/frameworks-that-start-sessions-for-every-visitor-make-me-sad/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Quick overview of mozilla.com publishing process</title>
		<link>http://micropipes.com/blog/2007/12/19/quick-overview-of-mozillacom-publishing-process/</link>
		<comments>http://micropipes.com/blog/2007/12/19/quick-overview-of-mozillacom-publishing-process/#comments</comments>
		<pubDate>Thu, 20 Dec 2007 02:54:53 +0000</pubDate>
		<dc:creator>Wil Clouser</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://micropipes.com/blog/2007/12/19/quick-overview-of-mozillacom-publishing-process/</guid>
		<description><![CDATA[(apologies in advance to anyone without an LDAP account.  A lot of the links here point to content behind authentication.  If you&#8217;re really curious about what&#8217;s going on back there, you&#8217;re welcome to check out the Kubla source.)
Over the past couple of days I&#8217;ve felt a growing confusion about how the web infrastructure [...]]]></description>
			<content:encoded><![CDATA[<p><small>(apologies in advance to anyone without an <abbr title="Lightweight Directory Access Protocol">LDAP</abbr> account.  A lot of the links here point to content behind authentication.  If you&#8217;re really curious about what&#8217;s going on back there, you&#8217;re welcome to check out <a href="http://svn.mozilla.org/projects/kubla/">the Kubla source</a>.)</small></p>
<p>Over the past couple of days I&#8217;ve felt a growing confusion about how the web infrastructure works on <a href="http://www.mozilla.com/">www.mozilla.com</a>.  People are beginning to use <a href="http://wiki.mozilla.org/Kubla">Kubla</a> (it&#8217;s started with a small set and is steadily growing), and they&#8217;re asking some good questions that hopefully I can help answer here:</p>
<p>Firstly, I think everyone with access has already seen this diagram, but bear with me:</p>
<p><img src="http://people.mozilla.com/~clouserw/public/mozilla.com/mozilla_three_tier_publishing_process.png" title="Mozilla.com Three Tier Publishing Process" /></p>
<p>Fresh changes are committed to the first (top) tier &#8211; also referred to as &#8220;trunk&#8221;.  If you&#8217;re <a href="http://wiki.mozilla.org/Kubla:Documentation/Editing_Pages">making the change yourself</a> you&#8217;re actually affecting this tier.  You can preview any of the changes from the first tier on <a href="https://www-trunk.stage.mozilla.com">www-trunk.stage.mozilla.com</a>.</p>
<p>The second tier (also known as &#8220;stage&#8221; or &#8220;staging&#8221;) is where changes are previewed before they are pushed live.  When something is <a href="http://wiki.mozilla.org/Kubla:Documentation/Merging_Pages">pushed from trunk to stage</a> it will be on this second tier and viewable at <a href="https://www.stage.mozilla.com">www.stage.mozilla.com</a>.  To get to this tier, a change needs to be approved by a human (a publisher in Kubla).  If you have access and you want to see the differences between trunk and staging, look at the <a href="https://kubla.mozilla.com/queue/stage">staging queue</a>.</p>
<p>The final tier is our live site (or &#8220;production&#8221;).  Anything pushed on to this tier will be on <a href="http://www.mozilla.com/">www.mozilla.com</a> within an hour, automatically.  To get to this tier, a change needs to be approved by <a href="https://intranet.mozilla.org/Mozilla_com_approvals">an admin in Kubla</a>.  The differences between the staging site and the live site can be seen in the <a href="https://kubla.mozilla.com/queue/prod">production queue</a>.</p>
<p>One of the main things to remember is that changes are not instantaneous.  Moving a change from trunk to stage and stage to production both require human interaction.  The staging site and the production site are updated periodically (Kubla shows an estimated time to next update on the left hand menu when you log in).  For production particularly, this is definitely an estimate.  The updates still need to rsync to our servers and then the aggressive caching in front of them needs to expire.  Generally that&#8217;s an additional 15 minutes.</p>
<p>For changes that need to go out together or at a specific time we can speed up some of this process, but it becomes less automatic the faster we want it to go.  For most updates the automatic systems should work fine.  As always, I&#8217;m happy to answer questions if you have them, either about this process or Kubla itself.</p>
]]></content:encoded>
			<wfw:commentRss>http://micropipes.com/blog/2007/12/19/quick-overview-of-mozillacom-publishing-process/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>June PDX Drupal Meetup</title>
		<link>http://micropipes.com/blog/2007/06/14/june-pdx-drupal-meetup/</link>
		<comments>http://micropipes.com/blog/2007/06/14/june-pdx-drupal-meetup/#comments</comments>
		<pubDate>Thu, 14 Jun 2007 09:17:41 +0000</pubDate>
		<dc:creator>Wil Clouser</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[pdx]]></category>

		<guid isPermaLink="false">http://micropipes.com/blog/2007/06/14/june-pdx-drupal-meetup/</guid>
		<description><![CDATA[I caught wind of a  Drupal meetup tonight, and since I&#8217;m going to be working with Drupal in the near future I thought I&#8217;d stop by and check it out.  My main goal was to hear about other people&#8217;s experiences using Drupal in a multilingual environment.
This was my first time attending one of [...]]]></description>
			<content:encoded><![CDATA[<p>I caught wind of a  <a href="http://groups.drupal.org/node/4040">Drupal meetup</a> tonight, and since I&#8217;m <a href="http://blog.mozilla.com/webdev/2007/06/12/kubla-is-dead-long-live-kubla/">going to be working with Drupal in the near future</a> I thought I&#8217;d stop by and check it out.  My main goal was to hear about other people&#8217;s experiences using Drupal in a multilingual environment.</p>
<p>This was my first time attending one of their meetings, but I think the turn out was impressive for such an informal get-together (I&#8217;m guessing around thirty people showed up).  There were several newcomers to Drupal that were just wondering what the buzz was about and how it could make their lives easier.  After some introductions, the talk flowed mainly around nodes vs. pages, views and <abbr title="Content Construction Kit">CCK</abbr>.  I think a lot of people got their questions answered and got a jump start on their projects.</p>
<p>On the multilingual side of things, I was not so fortunate.  By the end of the night, I didn&#8217;t find anyone who was already using Drupal in more than one language.  A couple people mentioned waiting for <a href="http://drupal.org/drupal-6-status-update">Drupal 6</a> with it&#8217;s pile of <abbr title="Internationalization">i18n</abbr> additions, but that&#8217;s not really an option at this point since I need to get something up and working.  So, my plan is still to stride boldly forward, armed with a list of modules people mentioned (I&#8217;ll post more on that once I have a chance to use them), and <a href="http://www.amazon.com/Pro-Drupal-Development-John-VanDyk/dp/1590597559/ref=pd_bbs_sr_1/002-4981708-6412006?ie=UTF8&#038;s=books&#038;qid=1181809998&#038;sr=8-1">my newfound friend</a>.</p>
<p>After the meeting was over, I lost track of time while meeting people and sharing ideas.  Eventually our conversations migrated into the parking lot, and we decided we should all go home and sleep before the sun started rising again.  </p>
<p>Overall it was definitely worth going &#8211; I didn&#8217;t learn what I went for, but I got some good ideas (not just about Drupal!) and met a bunch of new people.  If you&#8217;re in the area and have an interest in Drupal, it&#8217;s a great place to meet others and see what kinds of things they&#8217;re doing with it in the real world.  Thanks to <a href="http://codeelements.com/">Sam Keen</a> for organizing and the <a href="http://www.busproject.org/">bus project</a> for providing the meeting space.</p>
]]></content:encoded>
			<wfw:commentRss>http://micropipes.com/blog/2007/06/14/june-pdx-drupal-meetup/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
