<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.norio.be" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Norio - drupal</title>
 <link>http://www.norio.be/taxonomy/term/14/0</link>
 <description></description>
 <language>en</language>
<item>
 <title>Drush and rsync</title>
 <link>http://www.norio.be/blog/2009/12/drush-and-rsync</link>
 <description>&lt;p&gt;Both &lt;a href=&quot;http://drupal.org/project/drush&quot;&gt;drush&lt;/a&gt; and &lt;a href=&quot;http://www.samba.org/ftp/rsync/rsync.html&quot;&gt;rsync&lt;/a&gt; are handy tools to automate the deployment of Drupal sites. You just have to be careful how you combine them.&lt;!--break--&gt;&lt;/p&gt;
&lt;p&gt;In my development environment I have a local CVS checkout of drush and I use rsync to push that directory to the remote production server. This way I&#039;m sure both development and production use the same version of drush without the need to install a CVS client on the production server.&lt;/p&gt;
&lt;p&gt;Unfortunately my initial attempts to get drush running on the remote system always resulted in the following error message:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
The command &#039;drush.php help&#039; could not be found.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Initially I assumed there was something wrong with the path to the &lt;em&gt;drush&lt;/em&gt; executable or the code that detects the location of the &lt;em&gt;drush.php file&lt;/em&gt; but only after a while I found the real culprit.&lt;/p&gt;
&lt;p&gt;To reduce the number of files that need to be synced I used rsync&#039;s &lt;em&gt;--cvs-exclude&lt;/em&gt; option. This option makes rsync ignore certain files and directories in the same way CVS does. For example it will filter out all &lt;em&gt;CVS&lt;/em&gt; directories. It turns out that a lot more files get excluded:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
RCS SCCS CVS CVS.adm RCSLOG cvslog.* tags TAGS .make.state .nse_depinfo *~ #* .#* ,* _$* *$ *.old *.bak *.BAK *.orig *.rej .del-* *.a *.olb *.o *.obj *.so *.exe *.Z *.elc *.ln core .svn/ .git/ .bzr/
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Notice &lt;em&gt;core&lt;/em&gt; in that list? Guess in which directory drush keeps major parts of its code! By using the &lt;em&gt;--cvs-exclude&lt;/em&gt; option of rsync, my remote drush directory was missing approximately 2500 lines of PHP code resulting in the bizarre error message.&lt;/p&gt;
&lt;p&gt;The solution is to stop using the &lt;em&gt;--cvs-exclude&lt;/em&gt; option or use the &lt;em&gt;--filter&lt;/em&gt; option to tune the list of files to exclude during syncing.&lt;/p&gt;
</description>
 <comments>http://www.norio.be/blog/2009/12/drush-and-rsync#comments</comments>
 <category domain="http://www.norio.be/tags/drupal">drupal</category>
 <category domain="http://www.norio.be/tags/open-source">open source</category>
 <pubDate>Mon, 21 Dec 2009 10:03:20 +0000</pubDate>
 <dc:creator>litrik</dc:creator>
 <guid isPermaLink="false">150 at http://www.norio.be</guid>
</item>
<item>
 <title>Using content-check.pl to monitor a Drupal site</title>
 <link>http://www.norio.be/blog/2009/10/using-content-checkpl-monitor-drupal-site</link>
 <description>&lt;p&gt;One of the scripts in my bag of tools to check whether a site is still up and running is &lt;a href=&quot;http://prefetch.net/code/content-check&quot;&gt;content-check.pl&lt;/a&gt;. This little script compares the hash of a web page against a previously created reference hash. If the content of the web page has modified, this script will detect it and send an email. &lt;/p&gt;
