<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0" xml:base="http://befused.com">
<channel>
 <title>Drupal Posts | be fused</title>
 <link>http://befused.com/drupal-feed</link>
 <description />
 <language>en</language>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/befused-drupal" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
 <title>Drupal Taxonomy vs Content Type Field</title>
 <link>http://feedproxy.google.com/~r/befused-drupal/~3/S4Dy5y9dDx4/taxonomy-content-field</link>
 <description>&lt;p&gt;&lt;a href="/drupal"&gt;Drupal&lt;/a&gt; ships with an incredibly powerful and flexible categorisation system, called &lt;a href="/drupal/taxonomy"&gt;Taxonomy&lt;/a&gt;. However, many developers and site builders get confused when trying to decide if something should be a taxonomy term or a field in its own right.&lt;/p&gt;
&lt;p&gt;There is not a hard and fast rule and people will give different advice. But as a general guidance, the following two questions should help in the decision making process:&lt;/p&gt;
&lt;p&gt;1) Will the term/item/field be present on more then one content type?&lt;br /&gt;
2) If the term/item/field is removed, does the content type still make sense?&lt;/p&gt;
&lt;p&gt;If the answer to the first question is yes, then in most cases I would recommend using &lt;em&gt;Taxonomy&lt;/em&gt;.&lt;br /&gt;
An example might be a food website with one content type being recipes and another being cooking tips. If both content types require a field called cuisine, which indicates the country or culture that the food is from (eg Italian cuisine), then cuisine should be a taxonomy. If a user is looking at the term page for Italian cuisine, then that user will see both recipes and cooking tips that have been tagged with "Italian cuisine". Similarly you could create a view page with both content types as filters to show related cuisine information.&lt;/p&gt;
&lt;p&gt;If the answer to the second question is yes, then again I would recommend using &lt;em&gt;Taxonomy&lt;/em&gt;. But it is not as clear cut as the first question. If the field can be removed and the content type still makes sense, then there is a good chance that in the future, another content type could be added with the same term/item/field. At that point in time you will ask yourself the first question, so by using taxonomy from the start, you will save yourself some time and effort in moving field data to a taxonomy.&lt;/p&gt;
&lt;p&gt;This is a pretty straight forward and simplified way of looking at the question of taxonomy vs content type field, but hopefully it will be of some help.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/befused-drupal/~4/S4Dy5y9dDx4" height="1" width="1"/&gt;</description>
 <comments>http://befused.com/drupal/taxonomy-content-field#comments</comments>
 <category domain="http://befused.com/taxonomy/term/98">CCK</category>
 <category domain="http://befused.com/drupal/taxonomy">Taxonomy</category>
 <pubDate>Mon, 14 Sep 2009 14:08:50 +0100</pubDate>
 <dc:creator>blairski</dc:creator>
 <guid isPermaLink="false">221 at http://befused.com</guid>
<feedburner:origLink>http://befused.com/drupal/taxonomy-content-field</feedburner:origLink></item>
<item>
 <title>Drupal for Publishers notes</title>
 <link>http://feedproxy.google.com/~r/befused-drupal/~3/Jj7TFG76GTA/drupal-for-publishers-notes</link>
 <description>&lt;p&gt;This week I attended the Drupal for Publishers event that was held at the Sun Microsystems office in central London. As the name suggests, the event was aimed squarely at publishers. I work for the UK&amp;#39;s biggest magazine publisher, so I thought I should attend!   I was not disappointed. &lt;/p&gt;
