2010/04/11

Content Taxonomy 配合 Hierarchical Select 新增文章時自動帶入分類

有時候不寫下來真的會忘記~


當 Content Taxonomy 配合 Hierarchical Select 時,原本會自動帶入討論分類作為預設值的行為卻不見了。


我試過在 form_alter 跟 #pre_render 等地方去設定 Hierarchical Select 的 #default_value 卻無效~


後來在該Content Taxonomy 的 CCK 欄位的預設值填入:


return array(
  0 => array('value' => arg(3)),
);


這樣便可以自動帶入討論區分類的預設值了~


P.S. 因為新增討論區文章的連結是像這樣:q=node/add/forum/123,123 是討論區分類號碼


2010/04/07

ZendServer 和 XCache 的速度比較

這幾天花了點時間把 ZendServer CE 版的一些元件抽出來放到我自己包的 Portable APM 上,並且作了一些壓力測試的交叉比較。


 


先說結論:



  1. php5_module 的速度還是最快,但是在併發請求時會失敗



  2. fcgid_module 在併發請求時比 php5_module 還要不穩定,失敗連連,所以這次比較不加入這個



  3. zend_enabler_module 相當穩定,沒有請求失敗的紀錄,加上 Optimizer+ 之後的每秒請求數比 php5_module 少一成


 


測試環境:



  • Windows 7 64 bits



  • Apache 2.2.15



  • MySQL 5.5.2



  • PHP 5.3.2



  • Drupal 7.0 alpha 3(Standand 安裝,移除 database logging 模組,JS/CSS 打包輸出,有開快取)




 


壓力測試命令:ab -r -c 100 -n 10000 http://127.0.0.1/index.php


比較表格:











zend_enabler_module
N/A
XCache
Optimizer+

#/sec
129.03 
297.60 
362.98 

%
1.00 
2.31 
2.81 



 










php5_module
N/A
XCache

#/sec
185.91 
393.75 

%
1.00 
2.12 



 


2009/12/30

明年的工作計畫

明年要做的事情大致上定下來了




  1. 2010/01/15 前結束掉手上所有的案子,準備寫一本 Drupal 版型開發的書



  2. 開始嘗試做 Drupal 相關的教學,跟幾個朋友詢問了一下行情,我應該會開價 NT$1,000 / hr



  3. 多參加各種社群活動、多認識人


2009/11/16

編號為 0 的使用者

上個禮拜幫客戶的 Drupal 網站做升級,一切狀況良好,不過這兩天客戶說,訪客發表的回應無法顯示。


剛剛回到家後做了幾個測試,發現狀況很有趣:的確如客戶所說,訪客發表的回應在文章中無法顯示,但是最新回應區塊卻有顯示。


本來以為是文章權限的問題,檢查了半天,也重設權限了,問題還是一直存在。


為了確認回應是否有寫入,我到管理回應的列表中看了一下,發現管理回應的列表也沒有列出訪客發表的回應。


 


這是怎麼回事呢?我想一定是最新回應區塊篩出的條件不一樣~


因此我用主機商提供的 phpMyAdmin 介面去看一下 comments 表,發現資料有寫進去,所以一定是因為某個緣故忽略掉訪客發表的回應。


後來我想到了,上次做系統升級時,我順手把 users 裡面 uid 為 0 的那筆資料刪掉了(因為我一直覺得那筆資料沒啥用),或許是這個原因吧~


憑著直覺,我新增了一個 uid 為 0 的使用者,問題就解決了~

2009/11/01

VirtualBox 的穩定性,跟版本有關~

話說自從 VirtualBox 3.0 正式 Release 以來,我就把目前手上管理的一個網站移到這上面來作穩定性測試。


歷經數個版本的升級,目前可以說說一些心得。


如果你期待跑了 VirtualBox 以後可以過著幸福快樂的生活,我會覺得那是想太多了~


目前我在 Windows 7 下跑了那麼久的 VirtualBox ,只有 3.0.6 這個版本堪稱穩定,其他的三天兩頭就會引起 OS Crash。


年底我打算買一台 1 L 以下的比較省電小機器來獨立跑看看~

2009/09/23

從虛擬主機的檔案重建 Drupal 系統

昨天跟客戶定期 meeting,有談到目前一個案子的畫面上的小調整。


由於要修改到 CSS 檔案,所以我把虛擬主機上的整個目錄打包複製下來、資料庫用 phpMyAdmin 匯出,配合空的 PAPM 重建後,卻發現每次進入首頁卻變成下載畫面。


嘗試了幾個方式都還是一樣,最後終於讓我重建成功。


底下是重建筆記(這個方式只適用同樣主版本的 Drupal 上,並且你沒有對原始 Drupal 的檔案做過太大幅度的修改):



  1. 清除瀏覽器的快取、停用前導程式(如果你發現跟我一樣出現下載頁面)

  2. 停用虛擬主機上的 Drupal 系統的效能選項中的所有選項

  3. 把虛擬主機上的 Drupal 系統的 sites 目錄打包回來

  4. 把虛擬主機上的資料庫用 phpMyAdmin 匯出

  5. 解開我提供的 Drupal with Portable APM for Windows 壓縮包(如果版本不對,請用空的 PAPM 跟 Drupal 官方提供的相同版本的 drupal 壓縮包先進行安裝程序),並執行前導程式(以下稱本機)

  6. 將本機的 Drupal 資料庫中所有資料表刪除,並把虛擬主機匯出的資料庫匯入

  7. 解開上述的 sites 壓縮包,並覆蓋掉本機的 sites 目錄

  8. 修改本機 sites/default/setting.php 中的資料庫設定(預設應該是:$db_url = 'mysql://site:site@localhost/site_drupal';)


這樣應該就重建完成,如果有要修改的 Drupal 檔案,記得改回去~

2009/09/15

在 View 裡面把另外一個 View 當作欄位插入

起源是我想要做一個像討論區板塊的 View,會顯示最上層的討論區,並在每個討論區下面列出該討論區的討論板。


方法很簡單,需要兩個模組:



安裝好了之後,要先設定被插入的 View


然後在另外一個 View 的欄位中新增一個 Customfield: PHP code


內容是


<?php
echo views_embed_view('View 的名稱', 'default', 要傳入的參數列...);
?>


這樣就行了~