<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://heydon.com.au" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>My Projects</title>
 <link>http://heydon.com.au/myprojects/10</link>
 <description>My project menu</description>
 <language>en-NZ</language>
<item>
 <title>Twitter</title>
 <link>http://heydon.com.au/node/1041</link>
 <description>&lt;p&gt;As of late I have been getting into twitter a bit. I have started using &lt;a href=&quot;http://www.twhirl.org/&quot;&gt;twirl&lt;/a&gt; to post tweets from desktop which is really cool.&lt;/p&gt;
  &lt;p&gt;I like so much that I have start tweeting while I am developing letting people know what I am up to now.&lt;/p&gt;
  &lt;p&gt;You can follow me on &lt;a href=&quot;http://twitter.com/gheydon&quot;&gt;http://twitter.com/gheydon &lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Fix up url for twhirl
    &lt;br /&gt;&lt;/p&gt;</description>
 <comments>http://heydon.com.au/node/1041#comments</comments>
 <category domain="http://heydon.com.au/taxonomy/term/10">drupal</category>
 <pubDate>Mon, 05 May 2008 16:05:36 -0700</pubDate>
 <dc:creator>gordon</dc:creator>
 <guid isPermaLink="false">1041 at http://heydon.com.au</guid>
</item>
<item>
 <title>Captcha on Site</title>
 <link>http://heydon.com.au/node/1026</link>
 <description>&lt;p&gt;Since I have upgraded my site to Drupal 5 I have added to Captcha to get rid of the bloody spam comments. Originally I was going to just use the math or other basic captcha&#039;s to implement a very clean captcha.&lt;/p&gt;
  &lt;p&gt;But I was listening to &lt;a href=&quot;http://www.twit.tv/sn&quot;&gt;Security Now&lt;/a&gt;, Leo and Steve were talking about &lt;a href=&quot;http://recaptcha.net/learnmore.html&quot;&gt;reCaptcha&lt;/a&gt; which not only a allows the use of captcha, but also helps with other projects. Here is a quick snippet of what these projects are&lt;/p&gt;
  &lt;blockquote&gt;
    &lt;p&gt;To archive human knowledge and to make information more accessible to
the world, multiple projects are currently digitizing physical books
that
were written before the computer age. The book pages are being
photographically scanned, and then, to make them searchable,
transformed into text
using &amp;quot;Optical Character Recognition&amp;quot; (OCR). The transformation into
text is useful because scanning a book produces images, which are
difficult to
store on small devices, expensive to download, and cannot be searched.
The problem is that OCR is not perfect.&lt;/p&gt;
  &lt;/blockquote&gt;
  &lt;p&gt;So what they do is take these mis-converted words and use them as the captcha image and people responses are passed back to the projects to allow the projects to quickly fix up all the missing words that the OCR&#039;s couldn&#039;t get.&lt;/p&gt;
  &lt;p&gt;So if you do need to have captcha on your site, you might as well make it help other projects at the same time. So far for me it is working great. If you want to use recaptcha then you will find it at &lt;a href=&quot;http://drupal.org/project/recaptcha&quot;&gt;http://drupal.org/project/recaptcha&lt;/a&gt;
    &lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
 <comments>http://heydon.com.au/node/1026#comments</comments>
 <category domain="http://heydon.com.au/taxonomy/term/10">drupal</category>
 <pubDate>Tue, 28 Aug 2007 06:44:53 -0700</pubDate>
 <dc:creator>gordon</dc:creator>
 <guid isPermaLink="false">1026 at http://heydon.com.au</guid>
</item>
<item>
 <title>Well I have finally done it.</title>
 <link>http://heydon.com.au/node/1025</link>
 <description>&lt;p&gt;After many months of resistance I finally upgraded my site to Drupal 5.&lt;/p&gt;
  &lt;p&gt;OK, it was not resistance, I just didn&#039;t have time to do it. So now I have done it and I am managed to log into my site after Dreamhost upgraded to PHP 5.2 and I then couldn&#039;t log in with 4.7+&lt;/p&gt;
  &lt;p&gt;Oh well it is done now, so I can move forward and do some cool stuff.
    &lt;br /&gt;
    &lt;br /&gt;&lt;/p&gt;</description>
 <comments>http://heydon.com.au/node/1025#comments</comments>
 <category domain="http://heydon.com.au/taxonomy/term/10">drupal</category>
 <pubDate>Sat, 04 Aug 2007 20:27:55 -0700</pubDate>
 <dc:creator>gordon</dc:creator>
 <guid isPermaLink="false">1025 at http://heydon.com.au</guid>
