assetsディレクトリの構成整理について

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

assetsディレクトリの構成整理について

投稿記事by yama » 2012年4月03日(火) 22:31

少し大きめの変更を検討していますので、ご意見を募ります。
assetsディレクトリ内の構成は現在、下記のようになっています。

・backup
・cache
・export
・files
・flash
・images
・import
・js
・media
・modules
・plugins
・snippets
・templates
・upgradephp

下記のように整理することを検討しています。

contents/ディレクトリ - 画像や音声ファイルなど、コンテンツとして利用するファイル
・images
・files
・flash
・media

assets/ディレクトリ - システムの働きを補うファイル
・snippets
・plugins
・modules
・templates
・js
・upgradephp

temp/ディレクトリ - 頻繁に書き換えが行なわれるファイル
・cache
・backup
・import
・export

こうすることのメリットは、

・インストール時のパーミッション設定の対象をcontentsディレクトリ・tempディレクトリ・config.inc.phpの3つだけにできる
・コンテンツデータと拡張機能ファイルの格納を分離することで、よりセキュアな運用が可能
・コンテンツデータの可搬性が高まる(contentディレクトリを一括でバックアップするだけでよいので、バックアップしやすくなる)
・tempディレクトリはドキュメントルートより上のディレクトリに移動することもできる
・ディレクトリ構成が整理されて分かりやすくなる

などです。なお、アップデートの際に影響を受けないように、基本的には既存の設定を引き継いで、そのまま何も変更せずサイトの運用を続けられるようにします。

以上、何かアイデア・意見などありましたらよろしくお願いします。(問い合わせフォームからでも受け付けます)
アバター
yama
管理人
記事: 2958
登録日時: 2009年7月29日(水) 02:50

Re: assetsディレクトリの構成整理について

投稿記事by yama » 2012年7月13日(金) 00:43

こちらの件、そろそろ実装を進めます。大きな変更ですが、長期的にはメリットがあると考えております。
アバター
min-o
メンバー
メンバー
記事: 291
登録日時: 2009年10月07日(水) 18:32

Re: assetsディレクトリの構成整理について

投稿記事by min-o » 2012年7月13日(金) 10:25

すいません。投稿に気が付いてませんでした…。
この件、賛成です。

長くやってると aseets/images/ が膨大になってきて、aseets丸ごとバックアップや
アップデートをバックアップから復元時するときなど、アップロードにかなり時間がかかるので、
images/は外においておいたほうが良かったかも、と思うことがあります。

運用しているサイトで、
2/3くらいのページにMaxiGalleryで更新者が画像をアップできるようにしているのですが、
この画像データもassets/galleries/ にあります。
これもcontents/ディレクトリにあるといいです。
アバター
yama
管理人
記事: 2958
登録日時: 2009年7月29日(水) 02:50

Re: assetsディレクトリの構成整理について

投稿記事by yama » 2012年7月16日(月) 11:45

ありがとうございます。たしかに、MODXで長年サイトを運用しているとassetsディレクトリ全体のサイズが大きくなり過ぎて困ることがありますね。MODXに慣れている人ならなんとかできるかもしれませんが、あまり詳しくない人にバックアップ作業の手順を説明するのが難しいと思います。

あと、config.inc.phpのロケーションも移動しようと思っています。現在のところmanager/includes/ディレクトリに置いてますが、managerディレクトリごと新しいコアに差し替える時に少し面倒です。すっきり分離して、managerディレクトリ以下は編集や追加を行なう必要が全くないコア領域として固める方向にしたいと思います。
config.inc.phpを直接読み込む拡張機能がいくつかあるので、リダイレクト的な読み込み処理を行なうconfig.inc.phpという同名ファイルを置いておきます。