wordpress

0

部落格軟體

目前 DreamHost 有簡易安裝,就想要裝個部落格軟體來看看應該具備哪些功能。

wp screencast 1

wp screencast 2

wp screencast 3

目前裝在 foo.extremepattern.com/wordpress ,不過可能會拆掉。

Upgrading Typo 4.0.3

0

升級前注意事項

升級前務必備份,而且是 MySQL 備份。typo installer 升級採先備份 yml,洗光,改結構,注入舊備份 yml。

問題是這個流程中,備份採用 YAML 格式,這個格式非常不適合處理多行資料,特別是中間有一大堆雙引號與奇怪程式碼的內容,往往會出現資料回復 YAML.load_file 時卡住現象,如果不想幾千筆資料用手慢慢清的人,請務必先用 mysqldump 做些預防。

開始

第一次升級,之前參照 這裡 是用專屬的 gem 做法,所以一開始就打算用懶人 installer 升級法。

$ gem install typo
Bulk updating Gem source index for: http://gems.rubyforge.org
Install required dependency rails-app-installer? [Yn]  y
Successfully installed typo-4.0.3
Successfully installed rails-app-installer-0.2.0
Installing ri documentation for rails-app-installer-0.2.0...
Installing RDoc documentation for rails-app-installer-0.2.0...

$ gem list | grep typo
typo (4.0.3, 4.0.2)

$ gem uninstall typo

Select RubyGem to uninstall:
 1. typo-4.0.2
 2. typo-4.0.3
 3. All versions
> 1
Successfully uninstalled typo version 4.0.2

付諸流水

接下來就是一連串問題的開始。因為覺得用 Rail Application Installer 應該很方便,可以幫忙更新檔案與資料庫結構,結果是東西不用不明白。

$ typo install blog.extremepattern.com
 Installing typo 4.0.3
.......
 Checking database
 Database exists, preparing for upgrade
 Migrating Typo's database to newest release
........

 Running tests.  This may take a minute or two
 ***** Tests failed *****
 ** Please run 'rake test' by hand in your install directory.

以為只是測試失敗,沒管他,直接上網頁去看,居然跳出 signup 畫面,這通常是第一次登入才會出現,心中有不好的預感,很擔心資料庫全部被洗光,而我因為只有十幾筆資料,還沒有做 MySQL 備份。

結果是只剩下兩筆進去,而且系統也怪怪的,應該是吃了不乾淨的東西。

柳暗花明

心想還好這個 installer 有個新的 備分機制 ,安裝前會存放資料到 YAML 格式,於是試試看。

$ rails-restore db/backup/backup-20060820-2116.yml
Restoring data
 Restoring table articles_categories (17)
 Restoring table page_caches (0)
 Restoring table pings (0)
 Restoring table tags (0)
 Restoring table blacklist_patterns (0)
 Restoring table redirects (0)
 Restoring table resources (6)
 Restoring table sidebars (4)
 Restoring table categories (6)
 Restoring table contents (2)
 Restoring table notifications (0)
 Restoring table users (1)

欲哭無淚

可以復原,但是資料卻無法完全餵進去,只有兩筆內容可以。想說進管理頁面看看,會要求資料庫結構要升級,一按下去,卻停掉。

結果只剩下兩筆資料,這才發現轉成 YAML 有許多問題,特別是多行內容加上 text filter 語法的時候。

大海撈針

於是想辦法試看看要刪除哪裡才可以救回資料。

require "yaml" 
db = YAML:load_file "backup-20060820-2116.yml" 

發現在 windows 平台會秀出第幾行吃不去,完全吃不進去一點資料,但是 linux 平台卻吃進去兩筆停住。反覆修改後才救出這些資料,而且兩種平台改的地方還不一樣,不過主要是多行的雙引號問題導致,偏偏 textile 用雙引號當超連結使用,所以有些地方衝到。

大功告成

根據上面說明需要回到之前版本的資料庫結構。

$ rake migrate VERSION=49
$ rails-restore db/backup/backup-modify-20060820.yml

Restoring data
 Restoring table articles_categories (17)
 Restoring table page_caches (0)
 Restoring table pings (0)
 Restoring table tags (0)
 Restoring table blacklist_patterns (0)
 Restoring table redirects (0)
 Restoring table resources (6)
 Restoring table sidebars (4)
 Restoring table categories (6)
 Restoring table contents (13)
 Restoring table notifications (0)
 Restoring table users (1)
 Restoring table articles_tags (0)
 Restoring table text_filters (5)
 Restoring table triggers (0)
 Restoring table blogs (1)

$ rake migrate

美中不足

