2

作業中のシステム(php、javascript、sencha)の基本的なファイル管理コンポーネントを構築しようとしています。システムを介して管理されているファイルに関する追加情報をデータベースに保存する必要があるかどうかについて、何らかの方法で自分自身を納得させようとしています。一方では、データベースに格納されている情報がファイルシステムに確実に反映されるようにすることで、単純な設計を複雑にすることには消極的です。なんらかの理由で同期が外れると、悪夢が続くと思います。つまり、パスが正しく更新されていません。ファイルシステムの内容に依存する方が簡単なようです。ACLのような制御メカニズムは必要ありません。

ほとんどの場合、ディレクトリ構造はファイルシステムのどこに保存されているかを気にしないため、ユーザーには表示されません。メールの添付ファイルが好きです。添付ファイルは、データベース内の他のデータに関連しています。私の最初のアイデアは、ディレクトリを使用してファイルシステム内に関係を作成することでした。例えば:

ルート
...Project_id_1
...... Theme_id_1
......... Topic_id_1
......... Topic_id_2
......... Topic_id_3
......Theme_id_2
。 ..... Theme_id_3
... Project_id_2
... Project_id_3

IDは、関連するデータベース内のアイテムのレコードIDにもなります。これをツリービューとして表示する必要がある場合を除いて、これは問題なく機能すると思います。意味のある名前を表示できるように、各ディレクトリの関係を抽出する必要があります。たぶん、これは他の場所で得られる単純さとのトレードオフです。つまり、トピック名を変更するたびにディレクトリの名前を変更する必要はありません。

すべてのファイルについてより多くの情報をDBに保存することにした場合、誰がアップロードしたか、日付などの有用な(ただし必須ではない)情報以外に何を得ることができますか。もちろん、他の理由を考慮する必要があります。デザインもいただければ幸いです。OTSのもののほとんどは、私が必要としない機能が多すぎるか、システムに後付けするには手間がかかりすぎています。

4

2 に答える 2

1

重要な問題は、あなたが保存する追加情報が、トラブルに見合うだけの価値があるかどうかということだと思います. あなたがそれを構築すれば、彼らは来るでしょうか?

私は、だれかが気にかけてくれますか?

ユーザーが何を望んでいるのか、何を必要としているのかわからないので、さらに多くの情報がなければ、質問に答えることができません.

アップデート

コメントへの返信:

追跡する必要がある関係があったとき、ファイルに関する情報をデータベースに保存しました。頭に浮かぶ最初の例は、私たちの組織が製造した機器に対して提案された設計変更を追跡するための Web アプリです。ユーザーは、アップロードされ、関連する推奨事項に添付ファイル (詳細を含む Word ドキュメント、エンジニアリング図面など) を追加できます。設計変更の記録。そこで、これらすべてのファイルをどこかのディレクトリに放り込み、データベースに各添付ファイルのレコードを作成し、それを設計変更レコードに結び付けました。設計変更記録のキーとファイル名以外に何かデータがあったかは今となっては忘れてしまいましたが、確かにいつ、誰がアップロードしたかなどのデータがあったのかもしれません。

于 2011-01-24T21:02:29.450 に答える
0

私はこう言います:

今日は:いいえ。将来の必要性の可能性に基づいて作品を作成しないでください。

明日のために?はい、実際に必要になったらすぐに。あなたはすでにデータベースを持っていると述べているので、多くのオーバーヘッドをかみ砕く必要があるわけではありません。

于 2011-01-24T21:55:04.107 に答える