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 とは何をするものなのか。大雑把に書くとこんな感じです。
- データベースの設定をユーザに入力させる
- 入力されたデータベースの設定をファイル (config/databases.yml) に書き出す
- 標準でインストールするプラグイン*1のリストを Web からダウンロードする
- リストに従ってプラグインをインストールする
- データベースの構築を行ふ*2
- キャッシュファイルの削除
- プラグインで使はれてゐる画像や CSS などの静的なファイルの配置をする
この時点で早速「オフラインでインストールできないぢゃん」といふ事が分かります。あとデータベースを勝手に全消去とかなかなかやばいですね。
で、このインストール行程を他のタスクで置き換へるとかうなります。
- vi config/databases.yml
- ./symfony opPlugin:sync
- ./symfony doctrine:build --all --and-load --no-confirmation
- ./symfony cache:clear
- ./symfony plugin:publish-assets
OpenPNE3.7 では openpne:install の対話的な部分(データベース設定の入力を求める部分)を、コマンドオプションを使ってスキップできるやうにします。