還是有問題,文章列表都是空的,進去看發現 contents 表的 type 欄位都是 NULL,但是 YAML 中卻是有 type: Article 這欄位,很奇怪。於是只好自己來

MySQL > update contents set type='Article'

來亂的

最後雖然列表出來,有些中文卻消失變成 \xFF 等格式,應該是為求讀入 YAML 將某些雙引號改單引號的結果,也只好一個個手動改回來。

typo 4 post-install

0

源起

除了安裝之外,陸陸續續都會更動 typo 一些設定,這些都紀錄在下面,細節可以參考部落格記載。

資料庫備份

資料庫備份中有很大部分是 sessions 引起,近千筆資料並不會去除,所以備份前可以考慮將這些 sessions 清空,這些 sessions 可以變的很驚人的數量。

On Rails Sessions

基本上使用資料庫在共用環境也快不到哪裡去,因為會期管理變成在不同機器,難免有延遲。typo 本身安裝時就需要資料庫,所以預設是使用 active_record_store。

http://www.typosphere.org/trac/browser/tags/release_4_0_3/config/environment.rb

# Use the database for sessions instead of the file system
# (create the session table with 'rake create_sessions_table')
config.action_controller.session_store = :active_record_store

小圖片很重要

目前為止有兩個小圖提供文章使用,一是 screencast 一是 archive 用,採用上傳到 resource 方式使用,重複使用下,是否可以用 theme 方式包裝。

換景

換成新的佈景。

乾掉的控制器

/showswf 新增。

上傳資源 swf 檔

之前所做的一些螢幕秀檔案。

分析 google analytics 置入碼

在 theme 中加入 js 碼,一但換佈景,就會失效,另外也置入到 /showswf 去。

更換 theme 的 header.jpg

需要更換兩個地方,一個是原先解開的目錄 themes/browntype/images/ 下,一個是 public/images/theme 這個目錄。

public/favicon.ico 上傳

目前看不到,原因不明。

其他問題

突然亂碼議題

不清楚,必須 SSH 登入把 ruby 的行程都刪除,然後進 typo 管理頁將快取頁清掉後正常。

Update : 2006-09-05 again

上傳檔案分類問題

上傳檔案放在 /files 目錄下,一旦檔案偏多,一是不容易找到,一是會造成編輯困難,因為預設編輯文章頁面有資源列表,一個表數百筆,恐怕會很難找。

typo:code or pre

用 typo 的特殊語法對於資料的再轉利用是否會造成麻煩 ? 命名空間的做法需要再考慮。

better cross-ref article

auto cross aricles ref link ? 文章自動註解 ?

Ruby-GetText and zh_TW

2

好玩

之前為了解中文化所需,做了一些 Ruby-GetText 練習。

Ruby-GetText screencast 1

Ruby-GetText screencast 2

來信

日前 Ruby-GetText 維護者 Masao 來信希望協助翻譯 po 檔,單句直接翻很簡單,但是往往導致使用時詞不達意,所以使用上有問題請告知我。

Update 0821

目前的版本供 Ruby-GetText 0.7 使用。

ruby-gettext_zh_TW.zip

Update 0822

Masao 傳給我的輸出畫面連結 Ruby-GetText zh_TW sample screenshot link

翻的不順,還是要找時間改一下,特別是標點符號的問題。

Update 0913

Ruby-GetText 0.8

Google Analytics or Awstats

0

現況

web site analytics 是網站管理工作中極為重要的部份,目前大部分網站皆會有日誌 log 系統,藉由事後分析得到點擊率等等這些資料。之前為 www 網站設置的過程紀錄如下。

Awstats install screencast

蛇吞象

之前作法安裝比較不容易,設定過程需要參閱許多文件,後續維護升級也比較麻煩,所以考慮外包,目前 google 的線上分析服務是免費的,該服務需要的安裝工作集中在網頁端,與系統管理較不相關 也就是 NO-SSH。

另一個好處是報表多國語言化,因為外包,所以維護應該會比較簡單。

外包看看

先申請後,會給一段 js 來用。

Google Analytics

置入性工作

要放在 body 標籤的前面。先用 www 的網站來測試,要先找到 app/views/layouts/main.rhtml 檔來改。

<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-606751-1";
urchinTracker();
</script>
先直接看看網頁原始檔,然後可以到 google 去檢查狀態的情形。

置入 typo

在 google 中新增一個設定檔,注意下面的 js 碼和上面不同。
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-606751-2";
urchinTracker();
</script>

放哪裡? 位置應該在 theme/xxxx/layouts/default.rhtml 。

Older posts: 1 ... 14 15 16 17 18