<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.dave-cohen.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Dave Cohen - Advanced Website Engineering</title>
 <link>http://www.dave-cohen.com</link>
 <description> </description>
 <language>en</language>
<item>
 <title>Drupal authentication with Facebook credentials</title>
 <link>http://www.dave-cohen.com/node/2967</link>
 <description>&lt;p&gt;Just a few days ago, &lt;a href=&quot;http://developers.facebook.com/news.php?blog=1&amp;amp;story=174&quot; rel=&quot;nofollow&quot;&gt;Facebook unveiled Facebook Connect&lt;/a&gt;.  If you&#039;re not sure what that is, here&#039;s how they describe it: &quot;Facebook Connect lets users log in to a site using their Facebook account, bring their profile with them, easily find friends also using the website, and share information and experiences using the same features as they would on a Facebook application.&quot;&lt;/p&gt;
&lt;p&gt;That first feature, log in to a site using a Facebook account, means users can access a &lt;a href=&quot;http://drupal.org&quot; rel=&quot;nofollow&quot;&gt;Drupal&lt;/a&gt;-powered website using their Facebook username and password.  Similar to &lt;a href=&quot;http://openid.net&quot; rel=&quot;nofollow&quot;&gt;OpenId&lt;/a&gt;, this can save a user the extra effort of registering with a Drupal site.  It goes even further, in fact.  If a user is logged into Facebook (or any Facebook Connect enabled site), that user can automatically be logged into any other Facebook Connect enabled site, without even providing a username and password.  It&#039;s like a single sign on across the internet.  To see what I mean, visit &lt;a href=&quot;http://www.drupalforfacebook.org&quot; rel=&quot;nofollow&quot;&gt;www.drupalforfacebook.org&lt;/a&gt;.  If your browser is logged into Facebook, you should be logged in automatically; and if not you can click the &quot;Connect&quot; button on the right then provide your Facebook credentials.&lt;/p&gt;
&lt;br class=&quot;clear&quot; /&gt;&lt;p&gt;&lt;a href=&quot;http://www.dave-cohen.com/node/2967&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.dave-cohen.com/node/2967#comment</comments>
 <pubDate>Thu, 11 Dec 2008 18:42:12 +0000</pubDate>
 <dc:creator>dave</dc:creator>
 <guid isPermaLink="false">2967 at http://www.dave-cohen.com</guid>
</item>
<item>
 <title>Drupal for Facebook Wins Prize at f8 Conference</title>
 <link>http://www.dave-cohen.com/node/2824</link>
 <description>&lt;p&gt;Yesterday&#039;s &lt;a href=&quot;http://www.facebook.com/f8&quot; rel=&quot;nofollow&quot;&gt;f8 developers conference&lt;/a&gt; included a &lt;a href=&quot;http://developers.facebook.com/news.php?blog=1&amp;amp;story=134&quot; rel=&quot;nofollow&quot;&gt;hackathon&lt;/a&gt;, where those of us who attended discussed our work with Facebook&#039;s own developers.  I&#039;m proud to report that &lt;a href=&quot;http://drupal.org/project/fb&quot; rel=&quot;nofollow&quot;&gt;Drupal for Facebook&lt;/a&gt; was selected as one of the best, and I came home with a &quot;sweet prize&quot; (a &lt;a href=&quot;http://en.wikipedia.org/wiki/PlayStation_3&quot; rel=&quot;nofollow&quot;&gt;Sony PS3&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Even without the prize, the conference was well worth attending.  Facebook presented a lot of information about upcoming changes to the platform.  And &lt;a href=&quot;http://www.thieverycorporation.com&quot; / rel=&quot;nofollow&quot;&gt;Thievery Corporation&lt;/a&gt; put on a great performance.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.drupalforfacebook.org&quot; rel=&quot;nofollow&quot;&gt;Drupal for Facebook&lt;/a&gt; is an add-on module for &lt;a href=&quot;http://drupal.org&quot; rel=&quot;nofollow&quot;&gt;Drupal&lt;/a&gt; which allows Drupal sites to integrate with &lt;a href=&quot;http://www.facebook.com&quot; rel=&quot;nofollow&quot;&gt;Facebook&lt;/a&gt;, and cutting-edge Facebook Applications to be built on top of Drupal.  Please take a moment to help the project...&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