&lt;p&gt;There were some great presentations and I got some good tips. My only reservation about these sorts of events is that they are often aimed at those that are looking into Drupal as an option, rather then those that are already using it extensively. Although a good suggestion was made at the end for future events, which was to split it into two streams, one for the more technically minded and one for novices. That would certainly help.&lt;/p&gt;
&lt;p&gt;Here are my notes from the event. They certainly do not cover everything and maybe not be totally coherent.    &lt;/p&gt;
&lt;h2&gt;Nicolas Borda - Freelance Drupal Themer&lt;/h2&gt;
&lt;p&gt;  &lt;a href="http://www.edipresse.com"&gt;Edipresse&lt;/a&gt; has 200 newspaper and magazine websites worldwide. In the past 18 months, they have converted 11 websites to &lt;a href="/drupal"&gt;Drupal&lt;/a&gt;. They have cut IT costs by 75% and traffic has grown by 220% as a result of using Drupal.&lt;br /&gt;
&lt;h3&gt;Useful modules/techniques:&lt;/h3&gt;
&lt;p&gt; Use a node reference module to reference other nodes. Create a front page node and then select the nodes that you want to include on the home page.  &lt;a href="http://drupal.org/project/nodequeue"&gt;Node Queue&lt;/a&gt; module - Group, order and queue nodes&lt;br /&gt;
&lt;h3&gt;Profile:&lt;/h3&gt;
&lt;p&gt; &lt;a href="http://www.prosepoint.org"&gt;prosepoint.org&lt;/a&gt; is a newspaper system built using Drupal. &amp;quot;The morning after&amp;quot; is a good theme for newspaper sites.&lt;br /&gt;
&lt;h3&gt;Newspaper sites that use Drupal:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.observer.com"&gt;The New York Observer &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.theonion.com"&gt;The Onion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.secretsofthecity.com"&gt;Sectrets of the City &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.24heures.ch"&gt;24 heures &lt;/a&gt;(Edipresse)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.thelondonpaper.com"&gt;The London Paper  &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;   Aegar is a great multi sites manager.  &lt;a href="http://openatrium.com"&gt;Open Atrium&lt;/a&gt; is a Intranet system built by &lt;a href="http://www.developmentseed.org"&gt;Development Seed&lt;/a&gt; using Drupal.  &lt;/p&gt;
&lt;h2&gt;Simon Worthington - Metamute.org&lt;/h2&gt;
&lt;p&gt;  Innovation News installation profile Moreismore.net - network of interested parties. Uses organic groups.  tinka.cc - installation profile OPen ERP (non Drupal) - business process, inventory, sales system Scribbers - opensource desktop apps&lt;br /&gt;
&lt;h2&gt;Stewart Robinson - The Economist&lt;/h2&gt;
&lt;h3&gt;Why Drupal?&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Being in a community is better for your quality&lt;/li&gt;
&lt;li&gt;Innovation at less cost&lt;/li&gt;
&lt;li&gt;Drupal is socially based, whereas the old site is publishing based&lt;/li&gt;
&lt;li&gt;Drupal is open and social aspects are better then competitors.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also looked at Escenic, Nstein, Joomla etc.&lt;/p&gt;
&lt;h3&gt;Test Driven Development (TDD)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Hudson cl (Java tool to monitor source control, run auto updates, runs Simpletest though Drush etc) on Amazon EC2&lt;/li&gt;
&lt;li&gt;Unit test - Simpletest&lt;/li&gt;
&lt;li&gt;Browser test - Selenium (firefox plugin)&lt;/li&gt;
&lt;li&gt;Load test - JMeter&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Install API CCK &amp;amp; &lt;br /&gt;
Views done in code to allow updating of live sites/databases&lt;/p&gt;
&lt;h3&gt;Scrum:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;7 with +2 or -2 in a team &lt;/li&gt;
&lt;li&gt;3 week sprints&lt;/li&gt;
&lt;li&gt;UX work in current ahead of next sprints&lt;/li&gt;
&lt;li&gt;Go live at end of sprint&lt;/li&gt;
&lt;li&gt;Dev branch has to be clean&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Operation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Use swatch to collate errors&lt;/li&gt;
&lt;li&gt;Use ELOG to make production changes&lt;/li&gt;
&lt;li&gt;Acquia support&lt;/li&gt;
&lt;li&gt;Managed service hosting&lt;/li&gt;
&lt;li&gt;ITIL - Problem management &amp;amp; Incident management&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Staff:&lt;/h3&gt;
&lt;p&gt;Hired from presenting at DrupalCon or work at Drupal.org (ie module developers)&lt;/p&gt;
&lt;h3&gt;Setup:&lt;/h3&gt;
&lt;p&gt;2 mySQL servers and 2 apache servers &lt;/p&gt;
&lt;h3&gt;Presentation:&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://bit.ly/sBCvJ" title="http://bit.ly/sBCvJ"&gt;http://bit.ly/sBCvJ&lt;/a&gt; &lt;/p&gt;
&lt;h2&gt;Django Beatty - IPC&lt;/h2&gt;
&lt;p&gt;Django is an independent consultant - adub.com&lt;/p&gt;
&lt;p&gt;IPC Ignite built a Content Management Application (CMA) It has a Drupal backend which pushes data to a legacy database Site delivery appliction reads from the legacy database. &lt;/p&gt;
&lt;p&gt;Content Management (Drupal) -&amp;gt; Legacy database -&amp;gt; Site delivery &lt;/p&gt;
&lt;h3&gt;Constraints:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The legacy database must be unchanged&lt;/li&gt;
&lt;li&gt;Phased delivery&lt;/li&gt;
&lt;li&gt;TimeWarner security policy&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Architecture:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Copy basic content into Drupal nodes&lt;/li&gt;
&lt;li&gt;There is a connector table which acts as a bridge between Drupal and the legcacy database&lt;/li&gt;
&lt;li&gt;Custom module built for each content type&lt;/li&gt;
&lt;li&gt;Can integrate legacy and Drupal-native data. For example, can extend the data by using Drupal Taxonomy to tag it. Other Drupal functionality can be used&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Webservices:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Voting API via services - AJAX callto backend &lt;/li&gt;
&lt;li&gt;Views accessed via services&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Images:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Custom image cropping tool built enabling editorial to crop images in the browser&lt;/li&gt;
&lt;li&gt;Did not use the Image Crop module because that relies on CCK&lt;/li&gt;
&lt;li&gt;Image Field and IPC used the Image module instead&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Rich Text Editor:&lt;/h3&gt;
&lt;p&gt;YUI and FCKEditor tested. FCKEditor was considered to be more robust. &lt;/p&gt;
&lt;h3&gt;Links&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/nborda/drupal-4-newspapers"&gt;Nicolas Borda's presentation slides&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://drupal.ipwa.net"&gt;Nicolas Borda's demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slideshare.net/Adub/ignite-cma-talk-v7"&gt;Django Beatty's presentation slides&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://bit.ly/sBCvJ"&gt;Stewart Robinson's presention slides&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ustream.tv/recorded/1733620"&gt;The recorded presentations&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Video of the event&lt;/h3&gt;
&lt;p&gt;You just need to skip through the first bit because they seemed to start recording too early! &lt;/p&gt;
&lt;p&gt;&lt;embed flashvars="autoplay=false" width="400" height="326" allowfullscreen="true" allowscriptaccess="always" src="http://www.ustream.tv/flash/video/1733620" type="application/x-shockwave-flash" /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/befused-drupal/~4/Jj7TFG76GTA" height="1" width="1"/&gt;</description>
 <comments>http://befused.com/drupal/drupal-for-publishers-notes#comments</comments>
 <category domain="http://befused.com/taxonomy/term/114">Events</category>
 <pubDate>Fri, 03 Jul 2009 16:07:01 +0100</pubDate>
 <dc:creator>blairski</dc:creator>
 <guid isPermaLink="false">212 at http://befused.com</guid>
