<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xml:base="http://joetsuihk.com/en/taxonomy/term/6/all" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Development</title>
    <link>http://joetsuihk.com/en/taxonomy/term/6/all</link>
    <description></description>
    <language>en</language>
     <atom:link href="http://joetsuihk.com/en/taxonomy/term/6/all/feed" rel="self" type="application/rss+xml" />
      <item>
    <title>Rsync git diff files to external</title>
    <link>http://joetsuihk.com/en/rsync_git_diff_files_to_external</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;git diff -z --name-only HEAD^ HEAD | xargs -0 -IREPLACE rsync -azP REPLACE root@www.example.com:/var/www/html/&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
oneliner, no need to explain, right?
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Free tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/development&quot;&gt;Development&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-add-this field-type-addthis field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a class=&quot;addthis_button &quot; addthis:title=&quot;Rsync git diff files to external - JOE Tsui&amp;#039;s Drupal life in Hong Kong (香港)&quot; addthis:url=&quot;http://joetsuihk.com/en/rsync_git_diff_files_to_external&quot;&gt;&lt;img src=&quot;http://s7.addthis.com/static/btn/sm-share-en.gif&quot; alt=&quot;Share page with AddThis&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Tue, 12 May 2015 07:06:07 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">406 at http://joetsuihk.com</guid>
  </item>
  <item>
    <title>反時間方向的留言排序 </title>
    <link>http://joetsuihk.com/en/node/405</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;Drupal 原生在 node 下的留言是使用時間最先的開始 (created ASC)&lt;br /&gt;
但如果需要反方向的話 (不使用 views 為前提)：&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Free tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/development&quot;&gt;Development&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/en/free_tags/drupal7x&quot;&gt;Drupal 7.x&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-add-this field-type-addthis field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a class=&quot;addthis_button &quot; addthis:title=&quot;反時間方向的留言排序  - JOE Tsui&amp;#039;s Drupal life in Hong Kong (香港)&quot; addthis:url=&quot;http://joetsuihk.com/en/node/405&quot;&gt;&lt;img src=&quot;http://s7.addthis.com/static/btn/sm-share-en.gif&quot; alt=&quot;Share page with AddThis&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Sun, 26 Apr 2015 14:11:26 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">405 at http://joetsuihk.com</guid>
  </item>
  <item>
    <title>Alter comments query to order by DESC</title>
    <link>http://joetsuihk.com/en/alter_comments_query_to_order_by_desc</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;Drupal ordinary comment listing under nodes are ordered earliest first.(created ASC)&lt;br /&gt;
If you need to make it DESC, without using views:&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Free tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/development&quot;&gt;Development&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/en/free_tags/drupal7x&quot;&gt;Drupal 7.x&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-add-this field-type-addthis field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a class=&quot;addthis_button &quot; addthis:title=&quot;Alter comments query to order by DESC - JOE Tsui&amp;#039;s Drupal life in Hong Kong (香港)&quot; addthis:url=&quot;http://joetsuihk.com/en/alter_comments_query_to_order_by_desc&quot;&gt;&lt;img src=&quot;http://s7.addthis.com/static/btn/sm-share-en.gif&quot; alt=&quot;Share page with AddThis&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Sun, 26 Apr 2015 03:22:56 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">404 at http://joetsuihk.com</guid>
  </item>
  <item>
    <title>在 node page 加入 open graph tags</title>
    <link>http://joetsuihk.com/en/node/403</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Free tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/development&quot;&gt;Development&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/en/free_tags_11&quot;&gt;header&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/drupal7x&quot;&gt;Drupal 7.x&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-add-this field-type-addthis field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a class=&quot;addthis_button &quot; addthis:title=&quot;在 node page 加入 open graph tags - JOE Tsui&amp;#039;s Drupal life in Hong Kong (香港)&quot; addthis:url=&quot;http://joetsuihk.com/en/node/403&quot;&gt;&lt;img src=&quot;http://s7.addthis.com/static/btn/sm-share-en.gif&quot; alt=&quot;Share page with AddThis&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Tue, 21 Apr 2015 16:02:42 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">403 at http://joetsuihk.com</guid>
  </item>
  <item>
    <title>Adding open graph tags to node page</title>
    <link>http://joetsuihk.com/en/adding_open_graph_tags_to_node_page</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Free tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/development&quot;&gt;Development&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/en/free_tags_11&quot;&gt;header&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/drupal7x&quot;&gt;Drupal 7.x&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-add-this field-type-addthis field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a class=&quot;addthis_button &quot; addthis:title=&quot;Adding open graph tags to node page - JOE Tsui&amp;#039;s Drupal life in Hong Kong (香港)&quot; addthis:url=&quot;http://joetsuihk.com/en/adding_open_graph_tags_to_node_page&quot;&gt;&lt;img src=&quot;http://s7.addthis.com/static/btn/sm-share-en.gif&quot; alt=&quot;Share page with AddThis&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Tue, 21 Apr 2015 16:02:07 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">402 at http://joetsuihk.com</guid>
  </item>
  <item>
    <title>修改用戶頁面的密碼欄位</title>
    <link>http://joetsuihk.com/en/node/400</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;要求看似簡單，將用戶頁面的密碼欄位改成 “New Password” (或加 placeholder 等)&lt;/p&gt;