If you&#039;re attending &lt;a href=&quot;http://szeged2008.drupalcon.org&quot; / rel=&quot;nofollow&quot;&gt;DrupalCon Szeged&lt;/a&gt;, vote in favor of &lt;a href=&quot;http://szeged2008.drupalcon.org/program/sessions/building-facebook-applications-using-drupal&quot; rel=&quot;nofollow&quot;&gt;my proposed session&lt;/a&gt;.  It needs more votes to be included in the schedule.&lt;/li&gt;
&lt;li&gt;
If you&#039;re a Drupal user, please review &lt;a href=&quot;http://groups.drupal.org/node/13071&quot; rel=&quot;nofollow&quot;&gt;this grant proposal&lt;/a&gt;.  Your vote could help fund Drupal for Facebook.  It takes a lot of work to keep up with the latest changes to the Facebook platform and receiving this grant would be a big help.
&lt;/li&gt;
&lt;/ul&gt;
&lt;br class=&quot;clear&quot; /&gt;&lt;p&gt;&lt;a href=&quot;http://www.dave-cohen.com/node/2824&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.dave-cohen.com/node/2824#comment</comments>
 <pubDate>Thu, 24 Jul 2008 15:56:36 +0000</pubDate>
 <dc:creator>dave</dc:creator>
 <guid isPermaLink="false">2824 at http://www.dave-cohen.com</guid>
</item>
<item>
 <title>Positive experience with new menu API for Drupal</title>
 <link>http://www.dave-cohen.com/node/2766</link>
 <description>&lt;p&gt;If, like me, you develop modules for &lt;a href=http://drupal.org&gt;Drupal&lt;/a&gt;, then you know the Pain.  The Pain happens once or twice a year.  The Pain has another name: upgrading your modules to the next version of Drupal.  &lt;/p&gt;

&lt;p&gt;Before the Pain, someone shows you a hot new feature - perhaps &lt;a href=http://drupal.org/node/209561&gt;coolest thing in the world&lt;/a&gt; - and you think, &quot;I want that.&quot;  Ah yes, but what must you do to get it?  There&#039;s a page on the web to answer that question.  You know &lt;a href=http://drupal.org/update/modules&gt;where to find it&lt;/a&gt;.  The browser wheel spins... the answer is about to appear... and you hope &lt;a href=http://drupal.org/node/114774&gt;the list&lt;/a&gt; is not long.  You hope in vain.  The Pain has begun.&lt;/p&gt;

&lt;p&gt;For Drupal&#039;s latest release, that list of changes begins with &quot;entirely new menu system.&quot;  Those four words mean you&#039;re about to change every module you&#039;ve ever written.  Recently I&#039;ve been doing just that.  And despite the Pain I&#039;m pleased to report this new menu api has nice features.  To illustrate, here&#039;s a problem that has nagged me in the past and a solution using the &lt;a href=http://drupal.org/node/102338&gt;new menu API&lt;/a&gt;.&lt;/p&gt;
&lt;br class=&quot;clear&quot; /&gt;&lt;p&gt;&lt;a href=&quot;http://www.dave-cohen.com/node/2766&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.dave-cohen.com/node/2766#comment</comments>
 <pubDate>Fri, 06 Jun 2008 19:34:51 +0000</pubDate>
 <dc:creator>dave</dc:creator>
 <guid isPermaLink="false">2766 at http://www.dave-cohen.com</guid>
</item>
<item>
 <title>Drupal &quot;versus&quot; WordPress</title>
 <link>http://www.dave-cohen.com/node/2671</link>
 <description>&lt;p&gt;I watched &lt;a href=&quot;http://blip.tv/file/829821&quot; title=&quot;reference on this video&quot; target=&quot;_blank&quot;&gt;this video&lt;/a&gt; at a recent &lt;a href=&quot;http://lugradio.org/live/USA2008/start&quot; title=&quot;reference on lugradio event&quot; target=&quot;_blank&quot;&gt;lugradio event&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I was expecting a live talk, so at first I was disappointed that the presentation was a video, and neither Selena or Andy (who made the video) were actually there.  But the video has some amusing moments, so I warmed up to it.&lt;/p&gt;
&lt;p&gt;If you&#039;re in the &lt;a href=&quot;http://drupal.org&quot; title=&quot;reference on Drupal&quot; target=&quot;_blank&quot;&gt;Drupal&lt;/a&gt; community, I recommend watching.  It nicely presents some of the mystery and complexity that users have to go though to get started.  The best parts are about 5 minutes into the video, IMHO.&lt;/p&gt;
&lt;br class=&quot;clear&quot; /&gt;&lt;p&gt;&lt;a href=&quot;http://www.dave-cohen.com/node/2671&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.dave-cohen.com/node/2671#comment</comments>
 <pubDate>Thu, 17 Apr 2008 18:43:40 +0000</pubDate>
 <dc:creator>dave</dc:creator>
 <guid isPermaLink="false">2671 at http://www.dave-cohen.com</guid>
