Archive for 'Programming'

WordPress 2.8試用報告

Posted on 12. 六月, 2009 by HungJai.

0

Matt在WordCamp提到WordPress 2.8的新功能時,HungJai已經覺得很吸引,今早在Twitter看到@wordpress發佈2.8版本,便急不及待為「鴻仔記事簿」作升級。

WP 2.8,又有Chet Baker (美國小號手及歌手)之稱,加強了theme及widget管理功能,並修正了近800個漏動及提升了運作速度(的確快了)。重點加強如下:

  1. 拖放式widget管理 (drag-and-drop很方便)
  2. Theme及plugin編輯器加入syntax highlight (還是用慣用的text editor吧)
  3. 內建theme搜尋及安裝功能 (很吸引的功能,但…)
  4. 自訂dashboard介面 (最多4欄)
  5. 自訂資料欄位 (posts、media、links、pages及comments也有此功能)

拖放式widget管理 快速方便

01

這是HungJai覺得Baker最强的更新,比起以前的WP,少了點擊"add"的步驟,直接拖放便能選擇使用那些widget,十分方便,為網誌添加功能易如反掌。

Syntax highlight編輯器 未能對症下藥

02

看來,Matt想WP用戶無須再用FTP也能全面管理網誌,在內建theme及plugin編輯器中加入syntax highlight,的確再提升了修改theme或plugin的效能。但是,要用內建編輯器作修改的話,資料匣及檔案的使用權必須放寬,做成很大的安全問題。若每次也去修改權限,那一點也不方便。編輯器的加強似乎未能對症下藥。

內建theme搜尋及安裝 很棒但只會用一次

03

04

這毫無疑問是一個很user friendly的功能 (最愛user friendly的科技),但每個blog只會用它一次。搜尋器提供顏色、欄數、闊度、特殊功能及blog類型搜尋,例如,用戶可搜尋一個紫色、2欄、固定闊度、可自定顏色及有置頂文章的相片blog theme。很細心的搜尋器,顧及了不同用戶的需要。看中了那一個theme更可以即時安裝,方便得不得了。用戶無須再以Google搜尋theme,其他的提供WP theme的網站這下了頭痛了。方便是方便,但每一個網誌一但開站後,很少會常常更換theme,加上很多用戶都自行修改了theme (如加入Google Ads),更換theme便要進行多一次修改,所以用這功能的機會只有1,2次。

自訂dashboard介面 剔除多餘widget

05

Dashboard是WP admin的第一版,常看到數據及常用的功能都齊集在這一版,這一版能夠因用戶的使用習慣修改,便用WP便會更得心應手。Baker內,用戶可自訂顯示的widgets及分多少欄顯示 (最多四欄),設定後便可跟2.7.1一樣拖放擺位。原本可放在dashboard的widgets不多,若要dashboard有更多功能,要借助一下plugin的力量了。

自訂資料欄位 簡化管理介面

06

HungJai最怕是介面上出現十分少用的資料,所以很喜歡這個功能。Posts、media、links、pages及comments的列表,用戶也可以自訂當中的欄目,減去無謂的資料。個人網誌的話,Author一欄應該可以被剔除吧!

其他新功能

  • theme刪除 – 以前要刪除多餘的theme非用FTP不可,現在多了delete功能,但須小心使用,因為一但錯誤刪除,將和重要的主題說永別。08
  • 插頁分類 – 以前只有All及Published,現在多了分類,若以WP當CMS,會更易管理。07
  • 首次登入改密碼提示 – 這一個功能是從其他網站得知的,是HungJai應為必須的貼心功能09
  • 以選擇城市設定時區 – 這看來是意義不大的更新10

雖說除了790個漏洞,但使用了半天,及跟幾位朋友討論過後,發現Baker還是頗多bugs。幾個明顯的bugs都是來自browser的兼容問題,如Firefox未能顯示WYSIWYG編輯器、Chrome未能顯示theme及plugin編輯器的syntax highlight等。相信很快便會有更新版,所以不用急著由2.7升上2.8。

還記得Matt在WordCamp中提到taxonomies的更新,那時我覺得這個很吸引,應為blog的應用彈性會提升,WP 2.8官方文件亦有列出這項更新,可是安裝Baker後,HungJai暫時還未找到這個features,難道這是API的更新?再找找吧!

另外,HungJai還在Baker的HTML code內發現了些XHTML 2的編碼,難免要學習新的HTML tag了。

WP 2.8的確是很好的一個版本,加入了不少細心的修改,提升了可用性,唯獨有些漏洞太過明顯,有待更新。由WP 1.5到現在2.8,WP都向著非技術人員可用的方向進發,HungJai也期待有日Matt可做到人人也會用WP。

Share and Enjoy:
  • TwitThis
  • Facebook
  • Google Bookmarks
  • Live
  • MySpace
  • YahooMyWeb
  • email
  • Print

Continue Reading

為何WordPress內建的外掛安裝失效?

Posted on 04. 五月, 2009 by HungJai.

0

剛剛建立了一個新的blog,跟鴻仔記事簿一樣都是以WordPress搭建的。出奇地在安裝外掛時出現了狀況,輸入FTP資料後,系統竟然給我下面的回應。

Download failed: Could not create Temporary file

外掛資料匣使用權限問題
HungJai當然第一時間Google一下這問題,得出的解決方案就是更改外掛資料匣的使用者權限,將權限由755改至777,安裝完之後改回為755。這個動作就是告訴伺服器所有使用者都可以讀取、寫入及執行該資料匣。但是這方案並不能解決我遇到的問題,我又怎會給777難到呢!

