いつも思うのだが、バージョンアップがめんどくさい。
今回3.33から3.35にしてみたわけだが(めんどくさいので3.34にしてなかった)、 毎回めんどくさいと思う。 で、今回は更にどうかと思ったのでちょっと思ったことを書く。
さて、今回のバージョンアップの手順書には、下のようなことが書いてあった。
1 バックアップの作成
バックアップの手順に従い、バックアップをローカル側に作成します。2 以前のバージョンのデータの削除
FTPプログラムで、アプリケーション・ディレクトリとスタティック・ディレクトリの内容を空にします。これは、以前のバージョンとの混在を防ぐためです。3 新しいバージョンの導入
新規インストールの手順に従い、新しいバージョンを導入します。4 環境設定ファイルの復旧
(省略)5 カスタマイズ内容の反映(オプション)
default_templatesディレクトリやsearch_templatesディレクトリ内のテンプレートをカスタマイズしていた場合は、ローカル側に作成したバックアップから、それらをアップロードします。
なんですか「ディレクトリの内容を空にします」って。 ユーザを信用しすぎじゃないでしょうか。 世界中で「アッーー!!」な人が発生しているのではなかろうか。 外国だと「オゥッーー!」かもしれないな(←どうでもいい)。 少なくとも「ディレクトリを空にする」というリスクの高い行為をユーザにやらせるのは危険だと思う。
システムを構成するファイルはわかっているのだから、 どのバージョンからアップグレードしたら、 どのファイルが更新されるかというのはわかるはず。 ならば、こういうのはどうだろうか。
更新用のファイルが詰まったディレクトリと、 バージョンアップ用のスクリプトをアップロードする。 そのスクリプトにブラウザからアクセスすると、 対話的にアップグレードが始まる。 不要なファイルは一覧を表示して、OKを押すとサクサク消す。 上書きが必要なファイルは、確認して上書きする。 できることなら、上書きされるファイルのタイムスタンプを見て、 ユーザーが変更していたらカスタマイズの可能性があるので、 変更点を表示しつつ「ここ、変わってますけど上書きしちゃっていいっすか?」 と聞いてくれたり・・・
そんな風になったらとてもいいと思うのだが、 夢見過ぎだと思った。
しかしこんなめんどくさいことをユーザに課すと、 スキルのないユーザほどアップグレードはしなくなるし、 セキュリティーホールはそのまんまほったらかしになる。 企業ユーザもいるだろうし、リスクになると思うのだが・・・