Sitefinity и разработка на заказ

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

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

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

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

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


person Jim    schedule 07.09.2011    source источник


Ответы (3)


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

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

Короче говоря, пользовательский код относительно легко интегрировать в sitefinity, если вы можете сжать его в пользовательский элемент управления или мастер-страницу.

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

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

person Ben Barreth    schedule 08.09.2011
comment
Небольшое исправление — Sitefinity в настоящее время построен на WebForms. Они предлагают вариант MVC для создаваемого веб-сайта, но он не имеет всех виджетов и инструментов версии WebForms (пока выглядит как Project Feather потенциально исправит это и принесет некоторые другие приятные преимущества.) - person LocalPCGuy; 15.04.2014

Полный отказ от ответственности: я работаю над 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

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

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

person Slavo    schedule 13.09.2011

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

person Mike Blaumen    schedule 09.09.2011