&lt;p&gt;You have to be very careful which page you check because even the slightest difference in the HTML source will be detected.&lt;/p&gt;
&lt;p&gt;In Drupal you should not use any page that contains a form because each time the form is rendered a unique form id is generated and inserted into the HTML. This results in a different page hash and will cause the script to send an warning email.&lt;/p&gt;
&lt;p&gt;Keep in mind that, if you have enabled the &lt;em&gt;User login&lt;/em&gt; block, each page contains a small login form and is not a good candidate for monitoring through &lt;em&gt;content-check.pl&lt;/em&gt;. You might have to resort to monitoring your &lt;em&gt;update.php&lt;/em&gt; file instead.&lt;/p&gt;
</description>
 <comments>http://www.norio.be/blog/2009/10/using-content-checkpl-monitor-drupal-site#comments</comments>
 <category domain="http://www.norio.be/tags/drupal">drupal</category>
 <category domain="http://www.norio.be/tags/open-source">open source</category>
 <category domain="http://www.norio.be/tags/web-development">web development</category>
 <pubDate>Wed, 07 Oct 2009 16:38:07 +0000</pubDate>
 <dc:creator>litrik</dc:creator>
 <guid isPermaLink="false">143 at http://www.norio.be</guid>
</item>
<item>
 <title>Drupal 6 JavaScript and jQuery</title>
 <link>http://www.norio.be/blog/2009/06/drupal-6-javascript-and-jquery</link>
 <description>&lt;p&gt;Last week I received a copy of Matt Butcher&#039;s &quot;&lt;a href=&quot;http://www.packtpub.com/drupal-6-javascript-and-jquery/book&quot;&gt;Drupal 6 JavaScript and jQuery&lt;/a&gt;&quot; from Packt Publishing.&lt;/p&gt;
&lt;p&gt;The book starts off with a gentle introduction into Drupal modules, Drupal themes and jQuery. These first chapters are pretty boring if you are already familiar with Drupal development but they aid newcomers in getting up to speed.&lt;/p&gt;
&lt;p&gt;The next couple of chapters dive into the dark corners of Drupal&#039;s JavaScript capabilities. They explain things like Drupal behaviors, the JavaScript translation functions, the JavaScript theming functions and how to use AJAX. Each of these chapters is built around a very practical example that is analyzed thoroughly and each chapter also contains numerous tips about Drupal, JavaScript and jQuery. Good stuff!&lt;/p&gt;
&lt;p&gt;I&#039;ve learned quite a few things while reading this book so if you need to do any JavaScript or jQuery development in Drupal and if the cryptic &lt;a href=&quot;http://api.drupal.org/api/file/developer/topics/javascript_startup_guide.html/6&quot;&gt;JavaScript Startup Guide&lt;/a&gt; on drupal.org doesn&#039;t make a lot of sense to you than this book is definitely for you.&lt;/p&gt;
</description>
 <comments>http://www.norio.be/blog/2009/06/drupal-6-javascript-and-jquery#comments</comments>
 <category domain="http://www.norio.be/tags/drupal">drupal</category>
 <category domain="http://www.norio.be/tags/javascript">javascript</category>
 <category domain="http://www.norio.be/tags/jquery">jquery</category>
 <category domain="http://www.norio.be/tags/open-source">open source</category>
 <pubDate>Tue, 09 Jun 2009 14:58:26 +0000</pubDate>
 <dc:creator>litrik</dc:creator>
 <guid isPermaLink="false">133 at http://www.norio.be</guid>
</item>
<item>
 <title>Testing can be fun</title>
 <link>http://www.norio.be/blog/2009/04/testing-can-be-fun</link>
 <description>&lt;p&gt;Is writing Drupal tests boring? Maybe. Is running tests boring? Not anymore!&lt;/p&gt;