<feedburner:origLink>http://befused.com/drupal/drupal-for-publishers-notes</feedburner:origLink></item>
<item>
 <title>User can’t edit a node – Drupal troubleshooting</title>
 <link>http://feedproxy.google.com/~r/befused-drupal/~3/j5j_XAcqBeY/user-edit-node-problem</link>
 <description>&lt;p&gt;From time to time a user may not be able to edit a &lt;a href="http://befused.com/drupal"&gt;Drupal&lt;/a&gt; node and you end up tearing your hair out trying to figure out why. Sometimes the solution is obvious, and sometimes it is not. This post will take you through some of the main reasons for the problem along with suggested solutions.&lt;br /&gt;
&lt;!--break--&gt;&lt;/p&gt;
&lt;h2&gt;The Problem&lt;/h2&gt;
&lt;p&gt;When viewing a node (page), a user with the correct permissions should see an edit tab at the page. The problem here occurs when the user can not see the edit tab at the top and therefore can not edit the node. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edit tab visible&lt;/strong&gt; (as it should be):&lt;br /&gt;
&lt;img src="/files/tutorials/editnodes/drupal-edit-tab.jpg" alt="Edit tab visible" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edit tab missing:&lt;/strong&gt;&lt;br /&gt;
&lt;img src="/files/tutorials/editnodes/drupal-edit-tab-missing.jpg" alt="Edit tab visible" /&gt;&lt;/p&gt;
&lt;h2&gt;Possible causes and solutions&lt;/h2&gt;
&lt;h3&gt;User’s role does not have permission to edit the content type&lt;/h3&gt;
&lt;p&gt;All users belong to a role, whether you have created roles or not. If you have not created any roles yourself, then users with accounts will be given the “authenticated user” role. The user must have access to edit the relevant type of node. &lt;/p&gt;
&lt;p&gt;For example, if you want all authenticated users to be able to edit the page content type, then you need to tick “edit page content” for authenticated users in access control.&lt;br /&gt;
Access control url:&lt;br /&gt;
Drupal 5: yoursite.com?q=admin/user/access&lt;br /&gt;
Drupal 6: yoursite.com?q?q=admin/user/permissions&lt;/p&gt;
&lt;p&gt;&lt;img src="/files/tutorials/editnodes/access-control.jpg" alt="Access control" /&gt;&lt;/p&gt;
&lt;h3&gt;Node permissions need to be rebuilt&lt;/h3&gt;
&lt;p&gt;If you are using an access control module (such as &lt;a href="http://drupal.org/project/content_access"&gt;Content Access&lt;/a&gt;) then from time to time you may need to rebuild the permissions table. You will find a button to do this under "Post settings". This button will only appear if you are using an access control module. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Post settings -&gt; Rebuild permissions&lt;/strong&gt;&lt;br /&gt;
&lt;img src="/files/tutorials/editnodes/rebuild-permissions.jpg" alt="Rebuild Permissions" /&gt;&lt;/p&gt;
&lt;h3&gt;Users role does not have permissions to use the input format&lt;/h3&gt;
&lt;p&gt;This is a weird one that trips many people up. The user must have permission to use the input format that the node uses. If, for example, the users role does not have access to “Full HTML” but one of the text areas in the node is set to Full HTML, then users who belong to that role will not be able access to edit the node. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;No roles are allow to use full html:&lt;/strong&gt;&lt;br /&gt;
&lt;img src="/files/tutorials/editnodes/input-formats.jpg" alt="No role can use Full HTML" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;But the node body is set to full html:&lt;/strong&gt;&lt;br /&gt;
&lt;img src="/files/tutorials/editnodes/node-input-formats.jpg" alt="Node input format set to Full HTML" /&gt;&lt;/p&gt;
&lt;p&gt;The easy solution here is allow the user's role (authenticated user) to use Full HTML, or mark it as the default.&lt;br /&gt;
&lt;img src="/files/tutorials/editnodes/input-formats-full-html.jpg" alt="Full HTML input format" /&gt;&lt;/p&gt;
&lt;h3&gt;Edit tab is missing&lt;/h3&gt;
&lt;p&gt;The edit tab maybe missing from your page. Check page.tpl.php in your theme. It should include something like this:&lt;/p&gt;
&lt;div class="code"&gt;&lt;code&gt;if ($tabs): print $tabs; endif; &lt;/code&gt;&lt;/div&gt;
&lt;p&gt;The variable $tabs contains the view and edit tab. If that is missing, the edit tab will not appear at all. &lt;/p&gt;
&lt;h3&gt;Edit tab is hiding under title&lt;/h3&gt;
&lt;p&gt;The edit tab may be hiding under your title. If you have Firebug, you should be able to check to see if the edit tab is there or not. There could be a CSS error causing it to sit under the title. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/befused-drupal/~4/j5j_XAcqBeY" height="1" width="1"/&gt;</description>
 <comments>http://befused.com/drupal/user-edit-node-problem#comments</comments>
 <category domain="http://befused.com/taxonomy/term/104">Permissions</category>
 <category domain="http://befused.com/taxonomy/term/109">Troubleshooting</category>
 <pubDate>Fri, 22 May 2009 15:25:32 +0100</pubDate>
 <dc:creator>blairski</dc:creator>
 <guid isPermaLink="false">204 at http://befused.com</guid>