</item>
<item>
 <title>Screencast of Drupal for Facebook</title>
 <link>http://www.dave-cohen.com/node/2246</link>
 <description>&lt;p&gt;
At the recent &lt;a href=&quot;http://badcamp07.org/&quot;&gt;Bay Area Drupal Camp&lt;/a&gt;, I presented &lt;a href=http://www.drupalforfacebook.org&gt;Drupal for Facebook&lt;/a&gt;.  I built a small Facebook Application and walked through how I used Drupal to create it.  Now the details of this presentation are available in two screencasts.

&lt;p&gt;
If you&#039;re curious about what Drupal for Facebook is, or if you&#039;ve downloaded it but are having trouble setting it up, these screencasts are for you.
&lt;br class=&quot;clear&quot; /&gt;&lt;p&gt;&lt;a href=&quot;http://www.dave-cohen.com/node/2246&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.dave-cohen.com/node/2246#comment</comments>
 <pubDate>Mon, 19 Nov 2007 12:12:44 +0000</pubDate>
 <dc:creator>dave</dc:creator>
 <guid isPermaLink="false">2246 at http://www.dave-cohen.com</guid>
</item>
<item>
 <title>Drupal Configuration from Development to Production</title>
 <link>http://www.dave-cohen.com/node/1779</link>
 <description>&lt;p&gt;At the recent &lt;a href=&quot;http://drupalcon.org&quot; rel=&quot;nofollow&quot;&gt;DrupalCon&lt;/a&gt;, a recurring topic of conversation centered around the challenges of developing sites on one or more development machines, then later integrating those changes to a production environment.  I&#039;ve had to deal with this for every one of my sites, and have come up with &lt;a href=&quot;http://www.dave-cohen.com/node/1066&quot; rel=&quot;nofollow&quot;&gt;my own approach&lt;/a&gt;, which I&#039;ve written about previously.&lt;/p&gt;
&lt;br class=&quot;clear&quot; /&gt;&lt;p&gt;&lt;a href=&quot;http://www.dave-cohen.com/node/1779&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.dave-cohen.com/node/1779#comment</comments>
 <pubDate>Fri, 05 Oct 2007 19:09:03 +0000</pubDate>
 <dc:creator>dave</dc:creator>
 <guid isPermaLink="false">1779 at http://www.dave-cohen.com</guid>
</item>
<item>
 <title>Drupal for Facebook</title>
 <link>http://www.dave-cohen.com/node/1756</link>
 <description>&lt;p&gt;Recently, I´ve been working to make Drupal the premiere framework for developing Facebook Applications.  I´m calling the effort &lt;a href=&quot;http://www.drupalforfacebook.org&quot; rel=&quot;nofollow&quot;&gt;Drupal for Facebook&lt;/a&gt; and I recently &lt;a href=&quot;http://barcelona2007.drupalcon.org/node/630&quot; rel=&quot;nofollow&quot;&gt;presented it&lt;/a&gt; at &lt;a href=&quot;http://drupalcon.org&quot; rel=&quot;nofollow&quot;&gt;DrupalCon 2007&lt;/a&gt;.&lt;/p&gt;
&lt;br class=&quot;clear&quot; /&gt;&lt;p&gt;&lt;a href=&quot;http://www.dave-cohen.com/node/1756&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.dave-cohen.com/node/1756#comment</comments>
 <pubDate>Fri, 21 Sep 2007 13:56:07 +0000</pubDate>
 <dc:creator>dave</dc:creator>
 <guid isPermaLink="false">1756 at http://www.dave-cohen.com</guid>
</item>
<item>
 <title>Using Drupal&#039;s Workflow and Revision Moderation Modules Together</title>
 <link>http://www.dave-cohen.com/node/1732</link>
 <description>&lt;p&gt;Recently a client requested this relatively simple publishing model:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Some users are Editors. They may add and edit pages.&lt;/li&gt;
&lt;li&gt;Other users are Publishers.  Publishers may review the changes made by editors, and if acceptable, make them visible to the public.&lt;/li&gt;
&lt;li&gt;Editors cannot publish content, and Publishers cannot edit.  This important rule means that no single user can (maliciously or accidentally) add erroneous content to the site.&lt;/li&gt;
&lt;li&gt;Published content may be edited (by Editors).  The changes are not visible the public until a Publisher approves them.
&lt;/ol&gt;

