聚會時間公告: 因應COSCUP 2011, Kalug 8月份休會一次

三月 24, 2011
» LifeType Blog 網址遷移 與 系統轉換

決定於 2011/3/25 ~ 3/27 來做網址 + 系統的轉換與整合的動作. 由 http://plog.longwin.com.tw/ 轉換到 http://blog.longwin.com.tw/ RSS 訂閱一樣是: http//feeds2.feedburner.com/tsungblog 這段時間會做下述的轉換、整合 網址: plog => blog, plog 是之前 Blog 系統名字, 但是, 現在改名叫 LifeType, plog 一點意義都沒有了. 系統: LifeType => WordPress 整合: 將舊文章 (MT 系統) + LifeType 新文章系統做整合, 全部倒進 WordPress 裡面去. MT 網址自動轉換: ^archives/000003.html$ => /2004/03/xxx (HTTP Redirect 301) LifeType 網址自動轉換: ^post/1/1/?.*$ => /2004/03/xxx (HTTP Redirect 301) LifeType 網址自動轉換: ^my-life/2005/04/18/first_plog/?.*$ => /2004/03/xxx (HTTP Redirect 301) 檔案網址整合, 把(MT、LifeType)使用到的圖檔等資料, 統一都整合在同一個 Domain. PageRank 5 => PageRank 0 ... 好慘~ 會盡量將所有網址做自動轉換的動作, 若有遇到任何問題, 還請隨時跟我說~ 謝謝~

三月 23, 2011
» LifeType 透過 RSS Dump 所有文章

LifeType 要匯出所有文章的方法, 除了自己從 DB 撈以外, 另一招可以用 RSS 倒. 下述假設 全部文章量 是在 30000篇以內. LifeType 修改 RSS 秀出所有的文章 cp /var/www/lifetype/rss.php /var/www/lifetype/rss2.php vim /var/www/lifetype/rss2.php # 於最上面增加一行 define('TSUNG', 1); vim /var/www/lifetype/class/action/rssaction.class.php# 於 103行 $amount = $blogSettings->getValue( "recent_posts_max", 15 ); # 改成 if (defined('TSUNG')) {     $hardLimit = 30000;     $amount = 30000; } else {     $amount = $blogSettings->getValue( "recent_posts_max", 15 ); } 連結 http://lifetype-domain/rss2.php , 就可以透過 rss 倒出所有文章.

三月 22, 2011
» 為 LifeType 加上 Facebook Like

為 LifeType 加上 Facebook Like, 做法於下述: vim /var/www/lifetype/templates/Mac-Stripe/postandcomments.template # 加入下述即可. {* Facebook Like *} 存檔後, 就可以到網站去看看囉~

二月 21, 2011
» LifeType 1.2.11 RSS 標題亂碼修復

LifeType 1.2.11 現在還不適合升級, 等 Mark 通知後再來升級會比較安全, 現在的版本, 會踩到不少地雷. XD 不過 LifeType 1.2.11 版, Apache2 加上 Google mod_pagespeed 後, TinyMCE 不會爆炸, 所以就繼續留著此版本, 把遇到的問題先解決掉就好. 感謝 Sean 回報 RSS 標題會出現亂碼的問題, 追查後, 應該只要改 template (Smarty) 即可. LifeType 1.2.11 RSS 標題亂碼修復 步驟 vim /var/www/lifetype/templates/rss/rss20.template # 做下述修改 將 {$blog->getBlog()|escape:hexentity} 換成 (拿掉 :hexentity) {$blog->getBlog()|escape}{$post->getTopic()|escape:hexentity} 換成 (拿掉 :hexentity) {$post->getTopic()|escape} 存檔即可. 註1: 此為暫時解決問題的解法, 還是以官方 Release 的版本為主. 註2: Smarty escape:hexentity 官方說明網頁

二月 18, 2011
» LifeType 1.2.10 升級到 1.2.11