</item>
<item>
 <title>Drupal test sites.</title>
 <link>http://heydon.com.au/node/973</link>
 <description>
  &lt;p&gt;When developing a new site, for anyone you will generally have
  test and/or development version of a site. These sites are
  usually exact copies the live site, and from time to time you
  will copy the live database to these sites.&lt;/p&gt;
  &lt;p&gt;Usually when doing this you will go through the site and
  change some of the configuration values, like the gmap api
  number, and others like the path to payment gateways and credit
  card gateway indentification numbers to point to test versions of
  the payment gateways.&lt;/p&gt;
  &lt;p&gt;Generally doing this by hand you will miss some parameters,
  and have it really cause problems later. But there is an answer
  that will allow you to set these values automatically so that
  depending on the site, will be rewritten correctly everytime.&lt;/p&gt;
  &lt;p&gt;In the sites directory you will have a directory for each
  site, and a settings.php file in each of these directories. Just
  add to your test file the following&lt;/p&gt;
  &lt;p&gt;&amp;lt;?php
  &lt;br /&gt;
  $conf = array(
  &lt;br /&gt;
  &amp;nbsp; &#039;site_mail&#039; =&amp;gt; &#039;test@example.com.au&#039;,
  &lt;br /&gt;
  &amp;nbsp; &#039;ccard_clientid&#039; =&amp;gt; &#039;example_no&#039;,
  &lt;br /&gt;
  &amp;nbsp; &#039;ccard_url&#039; =&amp;gt;
  &#039;https://test.example.com/store/payment/ccard&#039;,
  &lt;br /&gt;
  &amp;nbsp; &#039;googlemap_api_key&#039; =&amp;gt;
  &#039;ABQIAAAAhfBLLoKUHq7LqQ2QBcWQ2hRCSo_fHprJOtfmhc0LOWj7Ebi-6BSINRQq0Kie8sAsQKjO1tEi-ZFxSw&#039;,
  &lt;br /&gt;
  );
  &lt;br /&gt;
  ?&amp;gt;
  &lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;This will override these values above and will mean that you
  will never need to change them again.&amp;nbsp;&lt;/p&gt;
  &lt;p&gt;Also to speed up the download and update of your local
  database quickly and if you have a ssh connection to your
  webserver, try the following.&lt;/p&gt;
  &lt;code&gt;ssh webuser@example.com mysqldump -udbuser
  -pdbpasswd drupaldb | mysql -ulocaldbuser -pdbpasswd
  localdrupaldb&lt;/code&gt;
  &lt;p&gt;If you put this into a small shell script it is just a simple
  command away.
  &lt;br /&gt;&lt;/p&gt;
</description>
 <comments>http://heydon.com.au/node/973#comments</comments>
 <category domain="http://heydon.com.au/taxonomy/term/10">drupal</category>
 <pubDate>Sat, 04 Nov 2006 22:40:32 -0800</pubDate>
 <dc:creator>gordon</dc:creator>
 <guid isPermaLink="false">973 at http://heydon.com.au</guid>
