Обновление функции sharepoint не удалось обновить модуль
Хорошо, ребята, я уже давно склоняюсь над этой проблемой. Позвольте мне дать вам немного контекста здесь. У меня есть функция семейства сайтов (FileCentral), работающая над ее версией '1.0.0.0'. Эта функция создает библиотеку документов, в которую я могу загружать файлы, которые будут храниться в общей сетевой папке. Таким образом, каждый элемент в этой библиотеке документов хранит ссылку на путь к файлу. Здесь нет проблем. Недавно у меня появилось следующее требование: "Должна быть возможность синхронизировать файлы из папки с библиотекой документов". Другими словами, мне нужен какой-то способ сканирования файлов, размещенных в общем сетевом ресурсе, и создания соответствующих элементов списка, указывающих на эти файлы. Предлагаемое решение состоит в том, чтобы создать настраиваемое действие в этой библиотеке документов, при нажатии на которое открывается диалоговое окно со страницей с именем SyncFiles.aspx. Затем эта страница будет вызывать асинхронную службу, отвечающую за перечисление файлов, которые не были синхронизированы. Затем пользователь выбирает файлы, которые он хочет синхронизировать, и подтверждает операцию. Структура проекта для этого решения:
|Features
|-- FileCentral (Site scoped feature)
|---- FileCentral.feature
|------ FileCentral.Template.xml
|branding (module)
|-- js (folder)
|---- app (folder)
|------ fileCentral (folder)
|-------- home.js
|-- Elements.xml
|Pages (module)
|-- Home.aspx (file)
|Updates (folder)
|-- SyncFileCentral (folder)
|---- Assets (module)
|------ js (folder)
|-------- app (folder)
|---------- fileCentral (folder)
|------------ sync.js
|------ Elements.xml
|---- Button (custom action)
|------ Elements.xml
|---- Pages (module)
|------ SyncFiles.aspx
|------ Elements.xml
Модуль Assets развертывает в галерее мастер-страниц необходимые файлы javascript e css для работы страницы SyncFiles.aspx:
<!-- Assets module -->
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="branding" Url="_catalogs/masterpage" RootWebOnly="TRUE">
<File Path="branding\js\app\fileCentral\sync.js" Url="branding/js/app/fileCentral/sync.js" ReplaceContent="TRUE" IgnoreIfAlreadyExists="TRUE" Type="GhostableInLibrary" Level="Published"/>
</Module>
</Elements>
Пользовательское действие Button развертывает (угадайте, что?) Пользовательское действие. А модули Pages разворачивают страницу SyncFiles.aspx в библиотеку документов Pages.
<-- Pages module -->
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="Pages" Url="Pages" RootWebOnly="TRUE">
<File Path="Pages\SyncFiles.aspx" Url="Pages/SyncFiles.aspx" Type="GhostableInLibrary" IgnoreIfAlreadyExists="TRUE" ReplaceContent="TRUE" Level="Published" />
</Module>
</Elements>
FileCentral.Template.xml выглядит так:
<?xml version="1.0" encoding="utf-8"?>
<Feature xmlns="http://schemas.microsoft.com/sharepoint/" **Version="2.0.0.0"** Title="File Central" ActivateOnDefault="FALSE" AlwaysForceInstall="TRUE" Description="DESCRIPTION HERE" Id="XXX" Scope="Site">
<!-- Feature Upgrade -->
<UpgradeActions>
<VersionRange BeginVersion="2.0.0.0" EndVersion="3.0.0.0">
<ApplyElementManifests>
<ElementManifest Location="Assets\Elements.xml" />
<ElementFile Location="Assets\js\app\fileCentral\sync.js" />
<ElementManifest Location="Button\Elements.xml" />
<ElementManifest Location="Pages\Elements.xml" />
<ElementFile Location="Pages\SyncFiles.aspx" />
</ApplyElementManifests>
</VersionRange>
</UpgradeActions>
<ElementManifests>
<ElementManifest Location="branding\Elements.xml" />
<ElementFile Location="branding\js\app\fileCentral\home.js" />
<ElementManifest Location="Assets\Elements.xml" />
<ElementFile Location="Assets\js\app\fileCentral\sync.js" />
<ElementManifest Location="Button\Elements.xml" />
<ElementManifest Location="Pages\Elements.xml" />
<ElementFile Location="Pages\SyncFiles.aspx" />
</ElementManifests>
</Feature>
Хорошо, достаточно контекста. Вот проблема: Когда я обновляю -SPSolution -Identity "FileCentralSolution.wsp" -LiteralPath "X" -GACDeployment, я вижу ($site.QueryFeatures([Microsoft.SharePoint.SPFeatureScope]::Site, $true)), что Есть функции, требующие обновления. Затем, когда я обновляю функции, я не вижу изменений ни в моих ресурсах, ни в моих страницах. Единственная вещь, которая будет развернута - это мое пользовательское действие. Поэтому, когда я нажимаю кнопку, открывается пустое диалоговое окно. И если я осматриваю вкладку сети, я вижу, что ресурсы и запросы страниц возвращают 404 ответа о состоянии. ЧТО Я СДЕЛАЛ НЕ ТАК?
1 ответ
Вы проверили свою файловую систему, чтобы увидеть, действительно ли файлы были развернуты в правильном кусте? Если это SharePoint 2013, развертываются ли файлы решения в папку, соответствующую выбранному режиму пользовательского интерфейса? (CompatibilityLevel 14,15?)