<feedburner:origLink>http://befused.com/drupal/user-edit-node-problem</feedburner:origLink></item>
<item>
 <title>Happy 8th birthday Drupal!</title>
 <link>http://feedproxy.google.com/~r/befused-drupal/~3/tAqlJ1hiJ7Q/happy-8-birthday</link>
 <description>&lt;p&gt;Drupal has turned &lt;a href="http://drupal.org/node/359649"&gt;8 today&lt;/a&gt;, so happy birthday is in order. It is a day for the whole Drupal community to celebrate what they have created, a fantastic project/product. Not only has Drupal survived 8 years in the ultra fast paced web market, but it is going from strength to strength. Well done everyone.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/befused-drupal/~4/tAqlJ1hiJ7Q" height="1" width="1"/&gt;</description>
 <comments>http://befused.com/drupal/happy-8-birthday#comments</comments>
 <category domain="http://befused.com/taxonomy/term/105">Community</category>
 <pubDate>Fri, 16 Jan 2009 17:07:03 +0000</pubDate>
 <dc:creator>blairski</dc:creator>
 <guid isPermaLink="false">183 at http://befused.com</guid>
<feedburner:origLink>http://befused.com/drupal/happy-8-birthday</feedburner:origLink></item>
<item>
 <title>What makes Drupal special video</title>
 <link>http://feedproxy.google.com/~r/befused-drupal/~3/LNKbkHzqdxw/what-makes-drupal-special-video</link>
 <description>&lt;p&gt;Here is an nice interview with Scott Mattoon from Sun Microsystems. He is talking about why Drupal is great. &lt;/p&gt;
