Aug 24 2018 05:37 AM - edited Aug 24 2018 05:39 AM
Hello,
I have a problem using Apply-PnPProvisioningTemplate with PowerShell on a SharePoint Online context.
#website created to be used as a template
Connect-PnPOnline -Url "https://$principalWebSite/" –Credentials $adminCredentials
New-PnPWeb -Title "srcTemplate" -Url srctemplate -Description "srcTemplate" -BreakInheritance -InheritNavigation -Template "STS#0" -Locale 1036
Disconnect-PnPOnline
#website exported as a template.pnp
Connect-PnPOnline –Url "https://$principalWebSite/srcTemplate" –Credentials $adminCredentials
Get-PnPProvisioningTemplate -Out $path/$file.pnp -PersistBrandingFiles -PersistPublishingFiles
Disconnect-PnPOnline
#website created to be modified by the template
Connect-PnPOnline -Url "https://$principalWebSite/" –Credentials $adminCredentials
New-PnPWeb -Title "newWebSite" -Url newwebsite -Description "newWebSite" -BreakInheritance -InheritNavigation -Template "STS#0" -Locale 1036
Disconnect-PnPOnline
#website modified by the template
Connect-PnPOnline -Url "https://$principalWebSite/newwebsite" –Credentials $adminCredentials
Set-PnPTraceLog -On -LogFile $path/$file.xml -Level Debug
Apply-PnPProvisioningTemplate -Path $modelePath #-Handlers Pages -ExcludeHandlers Lists
Set-PnPTraceLog -Off
Disconnect-PnPOnline
Error Message : File not found
Apply-PnPProvisioningTemplate : Fichier introuvable.
Au caractère Ligne:3 : 1
+ Apply-PnPProvisioningTemplate -Path $modelePath #-Handlers Pages -Exc ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (:) [Apply-PnPProvisioningTemplate], ServerException
+ FullyQualifiedErrorId : EXCEPTION,SharePointPnP.PowerShell.Commands.Provisioning.ApplyProvisioningTemplate
srcTemplate File is founded and I can see that it is working for a while (attachments, lists, library, etc.) and this it stop with this error.
srcTemplate & log file in attachment.
Does anyone have an idea ?
Aug 24 2018 07:25 AM
A common solution to that error is to open the template file look for the File references and ensure that all those files are available on the relative location where your template is located.
For example, if you have a <pnp:File> element referencing a file on "/MyFilesExample/MyFile.txt", next to the template file you will need a "MyFilesExample" folder and inside that folder a "MyFile.txt".
This happens in some scenarios, but it's generally easy to fix as you can just create the required folders and download the required files from the original site that was used as a template.
Note: I have assumed that you are doing this in 2 steps
- create site and save template
("fix" template)
- create site and apply template
Hope this helps
Aug 24 2018 09:11 AM - edited Aug 24 2018 09:12 AM
Hi, Yes I have already read about this.
To be sure that it is not this problem, I have made my test on an empty website.
How you can see, my command Get-PnPProvisioningTemplate -Out arrive just after the creation of the website. I haven't added/deleted/changed nothing before...
I have read that it was possible to rename the .pnp to .zip, and to look if there is a "pnp:file" in the <guid>.xml file of the folder named "Files".
But there is nothing....
Aug 24 2018 01:57 PM
Aug 24 2018 02:00 PM
Aug 30 2018 11:38 AM
Aug 31 2018 03:08 AM
@Jeremy GOUPIL just checked your template and I think it's the OneNote reference on navigation.
<pnp:NavigationNode Title="Bloc-notes" Url="{site}/_layouts/15/WopiFrame.aspx?sourcedoc={137c43e8-57b9-4f2f-a6ba-0d50fa98c1c5}&action=editnew" IsExternal="true" />
Try removing this line and try again as it should work
Sep 16 2018 02:09 PM
I'm experiencing the same issue: tried about everything but don't know why I always get this error:
PowerShell_ISE.exe Information: 0 : 2018-09-16 22:45:56.6430 [Provisioning] [14] [Debug] Code execution scope ended 107192ms 656c838b-f844-4709-b8fb-2372ae42169f
Apply-PnPProvisioningTemplate : File Not Found.
At line:3 char:1
+ Apply-PnPProvisioningTemplate -Path "C:\temp\PatrimoniumTeamSiteTempl ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (:) [Apply-PnPProvisioningTemplate], ServerException
+ FullyQualifiedErrorId : EXCEPTION,SharePointPnP.PowerShell.Commands.Provisioning.ApplyProvisioningTemplate
I don't think I'm referencing to any document in the provisioning xml.
xml file in the attachments
Sep 16 2018 02:50 PM
Sep 16 2018 05:11 PM
Hello @Jeremy GOUPIL - Looking at your Powershell code, are you setting a value for the $modelePath variable used for the Apply-PnPProvisioningTemplate?
Sep 16 2018 09:43 PM
Sep 16 2018 10:38 PM
SolutionSep 23 2018 11:43 PM
We ran into this issue with our c# provisioning system today as well and, as mentioned, solved by removing this field from the template:
var pnpTemplate = web.GetProvisioningTemplate(ptci);
foreach (var list in pnpTemplate.Lists)
{
list.Fields.RemoveAll(d => d.SchemaXml.Contains("_DisplayName"));
};
Sep 24 2018 12:21 PM
Hello,
I have already deleted the OneNote file from my website before creating the template. I have even deleted the file from the site's bin. And the link in the navigation bar has been deleted too. This is not my problem :\
Sep 24 2018 12:23 PM
Hi, yes, it is the same $path than the one used to export the template at the beginning.
I can see that SharePoint is reading and uploading things in lists but at one moment, it crashes.
Sep 24 2018 12:55 PM
Sep 24 2018 12:59 PM
So I have renamed srcTemplate.pnp to srcTemplate.zip
Extracted srcTemplate.zip
Edited this file : \Files\<guid>.xml
I have deleted :
<Field ID="{1a53ab5a-11f9-4b92-a377-8cfaaf6ba7be}" Name="_DisplayName" DisplaceOnUpgrade="TRUE" Sortable="FALSE" Filterable="FALSE" Hidden="FALSE" ReadOnly="TRUE" ShowInFileDlg="FALSE" Type="Lookup" DisplayName="{res:Field_Niveau_de_confidentialité_DisplayName}" List="Docs" ListInternal="IpLabelCache" FieldRef="LabelId" ShowField="DisplayName" LeftList="Docs" LeftColumnName="IpLabelId" JoinColName="LabelId" JoinRowOrdinal="0" JoinType="LEFT OUTER" SchemaVersion="16.0.162.0" RecreateIfMissing="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="_DisplayName" FromBaseType="TRUE" />
and
<Field ID="{1a53ab5a-11f9-4b92-a377-8cfaaf6ba7be}" Name="_DisplayName" DisplaceOnUpgrade="TRUE" Sortable="FALSE" Filterable="FALSE" Hidden="FALSE" ReadOnly="TRUE" ShowInFileDlg="FALSE" Type="Lookup" DisplayName="{res:Field_Niveau_de_confidentialité_DisplayName}" List="Docs" ListInternal="IpLabelCache" FieldRef="LabelId" ShowField="DisplayName" LeftList="Docs" LeftColumnName="IpLabelId" JoinColName="LabelId" JoinRowOrdinal="0" JoinType="LEFT OUTER" SchemaVersion="16.0.162.0" RecreateIfMissing="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="_DisplayName" FromBaseType="TRUE" />
and
<Field ID="{1a53ab5a-11f9-4b92-a377-8cfaaf6ba7be}" Name="_DisplayName" DisplaceOnUpgrade="TRUE" Sortable="FALSE" Filterable="FALSE" Hidden="FALSE" ReadOnly="TRUE" ShowInFileDlg="FALSE" Type="Lookup" DisplayName="{res:Field_Niveau_de_confidentialité_DisplayName}" List="Docs" ListInternal="IpLabelCache" FieldRef="LabelId" ShowField="DisplayName" LeftList="Docs" LeftColumnName="IpLabelId" JoinColName="LabelId" JoinRowOrdinal="0" JoinType="LEFT OUTER" SchemaVersion="16.0.162.0" RecreateIfMissing="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="_DisplayName" FromBaseType="TRUE" />
Zipped to srcTemplate.zip
Renamed to srcTemplate.pnp
Apply-PnPProvisioningTemplate : The Provisioning Template URI srcTemplate.xml is not valid.
Sep 24 2018 01:11 PM
Sep 24 2018 01:32 PM
Okay sorry my mistake !
Its finally works... almost haha :)
I have created Home page with new experience but it is not keeped. Page file has been removed. But it is another problem. I gonna Google it.
Thanks a lot everybody !