一般的な静的リソース(画像、JS、CSSなど)は、dotnetnukeでどこに行くべきですか?
-
03-10-2019 - |
質問
dotnetnuke 5.xのインストールに静的リソース(画像、CSS、JSなど)を保存するための推奨場所はありますか?
リソースを含む /リソースフォルダーだけでなく、 /画像と /JSフォルダーがあります。 microsoftajax.jsが複数の場所にあるため、ある程度の重複があるように見えます(ただし、バージョンは異なる可能性がありますか?)。また、A /desktopmodule /Modulexの場所にリソースを入れることもできます。
これらのフォルダーのいずれかを使用することに違いがあるかどうかは誰もが知っていますか?
すべての静的リソースが共通フォルダー(/リソース)の下にあるというアイデアが好きなので、キャッシュルールヘッダー、アクセス許可などを1か所で設定できます。
Dotnetnukeの静的コンテンツを提供するために別の画像サーバーを使用した人はいますか?個別の画像サーバーの長所と短所(例:images.mydomain.com)?
解決
DNNインストール全体を所有している場合、すべてのリソースを1つの場所に統合することは確かに理にかなっています(DNNが使用するリソースフォルダー、またはDNNが知らない別のフォルダー)。完全に所有していないサイトにインストールされるモジュールを開発している場合、Module用のDesktopmodulesフォルダー内のリソースを制約することが考慮されることです。
DNNフォルダーに関して考慮すべきいくつかのこと:
- モジュールのフォルダーの下にコンテンツがある場合、そのモジュールをアンインストールすると、そのコンテンツを削除するオプションが得られます。これは、物事を清潔で整理したままにするのに役立ちます。または、同じファイルを共有する複数のモジュール定義がある場合に危険になる可能性があります...(さらに危険なSQLスクリプトはさらに危険です。誤ってアンインストールしないようにしてくださいアンインストールスクリプトが添付されているモジュール)
- DNNファイルマネージャーを使用して、Portalsディレクトリ内のファイルをアップロード/削除/名前を変更することができます。そのため、サイト管理者がそれらを制御する必要がある場合にファイルを配置することは理にかなっています。
- モジュールのフォルダーの外側にコンテンツを置くと、リンクが少し難しくなります(特にポータル固有のフォルダーにある場合は、ポータルセットオブジェクトに毎回パスを尋ねる必要があります)
- モジュールのフォルダーの外側にリソースを維持することは珍しいので、経験豊富なDNN開発者をプロジェクトに持ち込むと混乱を引き起こす可能性があります
他のヒント
スキンとコンテナの場合、ポータルディレクトリの下に独自のフォルダーを使用できます。として bdukes この方法で、サイト管理者はDNN内でそれらを制御できます。
モジュールについては、皮膚またはコンテナCSSによってオーバーライドできるデフォルトにモジュールのフォルダーとモジュール.cssを使用しました。これは、皮膚と容器のCSSがmodule.cssの後にロードされるために機能します。