2010-03-15 Boost enabled
Boost 是一個將匿名(非登入用戶, anonymous visitor)從動態生成的PHP 頁面轉到靜態HTML 頁面的模組
這模組能大量減少匿名用戶的載入頁面時間
但登入的使用者就沒有幫助
它的工作原理是利用了匿名用戶所看到的頁面不含有個人化的 block/內容
在匿名用戶的頁面內容完全一玫的話
頁面便有可能只使用靜態的HTML
它的工作的流程從Drupal 初始化開始
先判定使用者的登入狀態
直到這裡, Boost 都沒有提升頁面效能
但一旦判定為匿名用戶, 用戶便會被.htaccess 轉發到預先製好的靜態HTML
達成效能的提升
一個很好用的模組, 特別是對於匿名用遊客訪問為主的網站
Boost is a module that drive anonymous visitor from dynamic PHP pages to boost generated static HTML through apache .htaccess settings
This module can help anonymous users page load speed very much,
while logged in user have no effect on it.
It used the nature that annoymous user do not have customized theme/blocks/content
so every visitor should see the same content,
can thus can serve the page through static HTML
The mechanism start from Drupal initialize,
first check if the user is logged in or not.
Up to this point, this module do not help in performance,
but once anonymous user got redirected to cached files by redirect and .htaccess file,
the page load time boosted
A very good module for sites with mainly anonymous users like joetsuihk.com
hook_submit, hook_form_alter, hook_validate in Drupal 6.x
EDIT: 2011-02-07 更詳細的 hook_form_alter 例子
hook_submit() 是每一張form 提交的時候會經過的 hook
可以用作發電郵之類的自定義動作
類似的, hook_validate() 是驗證每一張 form 的時候會經過的hook
可以自定義更多驗證的 logic
而從Drupal 5.x 之中, hook_submit() 的 function callback 可以在form API 使用如下 syntax:
<?php
$form['submit']['#submit'] = array('function1','function2');
?>
那 function1 和 function2 都會在 hook_submit() 之中callback 了
而 Drupal 6.x 之中, #submit 在不再在 submit button 之中定義:
<?php
$form['#submit'][] = 'my_module_submit_handler'
?>
雖然 D5 的方法都可以, 但便不可以用 hook_form_alter() 從一個 module 修改另一個module 的 form 了
例如, contact form 需要一個contact number,
submit 時將 contact number 加到 body 之內:
<?php
function my_module_form_alter($form,&$form_statues) {
$form['#submit'][] = 'my_module_submit_handler';
}
function my_module_submit_handler($form,&$form_statues){
//processing
}
?>
EDIT: 2011-02-07 更詳細的 hook_form_alter 例子
2010-03-04 更新到 Drupal 6.16
更新發現了一個在icdsoft 實用的功能
就是resotre
因為我的 .htaccess 和 cron.php 不是 Drupal default 的,
我加了些少 logic, 更新以後便變回原本的版本
restore 可以 restore 最多 5 日的data,
而且可以 "單一/多個" "檔案/資料夾", click 一下便 restore 了, 方便!
UPDATE1: .htaccess in 6.16 had been modified as: http://drupal.org/node/638030
Drupal .htaccess block file access
In Drupal, in addition to hosting in icdsoft,
i have a php.ini file and maybe a backup folder(i do not have) that do not want unaurotized access
use .htaccess to do the job as:
<Files ~ "php\.ini|install\.php">
Order allow,deny
Deny from all
</Files>
which block php.ini and install.php from access by anyone from web
Mollem not properly configurated since last year?
Thank you Kay.L for pointing this out...
Sorry readers....