&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/mz888mXJlR8&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/mz888mXJlR8&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;img src="http://feeds.feedburner.com/~r/befused-drupal/~4/LNKbkHzqdxw" height="1" width="1"/&gt;</description>
 <comments>http://befused.com/drupal/what-makes-drupal-special-video#comments</comments>
 <category domain="http://befused.com/taxonomy/term/66">Video</category>
 <pubDate>Fri, 19 Dec 2008 22:27:22 +0000</pubDate>
 <dc:creator>blairski</dc:creator>
 <guid isPermaLink="false">176 at http://befused.com</guid>
<feedburner:origLink>http://befused.com/drupal/what-makes-drupal-special-video</feedburner:origLink></item>
<item>
 <title>Drupal wins Packt Publishing 2008 Open Source CMS Award</title>
 <link>http://feedproxy.google.com/~r/befused-drupal/~3/RUGXQyagm-E/2008-open-source-cms-award</link>
 <description>&lt;p&gt;Drupal has won &lt;a href="http://www.packtpub.com/article/2008-open-source-cms-award-winner-announced"&gt;Packt Publishing's Open Source CMS Award for 2008&lt;/a&gt;. This is the second year in a row that Drupal has won the overall CMS award and is in addition to the &lt;a href="/drupal/2008-best-php-based-open-source-cms"&gt;Best PHP Based Open Source CMS Award for 2008&lt;/a&gt;. It is testament to tremendous progress that Drupal is making as an open source product to be to be reckoned with. That is down to the core developers, the army of contributing developers, the security team, the documents team and community at large. Drupal is going from strength to strength and is one of the few open source products that can compete head to head with well funded commercial systems. &lt;/p&gt;
