Как создать шаблон списка в SharePoint онлайн с использованием VS 2013
Я собираюсь создать некоторые декларативные элементы в SPO, используя VS. Я знаю, как создать его через пользовательский интерфейс, я хочу создать программно. Как я сделал некоторые исследования, есть 3 способа. Сначала через приложение, размещенное в SP (надстройка), затем дайте разрешение на управление веб-узлом для создания списка на родительском сайте. Вот статья: http://www.sharepointnadeem.com/2013/12/sharepoint-2013-apps-access-data-in.html Этот подход не очень хорош, поскольку веб-приложение не должно вносить какие-либо изменения в хост-сеть., Второе - через решение для песочницы. Когда я пытаюсь создать решение для песочницы, используя URL-адрес сайта SPO, я получаю сообщение об ошибке, в котором говорится, что подключение к удаленному сайту невозможно через VS. Поэтому я должен ввести локальный URL-адрес SP, чтобы создать решение для песочницы. затем я должен декларативно создать шаблон списка, развернуть его и опубликовать в своей среде SPO. Вот статья, которая объясняет шаги: http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2012/01/10/how-to-use-visual-studio-11-to-publish-solutions-to-sharepoint-online.aspx Проблема, с которой я столкнулся при таком подходе, заключается в том, что у меня нет доступа к моим столбцам управляемых метаданных, которые расположены в SPO, когда я разрабатываю шаблон списка на моей локальной машине для разработки. Третий подход - создание списка, типа контента или шаблона в веб-приложении, что не в моем случае. Это было объяснено в этой статье: sharepoint-journey.com/sharepoint-list-in-sharepoint-hosted-app.html Проблема в том, что я хочу, чтобы этот шаблон был на моем сайте (хост-сайте), а не на веб-сайте приложения. (под-сайт)
У меня вопрос: я хочу предоставить какой-нибудь шаблон списка в своей среде SPO, используя VS 2013. Каков наилучший подход для этого? и как я могу это сделать? Пожалуйста, дайте мне пошаговую инструкцию.
Спасибо
1 ответ
Вы определенно хотите пойти App(надстройка) путь. Возможно и во многих случаях предпочтительнее настроить свои списки на хост-сети, а затем просто использовать веб-интерфейс приложения для пользовательского интерфейса или, если вы вообще не хотите его использовать: просто позвольте надстройке выполнить тяжелая работа по созданию списков, столбцов и типов контента.
Здесь важно то, что вы указываете в своем коде, что вы хотите, чтобы списки создавались в Host Web, а не в App Web. Чтобы это работало, вам нужно включить запрос на разрешение в ваше приложение. После установки приложение спросит пользователя, устанавливающего его, может ли оно иметь разрешение на хост-сеть. Это можно сделать, установив соответствующую область в файле AppManifest.xml, а затем установите для нее значение Разрешение: [ваша область действия] - [уровень разрешения]. Подробнее об этом можно прочитать на этом ресурсе: https://msdn.microsoft.com/en-us/library/office/fp142383.aspx
Тогда что-то вроде этого кода позволит вам создать список на вашем хосте. Имейте в виду, что этот список будет по-прежнему доступен в сети, даже если вы удалите свое приложение.
oApp.install.addList = function (listName) {
var listCreationInfo = new SP.ListCreationInformation();
listCreationInfo.set_title(listName);
listCreationInfo.set_templateType(SP.ListTemplateType.genericList);
var myNewList = hostcontext.get_web().get_lists().add(listCreationInfo);
var dfd = $.Deferred();
context.load(myNewList);
context.executeQueryAsync(function () {
var listCreated = true;
console.log("[" + listName + "]" + " added to hostweb");
if (listCreated) dfd.resolve();
}, oApp.onFail
);
return dfd.promise();
};
Я также написал о создании определенных типов столбцов в вашем списке в моем блоге. Не стесняйтесь проверить это здесь: http://bayerlein.se/how-to-create-host-web-lists-with-certain-columns-in-your-sharepoint-add-in-the-nice-way/ the- nice-way/