インストーラの改良

プログラム(機能)関連の開発の話題
アバター
yama
管理人
記事: 3077
登録日時: 2009年7月29日(水) 02:50

インストーラの改良

投稿記事by yama » 2010年5月04日(火) 12:38

●ロジックとデータの分離
ロジックとデータの分離を進めますが、これは本家開発チーム側でほとんど実装を終えてます。サンプルコンテンツのデータは手をつけられてないですが、これはSQLデータ形式のままでよいと思います。現在は日本語版を構成するたびに部分的なマージを行なってますが、データファイルまるごと差し替えるだけでオーケーという形にできればと考えてます。

●MySQL4.0対応
viewtopic.php?f=34&t=273
現在のところdocumentParserではMySQL5系に依存する処理が存在しないので、インストーラでも4.0に対応します(できれば)。並行して移行ノウハウやツールを整備して、適切なタイミングで5系対応を推進する形に切り換えていけるとよいと思います。

●アップデート時のセキュリティに配慮
現状のインストーラだと、適切な権限を持たない人でも勝手にインストーラを動かしてアップデートを完了してしまうことができます。アップデート時にDBのパスワードを聞くか、Admin権限による認証を求めるなどの手順が必要だと思います。

●DBプリフィックス
現状だと、インストールに失敗した後に再びインストールを試すと、設置に失敗したDB内のtableプリフィックスが重複していると判定されてインストールを進めることができません。何らかの配慮が必要だと思います。

●カスタムインストールがよく分からない
どういう目的で使うものなのかよく分からない。分かるように解説を加えるか、実用的な構成に改めるなどする。(たぶん両方必要)

●アンインストール処理を追加
簡単にアンインストールできると便利。

他、何か思いついたことがあればよろしくお願いします。
アバター
yama
管理人
記事: 3077
登録日時: 2009年7月29日(水) 02:50

Re: インストーラの改良

投稿記事by yama » 2010年5月04日(火) 15:30

追記

●DBのエンコード設定が希望値と異なっている場合の対応
MODxをutf8で運用したいのに(ほとんどそうだと思いますが)、DBはeuc(ujis)になっているような場合。今のところはphpMyAdminなどで変更してくださいということにしてますが、インストーラ側で変更することも可能。すでに他のCMSを運用している場合に何も考えず変更してしまうのはまずいので、対象のDBが空である場合と、問題ないと判断できる場合に変更できるようにする。

●DBAPIを利用する
MODx内蔵のDBAPIを利用して、コードを見通しよくする。

●初期パスワードはシステム側で決める
パスワードを考えるために時間をかけたり(そのためにタイミングを逸して翌日に続きをすることにしたり)、思いつかなくて誕生日などの安直なキーワードにするケースが多いと思う。WordPressと同様、システム側で決めて、インストール完了後に任意に変更させるようにする。希望に応じて任意入力を受けるフローを設けることもできる。

●パーミッション設定を自動化
インストーラ側でパーミッション設定を自動設定。たぶん無理だと思いますが・・

●できるだけ手順を少なくする
WordPressやConcrete5はびっくりするくらい少ない手順でインストールが完了しますが、こういうのはそのCMSに対する好印象を持つエクスペリエンスとしては大事な気がします。可能であれば、できるだけ手順を省略したいです。

●拡張機能のアップデートに配慮する
現状のインストーラでは、どの拡張機能がアップデート対象なのかどうかがよく分かりません。Revoのように、できれば同梱しないのが一番よいのですが。

●インストール内容のレシピ化
インストール時の初期言語やグローバル設定の設定値などをレシピ化。独自ディストリビューションを管理しやすくする目的。
sama55
メンバー
メンバー
記事: 816
登録日時: 2009年8月03日(月) 08:16

Re: インストーラの改良

投稿記事by sama55 » 2010年5月05日(水) 09:41

総じて「ふむふむ」ですが、2点だけ。 :geek:

MySQL4.0系対応の必要性がいまひとつわかりません。実情として未だに4.0を搭載するホストが多いようなら対応する意味はあると思いますが、実際どうなんでしょ。また、本家の公表値が4.1以上であることで、主要部品開発者が4.1以上と認識してるとすると、頑張ってコアを4.0対応にしてもアドオンが4.0に対応しなければ意味半減かと。

あと、インストーラの細かい処理の改善も必要だと思いますが、終盤の部品選択画面まわりがもう少しフレンドリーになるといいのではないかと思います。例として、部品を選ぶのではなくやりたいことを選ぶと必要な部品が付いてきたり配布元サイトを教えてくれるような・・・つまり、運用目的までカバーしてくれる拡張インストーラとでも言いましょうか・・・。
アバター
yama
管理人
記事: 3077
登録日時: 2009年7月29日(水) 02:50

Re: インストーラの改良

投稿記事by yama » 2010年5月05日(水) 13:50

4.0使ってるサーバ多いと思いますよ。さくらも昔から使ってる場合はそうですし。移行ツールでもなければ、業務の現場的には予算の問題などで5系へのアップデートは判断が難しいと思います。MODxはビジネスユーザが多いはずなので、こういうところは地道に対応しないと期待を裏切るのではと。とりあえず、やるだけやってみます。できれば並行して移行ガイドの整備も進めたほうがよいですね。

ちなみにアドオンは4.1どころか5以上必須とか、phpに関してはコアと関係なく5以上でしか動かないというのはザラにありますので、そのへんはあまり考慮しなくてよいと思います。「そういうアドオンが存在するのは納得してるから、コアとDittoなどの主要アドオンだけは現状で使わせてほしい」というニーズにはあとしばらく対応する意義はあると思います。

sama55 さんが書きました:あと、インストーラの細かい処理の改善も必要だと思いますが、終盤の部品選択画面まわりがもう少しフレンドリーになるといいのではないかと思います。例として、部品を選ぶのではなくやりたいことを選ぶと必要な部品が付いてきたり配布元サイトを教えてくれるような・・・つまり、運用目的までカバーしてくれる拡張インストーラとでも言いましょうか・・・。

ユーザが本当に欲しいのはそういう情報でしょうね。難しそうですが、少し考えてみます。