2015-04-02 4 views
0

Не уверен, что это стандартный вопрос stackoverflow (я удалю его, если это предложение), все равно может помочь мне понять возможные варианты здесь.База данных вспомогательного контента Sitecore

Я хотел бы знать, возможно ли, возможно, что рядом с основными, главными и веб-экземплярами добавить новую базу данных контента (скажем, для некоторых форм, заполненных данными веб-пользователями с репозиторием CRUD с использованием существующего файла sitecore api). Редактируемый/только для чтения из CMS, видимый для экспорта, отчетов или диаграмм через CMS с использованием пользовательских модулей.

Как-то эта БД должна располагаться на одном уровне с веб-базой данных, важно следить за шаблонами и функциональными возможностями из устаревшей функциональности sitecore.

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

Я нашел неопределенную информацию о блоге John west Sitecore, поэтому я спрашиваю больше, чем прямое решение перед глазами, ссылки или примеры, как или сигналы, если это противоречит политике.

С наилучшими пожеланиями до настоящего времени: http://intothecore.cassidy.dk/2009/05/working-with-multiple-content-databases.html статья написана Mark Cassidy.

+1

Возможно, пользовательский DataProvider - это то, что вам нужно. См. Http://www.it-zynergy.com/sitecore-data-providers-simple-read-only или http: //www.sitecore.net/learn/blogs/technical-blogs/john-west-sitecore-blog/posts/2012/05/when-to-implement-data-providers-in-the-sitecore-aspnet-cms.aspx –

+1

Да, возможно , Я сделал что-то подобное с переадресацией: https://jammykam.wordpress.com/2015/01/19/redirecting-urls-after-major-content-restructure-in-sitecore/. Вам всегда нужно использовать 'Factory. GetDatabase ("otherDB") 'для доступа к вашим элементам и работы с API. Но вы можете следовать рекомендациям Maras по использованию DataProvider, зависит от ваших точных требований. – jammykam

+0

Спасибо, ребята, DataProvider кажется хорошим подходом к моей проблеме, я приспосабливаюсь к реализации, я вернусь с небольшой архитектурой. Поставщик данных от веб-мастера до сих пор является ключом для меня, но я не отказываюсь от вспомогательной веб-базы данных. – SilentTremor

ответ

0

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

Данные пользователя, такие как формы, комментарии и т. Д. У вас есть три соображения, касающиеся хранения, доступа и отчетности. В сценарии, где вы хотите сохранить эти данные и получить доступ к нему в Sitecore. Я бы подошел к нему следующим образом:

Хранение этих данных должно быть в основной базе данных внутри ведра. Из версии 7.0+ были добавлены ведра, чтобы вы могли добавлять практически неограниченные данные в базу данных Sitecore. Был модуль ведер, который поддерживал 6.3+, но, похоже, больше не загружается: https://marketplace.sitecore.net/en/modules/sitecore_item_buckets.aspx. Код там, хотя, возможно, поддержка Sitecore даже обеспечит его.

Основная база данных в стандартной производственной среде (разделенное управление контентом и среды доставки контента), если она не доступна напрямую через строку подключения, становится доступной путем вызова веб-интерфейса Sitecore или создания пользовательской веб-службы.

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

0

Вы должны сохранить информацию, заполненную пользователем в базе данных Master, чтобы вы могли ее модифицировать или использовать с помощью API SItecore.

Поскольку пользователи, заполняющие форму, могут не иметь доступа к модификации базы данных Sitecore Master DB. Вам нужно либо переключить пользователя на пользователя с минимальными разрешениями, необходимыми для внесения этих изменений (безопаснее), либо вам придется временно отключить защиту и выполнить эти задачи (не рекомендуется). Оба они объясняются в http://www.nehemiahj.com/2012/03/how-to-use-securitydisabler-and_15.html

Затем добавьте форму как элемент в мастер-дБ. Если количество элементов формы, созданных с помощью этого, больше, то используйте Sitecore Buckets.

+0

Я бы добавил, что переход к пользователю с наименьшими возможностями, необходимыми для выполнения желаемой операции, является гораздо более безопасной идеей, чем использование SecurityDisabler –

+0

@ScottSimontis да я согласен. Я внесла поправки в ответ. –

Смежные вопросы