&lt;p&gt;由:&lt;br /&gt;&lt;img src=&quot;http://www.joetsuihk.com/sites/default/files/Screen%20Shot%202015-03-04%20at%204.40.53%20pm.png&quot; /&gt;&lt;br /&gt;
改成:&lt;br /&gt;&lt;img src=&quot;http://www.joetsuihk.com/sites/default/files/Screen%20Shot%202015-03-04%20at%204.39.39%20pm.png&quot; /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Free tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/drupal7x&quot;&gt;Drupal 7.x&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/en/free_tags/development&quot;&gt;Development&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-add-this field-type-addthis field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a class=&quot;addthis_button &quot; addthis:title=&quot;修改用戶頁面的密碼欄位 - JOE Tsui&amp;#039;s Drupal life in Hong Kong (香港)&quot; addthis:url=&quot;http://joetsuihk.com/en/node/400&quot;&gt;&lt;img src=&quot;http://s7.addthis.com/static/btn/sm-share-en.gif&quot; alt=&quot;Share page with AddThis&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Wed, 04 Mar 2015 08:59:06 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">400 at http://joetsuihk.com</guid>
  </item>
  <item>
    <title>Alter user profile page password fields in Drupal 7.x</title>
    <link>http://joetsuihk.com/en/alter_user_profile_page_password_fields_in_drupal_7x</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;The request seems simple, change the password field title in user edit form to “New Password” (or add placeholder etc)&lt;/p&gt;
&lt;p&gt;From:&lt;br /&gt;&lt;img src=&quot;http://www.joetsuihk.com/sites/default/files/Screen%20Shot%202015-03-04%20at%204.40.53%20pm.png&quot; /&gt;&lt;br /&gt;
to:&lt;br /&gt;&lt;img src=&quot;http://www.joetsuihk.com/sites/default/files/Screen%20Shot%202015-03-04%20at%204.39.39%20pm.png&quot; /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Free tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/drupal7x&quot;&gt;Drupal 7.x&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/en/free_tags/development&quot;&gt;Development&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-add-this field-type-addthis field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a class=&quot;addthis_button &quot; addthis:title=&quot;Alter user profile page password fields in Drupal 7.x - JOE Tsui&amp;#039;s Drupal life in Hong Kong (香港)&quot; addthis:url=&quot;http://joetsuihk.com/en/alter_user_profile_page_password_fields_in_drupal_7x&quot;&gt;&lt;img src=&quot;http://s7.addthis.com/static/btn/sm-share-en.gif&quot; alt=&quot;Share page with AddThis&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Wed, 04 Mar 2015 08:53:09 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">399 at http://joetsuihk.com</guid>
  </item>
  <item>
    <title>訪客購物車 programmatically</title>
    <link>http://joetsuihk.com/en/node/398</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;img src=&quot;http://www.joetsuihk.com/sites/default/files/download.png&quot; /&gt;&lt;br /&gt;