PHP設定中的safe_mode問題
因為Google不給我解決方案,我只好自己想,想了很久,終於想到是PHP設定的問題。HungJai在一開始建立那台伺服器時,啟動了safe_mode,當safe_mode是on的時候,就算權限為777,都會出現上面的錯誤訊息。safe_mode本為解決共享伺服器(shared-server)安全問題而設立的,內建的外掛安裝乃一跨伺服器活動,當然受管制。很簡單,在php.ini中找到safe_mode,off了它便行。(如果沒有php.ini的管理權,那還可以用.htaccess解決,但這裡不提了;如果沒有設定PHP的知識,HungJai建議還是向技師朋友求救,因為php.ini亂了的話,很可能連其他的網頁也運作不了。)

下圖才是真正的safe mode!哈哈!

6-m-193342-3

Share and Enjoy:
  • TwitThis
  • Facebook
  • Google Bookmarks
  • Live
  • MySpace
  • YahooMyWeb
  • email
  • Print

Continue Reading

Apple聯Stanford免費教開發iPhone軟件

Posted on 04. 四月, 2009 by HungJai.

0

apple-logo11 stanford-university1

想開發iPhone軟件的人有福了,Apple聯同Stanford免費開班教你如何開發iPhone軟件。對,是免費的!

有興趣的朋友只雖要到http://itunes.stanford.edu/,再按Open Stanford on iTunes U,iTunes便會開啟並進入Stanford University,下圖那icon便是你要找的入口。課程是一段段的教學影片,下載後便可觀看。

01

這課程由兩位Apple的工程師負責授課,課程為期10星期。除了影片,上課用的slide show亦可下載。第一課的影片已可下載,快去上課啊,朋友!

Apple此舉的確了不起,是一個四贏的project。Nokia的Ovi、Blackberry的App World、Microsoft的MarketPlace及Google的Android Market將陸續開鋪,明顯直接影響AppStore的軟件平台市場,加上iPhone在手機市場仍是新丁,佔有率並不如其他手機老牌,AppStore要站穩的確不易。公開教授開發技術,可增加開發人員數目,軟件公司開發iPhone軟件的機會亦相對增加。對於開發者或公司而言,AppStore是一間愈來愈多訪客的店舖,能夠開發產品並在那裡上架,樂事也。Stanford雖已鼎鼎大名,但開此班亦為她帶來一個很好的marketing edge,及鋪了一條光明大道,誰知Stanford將來會不會開辦專利課程。對於我們這班用戶,當然將來可用的軟件會更多樣化,更具創意。Win-win-win-win,爽!

HungJai也不會錯過這個課程呢!

[Update]
1. Introduction to Mac OS X and CoCoa Touch | 7:15
"The iPhone development tool is not available on Windows or Linux."

Share and Enjoy:
  • TwitThis
  • Facebook
  • Google Bookmarks
  • Live
  • MySpace
  • YahooMyWeb
  • email
  • Print

Continue Reading

WordPress的Spam-stopper阻止你留comment?

Posted on 13. 三月, 2009 by HungJai.

0

對!用了Spam-stopper好一段日子,以為能夠解決spam comment的問題,但原來連一般訪客回應也阻擋了!

Spam-stopper是一個Wordpress的外掛,它在訪客comment的表格內加入一題簡單的問題 (如Is Fire hot or cold?),避免了由機器自動產生的comment。

spam-stopper

前兩天我才知道那一句間單的問題是怎樣也答不了的,系統會不斷說「Incorrect anti-spam answer. Please re-answer the question!」。經查看這外掛的PHP source後,發覺有個叫$aspamq的object內的變數不能被存取 (到了javascript後變了null),令訪客的答案永遠都是和null作比較。解決方法很簡單,只要於WPcommentSpam_head()這個function內把$aspamq定義一次。首先在source內找出 global $user_ID; 這一行,再在下一行加入 global $aspamq; 即可。以下是更改後的WPcommentSpam_head()。

 

function WPcommentSpam_head() {
  ?>
        <link href="<?php echo get_bloginfo('wpurl'); ?>/wp-content/plugins/spam-stopper/spam-stopper.css" rel="stylesheet" type="text/css" />
        <?php
  global $user_ID;
  global $aspamq;                     //就是這行
  if (!isset($user_ID)) {
  ?>
        <script type="text/javascript" src="<?php echo get_bloginfo('wpurl'); ?>/wp-includes/js/jquery/jquery.js"></script><script type="text/javascript">
   <!--
   jQuery(function(){
     jQuery('#commentform').submit(function(){
       if (jQuery('#author').val()=="") {
        alert("Please input your name");
        return false;
       }
       var email_field = jQuery('#email');
       var emailFilter=/^.+@.+..{2,3}$/;
       if (!emailFilter.test(email_field.val())) {
        alert("Please input a valid email");
        return false;
       }
       if (jQuery('#spamq').val()=="") {
        alert("Please answer the anti-spam question");
        return false;
       }
       if (jQuery('#comment').val()=="") {
        alert("Please input a comment");
        return false;
       }
       var spamq = jQuery('#spamq').val();
       if (spamq.toUpperCase()!='<?php echo strtoupper($aspamq->spam_answer); ?>') {
        alert("Incorrect anti-spam answer. Please re-answer the question!");
        return false;
       }
       return true;
     });
   });
   -->
        </script>
  <?php
  }
}
Share and Enjoy:
  • TwitThis
  • Facebook
  • Google Bookmarks
  • Live
  • MySpace
  • YahooMyWeb
  • email
  • Print

Continue Reading