OpenPNE3.7の開発#2 (openpne:installの正体)

まず現在の進捗。

  • [済] 認証以外の全プラグインの非バンドル化
  • [済] プラグインを外した状態での完全動作
  • [済] pc_frontend での prototype.js -> jQuery 移行
  • [済] ノンインタラクティブopenpne:install タスク
  • [予 (来週から)] インストールに必要なプラグイン・コアを纏めたzipアーカイブを作成する
  • [未] コア不必要機能の取り外し
  • [未] パスワードを用ゐない認証機構が使へるやうにする
  • [未] プラグインのバンドル化+2個 (opDiaryPlugin opMessagePlugin)

では、「openpne:install とは一体何だったのか」について。

正直に言ふと、僕は OpenPNE3 のインストールに openpne:install タスクを使ってません。自分で config/databases.yml 設定して doctrine:build してゐます (参考)。
それでは先づ、openpne:install とは何をするものなのか。大雑把に書くとこんな感じです。

  1. データベースの設定をユーザに入力させる
  2. 入力されたデータベースの設定をファイル (config/databases.yml) に書き出す
  3. 標準でインストールするプラグイン*1のリストを Web からダウンロードする
  4. リストに従ってプラグインをインストールする
  5. データベースの構築を行ふ*2
  6. キャッシュファイルの削除
  7. プラグインで使はれてゐる画像や CSS などの静的なファイルの配置をする

この時点で早速「オフラインでインストールできないぢゃん」といふ事が分かります。あとデータベースを勝手に全消去とかなかなかやばいですね。

で、このインストール行程を他のタスクで置き換へるとかうなります。

  1. vi config/databases.yml
  2. ./symfony opPlugin:sync
  3. ./symfony doctrine:build --all --and-load --no-confirmation
  4. ./symfony cache:clear
  5. ./symfony plugin:publish-assets

OpenPNE3.7 では openpne:install の対話的な部分(データベース設定の入力を求める部分)を、コマンドオプションを使ってスキップできるやうにします。

*1:OpenPNEのウェブサイトでは「バンドルプラグイン」と表記されてゐる。

*2:この時に事前の予告無くデータベースの中身を全て空にしてしまふ問題がある。WordPressとかMediaWikiとかと一緒のデータベースにインストールしようとすると酷い目に遭ふ。