&lt;p&gt;As an experienced Drupal developer, and I thought this model would be easy to build.  I would use Drupal&#039;s roles and permissions to enforce the first three rules above, and the &lt;a href=http://drupal.org/project/revision_moderation&gt;Revision Moderation module&lt;/a&gt; to enforce the fourth.  I&#039;d also use the &lt;a href=http://drupal.org/project/workflow&gt;Workflow module&lt;/a&gt; to facilitate communication between Editors and Publishers, and the &lt;a href=http://drupal.org/project/actions&gt;Actions module&lt;/a&gt; to make publishing a one-step operation.  Easy, right?  If only it were, I wouldn&#039;t be writing this now.
&lt;/p&gt;&lt;br class=&quot;clear&quot; /&gt;&lt;p&gt;&lt;a href=&quot;http://www.dave-cohen.com/node/1732&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.dave-cohen.com/node/1732#comment</comments>
 <pubDate>Tue, 04 Sep 2007 18:31:50 +0000</pubDate>
 <dc:creator>dave</dc:creator>
 <guid isPermaLink="false">1732 at http://www.dave-cohen.com</guid>
</item>
<item>
 <title>How to Hire a Website Developer (if you&#039;re not technically inclined)</title>
 <link>http://www.dave-cohen.com/services/howto</link>
 <description>&lt;p&gt;Perhaps you&#039;re looking to upgrade a website.  Maybe build a brand new one.  Chances are, you don&#039;t know how this work is done.  It&#039;s like choosing a car mechanic when you can&#039;t tell a rotor from a piston.  How do you find someone trustworthy?
&lt;p&gt;When my car needs repair, I cross my fingers.  But software development I know something about.  This advice should take some guesswork out of your decision.  Here&#039;s what you do...
&lt;br class=&quot;clear&quot; /&gt;&lt;p&gt;&lt;a href=&quot;http://www.dave-cohen.com/services/howto&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.dave-cohen.com/services/howto#comment</comments>
 <pubDate>Wed, 23 May 2007 17:47:52 +0000</pubDate>
 <dc:creator>dave</dc:creator>
 <guid isPermaLink="false">1613 at http://www.dave-cohen.com</guid>
</item>
<item>
 <title>Hovertips - easy and elegant tooltips</title>
 <link>http://www.dave-cohen.com/node/1186</link>
 <description>&lt;p&gt;The text shown in &lt;span hovertip=&quot;italic&quot;&gt;italics&lt;/span&gt; are examples of &lt;span hovertip=&quot;htdef&quot;&gt;hovertips&lt;/span&gt;.  Move your mouse over the &lt;span hovertip=italic&gt;italic&lt;/span&gt; text to see what happens.
&lt;div class=hovertip id=italic&gt;
Text like this appears when you hover.
And disappears after you move your mouse away.
&lt;/p&gt;
&lt;p&gt;
This is an example of a &lt;span hovertip=htdef&gt;hovertip&lt;/span&gt;.
&lt;/div&gt;
&lt;div class=hovertip id=&quot;htdef&quot;&gt;&lt;h1&gt;What&#039;s a hovertip?&lt;/h1&gt;A hovertip is a kind of &quot;tooltip&quot; that appears when the mouse rests above something.&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;
I call them &quot;hover&quot; tips to distinguish them from &lt;span clicktip=ctdef&gt;clicktips&lt;/span&gt;.  Click your mouse over &lt;span id=c2&gt;underlined italics&lt;/span&gt; to see a &lt;span clicktip=ctdef&gt;clicktip&lt;/span&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;div class=&quot;clicktip&quot; id=&quot;ctdef&quot;&gt;&lt;h1&gt;What&#039;s a clicktip?&lt;/h1&gt;
&lt;p&gt;A clicktip is also a tooltip.  But unlike a &lt;span hovertip=htdef&gt;hovertip&lt;/span&gt;, the user must press the mouse button to see one.
&lt;/p&gt;
&lt;p&gt;
The clicktip text appears on the page, rather than floating beneath the mouse.
&lt;/p&gt;
&lt;p&gt;
And the text remains visible until unti the user clicks a second time.
&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;clicktip&quot; target=&quot;c2&quot;&gt;
A single page can have any number of these things.
&lt;/div&gt;
&lt;br class=&quot;clear&quot; /&gt;&lt;p&gt;&lt;a href=&quot;http://www.dave-cohen.com/node/1186&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.dave-cohen.com/node/1186#comment</comments>
 <pubDate>Tue, 22 Aug 2006 07:40:59 +0000</pubDate>
 <dc:creator>dave</dc:creator>
 <guid isPermaLink="false">1186 at http://www.dave-cohen.com</guid>
</item>
</channel>
</rss>