&lt;p&gt;There is a patch for Drupal 7 pending that introduces a couple of &lt;a href=&quot;http://drupal.org/node/407294&quot;&gt;new hooks into the simpletest module&lt;/a&gt;. These hooks will allow you to listen to the progress of a test run and react to tests that pass or fail. I have already created a new &lt;a href=&quot;http://drupal.org/project/testlistener&quot;&gt;testlistener module&lt;/a&gt; that uses these new hooks to execute shell commands.&lt;/p&gt;
&lt;p&gt;Some examples:&lt;/p&gt;
&lt;p&gt;I have a Dell XPS laptop with built-in LEDs that can be controlled using the &lt;a href=&quot;http://lists.us.dell.com/pipermail/libsmbios-devel/2007-March/000263.html&quot;&gt;dellLEDCtl&lt;/a&gt; shell command (Linux). Using these new hooks, I can turn the LEDs green at the start of a test run, make them red when a test fails and turn them off when the test run has completed. This is very similar to the functionality of my &lt;a href=&quot;http://code.google.com/p/eclipse-xps/&quot;&gt;Eclipse XPS plugin&lt;/a&gt; that shows JUnit results in Eclipse.&lt;/p&gt;
&lt;p&gt;Another (typical) example is to have two lava lamps, a red one and a green one. You connect both of them to an &lt;a href=&quot;http://en.wikipedia.org/wiki/X10_(industry_standard)&quot;&gt;X10&lt;/a&gt; device (I have an &lt;a href=&quot;http://www.intellihome.be/english/productview.asp?id=4&quot;&gt;X10 starterkit from IntelliHome&lt;/a&gt;) so you can turn them on/off with the &lt;a href=&quot;http://heyu.tanj.com/&quot;&gt;heyu&lt;/a&gt; shell command (Linux). The testlistener module allows you to let the lamps reflect the status of the Drupal code. &lt;a href=&quot;http://www.pragmaticautomation.com/cgi-bin/pragauto.cgi/Monitor/Devices/BubbleBubbleBuildsInTrouble.rdoc&quot;&gt;Other people&lt;/a&gt; are using this setup in their (non-Drupal) continuous integration environment.&lt;/p&gt;
&lt;p&gt;If lamps are too soft for you, you might consider &lt;a href=&quot;http://www.thinkgeek.com/geektoys/warfare/8bc4/&quot;&gt;shooting missiles&lt;/a&gt; instead.&lt;/p&gt;
&lt;p&gt;Drupal testing will never be boring again ;)&lt;/p&gt;
</description>
 <comments>http://www.norio.be/blog/2009/04/testing-can-be-fun#comments</comments>
 <category domain="http://www.norio.be/tags/drupal">drupal</category>
 <category domain="http://www.norio.be/tags/open-source">open source</category>
 <category domain="http://www.norio.be/tags/testing">testing</category>
 <category domain="http://www.norio.be/tags/x10">x10</category>
 <pubDate>Fri, 10 Apr 2009 11:06:08 +0000</pubDate>
 <dc:creator>litrik</dc:creator>
 <guid isPermaLink="false">123 at http://www.norio.be</guid>
</item>
<item>
 <title>Upcoming conferences</title>
 <link>http://www.norio.be/blog/2009/01/upcoming-conferences</link>
 <description>&lt;p&gt;I&#039;ll be attending 2 major conferences the next couple of weeks.&lt;/p&gt;
