聚會時間公告: 11月份聚會為11月15號星期六下午兩點在MocaMona / 講者:shawn Topic: Hello BIOS: EFI, an opensource firmware framework

十一月 26, 2008
» LifeType 修改讓 TinyMCE 吃某些 HTML Tag 的參數

LifeType 目前的版本是使用 TinyMCE 來當 HTML(WYSWYG) Editor, 這套很聰明也蠻標準的, 但是太過聰明有時後反而有點被綁住了.

為何要修改讓 TinyMCE 吃某些 HTML Tag

有些 Widget/Badge 的寫法是 <script src="oox" class="abc"></script>, 但是裡面的 class="abc" 會被 TinyMCE 給濾掉, 造成此 Widget 嵌入會出問題, 所以要想辦法讓 TinyMCE 開放 script 裡面的 class 屬性(避免 script 的 class 屬性被濾掉).

註: 之前 Ruby on Rails 系列的文章, 想要透過 wowTree 來做整理做相關文章(這樣子就不用每增加一篇文章, 要回頭改前面所有文章的 "相關文章" 區塊, 只需要在 wowTree 加即可), 就是遇到這個狀況.

修改完成並可嵌入 Ruby on Rails 的整理如下:

修改方式

修改讓 TinyMCE 能吃 script 的 class 屬性的方法如下: (假設 LifeType 的目錄在 /var/www/lifetype)

  1. vim /var/www/lifetype/js/tinymce/tiny_mce-plog.js
  2. 找到第 213 行的: +"script[charset|defer|language|src|type],"
  3. 加上 |class 即可, 213 行會變成這樣: +"script[charset|defer|language|src|type|class],"
  4. 存檔即可.

不過, 改完的同時, wowTree 也已經不需要 script 的 class 屬性了.. Orz.. (就是上述不用改, 一樣可以嵌入使用), 防止有其它的類似的狀況, 還是於此做個紀錄.

LifeType tiny_mce-plog.js 發現

另外一個發現是, tiny_mce-plog.js 包含所有 HTML 的 Tag 允許哪些屬性的列表, 是相當實用的寶庫呀~ :P

七月 16, 2008
» LifeType 1.2.7 升級到 1.2.8

升級最好是每個版本小升級, 就去做小升級, 不然一次要跳多個版本, 就怕會有很多意外發生~

今天突然想到去點選 LifeType 的版本檢查, 發現有新版本 1.2.8, 所以就直接到 Release notes Lifetype 1.2.8 下載 Lifetype upgrade package from 1.2.7 (.tar.gz), 有升級版可以使用, 盡量就使用升級的囉~

不過這次 1.2.8 版的更新, 對我來說都用不到, 總之還是先升級就是了~ :P