</item>
<item>
 <title>chx formapi tip.</title>
 <link>http://heydon.com.au/node/965</link>
 <description>&lt;p&gt;Yesterday I was having fun with the image module creating a new hook to allow people to build contrib module which will modify images when they are uploaded. see http://drupal.org/node/42835 for more details.&lt;/p&gt;&lt;p&gt;I needed to add in a hook to the node so that it would call my process after the validation had completed. and would always be called no matter what action was taken, Preview or submit.&lt;/p&gt;&lt;p&gt;I triied adding it before the #submit, but it would not call on a preview. After talking with chx, I found a cool feature, and a use for buttons besides firing scripts.&lt;/p&gt;&lt;p&gt;If you have&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;lt;?php&lt;br /&gt;$form[&#039;preview&#039;] = array(&lt;br /&gt;&amp;nbsp; &#039;#type&#039; =&amp;gt; &#039;button&#039;,&lt;br /&gt;&amp;nbsp; &#039;#value&#039; =&amp;gt; t(&#039;Preview&#039;),&lt;br /&gt;);&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;When the user clicks on this button, it will submit as normal, but in the forms api, hook_validate() will be called but hook_submit() will not.&lt;/p&gt;&lt;p&gt;Cool for doing previews, but not submit.&lt;/p&gt;&lt;p&gt;Also the Image module now has views integration. Yay.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;</description>
 <comments>http://heydon.com.au/node/965#comments</comments>
 <category domain="http://heydon.com.au/taxonomy/term/10">drupal</category>
 <pubDate>Wed, 23 Aug 2006 17:30:23 -0700</pubDate>
 <dc:creator>gordon</dc:creator>
 <guid isPermaLink="false">965 at http://heydon.com.au</guid>
</item>
<item>
 <title>Simple access and Organic Groups integration</title>
 <link>http://heydon.com.au/node/964</link>
 <description>
  &lt;p&gt;One of the biggest problems with the node_access system is
  that the you can only really use 1 node access module at a time.
  So if you want to use &lt;a href=&quot;http://drupal.org/project/simple_access&quot;&gt;simple_access&lt;/a&gt; and
  &lt;a href=&quot;http://drupal.org/project/og&quot;&gt;organic groups&lt;/a&gt;
  together, the access is not really going to work very well. In
  fact it is &lt;strong&gt;totally&lt;/strong&gt; useless.&lt;/p&gt;
  &lt;p&gt;Their is the great &lt;a href=&quot;http://drupal.org/node/55594&quot;&gt;node_arbitrator&lt;/a&gt; module which
  will allow modules to do this, but you need to use a new hook,
  that both simple access and og do not support, but both intend to
  support in the future. (I know that when I get a bit of time I
  will put it into simple access)&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://heydon.com.au/node/964&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://heydon.com.au/node/964#comments</comments>
 <category domain="http://heydon.com.au/taxonomy/term/10">drupal</category>
 <enclosure url="http://heydon.com.au/files/simple_access.patch.txt" length="1892" type="text/plain" />
 <pubDate>Wed, 09 Aug 2006 06:29:01 -0700</pubDate>
 <dc:creator>gordon</dc:creator>
 <guid isPermaLink="false">964 at http://heydon.com.au</guid>
</item>
<item>
 <title>Melbourne Meetup II</title>
 <link>http://heydon.com.au/node/962</link>
 <description>&lt;p&gt;Well it is that time again, and Melbourne is having it&#039;s second Meetup.&lt;/p&gt;&lt;p&gt;We have taken up a kind offer from Luke Hodges @ Sustainable Living Foundation to use their premise and internet to make this a much better meetup that people will learn more and gain more from this event.&lt;/p&gt;&lt;p&gt; see &lt;a href=&quot;http://groups.drupal.org/node/993&quot;&gt;http://groups.drupal.org/node/993&lt;/a&gt; for more information and the siteup sheet so we have a good idea on how many people are going to be comming.&lt;/p&gt;&lt;p&gt;I hope to see a good turn out, and hopefully better than we did have last time.&lt;br /&gt;&lt;/p&gt;</description>
 <comments>http://heydon.com.au/node/962#comments</comments>
 <category domain="http://heydon.com.au/taxonomy/term/10">drupal</category>
 <pubDate>Thu, 13 Jul 2006 05:20:55 -0700</pubDate>
 <dc:creator>gordon</dc:creator>
 <guid isPermaLink="false">962 at http://heydon.com.au</guid>