LifeType 出 1.2.11 版, 主要是 TinyMCE 升級和安全性問題修正. 註: TinyMCE 升級後, Google 的 mod_pagespeed 就可以使用囉~ (詳見: Apache 自動優化前端頁面的模組 - mod_pagespeed ) 詳可見: Release notes Lifetype 1.2.11 執行下述升級步驟前, 請記得先備份原本 Source code 和 DB. 升級步驟 於 Release notes Lifetype 1.2.11 下載 Lifetype upgrade package from 1.2.10 (.tgz) 若無法下載(目前檔案路徑似乎有錯誤), 點下面的 lifetype -> lifetype-1.2.11 -> lifetype-1.2.10-upgrade-lifetype-1.2.11.tgz 即可. tar xvf lifetype-1.2.10-upgrade-lifetype-1.2.11.tgz sudo cp -fr lifetype-upgrade/* /var/www/lifetype/ 完成~ :) 問題 升級完成後, 若於管理介面新增文章時, WYSIWYG 介面出不來, 發現有下述 JavaScript Error: 錯誤: tinyMCE.addToLang is not a function 原始檔: /js/tinymce/tiny_mce_gzip.js 行: 374 tinyMCE.addToLang is not a function [Break On This Error] (375 out of range 134) 解法 註: 下述解法並不完美, 只是暫時解法. vim /var/www/lifetype/js/tinymce/tiny_mce_gzip.js # 將 settings 改成下述即可. settings : { themes : 'advanced', plugins : 'more,advhr,advimage,advlink,emotions,inlinepopups,insertdatetime,searchreplace,paste,fullscreen,nonbreaking,wordcount,advlist,autosave,insertaudio,insertresource,insertvideo,embed', languages : 'en', disk_cache : false, page_name : 'tiny_mce.js', debug : false, suffix : '' }, 存檔即可, 若有問題可將 Cache 清除看看.

九月 2, 2010
» LifeType 讓 TinyMCE 可以嵌入 embed 的語法

想要嵌入 SlideShare 的文件, 但是 LifeType 用得 TinyMCE 預設會將 embed 的內容都過濾掉, 所以就無法顯示內容. 讓 TinyMCE 可以插入 embed 的語法 vim /var/www/lifetype/js/tinymce/tiny_mce-plog.js 找到 extended_valid_elements 於最後加上: ,embed[type|wmode|height|width|autostart|src|FALSE|TRUE] 存檔即可. 相關網頁 北投國小資訊管理 - TinyMCE 修正

四月 8, 2010
» 為 LifeType 增加延伸閱讀

每篇文章看完後, 想要秀出 延伸閱讀 或 相關文章, 有時後會有一些莫名奇妙的收穫. (都不知道何時有寫過這些文章. XD) LifeType 延伸閱讀外掛 安裝 於 LifeType 外掛程式列表 找到 lifetype 延伸閱讀外掛(Related) 並下載. unzip 1.2_related.zip mv related/ /var/www/lifetype/plugins/ LifeType 延伸閱讀外掛 設定 vim /var/www/lifetype/templates/Mac-Stripe/postandcomments.template {if $related && $related->isEnabled() }   {assign var=postid value=$post->getId()}   {assign var=recentsrelatedposts value=$related->relatedArticles($postid)}   {if count($recentsrelatedposts) > 0 }     {$locale->tr("related_plugin_display")}:    

  {/if} {/if} 註: 修改 post.template 或 postandcomments.template 皆可, 因為修改 post.template, 於首頁每篇都會秀出延伸閱讀, 所以我修改 postandcomments.template. LifeType 延伸閱讀外掛 啟用 進入管理介面 全部站台管控 -> 外掛程式 -> 外掛程式設定,  於 Related 做下述設定 plugin_related_enabled 勾選    plugin_related_num_articles 5 plugin_related_min_word_length 空的不動 plugin_related_refresh_interval 0 plugin_related_extract_keywords_from_body 勾選 按 更新 即可.

三月 30, 2010
» LifeType 1.2.9 升級到 1.2.10

LifeType 出 1.2.10 版, 主要是修正安全性問題, 新功能是網頁 Title 加上分頁號碼 與 Smarty 的加強. 詳可見: Release notes Lifetype 1.2.10 執行下述升級步驟前, 請記得先備份原本 Source code 和 DB. 升級步驟 於 Release notes Lifetype 1.2.10 下載 Lifetype upgrade package from 1.2.9 (.zip) unzip lifetype-1.2-9-upgrade-lifetype-1.2.10.zip sudo cp -fr lifetype-1.2-9-upgrade-lifetype-1.2.10/* /var/www/lifetype/ 完成~ :)

十月 8, 2009
» LifeType 1.2.8 升級到 1.2.9

LifeType 出 1.2.9 版, 修正不少安全性問題, 詳可見: Release notes Lifetype 1.2.9 . 升級步驟 於 Release notes Lifetype 1.2.9 下載 Lifetype upgrade package from 1.2.8 (.tar.gz) tar zxvf lifetype-1.2.8-upgrade-lifetype-1.2.9.tgz sudo cp -fr lifetype-1.2.8-upgrade-1.2.9/* /var/www/lifetype/ 完成~ :)

十一月 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 也方便許多囉 :)

參考:

support:

biggo.com.tw

biggo.sg

A Django site.