&lt;p&gt;Of course, Drupal is more then just a CMS. It is a rapid development framework, a social media platform, community plumbing and more. It is the one web based system that can do just about anything. As a result, there is a rich diversity of websites and web applications that are powered by Drupal. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Quote from Drupal founder, Dries Buytaert:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code"&gt;
"These awards are a testament to the valuable contributions from dedicated Drupal community members around the globe" said Buytaert in response to the news. "Working together, the Drupal community is building the future of the dynamic web so that anyone can quickly build great social publishing websites" he concluded.
&lt;/div&gt;
&lt;p&gt;And this is just the beginning. There is so much more that Drupal will be able to do. Things that we probably haven't even thought of yet. As the commercial world realises the power of Drupal, more will switch to it (many already have). With that will come increased funding and time spend on module development. Already we see a number of companies that allow their staff to spend a percentage of their working week on stuff for the Drupal community. After all, these companies gain a lot from Drupal and want to see it succeed. That is the power of a collaborative project - individuals and organisations volunteering their time to make the project better because it will, in turn, make their lives better. Something about Karma. &lt;/p&gt;
&lt;p&gt;Congratulations to everyone involved in the &lt;a href="http://drupal.org"&gt;Drupal&lt;/a&gt; project! Lets keep up the hard work and keep helping each other to take this to even greater heights. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Related links (external):&lt;/strong&gt;&lt;br /&gt;
&lt;a href="http://www.packtpub.com/article/2008-open-source-cms-award-winner-announced"&gt;Packet Publishing 2008 Open Source CMS Award&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://buytaert.net/drupal-overall-winner-of-packt-open-source-cms-awards"&gt;Dries Buytaert's post&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digg.com/software/Drupal_Best_Open_Source_CMS_WINNER"&gt;Digg&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://drupal.org/Drupal-Wins-Best-Overall-2008-Open-Source-CMS-Award-Packt"&gt;Drupal.org post&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/befused-drupal/~4/RUGXQyagm-E" height="1" width="1"/&gt;</description>
 <comments>http://befused.com/drupal/2008-open-source-cms-award#comments</comments>
 <category domain="http://befused.com/taxonomy/term/51">Awards</category>
 <pubDate>Sat, 01 Nov 2008 11:08:54 +0000</pubDate>
 <dc:creator>blairski</dc:creator>
 <guid isPermaLink="false">170 at http://befused.com</guid>
<feedburner:origLink>http://befused.com/drupal/2008-open-source-cms-award</feedburner:origLink></item>
<item>
 <title>Drupal wins the 2008 Best PHP Based Open Source CMS</title>
 <link>http://feedproxy.google.com/~r/befused-drupal/~3/FZErvpAI9bI/2008-best-php-based-open-source-cms</link>
 <description>&lt;p&gt;&lt;a href="/drupal"&gt;Drupal&lt;/a&gt; has one the &lt;a href="http://www.packtpub.com/article/2008-best-php-open-source-cms-drupal"&gt;2008 Best PHP Based Open Source CMS from Packt Publishing.&lt;/a&gt; It beat fellow finalists Joomla and CMS Made Simple, who ere tied for runner up.   It seems that Drupal&amp;#39;s highly module framework and thriving community are two factors that tipped the award in its favour.  Here is an extract from Packt Publishing:&lt;br /&gt;
&lt;div class="code"&gt; The judges were complimentary about Drupal’s excellent installation of the system, modules and updates and especially the way it handles any errors during these processes. Comments were also reserved for Drupal’s strong social applications capabilities and how it integrates seamlessly with content management.  Particular praise was reserved for Drupal’s large and hugely supportive community...  &lt;/div&gt;
&lt;p&gt;  Congratulations to all those involved in the Drupal project. Drupal is much more then a CMS or a Framework. It is a community of very talented people who working together to achieve something great. Long may that live!&lt;/p&gt;
&lt;p&gt;The winner for the overall open source CMS award will be announced on Friday. Finger crossed that Drupal can win that again. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/befused-drupal/~4/FZErvpAI9bI" height="1" width="1"/&gt;</description>
 <comments>http://befused.com/drupal/2008-best-php-based-open-source-cms#comments</comments>
 <category domain="http://befused.com/taxonomy/term/51">Awards</category>
 <pubDate>Wed, 29 Oct 2008 20:49:21 +0000</pubDate>
 <dc:creator>blairski</dc:creator>
 <guid isPermaLink="false">169 at http://befused.com</guid>
<feedburner:origLink>http://befused.com/drupal/2008-best-php-based-open-source-cms</feedburner:origLink></item>
<item>
 <title>Redirect users to the login form if access is denied</title>
 <link>http://feedproxy.google.com/~r/befused-drupal/~3/QdbIFqBMwds/redirect-users-login+form-access-denied</link>
 <description>&lt;p&gt;Out of the box Drupal will display a simple Access Denied message is a user is trying to access content that they do not have permission to. This is not exactly user friendly. A better solution is to redirect the user to the login form and when the user logs in, redirect them back to the content that they want to see. There are two main ways to achieve this.&lt;br /&gt;