升級步驟:

  1. tar zxvf lifetype-1.2.7-upgrade-1.2.8.tar.gz
  2. sudo cp -fr lifetype-1.2.7-upgrade-1.2.8/* /var/www/lifetype/

這樣子就完成囉~

四月 21, 2008
» LifeType 1.2.4 升級到 1.2.7

WordPress 大家都在升級, 就想看看 LifeType 是不是也有新版, 一查果然我落後很多, LifeType 最新版已經到 1.2.7, 原來我漏掉那麼多版本.

下載 LifeType 升級用檔案

解壓縮

  1. tar zxvf lifetype-1.2.4-upgrade-1.2.5.tar.gz
  2. tar zxvf lifetype-1.2.5-upgrade-1.2.6.tar.gz
  3. tar zxvf lifetype-1.2.6-upgrade-1.2.7.tgz

複製到系統目錄(假設系統目錄是 /var/www/lifetype)

  1. cd lifetype-1.2.4-upgrade-1.2.5/
  2. sudo cp -rf ./* /var/www/lifetype/
  3. cd ../lifetype-1.2.5-upgrade-1.2.6/
  4. sudo cp -rf ./* /var/www/lifetype/
  5. cd ../lifetype-1.2.6-upgrade-1.2.7/
  6. sudo cp -rf ./* /var/www/lifetype/

清除 tmp 的 cache

  1. cd /var/www/lifetype/tmp
  2. rm -fr 1/* cache* summary/*
  3. 這樣子就完成升級囉~ 再來就連到首頁看看是否正常即可.

1.2.5 ~ 1.2.7 的 Release note

隨手記

LifeType 1.2.7 不能使用 admin 的帳號登入

在升級到此版前最好先開好其它帳號, 不然就得進去 DB 修改管理者名稱囉~

開關 cache_lite 方法

不想使用 cache_lite 的話, 關掉的方法如下:

vim /var/www/lifetype/config/cache.properties.php

$config["cache_method"] = "cache_lite";
改成
$config["cache_method"] = "null";
PHP 記憶體不夠用的修正(Debian)

好像從 1.2.x 版開始, 每次存檔就會出現下述的錯誤訊息:

PHP Fatal error: Allowed memory size of 134217728 bytes exhausted

一看就覺得是 memory_limit 設定的問題, 但是查看 /etc/php5/apache2/php.ini, /etc/php5/cgi/php.ini, memory_limit 都是 128M 沒錯~, 所以寫簡單的程式來查查看:

<?php
echo 'CURRENT MEMORY USAGE = ' . memory_get_usage() . "<br />\n";
echo 'MEMORY LIMIT = ' . ini_get('memory_limit') . "<br />\n";
?>

先 Command line 試跑, 發現 Command line 只有 16M, 雖然應該不會有影響, 還是去修改成 128M(/etc/php5/cli/php.ini), 結果, 錯誤訊息就不再出現了..... 有點無言.....

八月 17, 2007
» Lifetype 1.1.6 直接升級 1.2.4

Lifetype 已經很久沒升級了, 看到有人升級完, 並且說有 可以在文章中插入 JavaScript 這個功能, 就趕快來升級一下囉~

本來是想說要 1.1.6 先升到 1.2.0, 然後再慢慢 upgrade 上去, 但是後來覺得太麻煩, 還是直接衝衝看, 就直接衝 1.2.4, 沒想到現在精靈做的這麼好, 很順利就升級完成, 資料也都正常~ :)

升級步驟:

  1. 備份 DB 和 Lifetype 1.1.6 的目錄
  2. 看看 plugins 目錄下的外掛, 到 Lifetype 1.2 plugins 找找, 先下載好.(1.1.x 版的 plugins 會有問題, 在升級完成前, 不要放任何 plugins 進去)
  3. 下載 Lifetype 1.2.4 並解壓縮
  4. 設定 config/cache.properties.php
  5. 把 Lifetype 1.1.6 目錄換個名字, 再將新版 Lifetype 1.2.4 蓋到原本目錄上
  6. 再來直接跑 http://HOSTNAME/wizard.php
  7. 跑完就把 wizard.php 砍掉, 然後 http://HOSTNAME 連連看.(若有問題先把 Lifetype 的 tmp 清空看看)
  8. 再來再把 plugins 補上去即可.
注意:
  • 精靈問說自己的照片要不要編碼檔案名稱時, 要選擇編碼(1.1.x 版預設會幫檔案做編碼), 選擇編碼照片才能正常顯示.
  • 網友留言現在 Default 會幫你做分頁, 所以需要在 Smarty 的 Template 加一段 Code(vim postandcomments.template, 於想要秀出分頁的地方加入下述 Code)
    {pager style="links"}
  • 進入 admin 介面, 遇到 tinyMCE.getInstanceById("postExtendedText") has no properties 的 Error message
    清掉 Broswer cache 即可
  • 設定允許 Javascript Tag
    全域設定 -> 系統安全設定
  • 新功能: 其它設定 -> 版本: 檢查系統版本 檔案是否有被修改過, 在於之後升級會方便許多

感覺起來 1.2.4 版整個使用起來好用蠻多的,編輯版面也變大,處理 Spam 也方便許多囉 :)

參考: