Куда должны идти общие статические ресурсы (изображения, js, css и т. Д.) В DotNetNuke? - PullRequest
2 голосов
/ 04 мая 2010

Есть ли рекомендуемое место для хранения статических ресурсов (изображений, css, js и т. Д.) В установке DotNetNuke 5.x?

Есть папки / images и / js, а также папка / Resources, в которой находятся ресурсы. Кажется, что есть некоторые совпадения, поскольку MicrosoftAjax.js находится в нескольких местах (но могут быть разные версии?). Я также мог бы поместить ресурсы в папку / DesktopModule / ModuleX.

Кто-нибудь знает, есть ли разница в использовании какой-либо из этих папок?

Мне нравится идея, что все статические ресурсы находятся в общей папке (/ Resources), чтобы я мог устанавливать заголовки, разрешения и т. Д. Правил кэширования в них в одном месте.

Кто-нибудь использовал отдельный сервер изображений для обслуживания статического контента DotNetNuke? Плюсы и минусы отдельного сервера изображений (например, images.mydomain.com)?

Ответы [ 2 ]

4 голосов
/ 04 мая 2010

Если вы владеете всей установкой DNN, то, безусловно, имеет смысл объединить все ваши ресурсы в одном месте (будь то папка Resources, используемая DNN, или другая папка, о которой DNN не знает). Если вы разрабатываете модуль, который будет установлен на сайт, которым вы не владеете полностью, то вам следует ограничить ресурсы в папке DesktopModules для вашего модуля.

Некоторые вещи, которые следует учитывать при работе с папками DNN:

  • Если у вас есть контент в папке модуля, удаление этого модуля даст вам возможность удалить этот контент. Это может помочь вам поддерживать чистоту и организованность, или может сделать это опасным, если у вас есть несколько определений модулей, совместно использующих одни и те же файлы ... (Еще более опасными могут быть сценарии удаления SQL; убедитесь, что вы случайно не удалили модуль, к которому прикреплен скрипт удаления)
  • Вы можете использовать файловый менеджер DNN для загрузки / удаления / переименования файлов в каталоге Portals, поэтому может иметь смысл поместить туда файлы, если администраторы сайта должны их контролировать
  • Размещение содержимого вне папки модуля сделает его немного сложнее (особенно, если оно находится в определенной папке портала, т. Е. Вы должны каждый раз запрашивать путь у объекта PortalSettings)
  • Нечасто хранить ресурсы вне папки модуля, что может привести к путанице, если вы привлечете в проект опытного разработчика DNN
1 голос
/ 08 мая 2010

Для скинов и контейнеров вы можете использовать свои собственные папки в каталоге Portals. Как сказал bdukes , таким образом администраторы сайта могут управлять ими в DNN.

Для модулей я использовал папку модуля и module.css для значений по умолчанию, которые могут быть переопределены скином или контейнером css. Это работает, потому что обложка и контейнер css загружаются после module.css.

...