</item>
<item>
 <title>Adding a Drupal page as a Tab to the CiviCRM Contacts page.</title>
 <link>http://heydon.com.au/node/942</link>
 <description>
  &lt;p&gt;Over the last month or so I have doing a project which
  involved installing CiviCRM for my clients contact managements
  needs. So because of this I have been crawling around CiviCRM
  quite a bit.&lt;/p&gt;
  &lt;p&gt;One of my clients requirements to a membership system which is
  linked to both CiviCRM and Drupals E-Commerce, and gives access
  to the parts of the system, and some other items such as books,
  and resources.&lt;/p&gt;
  &lt;p&gt;I developed this membership system in Drupal, and used the
  CiviCRM API to update contacts. But when enquiring on contacts
  the problem was getting easy access to the membership information
  and history. The obvious answer was to add a tab to the contacts
  page for the membership information.&lt;/p&gt;
  &lt;p&gt;The problem with this is that the membership system was
  developed in Drupal, and not in CiviCRM, so adding the tab, and
  making the tab look like a CiviCRM page was going to be a
  challenge.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://heydon.com.au/node/942&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://heydon.com.au/node/942#comments</comments>
 <category domain="http://heydon.com.au/taxonomy/term/10">drupal</category>
 <category domain="http://heydon.com.au/taxonomy/term/38">civicrm</category>
 <pubDate>Wed, 21 Jun 2006 18:18:13 -0700</pubDate>
 <dc:creator>gordon</dc:creator>
 <guid isPermaLink="false">942 at http://heydon.com.au</guid>
</item>
<item>
 <title>Adding a Drupal page as a Tab to the CiviCRM Contacts page.</title>
 <link>http://heydon.com.au/node/942</link>
 <description>
  &lt;p&gt;Over the last month or so I have doing a project which
  involved installing CiviCRM for my clients contact managements
  needs. So because of this I have been crawling around CiviCRM
  quite a bit.&lt;/p&gt;
  &lt;p&gt;One of my clients requirements to a membership system which is
  linked to both CiviCRM and Drupals E-Commerce, and gives access
  to the parts of the system, and some other items such as books,
  and resources.&lt;/p&gt;
  &lt;p&gt;I developed this membership system in Drupal, and used the
  CiviCRM API to update contacts. But when enquiring on contacts
  the problem was getting easy access to the membership information
  and history. The obvious answer was to add a tab to the contacts
  page for the membership information.&lt;/p&gt;
  &lt;p&gt;The problem with this is that the membership system was
  developed in Drupal, and not in CiviCRM, so adding the tab, and
  making the tab look like a CiviCRM page was going to be a
  challenge.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://heydon.com.au/node/942&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://heydon.com.au/node/942#comments</comments>
 <category domain="http://heydon.com.au/taxonomy/term/10">drupal</category>
 <category domain="http://heydon.com.au/taxonomy/term/38">civicrm</category>
 <pubDate>Wed, 21 Jun 2006 18:18:13 -0700</pubDate>
 <dc:creator>gordon</dc:creator>
 <guid isPermaLink="false">942 at http://heydon.com.au</guid>
</item>
<item>
 <title>Imortalised forever</title>
 <link>http://heydon.com.au/node/941</link>
 <description>&lt;p&gt;I have been &lt;a href=&quot;http://www.lullabot.com/audiocast/drupal_podcast_no_15_gordon_heydon&quot;&gt;interviewed&lt;/a&gt; by &lt;a href=&quot;http://www.lullabot.com/about/jeffrobbins&quot;&gt;Jeff Roberts&lt;/a&gt; of &lt;a href=&quot;http://www.lullabot.com/&quot;&gt;Lullabot&lt;/a&gt; about the &lt;a href=&quot;http://drupal.org/node/67682&quot;&gt;E-Commerce Release&lt;/a&gt; and other things.&lt;/p&gt;&lt;p&gt;If has got a lot of good information, and it was a fun chat.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;</description>
 <comments>http://heydon.com.au/node/941#comments</comments>
 <category domain="http://heydon.com.au/taxonomy/term/10">drupal</category>
 <pubDate>Mon, 12 Jun 2006 20:44:55 -0700</pubDate>
 <dc:creator>gordon</dc:creator>
 <guid isPermaLink="false">941 at http://heydon.com.au</guid>
</item>
</channel>
</rss>
