Sitefinity и индивидуальная разработка - PullRequest
2 голосов
/ 07 сентября 2011

Мы рассматриваем возможность покупки Sitefinity (или DotNetNuke) в довольно короткие сроки, и у меня есть вопрос, на который у меня не получается найти быстрый ответ. ( У меня есть отдельный, но похожий пост с DotNetNuke в качестве фокуса, если вы можете ответить на этот вопрос лучше или дополнительно. )

В настоящее время мы вообще не используем CMS, и у нас есть несколько пользовательских разработок, которые не исчезнут просто потому, что мы используем CMS для некоторых или большей части нашего сайта.

Нашей пользовательской разработкой является c # ASPX с Site Master и вложенными страницами Master Site. Этим пользовательским приложениям не принадлежит собственный верхний уровень на нашем веб-сайте, но они являются частью ветви, обычно на один или два уровня ниже (например, http://www.contoso.com/branch/app/default.aspx).

  • Как Sitefinity обычно настраивается в «смешанном режиме» CMS / Custom? Например, установлен ли Sitefinity в верхней части веб-сайта или «там, где это необходимо» внизу веб-сайта.
  • Как это связано при смешивании CMS и пользовательских веб-приложений?
  • Позволяет ли интерфейс CMS добавлять эти пользовательские приложения или вы просто заходите на веб-сервер и добавляете их в структуру?
  • Судя по прочтению других постов, мы можем создавать наши собственные модули c # и заставлять редакторов CMS «вставлять» модули на страницах. Кто-нибудь может подтвердить это для меня?

Если я не предоставил достаточно подробностей, пожалуйста, не стесняйтесь спрашивать больше.

Ответы [ 3 ]

4 голосов
/ 08 сентября 2011

У нас установлен корневой каталог Sitefinity с множеством подпапок, содержащих пользовательские страницы. Обычно мы создаем пользовательский контроль, добавляем его в файл sitefinity ToolboxesConfig.config, а затем перетаскиваем на страницу CMS sitefinity. Я полагаю, что это то, о чем вы говорите, чтобы «редакторы CMS вставляли модули на страницах».

У нас также есть главные / дочерние страницы, которые импортируются как шаблоны страниц в Sitefinity, и они хорошо работают. Вы также можете ссылаться с любой страницы CMS на обычную страницу .aspx в своей собственной подпапке и реализовывать там код, который использует API sitefinity, но мы лично сочли это гораздо более хитрым и отклонили от этого подхода, когда это было возможно.

Таким образом, в двух словах, пользовательский код относительно легко интегрировать в sitefinity, если вы можете сжать его в пользовательский элемент управления или главную страницу.

Отказ от ответственности: все это было сделано с помощью обычной разработки веб-форм. Я не уверен, как сайт MVC будет взаимодействовать с Sitefinity (который, я считаю, в любом случае построен с использованием самой архитектуры MVC).

Часть вашего вопроса, в которой я не уверен, касается пользовательских веб-приложений во вложенных ветках. Я бы порекомендовал установить пробную версию sitefinity и попытаться интегрировать одну ветку в качестве прототипа. Это может занять день, но стоило бы знать, собирается ли маршрут sitefinity вызвать у вас душевную боль.

3 голосов
/ 13 сентября 2011

Полный отказ от ответственности: я работаю над Sitefinity.

Во-первых, позвольте мне сказать, что на протяжении всей истории Sitefinity расширение и дружелюбие к разработчикам были нашими главными приоритетами.Мы попытались создать CMS, использующую концепции, знакомые разработчикам ASP.NET, и опираться на них.

Теперь позвольте мне перейти к каждому из ваших пунктов.

  • Выможет организовать развертывание Sitefinity так, как вам нравится.В вашем случае с вложенными приложениями вы можете либо создать виртуальные каталоги в IIS и развернуть отдельные экземпляры Sitefinity в каждом из них, либо использовать CMS для создания вложенных приложений.В CMS они могут быть отдельными ветвями страниц, иметь отдельные шаблоны и быть похожими на отдельные сайты.Вы по-прежнему будете управлять ими через один интерфейс.Вы можете выбрать подход.
  • Sitefinity - это обычное веб-приложение ASP.NET со сборками CMS в папке BIN.Вы можете открыть проект в Visual Studio и запустить его как обычное веб-приложение ASP.NET.С точки зрения разработчика, нет никакой разницы между пользовательским приложением и приложением Sitefinity - это всего лишь веб-приложения ASP.NET.
  • Если вы используете подход установки Sitefinity в корне, а затем использование CMS для созданияподпрограммы, вы можете сделать это через пользовательский интерфейс.Если вы решите запустить отдельные виртуальные каталоги, вы должны вручную загрузить файлы.Кроме того, в Sitefinity есть встроенный проводник файлов, который можно использовать для управления файлами на сервере.
  • Модули, на которые вы ссылаетесь, называются виджетами в Sitefinity.Для разработчика это не что иное, как пользовательские элементы управления ASP.NET и пользовательские элементы управления.Пользовательский интерфейс редактора страниц Sitefinity позволяет удалять виджеты в заполнителях на странице и настраивать их свойства.Заполнители определяются на главной странице (обычная главная страница ASP.NET) или через пользовательский интерфейс.Это очень легко создавать собственные виджеты.Вот быстрый старт: http://www.sitefinity.com/blogs/gabesumner/posts/11-08-29/ldquo_hello_world_rdquo_guide_to_custom_sitefinity_widgets_amp_controldesigners.aspx

У нас также есть модули, которые являются более сложными концепциями.Они управляют данными, имеют внутренний и внешний интерфейс.Я рекомендую вам ознакомиться с нашими блогами и документацией для получения дополнительной информации.

У нас также есть SDK, содержащий примеры с исходным кодом для расширений CMS.

0 голосов
/ 09 сентября 2011

Возможно, вы захотите взглянуть на Kentico CMS, которая поддерживает аналогичные сценарии - вы можете легко смешивать свои собственные страницы ASPX и страницы ASPX, контролируемые CMS, так что это очень гибко.

...