Я постараюсь дать обзор текущих возможностей (начиная с версии SenseNet 6.5.4, потому что в ближайшем будущем появятся новые возможности).
Используйте SenseNet как отдельное веб-приложение
Вот что вы сделали: установите пакет и получите полноценное веб-приложение: интерфейс портала и репозиторий контента (db). Вы можете настроить графический интерфейс, создав новый скин или создав страницы и переместив портлеты вокруг на страницах . Вот несколько ссылок для начала:
О поддержке проекта (например, о резервном копировании и т. д.) читайте в статьях об операторах и разработчиках на вики — или задавайте конкретные вопросы здесь :).
Используйте SenseNet в качестве серверной службы
Разработчики могут использовать OData REST API, который мы предлагаем: вы можете управлять контентом в репозитории контента через http-запросы (или с помощью клиентского SDK из C#). Для этого требуется та же установка SenseNet, что и для первого варианта, но вы можете сохранить существующее приложение ASP.NET и отправлять запросы к API REST SenseNet только из вашего бэкэнда (также можно выполнять межсайтовые вызовы ajax из JavaScript, но вы придется иметь дело с межсайтовой аутентификацией в случае конфиденциального контента).
Создайте веб-формы ASP.NET или приложение mvc поверх репозитория содержимого SenseNet.
В настоящее время это немного сложно, поскольку для этого сценария нет вики-статьи «как это сделать». По сути, вы сможете использовать существующие (или новые) веб-формы ASP.NET или приложение MVC и использовать репозиторий контента в качестве хранилища. Таким образом, вы освободите встроенный пользовательский интерфейс и возможность выполнения вызовов REST API к репозиторию (как это возможно в предыдущих вариантах), но вы все равно сможете напрямую подключаться к репозиторию, используя SenseNet C# API (это называется внутрипроцессным поведением).
Для этого вам нужно скопировать все содержимое из встроенного SenseNet web.config в файл веб-конфигурации вашего приложения, и если вы хотите выполнить некоторые действия по инициализации при запуске (маршрутизация MVC или веб-API и т. д.), чем вы придется наследовать встроенный глобальный класс (называемый SenseNetGlobal), реализовать обычные методы (запуск приложения, конец приложения и т. д.) и зарегистрировать его в файле global.asax в корневом каталоге вашего веб-сайта. Если у вас есть правильная строка подключения и все остальные значения, настроенные в web.config, вы должны иметь возможность использовать SenseNet API (например, загружать элементы контента и управлять ими, запрашивать репозиторий) с этого момента.
Изменить: сведения о пользовательских таблицах
Пользовательские таблицы базы данных
Независимо от того, каким путем вы пойдете, вы, конечно, можете добавить свои собственные пользовательские таблицы в базу данных SenseNet. Прежде чем вы это сделаете, рассмотрите возможность хранения ваших объектов как обычных элементов Content в репозитории контента, тем самым вы могут извлечь выгоду из встроенных функций платформы, например. индексация и разрешения.
Но если у вас уже есть структура таблицы, которую вы хотите повторно использовать или интегрировать, или если ее проще реализовать независимо от SN, вы можете хранить свои пользовательские данные в той же базе данных. Мы предлагаем API для доступа к базе данных, вам не нужно беспокоиться о строках подключения и других вещах, вы можете просто использовать вспомогательный класс SqlProcedure SenseNet для выполнения прямых запросов SQL.
using (var cmd = new SqlProcedure { CommandText = "SELECT * FROM MyTable WHERE RefId = @MyId", CommandType = CommandType.Text })
{
cmd.Parameters.Add("@MyId", SqlDbType.Int).Value = myId;
var result = new List<int>();
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
result.Add(reader.GetSafeInt32(0));
return result;
}
}
Также можно представлять или даже редактировать внешние элементы (например, записи в пользовательской таблице) с помощью встроенный пользовательский интерфейс веб-форм ASP.NET SenseNet. Платформа (с небольшим объемом разработки) способна отображать внешний объект со встроенными элементами управления полями (например, короткие тексты, выпадающие списки и т. д.) и позволять пользователям манипулировать ими без необходимости создавать пользовательские интерфейсы CRUD с нуля.
Конечно, вы также можете создать собственный пользовательский интерфейс, используя имеющиеся у вас навыки разработки и предпочитаемые элементы управления.
person
Miklós Tóth
schedule
11.10.2016