需求：每個訪客都會預設幫他們將一件貨物加到購物車&lt;br /&gt;
他們便可以直接完成交易&lt;/p&gt;
&lt;p&gt;Commerce kickstart已經是一個現成的示範&lt;br /&gt;
訪客就算不注冊仍然可以使用購物車&lt;br /&gt;
而且一定情況之下關閉瀏覽器之後再回到網站仍然可以找回上次的紀錄繼續購物&lt;/p&gt;
&lt;p&gt;但在 init 的時候使用 &lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Free tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/development&quot;&gt;Development&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/en/free_tags_3&quot;&gt;commerce&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags_10&quot;&gt;cart&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-add-this field-type-addthis field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a class=&quot;addthis_button &quot; addthis:title=&quot;訪客購物車 programmatically - JOE Tsui&amp;#039;s Drupal life in Hong Kong (香港)&quot; addthis:url=&quot;http://joetsuihk.com/en/node/398&quot;&gt;&lt;img src=&quot;http://s7.addthis.com/static/btn/sm-share-en.gif&quot; alt=&quot;Share page with AddThis&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Mon, 18 Aug 2014 11:24:29 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">398 at http://joetsuihk.com</guid>
  </item>
  <item>
    <title>Drupal commerce - Add to cart anonymously, programmatically</title>
    <link>http://joetsuihk.com/en/drupal_commerce_add_to_cart_anonymously_programmatically</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;img src=&quot;http://www.joetsuihk.com/sites/default/files/download.png&quot; /&gt;&lt;br /&gt;
Feature: add an item to the shopping cart of every visitor so they can checkout immediately.&lt;/p&gt;
&lt;p&gt;Actually a shopping cart can belongs to anonymous, linked by session ID&lt;br /&gt;
Commerce kickstart had already demonstrate such behaviour.&lt;/p&gt;
&lt;p&gt;But the problem is, &lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Free tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/development&quot;&gt;Development&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/en/free_tags_3&quot;&gt;commerce&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags_10&quot;&gt;cart&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-add-this field-type-addthis field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a class=&quot;addthis_button &quot; addthis:title=&quot;Drupal commerce - Add to cart anonymously, programmatically - JOE Tsui&amp;#039;s Drupal life in Hong Kong (香港)&quot; addthis:url=&quot;http://joetsuihk.com/en/drupal_commerce_add_to_cart_anonymously_programmatically&quot;&gt;&lt;img src=&quot;http://s7.addthis.com/static/btn/sm-share-en.gif&quot; alt=&quot;Share page with AddThis&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Mon, 18 Aug 2014 11:17:15 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">397 at http://joetsuihk.com</guid>
  </item>
  <item>
    <title>Drupal commerce － 從代碼建立訂單</title>
    <link>http://joetsuihk.com/en/node/396</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;img src=&quot;/sites/default/files/Screen%20Shot%202014-08-11%20at%206.32.42%20pm.png&quot; /&gt;&lt;br /&gt;
Drupal commerce 己經成為 Drupal 電子商務應用的主流了，ubercart 落伍了&lt;/p&gt;
&lt;p&gt;Ubercart 是一個源自 Drupal5.x 世代的方案&lt;br /&gt;
而為了使用 Drupal7 方便的 entities，和令電子商務方案使用一個「弱品牌化」的名字，Drupal commerce 誕生了&lt;/p&gt;
&lt;p&gt;但因為 Drupal commerce 龐大的代碼量，為了方便分散工作，代碼都打散到不同的模組，各自有他們的維護者&lt;br /&gt;
再加上為數不少的 dependencies 令上手的難度過大&lt;br /&gt;
所以  &lt;a href=&quot;https://www.drupal.org/project/commerce_kickstart&quot;&gt;Drupal commerce kickstart &lt;/a&gt;便將一個完整的電子商務網站包裝起來&lt;br /&gt;
只需要下載安裝，匯入範例便可以立即使用了&lt;/p&gt;
&lt;p&gt;這次的開發和前一次類似，從代碼建立將貨物放到訂單：&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Free tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/development&quot;&gt;Development&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/en/free_tags_3&quot;&gt;commerce&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/drupal7x&quot;&gt;Drupal 7.x&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/en/free_tags/drupal&quot;&gt;Drupal&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-add-this field-type-addthis field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a class=&quot;addthis_button &quot; addthis:title=&quot;Drupal commerce － 從代碼建立訂單 - JOE Tsui&amp;#039;s Drupal life in Hong Kong (香港)&quot; addthis:url=&quot;http://joetsuihk.com/en/node/396&quot;&gt;&lt;img src=&quot;http://s7.addthis.com/static/btn/sm-share-en.gif&quot; alt=&quot;Share page with AddThis&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Mon, 11 Aug 2014 10:53:47 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">396 at http://joetsuihk.com</guid>
  </item>
  <item>
    <title>Create Drupal commerce order programatically</title>
    <link>http://joetsuihk.com/en/create_drupal_commerce_order_programatically</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;img src=&quot;/sites/default/files/Screen%20Shot%202014-08-11%20at%206.32.42%20pm.png&quot; /&gt;&lt;br /&gt;
