Aug
部落格軟體
目前 DreamHost 有簡易安裝,就想要裝個部落格軟體來看看應該具備哪些功能。
目前裝在 foo.extremepattern.com/wordpress ,不過可能會拆掉。
目前 DreamHost 有簡易安裝,就想要裝個部落格軟體來看看應該具備哪些功能。
目前裝在 foo.extremepattern.com/wordpress ,不過可能會拆掉。
升級前務必備份,而且是 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 一些設定,這些都紀錄在下面,細節可以參考部落格記載。
資料庫備份中有很大部分是 sessions 引起,近千筆資料並不會去除,所以備份前可以考慮將這些 sessions 清空,這些 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 新增。
之前所做的一些螢幕秀檔案。
在 theme 中加入 js 碼,一但換佈景,就會失效,另外也置入到 /showswf 去。
需要更換兩個地方,一個是原先解開的目錄 themes/browntype/images/ 下,一個是 public/images/theme 這個目錄。
目前看不到,原因不明。
不清楚,必須 SSH 登入把 ruby 的行程都刪除,然後進 typo 管理頁將快取頁清掉後正常。
Update : 2006-09-05 again
上傳檔案放在 /files 目錄下,一旦檔案偏多,一是不容易找到,一是會造成編輯困難,因為預設編輯文章頁面有資源列表,一個表數百筆,恐怕會很難找。
用 typo 的特殊語法對於資料的再轉利用是否會造成麻煩 ? 命名空間的做法需要再考慮。
auto cross aricles ref link ? 文章自動註解 ?
之前為了解中文化所需,做了一些 Ruby-GetText 練習。
日前 Ruby-GetText 維護者 Masao 來信希望協助翻譯 po 檔,單句直接翻很簡單,但是往往導致使用時詞不達意,所以使用上有問題請告知我。
目前的版本供 Ruby-GetText 0.7 使用。
Masao 傳給我的輸出畫面連結 Ruby-GetText zh_TW sample screenshot link
翻的不順,還是要找時間改一下,特別是標點符號的問題。
web site analytics 是網站管理工作中極為重要的部份,目前大部分網站皆會有日誌 log 系統,藉由事後分析得到點擊率等等這些資料。之前為 www 網站設置的過程紀錄如下。
之前作法安裝比較不容易,設定過程需要參閱許多文件,後續維護升級也比較麻煩,所以考慮外包,目前 google 的線上分析服務是免費的,該服務需要的安裝工作集中在網頁端,與系統管理較不相關 也就是 NO-SSH。
另一個好處是報表多國語言化,因為外包,所以維護應該會比較簡單。
先申請後,會給一段 js 來用。
要放在 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 去檢查狀態的情形。
<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 。