Повторное использование Orchard's Core для создания другой среды расширения - PullRequest
1 голос
/ 17 января 2012

Мне очень хотелось бы услышать мнения по этому поводу.

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

Мы рассматриваем возможность использования ядра Orchard для этого.

Если бы мы это сделали, вероятно,состоит из:

Удаление всего, что связано с CMS, из Orchard Извлечение базы данных Orchard Использование / сборка основных DLL-библиотек Orchard для создания необходимых нам расширяемых возможностей Одной альтернативой этому является ванильная расширяемость ASP.NET MVC.

Мнения

Ответы [ 3 ]

1 голос
/ 18 января 2012

Мы применили аналогичный подход в ITV, мы решили, что хотим перейти на новую систему и хотим получить много функциональных возможностей, которыми обладает Orchard, но нам все это не нужно ... то есть часть CMS.

Мы взяли Orchard.Web в качестве хоста для всех наших «областей / модулей» - это действительно важно, так как это заставляет разработчиков задуматься о слабой связи их компонентов.

Затем мы решиливозьмите рамки и лишите ее определенных аспектов.В рамках мы взяли Logging, Caching и DI, связанные с IDependency.Самая сложная часть была Autofac.Не торопитесь с этим, поскольку наша реализация, я думаю, была не лучшей, и я уверен, что в ней есть ошибки.Мы взяли большую часть кода Orchard DI и попытались дооснастить его без всякой оболочки.

0 голосов
/ 02 октября 2014

Другим, возможно, более экспериментальным подходом было бы использование Хоста приложений Orchard .

Эта структура позволяет запускать облегченные оболочки Orchard внутри любого приложения, таким образом, по сути, вы можете писать код Orchard.где бы то ни было, пусть это будет консольное приложение, облачный работник или даже веб-приложение, не относящееся к Orchard (хотя последнее будет немного бессмысленным).

Более того, Orchard App Host - пример именно того, что вам нужнодля достижения: разобрать Orchard до его ядра и использовать его в качестве универсальной прикладной среды.Это возможно довольно чистым способом (без изменений в Orchard), но довольно сложным.Без лучшего понимания вашего сценария использования, я сомневаюсь, что вы хотите развернуть что-то подобное.

В принципе, вы можете удалить все модули из решения Orchard, даже модуль Core, если вы готовы к приключениям и начинаете строить оттуда:наверное самый простой.Однако, естественно, это также означает, что, как только вы попытаетесь использовать что-либо, не входящее в базовое ядро, вам придется заново реализовать то, что уже есть в Orchard.

0 голосов
/ 18 января 2012

Orchard называется CMS, но это, конечно, намного больше. Он очень универсален и предоставляет вам множество функций, не относящихся к CMS, из коробки. Например, его можно легко расширить с помощью модулей - это отлично подходит для создания каркасных приложений. Кроме того, Orchard не мешает вам использовать обычный ASP.NET MVC. Вы можете добавить обычные контроллеры и реализовать части своего приложения в vanilla MVC, если не можете найти то, что вам нужно в Orchard. Наконец, сама структура является очень расширяемой, и обычно можно переопределить каждый отдельный механизм, если вам это необходимо.

С другой стороны, с самого начала Орчард немного сложен в освоении. Там не так много документации и много "магии" в рамках. Иногда сложно понять, как реализовать какую-то конкретную функциональность. По крайней мере, это мое впечатление. Тем не менее, сообщество очень полезно, и обычно вы можете найти людей, которые помогут вам. После того, как вы овладеете Орчардом, это отличная структура.

Так что в вашем случае, я думаю, стоит попробовать.

...