Drupal commerce had become the major implementation of all-in-one ecommerce solution, from ubercart. &lt;/p&gt;
&lt;p&gt;Ubercart was long from Drupal5.x era&lt;br /&gt;
To work with entities that build-in Drupal7, and also make Drupal&#039;s commerce solution brand-less, Drupal commerce was born.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Free tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/development&quot;&gt;Development&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/en/free_tags_3&quot;&gt;commerce&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/drupal7x&quot;&gt;Drupal 7.x&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/en/free_tags/drupal&quot;&gt;Drupal&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-add-this field-type-addthis field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a class=&quot;addthis_button &quot; addthis:title=&quot;Create Drupal commerce order programatically - JOE Tsui&amp;#039;s Drupal life in Hong Kong (香港)&quot; addthis:url=&quot;http://joetsuihk.com/en/create_drupal_commerce_order_programatically&quot;&gt;&lt;img src=&quot;http://s7.addthis.com/static/btn/sm-share-en.gif&quot; alt=&quot;Share page with AddThis&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Mon, 11 Aug 2014 10:32:23 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">395 at http://joetsuihk.com</guid>
  </item>
  <item>
    <title>Drupal feeds module: FeedsProcessor with ubercart Order</title>
    <link>http://joetsuihk.com/en/node/394</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;img src=&quot;http://www.joetsuihk.com/sites/default/files/Screen%20Shot%202014-08-04%20at%2012.34.33%20pm.png&quot; /&gt;&lt;br /&gt;
使用者情境：批量使用 CSV 匯入 ubercart 訂單&lt;/p&gt;
&lt;p&gt;Feeds 模組已經有一個 CSV 格式讀取 parser，又有批量 batch 支持，能處理大檔案 CSV ，Feeds 的代碼也有很多使用的經驗，而且最重要的是，模組自己已經有四種內容可以匯入：(nodes, users, terms, feednode?)，有更高的機會支持其他內容 (ubercart orders)&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Free tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/ubercart&quot;&gt;ubercart&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/en/free_tags/feeds&quot;&gt;Feeds&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/module_development&quot;&gt;module development&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/en/free_tags/development&quot;&gt;Development&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-add-this field-type-addthis field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a class=&quot;addthis_button &quot; addthis:title=&quot;Drupal feeds module: FeedsProcessor with ubercart Order - JOE Tsui&amp;#039;s Drupal life in Hong Kong (香港)&quot; addthis:url=&quot;http://joetsuihk.com/en/node/394&quot;&gt;&lt;img src=&quot;http://s7.addthis.com/static/btn/sm-share-en.gif&quot; alt=&quot;Share page with AddThis&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Mon, 04 Aug 2014 05:00:39 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">394 at http://joetsuihk.com</guid>
  </item>
  <item>
    <title>Drupal feeds module: FeedsProcessor with ubercart Order</title>
    <link>http://joetsuihk.com/en/drupal_feeds_module_feedsprocessor_with_ubercart_order</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;img src=&quot;http://www.joetsuihk.com/sites/default/files/Screen%20Shot%202014-08-04%20at%2012.34.33%20pm.png&quot; /&gt;&lt;br /&gt;
