打一開始, 耳機世界使用的討論區程式都是免費論壇, 依照其規則, 只要不是商業用途個人就可以使用, 所以用的人很多.
1. Snitz Forum 2000: 這是以 ASP 加上 Access 資料庫組建而成, 事實上除了 Access 外, Snitz Forum 還可以連結 MSSQL 跟 MySQL, 不過以我當時的測試, 要連結 MSSQL 比較容易些, 但是把 Access 資料庫轉到 MSSQL 後有點問題.
Access 的資料庫檔案是放在 Web 下的, 所以安全性上有風險, 後來即考慮轉成 MSSQL 跟 MySQL 來做資料儲存.
2. phpBB 1.3 (or 1.4) & 2.0.3
以 PHP 加上 MySQL 組建而成. 功能很強, 擴充性也大, 網路上很多外掛的 mod, 例如加強的管理介面, 還有一些有趣的功能 (例如可以發行虛擬錢幣)
上述兩套系統之間的轉換是一項很大的工程, 就算用 Delphi 或是 Visual Basic 來寫, 轉換也很頭大.
Snitz Forum 跟 phpBB 的資料庫定義的差異就非常的巨大, 據我所知, 能成功轉換的很少, 轉換後資料不出問題的更少.
1. 轉換之前, 必須把 Access 資料庫內的Snitz Forum論壇的資料倒入phpBB, 這有現成的工具程式可以做, 但是....資料內容會遭遇 Big5 衝碼的問題, 例如許、功等字, 這是因為 Access 或是 MSSQL 會自行處理掉 Big5 中脫逸字元 '\' 的問題, 但是 MySQL 當時對這部份的相容性有點差. 所以必須自行多插入一個 '\'
2. 轉換時, 必須先將兩者有共同意義的欄位對好, 對應個人資料欄位還好, 注意一下 phpBB 裡個人的登入密碼必須用 md5 雜湊函式轉換成特殊密碼, 對使用者來說, 這增加了安全性, 起碼像管理者的我, 就無法直接看到使用者的密碼了, 降低了被管理者冒用的風險 (雖然絕大部分的系統管理者都有很高的自我道德標準, 不會幹這種事啦, 這是防止要是資料庫資料被竊取了, 對方怎麼看還是看不懂登入密碼, md5 是不能逆向的)
我轉換後, 原來所有帳號都可以正常登入使用而不必任何手續修改. 這是寫 phpBB 去轉的.
同樣的, Category - Forum - Topic - post 也必須經過對應轉換, 其中最複雜的是 topic->post, 因為其中要處理很多事情, 下面再說.
這些也是用 phpBB 寫的.
3. 把 Snitz Forum 轉成 phpBB 的工程, 問題很少在程式上, 而在兩者資料庫定義架構上以及程式功能上有很大的差異. 例如 Snitz Forum 處理 BBCode (也就是笑臉啦, quote 啦, Bold 字, 字型放大等功能), 是先將 BBCode 轉成 HTML code 再跟文章內容一起存入資料庫內, 當要讀取時, 就不用檢查文章內容裡是不是還有 BBcode 要轉換, 所以 Snitz Forum 的文章讀取很快, 但是資料庫負擔比較大, 一出槌通常是資料庫問題.
phpBB 則相反, 他是存入時不處理 BBCode, 就直接存進去, 所以 quote 還是 quote, [B] 還是 [B], 當程式要瀏覽內容時, 才把 BBCode 轉成真正有作用的 HTML code (例如 [B] 轉成 <FONT style="BOLD"> 類似的code).
所以, 這其中的轉換就累了. 我當時是用資料庫操作程式, 把 Snitz Forum 裡面進行 quote 的 html 碼, 硬轉成 phpBB 的 BBCode, 但是因為一些不明原因, 有很多連轉都沒轉 (可以看看去年二月以前的文章, 你可以看到很多 < > 刮起來的字串, 不懂得人看起來很像亂碼.
另一個惱人的問題就是轉BBCode成功了, 但是沒作用, 尤其是 quote, 這個問題我沒辦法解決, 只好手動編輯文章, 進文章之後馬上儲存, quote 神奇的就會有作用了.
上述兩個問題, 第二個還好一點, 滑鼠點一點就可以看到版面正常了, 第一個就必須進文章把 <> 的標籤去掉, 貼上 phpBB 使用的 BBCode. 這些工作我到現在都還沒完成, 比較早期的文章大概都轉好了, 有些 2001 年末, 2002 年初的就丟著了 XD
我不知道像 colin 講的我修改留言是不是因為看到我在修整版面的緣故, 但是文章的發言內容, 我是絕對不可能去做任何的變動的. 這也是我在 myAV 敢據理力爭的緣故, 何況還有舊資料庫在, 一比對, 其實很容易知道文章內容是不是有變動.
當然, 關於 Big5 衝碼的問題有沒有徹底解決, 我也沒有十足把握, 因為 Access 跟 MySQL 是完全不同等級、不同設計的資料庫, 以我到目前為止所檢查過的討論區內容, 算是還好.
以上.