&lt;!--break--&gt;&lt;/p&gt;
&lt;h2&gt;Option 1: Add some code to page.tpl.php&lt;/h2&gt;
&lt;p&gt;  The first option is to add a simple block of code to the very top of your page template file (page.tpl.php). The code is:  &lt;/p&gt;
&lt;div class="code"&gt;
&lt;p&gt;&amp;lt;?php&lt;br /&gt; if ($title == 'Access denied') {&lt;br /&gt; header( 'Location: /user?destination=' . substr ($_SERVER['REQUEST_URI'],1 ) ); &lt;br /&gt;} ?&amp;gt;';&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;The $title variable is the meta title for the page. This would normally be "Access denied" if a user does not have permission to view the content. The if statement simply says, if the meta title is equal to "Access denied" then redirect the user to the user login form (sitename.com/user). It will also send the page that the user is trying to access. Therefore, once the user has logged in, he/she will be redirected back to that page. &lt;/p&gt;
&lt;p&gt;This is a nice and simple way of achieving our goal. However, there is one problem with it. If you have caching switched on, the site may cache the access denied message if a user does not remember his/her correct login details. If that happens, subsequent users will get the access denied message. &lt;/p&gt;
&lt;h2&gt;Option 2: Logintobogan&lt;/h2&gt;
&lt;p&gt;The second option is to install the &lt;a href="http://drupal.org/project/logintoboggan"&gt;Login Toboggan&lt;/a&gt; module. The Login Toboggan module will display the login form for Access denied pages (must be set on in the settings). This option works with caching. The Login Toboggan module does other nice things as well, like allowing users to login with their email address instead of username. &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/befused-drupal/~4/QdbIFqBMwds" height="1" width="1"/&gt;</description>
 <comments>http://befused.com/drupal/redirect-users-login+form-access-denied#comments</comments>
 <category domain="http://befused.com/taxonomy/term/49">Theming</category>
 <pubDate>Sat, 18 Oct 2008 15:59:12 +0100</pubDate>
 <dc:creator>blairski</dc:creator>
 <guid isPermaLink="false">165 at http://befused.com</guid>
<feedburner:origLink>http://befused.com/drupal/redirect-users-login+form-access-denied</feedburner:origLink></item>
<item>
 <title>Rebuild node permissions table on large sites with many nodes</title>
 <link>http://feedproxy.google.com/~r/befused-drupal/~3/3hdf0T7IhFE/rebuild-node-permissions-large-sites</link>
 <description>&lt;p&gt;Every now and again the node permissions table on a Drupal site can go out of whack. The result is that some users may get an accessed denied message when trying to access pages. &lt;/p&gt;
&lt;p&gt;This is fairly easy to fix on a "normal size" website. You simply go to admin -&gt; content -&gt; post settings and click "Rebuild permissions". &lt;/p&gt;
&lt;p&gt;However, this does not always work on a partcularly large Drupal based website. I have tried this on a site with around 11,000 nodes and it times out, giving me a page not found error. &lt;/p&gt;
&lt;p&gt;One solution is to use a custom script to rebuild the node permissions one node at a time. I found this script on drupal.org: &lt;/p&gt;
&lt;p&gt;&lt;a href="http://drupal.org/node/158043#comment-881058" title="http://drupal.org/node/158043#comment-881058"&gt;http://drupal.org/node/158043#comment-881058&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks to &lt;a href="http://drupal.org/user/81111"&gt;enboig&lt;/a&gt; for the script. &lt;/p&gt;
&lt;p&gt;I have used it on the site with 11,000 nodes and it works like a treat. Although it does take a long time to run. In this case, it took several hours. But at least it worked! &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/befused-drupal/~4/3hdf0T7IhFE" height="1" width="1"/&gt;</description>
 <comments>http://befused.com/drupal/rebuild-node-permissions-large-sites#comments</comments>
 <category domain="http://befused.com/taxonomy/term/104">Permissions</category>
 <category domain="http://befused.com/taxonomy/term/47">Scripts</category>
 <pubDate>Tue, 07 Oct 2008 14:17:27 +0100</pubDate>
 <dc:creator>blairski</dc:creator>
 <guid isPermaLink="false">163 at http://befused.com</guid>
