KinoWiki2.3をリリースしました。主な変更点はSQLite3への変更です。

ソースコード

https://github.com/noldor/kino2/releases/tag/v2.3

変更内容

互換性のない変更

DBをSQLite2からSQLite3に変更
PHP5.3以上を必須とした(SQLite3のため)

廃止機能

antispamプラグインの廃止(動作が重すぎた)

注意点

PHP互換性問題

DEPRECATEDエラーとSTRICTエラーが出ています。DEPRECATEDエラーはPEARのDIFFライブラリで、STRICTはコンストラクタの重複(PHP4スタイルとPHP5スタイルの混在)のエラーです。手元の環境では

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

で蓋しちゃってます。

所感

SQLite3はサーバ移管のため

某所からサーバ移管の問題を伺っていてとりあえずCentOS 7(PHP5.6)で動くようにとしたものです。
最初はSQLite2のままで動かそうとしたのですが、CentOS 7へのPHP SQLite2モジュール導入が思いのほかうまくいかず、ソースを修正してのコンパイルが必要になっていました。
これじゃ作ったところで誰も使えないと思い直し、SQLite3を使うようにしました。

旧バージョンからの移行方法としては、DBファイルをSQLite3にすることで移行することになります。ググるといくつか出てきますが、基本方針は

  1. SQLite2とSQLite3のコマンドライン環境を用意する
  2. SQLite2でSQLダンプファイル作成
  3. SQLite3でダンプ取り込み

です。まだきちんとした確認はとれていないですが、SQL文の上位互換性は高いようです。CentOS 7はSQLite2と3をyumで入れられるので変換自体は簡単にできます。jpg添付ファイルが壊れることを確認しました。移行方法を調査中です。v2.3.2で修正しました。

$ sqlite old.db .dump | sqlite3 new.db

CVS開発バージョンは記憶からなくなりました

元のバージョンはOSDN(SourceForge)にあったv2.1のzipファイルを使っています。そこからの開発中ファイルもあるのですが、バージョン管理システムがCVSで、なにがなんだかになってしまったのでzip使いました。こんど全ファイルdiffでも見てみます。

SVNですらないというのが歴史を感じます。触っていて当時の感じ方が思い出されてきて、懐かしく思います。放置しすぎすみません。

今後のメンテナンスどうしよう

今後のメンテナンスを考えるとMediaWikiあたりに移行できるようにできればいいのですが、あいまいリンク機能を実装していないのが痛いです。MediaWikiに限らずあいまいリンクを実装したWikiを知らないのですが、これがないとテキストデータを移行しただけになってしまうので、さてどうしたものかというところが現在です。