&lt;p&gt;First of all there&#039;s &lt;a href=&quot;http://www.fosdem.org/2009/&quot;&gt;FOSDEM&lt;/a&gt; in Brussels on February 7th and 8th. I&#039;m particularly interested in the &lt;a href=&quot;http://groups.drupal.org/fosdem-2009&quot;&gt;Drupal devroom on Sunday&lt;/a&gt;, but there are plenty of other open source &lt;a href=&quot;http://www.fosdem.org/2009/schedule/tracks&quot;&gt;sessions&lt;/a&gt; throughout the weekend.&lt;/p&gt;
&lt;p&gt;The second conference I&#039;ll be attending is &lt;a href=&quot;http://dc2009.drupalcon.org&quot;&gt;DrupalCon in Washington&lt;/a&gt; from March 4th until 7th. I expect to pick up a couple of tips and tricks about Drupal 6 and I hope to learn a lot about the upcoming changes in Drupal 7. I&#039;m pretty sure that being among that many Drupalistas will help me to find more ways to give something back to the community.&lt;/p&gt;
&lt;p&gt;I never attended FOSDEM nor DupalCon (and I haven&#039;t been in the US recently) so I&#039;m looking forward to both events!&lt;/p&gt;
</description>
 <comments>http://www.norio.be/blog/2009/01/upcoming-conferences#comments</comments>
 <category domain="http://www.norio.be/tags/drupal">drupal</category>
 <category domain="http://www.norio.be/tags/open-source">open source</category>
 <pubDate>Sat, 10 Jan 2009 12:47:54 +0000</pubDate>
 <dc:creator>litrik</dc:creator>
 <guid isPermaLink="false">113 at http://www.norio.be</guid>
</item>
<item>
 <title>Google Webmaster Central warns about hackable sites</title>
 <link>http://www.norio.be/blog/2008/10/google-webmaster-central-warns-about-hackable-sites</link>
 <description>&lt;p&gt;Google has just started testing &lt;a href=&quot;http://googlewebmastercentral.blogspot.com/2008/10/message-center-warnings-for-hackable.html&quot;&gt;a new service&lt;/a&gt; to inform webmasters that their CMS is vulnerable to security exploits. Currently they are only targetting administrators of sites running WordPress 2.1.1 but my guess is that they&#039;ll be adding support for other versions and other platforms in the future.&lt;/p&gt;
&lt;p&gt;I hope that they&#039;ll be adding support for Drupal as well because it doesn&#039;t matter how many security issues the &lt;a href=&quot;http://drupal.org/security&quot;&gt;Drupal security team&lt;/a&gt; fixes, webmasters still need to install the latest security patches and upgrades to make a difference in the field.&lt;/p&gt;
&lt;p&gt;Any initiative that helps administrators to keep their sites - running Drupal or anything else - safe is good.&lt;/p&gt;
</description>
 <comments>http://www.norio.be/blog/2008/10/google-webmaster-central-warns-about-hackable-sites#comments</comments>
 <category domain="http://www.norio.be/tags/drupal">drupal</category>
 <category domain="http://www.norio.be/tags/online-tools">online tools</category>
 <category domain="http://www.norio.be/tags/web-development">web development</category>
 <pubDate>Thu, 16 Oct 2008 18:10:39 +0000</pubDate>
 <dc:creator>litrik</dc:creator>
 <guid isPermaLink="false">97 at http://www.norio.be</guid>
</item>
<item>
 <title>Displaying a taxonomy term description at the top of a Drupal view</title>
 <link>http://www.norio.be/blog/2008/10/displaying-taxonomy-term-description-top-drupal-view</link>
 <description>&lt;p&gt;In Drupal, you can provide a description for each term in a taxonomy vocabulary. The default taxonomy term pages of Drupal 6 include the description at the top of each page (if only one term is present). Here&#039;s how you can achieve the same thing when using &lt;a href=&quot;http://drupal.org/project/views&quot;&gt;views&lt;/a&gt;.&lt;!--break--&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Make sure your theme has a &lt;em&gt;page.tpl.php&lt;/em&gt; file. My theme is a subtheme of &lt;a href=&quot;http://drupal.org/project/zen&quot;&gt;Zen&lt;/a&gt; so I copied the &lt;em&gt;page.tpl.php&lt;/em&gt; file from the &lt;em&gt;zen&lt;/em&gt; folder into my theme&#039;s folder.&lt;/li&gt;
&lt;li&gt;Create a duplicate of your theme&#039;s &lt;em&gt;page.tpl.php&lt;/em&gt; file and call it &lt;em&gt;page-taxonomy.tpl.php&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Edit the new &lt;em&gt;page-taxonomy.tpl.php&lt;/em&gt; file and add the following where you want the description to appear (for example at the end of the &lt;em&gt;content-header&lt;/em&gt;):&lt;br /&gt;
&lt;pre&gt;
&amp;lt;?php if ($taxonomy_term_description): ?&gt;
  &amp;lt;div id=&quot;taxonomy-term-description&quot;&gt;
    &amp;lt;?php print $taxonomy_term_description; ?&gt;
  &amp;lt;/div&gt;
&amp;lt;?php endif; ?&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;Edit your theme&#039;s &lt;em&gt;template.php&lt;/em&gt; file and add the following function:&lt;br /&gt;
&lt;pre&gt;
function yourtheme_preprocess_page(&amp;$vars, $hook) {
  $term = taxonomy_get_term(arg(2));
  $vars[&#039;taxonomy_term_description&#039;] = filter_xss_admin($term-&gt;description);
}
&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;After you clear your theme registry - by visting the &lt;em&gt;admin/build/modules&lt;/em&gt; page - the term description will be displayed at the top of the page showing your &lt;em&gt;taxonomy_term&lt;/em&gt; view.&lt;/p&gt;
</description>
 <comments>http://www.norio.be/blog/2008/10/displaying-taxonomy-term-description-top-drupal-view#comments</comments>
 <category domain="http://www.norio.be/tags/drupal">drupal</category>
 <category domain="http://www.norio.be/tags/open-source">open source</category>
 <pubDate>Tue, 07 Oct 2008 18:05:44 +0000</pubDate>
 <dc:creator>litrik</dc:creator>
 <guid isPermaLink="false">95 at http://www.norio.be</guid>
</item>
<item>
 <title>Comparison between Planet Drupal and other planets</title>
 <link>http://www.norio.be/blog/2008/09/comparison-between-planet-drupal-and-other-planets</link>
 <description>&lt;p&gt;Lately there has been &lt;a href=&quot;http://groups.drupal.org/node/14804&quot;&gt;some&lt;/a&gt; &lt;a href=&quot;http://groups.drupal.org/node/15332&quot;&gt;discussion&lt;/a&gt; about the number of posts (and their quality) on &lt;a href=&quot;http://drupal.org/planet&quot;&gt;Planet Drupal&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Personally I don&#039;t think Planet Drupal is hard to follow because of the large number of posts. There are plenty of other high profile planets with far more posts per day.&lt;!--break--&gt;&lt;/p&gt;
&lt;p&gt;Let&#039;s compare:&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;Planet&lt;/th&gt;
&lt;th style=&quot;text-align: right&quot;&gt;Posts per day&lt;/th&gt;
&lt;th style=&quot;text-align: right&quot;&gt;Feeds aggregated&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://planet.mozilla.org/&quot;&gt;Mozilla&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;18.2&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;234&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://planet.ubuntu.com/&quot;&gt;Ubuntu&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;17.5&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;271&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://planetapache.org/&quot;&gt;Apache&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;15.9&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;160&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://planet.gnome.org/&quot;&gt;GNOME&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;14.1&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;254&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://drupal.org/planet&quot;&gt;Drupal&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;12.5&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;261&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://www.planetandroid.com/&quot;&gt;Android&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;7.6&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;21&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://www.planet-php.net/&quot;&gt;PHP&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;6.6&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;97&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://www.planeteclipse.org/planet/&quot;&gt;Eclipse&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;6.3&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;169&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Note: The number of posts per day is based on the &lt;em&gt;Subscription trends&lt;/em&gt; for the last 30 days of my Google Reader.&lt;/p&gt;
&lt;p&gt;The question whether all posts on Planet Drupal are on-topic is harder to answer but in my opinion Planet Drupal is doing just fine. I would say that at least 95% of all posts are Drupal-related. People familiar with Planet Apache will confirm that you have to look really hard to find any posts about Apache software among all those holiday pictures.&lt;/p&gt;
&lt;p&gt;It is probably true that not all posts on Planet Drupal have the same high quality writing - I&#039;m not even convinced that this posts has - but that is all part of the mission of Planet Drupal: &lt;em&gt;&quot;Planet Drupal aggregates broadly appealing, Drupal-related blog posts pertaining to the community at large (code, advocacy, marketing, infrastructure etc.)&quot;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;In the end, it is really easy to skip a post in your favorite feed reader, isn&#039;t it?&lt;/p&gt;
&lt;p&gt;PS: I think it is far more annoying that the feed of Planet Drupal contains only teasers instead of full posts. Whenever something really interesting appears I have to click to read the full post. Most other planets only accept feeds with full posts.&lt;/p&gt;
</description>
 <comments>http://www.norio.be/blog/2008/09/comparison-between-planet-drupal-and-other-planets#comments</comments>
 <category domain="http://www.norio.be/tags/drupal">drupal</category>
 <category domain="http://www.norio.be/tags/open-source">open source</category>
 <pubDate>Sat, 27 Sep 2008 07:47:16 +0000</pubDate>
 <dc:creator>litrik</dc:creator>
 <guid isPermaLink="false">93 at http://www.norio.be</guid>
</item>
<item>
 <title>Migrating to Drupal 6: hook_auth() and hook_info()</title>
 <link>http://www.norio.be/blog/2008/08/migrating-drupal-6-hookauth-and-hookinfo</link>
 <description>&lt;p&gt;Recently I have upgraded a customer site from Drupal 5 to Drupal 6. The site contains a number of custom modules that required considerable work because of some &lt;a href=&quot;http://drupal.org/node/114774&quot;&gt;changes in the Drupal API&lt;/a&gt;. One of the API changes is the &lt;a href=&quot;http://drupal.org/node/114774#dist-auth&quot;&gt;removal&lt;/a&gt; of &lt;a href=&quot;http://api.drupal.org/api/function/hook_info/5&quot;&gt;hook_info&lt;/a&gt; and &lt;a href=&quot;http://api.drupal.org/api/function/hook_auth/5&quot;&gt;hook_auth&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The new authentication mechanism has two advantages:&lt;/p&gt;
&lt;p&gt;First of all, two authentication-specific hooks have been eliminated. There is no replacement hook, instead you must use &lt;a href=&quot;http://api.drupal.org/api/function/hook_form_alter/6&quot;&gt;hook_form_alter&lt;/a&gt; to replace the built-in validation functions of the user login form. This is a more general and more flexible approach and it shows the power of the current form API. You can check &lt;a href=&quot;http://api.drupal.org/api/function/user_login_block/6&quot;&gt;user_login_block&lt;/a&gt; and &lt;a href=&quot;http://api.drupal.org/api/function/user_login_default_validators/6&quot;&gt;user_login_default_validators&lt;/a&gt; for examples.&lt;/p&gt;
&lt;p&gt;Secondly, there is a lot more flexibility to do error reporting when authentication fails. In Drupal 5 when hook_auth returned false, Drupal would always display the error message &lt;em&gt;&quot;Sorry, unrecognized username or password. Have you forgotten your password?&quot;&lt;/em&gt; even though the real problem might be something else, for example a remote server responsible for doing the actual verification of the password is not available. In Drupal 6 you can fully control which messages get displayed during an authentication failure.&lt;/p&gt;
&lt;p&gt;Even though there is some work involved to migrate custom authentication functionality to Drupal 6, the end result is code that is much cleaner and more powerful.&lt;/p&gt;
</description>
 <comments>http://www.norio.be/blog/2008/08/migrating-drupal-6-hookauth-and-hookinfo#comments</comments>
 <category domain="http://www.norio.be/tags/drupal">drupal</category>
 <pubDate>Tue, 26 Aug 2008 08:28:59 +0000</pubDate>
 <dc:creator>litrik</dc:creator>
 <guid isPermaLink="false">80 at http://www.norio.be</guid>
</item>
<item>
 <title>Expectations and the paradox of choice</title>
 <link>http://www.norio.be/blog/2008/08/expectations-and-paradox-choice</link>
 <description>&lt;p&gt;There is an interesting presentation by psychologist Barry Schwartz at &lt;a href=&quot;http://www.ted.com&quot;&gt;TED&lt;/a&gt; called &quot;The paradox of choice&quot;. He explains why people are not better off when there is too much choice.&lt;!--break--&gt;&lt;/p&gt;
&lt;p&gt;He claims:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Some choice is better than none. But it doesn&#039;t follow from that, that more choice is better than some.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;His explanation makes sense:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;The more options there are, the easier it is to regret anything at all that is disappointing about the option that you chose.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I think he has a valid point. A point which is also true in software:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How does a customer know which of the 6 (different?) &lt;a href=&quot;http://en.wikipedia.org/wiki/Windows_Vista_editions&quot;&gt;versions of Windows Vista&lt;/a&gt; he should choose?&lt;/li&gt;
&lt;li&gt;I&#039;m using Ubuntu but maybe another distribution would be better for me. There are &lt;a href=&quot;http://distrowatch.com/&quot;&gt;so many distributions to choose from&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;There are &lt;a href=&quot;http://drupal.org/node/208456&quot;&gt;a dozen WYSIWYG editor modules for Drupal&lt;/a&gt;. How do I pick the right one?&lt;/li&gt;
&lt;li&gt;After you install 6 Eclipse projects the update manager contains more than 40 update sites showing hundreds of available plug-ins. When I want to install something extra, how do I know which plug-in I should select?&lt;/li&gt;
&lt;li&gt;Which of the &lt;a href=&quot;http://www.docbook.org/tdg/en/html/part2.html&quot;&gt;417 Docbook elements&lt;/a&gt; do I really need to write my text?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&#039;m not saying that there should be no choice at all but very often there is simply too much choice and investigating all possible options takes too much time. Luckily Barry Schwartz reveals how to be happy with the choices you make:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;The secret to happiness is &quot;low expectations&quot;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;You can watch the presentation below or over at &lt;a href=&quot;http://www.ted.com/index.php/talks/barry_schwartz_on_the_paradox_of_choice.html&quot;&gt;TED&lt;/a&gt;:&lt;!--cut and paste--&gt;&lt;/p&gt;
&lt;object classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; codebase=&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0&quot; width=&quot;320&quot; height=&quot;285&quot; id=&quot;VE_Player&quot; align=&quot;middle&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.videoegg.com/ted/flash/loader.swf&quot;&gt;&lt;PARAM NAME=&quot;FlashVars&quot; VALUE=&quot;bgColor=FFFFFF&amp;file=http://static.videoegg.com/ted/movies/BARRYSCHWARTZ_high.flv&amp;autoPlay=false&amp;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&amp;forcePlay=false&amp;logo=&amp;allowFullscreen=true&quot;&gt;&lt;param name=&quot;quality&quot; value=&quot;high&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#FFFFFF&quot;&gt;&lt;param name=&quot;scale&quot; value=&quot;noscale&quot;&gt;&lt;param name=&quot;wmode&quot; value=&quot;window&quot;&gt;&lt;embed src=&quot;http://static.videoegg.com/ted/flash/loader.swf&quot; FlashVars=&quot;bgColor=FFFFFF&amp;file=http://static.videoegg.com/ted/movies/BARRYSCHWARTZ_high.flv&amp;autoPlay=false&amp;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&amp;forcePlay=false&amp;logo=&amp;allowFullscreen=true&quot; quality=&quot;high&quot; allowScriptAccess=&quot;always&quot; bgcolor=&quot;#FFFFFF&quot; scale=&quot;noscale&quot; wmode=&quot;window&quot; width=&quot;320&quot; height=&quot;285&quot; name=&quot;VE_Player&quot; align=&quot;middle&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot;&gt;&lt;/object&gt;</description>
 <comments>http://www.norio.be/blog/2008/08/expectations-and-paradox-choice#comments</comments>
 <category domain="http://www.norio.be/tags/drupal">drupal</category>
 <category domain="http://www.norio.be/tags/eclipse">eclipse</category>
 <category domain="http://www.norio.be/tags/open-source">open source</category>
 <category domain="http://www.norio.be/tags/ubuntu">ubuntu</category>
 <pubDate>Fri, 22 Aug 2008 10:00:51 +0000</pubDate>
 <dc:creator>litrik</dc:creator>
 <guid isPermaLink="false">79 at http://www.norio.be</guid>
</item>
</channel>
</rss>