<feedburner:origLink>http://befused.com/drupal/rebuild-node-permissions-large-sites</feedburner:origLink></item>
<item>
 <title>Boost your Drupal website</title>
 <link>http://feedproxy.google.com/~r/befused-drupal/~3/geU3k33Q20s/boost-module</link>
 <description>&lt;p&gt;&lt;a href="http://drupal.org/project/boost"&gt;Boost&lt;/a&gt; is an amazing Drupal module that can dramatically improve the page speed performance. This can improve the experience of visitors and help a web site cope with unexpected surges in traffic.&lt;br /&gt;
&lt;!--break--&gt;&lt;/p&gt;
&lt;h2&gt;The Problem&lt;/h2&gt;
&lt;p&gt;One of the major problems with Drupal is the number of database queries required to construct each page when a user visits a web site. This is cut down hugely when you enable the built in page caching. But cached page data is still stored in the database, so the site still needs to call the database.&lt;/p&gt;
&lt;p&gt;This is especially problematic if you are running a Drupal site on shared hosting. You may notice that your web site is quite sluggish and page load speeds are a bit on the slow side. &lt;/p&gt;
&lt;h2&gt;Enter Boost - The Solution&lt;/h2&gt;
&lt;p&gt;One possible solution is to upgrade to VPS or dedicated hosting. Essentially you are throwing more resources at the web site to help it cope. However, many of us can not afford that. &lt;/p&gt;
&lt;p&gt;Boost is the ideal solution for those on shared hosting. It cuts out the need for database calls entirely and instead serves just static HTML pages to users. &lt;/p&gt;
&lt;h3&gt;How Boost works&lt;/h3&gt;
&lt;p&gt;Instead of caching page data in the database, Boost creates static HTML pages. This happens when the first user to visit a page after cache has expired. So for that user, the page download speed will still be slow as the site still has to call the database to create the page. But every user who visits that page (and any other page that has been cached) after that point will be served a static HTML page. There are NO calls to the database. In fact, the page serving process does not touch Drupal at all! &lt;/p&gt;
&lt;p&gt;When a page is cached as a static HTML page, a comment is added to the bottom of that page with the expiry time. That is calculated from the "minimum cache lifetime" that is set in site configuration -&gt; performance. A page that is past its expiry time is stale. When cron is run, any stale (expired) HTML pages will be deleted. Then when the next user visits a page that has been deleted, a static HTML page will be created again. &lt;/p&gt;
&lt;h3&gt;It all hinges on cron&lt;/h3&gt;
&lt;p&gt;You must run cron on a regular basis for this to work since stale pages will not be deleted without it. All static HTML pages that exist in the cache folder will be served to users even if they have expired. Therefore, you need to set cron to run in order to delete them.&lt;/p&gt;
&lt;p&gt;The regularity of the cron runs is up to you and depends on how often content changes. If you have a site that has content added throughout the day, you might want to run it hourly. For this site, I actually don't run cron automatically. Instead, I manually run cron when ever I had new content. That way, I can be sure that pages are always up to date. &lt;/p&gt;
&lt;h3&gt;Boost is for Anonymous users only&lt;/h3&gt;
&lt;p&gt;An important point is that Boost only works for anonymous (non-logged in) users. If a user logs in, it will by pass Boost and serve pages as per the normal Drupal process. This is very common with any caching module since logged-in users are generally receiving dynamic pages that will change from user to user. I will be explorer ways to improve the performance for logged-in users in a later post. &lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;If you have a web site that has slow page load speeds, Boost may be the perfect answer. It will create static HTML pages and by passes the database and Drupal process for most anonymous users.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://drupal.org/project/boost"&gt;Boost project page&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/befused-drupal/~4/geU3k33Q20s" height="1" width="1"/&gt;</description>
 <comments>http://befused.com/drupal/boost-module#comments</comments>
 <category domain="http://befused.com/taxonomy/term/97">Module</category>
 <category domain="http://befused.com/taxonomy/term/94">Performance</category>
 <pubDate>Tue, 09 Sep 2008 13:19:09 +0100</pubDate>
 <dc:creator>blairski</dc:creator>
 <guid isPermaLink="false">160 at http://befused.com</guid>
<feedburner:origLink>http://befused.com/drupal/boost-module</feedburner:origLink></item>
</channel>
</rss>