Use case: need to import batch ubercart orders from a CSV&lt;/p&gt;
&lt;p&gt;Feeds module have a CSV parser already, have batch process build in, can process a large CSV already, and proven code. The most import, there are already 4 type of content that can be import (nodes, users, terms, feednode?), so likely there are other ways to import new content as well.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Free tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/ubercart&quot;&gt;ubercart&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/en/free_tags/feeds&quot;&gt;Feeds&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/module_development&quot;&gt;module development&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/en/free_tags/development&quot;&gt;Development&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-add-this field-type-addthis field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a class=&quot;addthis_button &quot; addthis:title=&quot;Drupal feeds module: FeedsProcessor with ubercart Order - JOE Tsui&amp;#039;s Drupal life in Hong Kong (香港)&quot; addthis:url=&quot;http://joetsuihk.com/en/drupal_feeds_module_feedsprocessor_with_ubercart_order&quot;&gt;&lt;img src=&quot;http://s7.addthis.com/static/btn/sm-share-en.gif&quot; alt=&quot;Share page with AddThis&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Mon, 04 Aug 2014 04:33:43 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">393 at http://joetsuihk.com</guid>
  </item>
  <item>
    <title>Web dev&#039;s dilemma: integration resopsibility</title>
    <link>http://joetsuihk.com/en/en/web_devs_dilemma_integration_resopsibility</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;Situational question: AJAX POST to /user/create&lt;/p&gt;
&lt;p&gt;Frontend HTML dev should find out URI /user/create and put inside JS, or;&lt;br /&gt;
Backend dev should put that in after completing user controller?&lt;/p&gt;
&lt;p&gt;This grey area responsibility keeps popping up during the day&lt;br /&gt;
In some complex application with AJAX GET, POST, Facebook API with multiple end point URI&lt;br /&gt;
the communication effort is near to the development effort itself&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Free tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/development&quot;&gt;Development&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-add-this field-type-addthis field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a class=&quot;addthis_button &quot; addthis:title=&quot;Web dev&amp;#039;s dilemma: integration resopsibility - JOE Tsui&amp;#039;s Drupal life in Hong Kong (香港)&quot; addthis:url=&quot;http://joetsuihk.com/en/en/web_devs_dilemma_integration_resopsibility&quot;&gt;&lt;img src=&quot;http://s7.addthis.com/static/btn/sm-share-en.gif&quot; alt=&quot;Share page with AddThis&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Mon, 14 Oct 2013 11:51:10 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">388 at http://joetsuihk.com</guid>
  </item>
  <item>
    <title>網頁工程師們的兩難：問中間灰色地帶的責任</title>
    <link>http://joetsuihk.com/en/node/387</link>
    <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;情境題：AJAX POST 到 /user/create&lt;br /&gt;
究竟是&lt;/p&gt;
&lt;p&gt;前端HTML工程師要找出路徑 /user/create 放到 JS&lt;br /&gt;
還是後端工程師在完成 user controller 之後負責修改 JS 檔？&lt;/p&gt;
&lt;p&gt;這個中間灰色地帶的責任問題一直困擾我們的工作&lt;br /&gt;
在某些複雜的 AJAX GET, POST, Facebook API 等多個溝通點的情況之下&lt;br /&gt;
中間 integration 需要的溝通量有時差不多和開發的時間相等&lt;/p&gt;
&lt;p&gt;前端不想打開 controllers 找出 controller 的 method&lt;br /&gt;
後端不想看 JS 的 jquery object, success callback 還可能需要 handle HTML&lt;br /&gt;
但在這個兩難式中間&lt;br /&gt;
始終有一個人需要完成灰色的工作&lt;/p&gt;
&lt;p&gt;我們需要一個有效率而又相對公平的方法&lt;br /&gt;
還是這就是工程師們必要的溝通？&lt;br /&gt;
那遙距的團隊要如何解決這個問題？&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Free tags:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/en/free_tags/development&quot;&gt;Development&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-add-this field-type-addthis field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a class=&quot;addthis_button &quot; addthis:title=&quot;網頁工程師們的兩難：問中間灰色地帶的責任 - JOE Tsui&amp;#039;s Drupal life in Hong Kong (香港)&quot; addthis:url=&quot;http://joetsuihk.com/en/node/387&quot;&gt;&lt;img src=&quot;http://s7.addthis.com/static/btn/sm-share-en.gif&quot; alt=&quot;Share page with AddThis&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
     <pubDate>Mon, 14 Oct 2013 11:43:56 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">387 at http://joetsuihk.com</guid>
  </item>
  </channel>
</rss>
