Code Monkey home page Code Monkey logo

pnp-provisioning-schema's Introduction

Remote Provisioning Schema

by Microsoft 365 Patterns and Practices (PnP)

This is the Community Source Code location for the PnP remote provisioning schema designed to be used as remote creation instructions for remote provisioning engine towards Microsoft 365.

This is community driven effort for designing one schema which can be used to define elements in the Microsoft 365. Initial versions will concentrate on SharePoint, but target is to define also other services using this same structure.

This effort is closely related on the work being done in the Microsoft 365 Patterns and Practices PnP Framework Library repository on actual engine, which will provision SharePoint sites and other elements using this schema.

Microsoft 365 Patterns and Practices

Version

Current default implemented version (in the PnP Provisioning Engine)

Version 202209

Current approved versions

Version 202209

In order to reference the schema version 202209 you can use the following syntax:

<pnp:Provisioning xmlns:pnp="http://schemas.dev.office.com/PnP/2022/09/ProvisioningSchema"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://schemas.dev.office.com/PnP/2022/09/ProvisioningSchema https://raw.githubusercontent.com/PnP/PnP-Provisioning-Schema/master/PnP.ProvisioningSchema/ProvisioningSchema-2022-09.xsd">
	<!-- All the schema contents -->
</pnp:Provisioning>

Version 202103

In order to reference the schema version 202103 you can use the following syntax:

<pnp:Provisioning xmlns:pnp="http://schemas.dev.office.com/PnP/2021/03/ProvisioningSchema"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://schemas.dev.office.com/PnP/2021/03/ProvisioningSchema https://raw.githubusercontent.com/PnP/PnP-Provisioning-Schema/master/PnP.ProvisioningSchema/ProvisioningSchema-2021-03.xsd">
	<!-- All the schema contents -->
</pnp:Provisioning>

Version 202002

In order to reference the schema version 201909 you can use the following syntax:

<pnp:Provisioning xmlns:pnp="http://schemas.dev.office.com/PnP/2020/02/ProvisioningSchema"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://schemas.dev.office.com/PnP/2020/02/ProvisioningSchema https://raw.githubusercontent.com/PnP/PnP-Provisioning-Schema/master/PnP.ProvisioningSchema/ProvisioningSchema-2020-02.xsd">
	<!-- All the schema contents -->
</pnp:Provisioning>

Version 201909

In order to reference the schema version 201909 you can use the following syntax:

<pnp:Provisioning xmlns:pnp="http://schemas.dev.office.com/PnP/2019/09/ProvisioningSchema"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://schemas.dev.office.com/PnP/2019/09/ProvisioningSchema https://raw.githubusercontent.com/PnP/PnP-Provisioning-Schema/master/PnP.ProvisioningSchema/ProvisioningSchema-2019-09.xsd">
	<!-- All the schema contents -->
</pnp:Provisioning>

Deprecated schema versions

Version 201903

In order to reference the schema version 201903 you can use the following syntax:

<pnp:Provisioning xmlns:pnp="http://schemas.dev.office.com/PnP/2019/03/ProvisioningSchema"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://schemas.dev.office.com/PnP/2019/03/ProvisioningSchema https://raw.githubusercontent.com/PnP/PnP-Provisioning-Schema/master/PnP.ProvisioningSchema/ProvisioningSchema-2019-03.xsd">
	<!-- All the schema contents -->
</pnp:Provisioning>

Version 201807

In order to reference the schema version 201807 you can use the following syntax:

<pnp:Provisioning xmlns:pnp="http://schemas.dev.office.com/PnP/2018/07/ProvisioningSchema"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://schemas.dev.office.com/PnP/2018/07/ProvisioningSchema https://raw.githubusercontent.com/PnP/PnP-Provisioning-Schema/master/PnP.ProvisioningSchema/ProvisioningSchema-2018-07.xsd">
	<!-- All the schema contents -->
</pnp:Provisioning>

Version 201805

In order to reference the schema version 201805 you can use the following syntax:

<pnp:Provisioning xmlns:pnp="http://schemas.dev.office.com/PnP/2018/05/ProvisioningSchema"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://schemas.dev.office.com/PnP/2018/05/ProvisioningSchema https://raw.githubusercontent.com/PnP/PnP-Provisioning-Schema/master/PnP.ProvisioningSchema/ProvisioningSchema-2018-05.xsd">
	<!-- All the schema contents -->
</pnp:Provisioning>

Version 201801

In order to reference the schema version 201801 you can use the following syntax:

<pnp:Provisioning xmlns:pnp="http://schemas.dev.office.com/PnP/2018/01/ProvisioningSchema"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://schemas.dev.office.com/PnP/2018/01/ProvisioningSchema https://raw.githubusercontent.com/PnP/PnP-Provisioning-Schema/master/PnP.ProvisioningSchema/ProvisioningSchema-2018-01.xsd">
	<!-- All the schema contents -->
</pnp:Provisioning>

Version 201705

In order to reference the schema version 201705 you can use the following syntax:

<pnp:Provisioning xmlns:pnp="http://schemas.dev.office.com/PnP/2017/05/ProvisioningSchema"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://schemas.dev.office.com/PnP/2017/05/ProvisioningSchema https://raw.githubusercontent.com/PnP/PnP-Provisioning-Schema/master/PnP.ProvisioningSchema/ProvisioningSchema-2017-05.xsd">
	<!-- All the schema contents -->
</pnp:Provisioning>

Version 201605

In order to reference the schema version 201605 you can use the following syntax:

<pnp:Provisioning xmlns:pnp="http://schemas.dev.office.com/PnP/2016/05/ProvisioningSchema"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://schemas.dev.office.com/PnP/2016/05/ProvisioningSchema https://raw.githubusercontent.com/PnP/PnP-Provisioning-Schema/master/PnP.ProvisioningSchema/ProvisioningSchema-2016-05.xsd">
	<!-- All the schema contents -->
</pnp:Provisioning>

Version 201512

In order to reference the schema version 201512 you can use the following syntax:

<pnp:Provisioning xmlns:pnp="http://schemas.dev.office.com/PnP/2015/12/ProvisioningSchema"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://schemas.dev.office.com/PnP/2015/12/ProvisioningSchema https://raw.githubusercontent.com/PnP/PnP-Provisioning-Schema/master/PnP.ProvisioningSchema/ProvisioningSchema-2015-12.xsd">
	<!-- All the schema contents -->
</pnp:Provisioning>

Version 201508

In order to reference the schema version 201508 you can use the following syntax:

<pnp:Provisioning xmlns:pnp="http://schemas.dev.office.com/PnP/2015/08/ProvisioningSchema"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://schemas.dev.office.com/PnP/2015/08/ProvisioningSchema https://raw.githubusercontent.com/PnP/PnP-Provisioning-Schema/master/PnP.ProvisioningSchema/ProvisioningSchema-2015-08.xsd">
	<!-- All the schema contents -->
</pnp:Provisioning>

More information

More information and documentation can be found here:

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

pnp-provisioning-schema's People

Contributors

erwinvanhunen avatar jansenbe avatar jensotto avatar mkacena avatar nickvdheuvel avatar paolopia avatar rgylesbedford avatar robinbreman avatar tsekityam avatar vesajuvonen avatar wictorwilen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pnp-provisioning-schema's Issues

Add support for breaking site permission inheritance

Per the conversation in Issue pnp/PnP-Sites-Core#202 I have been trying to add the Boolean for BreakRoleInheritance and I am not able to figure it out. If I try to add the element in the 2015-12 XSD and then rebuild the .CS file as instructed in the readme.md I get build errors saying "CustomAction" does not contain a definition for 'RightsSpecified'. I get this error even if I have not made any changes to the XSD templates, so this tells me that I am probably missing a step during the code generation process.

If someone wouldn't mind adding the attribute (and another Boolean attribute indicating if the rights should be copied from the parent when breaking inheritance or set fresh), I would be glad to finish the code for creating the groups.

New schema: what am I missing? (getting an exception)

I had code that was working without issue to save and load ProvisioningTemplate objects prior to updating to the October 2015 release. I updated to the latest PnP Core release yesterday, and now I'm getting exceptions whenever I attempt a GetTemplates() call or GetTemplate() call for a specific named template. Here's the relevant portion of the stack trace:


[NullReferenceException: Object reference not set to an instance of an object.]
OfficeDevPnP.Core.Framework.Provisioning.Providers.Xml.XMLPnPSchemaV201508Formatter.ToProvisioningTemplate(Stream template, String identifier) +20422
OfficeDevPnP.Core.Framework.Provisioning.Providers.Xml.XMLPnPSchemaV201508Formatter.ToProvisioningTemplate(Stream template) +44
OfficeDevPnP.Core.Framework.Provisioning.Providers.Xml.XMLTemplateProvider.GetTemplates(ITemplateFormatter formatter) +254
Cardinal.SPonline.Provisioning.Utilities.TemplateUtilities.GetAllTemplateNames() in f:\Cardinal\Git\Cardinal.SPonline.Provisioning\Cardinal.SPonline.Provisioning.Utilities\TemplateUtilities.cs:203
Cardinal.SPonline.Provisioning.PHA.Web.Controllers.DeleteController.Index() in f:\Cardinal\Git\Cardinal.SPonline.Provisioning\Cardinal.SPonline.Provisioning.PHA.Web\Controllers\DeleteController.cs:58
lambda_method(Closure , ControllerBase , Object[] ) +101

System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +59

This type of exception gets thrown when code like the following runs:

List allTemplateNames = new List();
XMLAzureStorageTemplateProvider templateStore = GetTemplateStorageProvider();
var formatter = XMLPnPSchemaFormatter.GetSpecificFormatter
(Globals.TEMPLATE_SCHEMA_VERSION);
List allTemplates = templateStore.GetTemplates(formatter);
allTemplates.ForEach(at => allTemplateNames.Add(at.Id));
return allTemplateNames;

Note that GetTemplateStorageProvider() is simply a helper method to return the appropriate XMLAzureStorageTemplateProvider.

If I attempt to use the latest schema formatter (XMLPnPSchemaVersion.V201508) or omit a formatter entirely in my call to GetTemplates(), the exception is thrown. If I fall back to explicitly using the May schema version (XMLPnPSchemaVersion.V201505), all of my calls work fine to load, iterate, save, etc.

I've cleaned out the backing BLOB store where I'm housing the serialized ProvisioningTemplate instances, but it doesn't seem to make much difference. As soon as I save the first ProvisioningTemplate instance, I can't perform a GetTemplates() operation to retrieve what's being stored.

What am I missing? I'd like to use the new schema if possible ...

Thanks in advance for any help you can provide!

  • Sean McDonough

XmlDocuments

The ContentType element should support an XmlDocuments section so we can specify things like event receivers and document set details (allowedContenttypes, sharedFields).

Add attribute in termgroups

When you use a termgroup on site collection level you are not able to overwrite terms and get a exception they already exist.

it would be nice to have a option to overwrite or skip the termgroup provisioning if it already exists.

thanks.

Paul

WebSettings NoCrawl throwing error on Office 365 Dev site

On applying template to sub-site I am getting the following error when I used WebSettings element. What am I missing here?

pnp:WebSettings SiteLogo="{sitecollection}/Style Library/Test/Images/site-logo.png" />

Method not found: 'Void Microsoft.SharePoint.Client.Web.set_NoCrawl(Boolean)'. Stack Trace: at OfficeDevPnP.Core.Framework.Provisioning.ObjectHandlers.ObjectWebSettings.ProvisionObjects(Web web, ProvisioningTemplate template, TokenParser parser, ProvisioningTemplateApplyingInformation applyingInformation) at OfficeDevPnP.Core.Framework.Provisioning.ObjectHandlers.SiteToTemplateConversion.ApplyRemoteTemplate(Web web, ProvisioningTemplate template, ProvisioningTemplateApplyingInformation provisioningInfo) at Microsoft.SharePoint.Client.WebExtensions.ApplyProvisioningTemplate(Web web, ProvisioningTemplate template, ProvisioningTemplateApplyingInformation applyingInformation)

XSD Update

Using master branch:

Even without adding any property elements to existing ProvisioningSchema-2015-12.xsd and running:

xsd -c ProvisioningSchema-2015-12.xsd /n:OfficeDevPnP.Core.Framework.Provisioning.Providers.Xml.V201512

We get this error on build.

Error 33 'OfficeDevPnP.Core.Framework.Provisioning.Providers.Xml.V201512.CustomAction' does not contain a definition for 'RightsSpecified' D:\GitHub\PnP-Sites-Core\Core\OfficeDevPnP.Core\Framework\Provisioning\Providers\Xml\XMLPnPSchemaV201512Formatter.cs 649 30 OfficeDevPnP.Core

Basically where is RightsSpecified property is coming from if it missing in original xsd file?

Missing token for group-id - needed for user-field deployment

Reported in Pnp-Sites-Core as well:
pnp/PnP-Sites-Core#503

When deploying user-fields, you sometimes want to fill in a specific group-id in UserSelectionScope.
I suggest creating a token {groupid:} , where is either sitegroup-title, or associatedmembersgroup, associatedownersgroup, associatedvisitorsgroup.
This needs to be checked during Field-provisioning.

Provisioning Fails When List Has "Allow items in this list to be rated?" Set To Yes

When the template XML has a list that had "Allow items in this list to be rated?" set to Yes, and you try to apply the template to a site, I get an exception when code create the views stating that "The column 'Ratedby' does not exist".

I think this happens because RatedBy is only added as a column when "Allow items in this list to be rated?" is enabled, and I'm not seeing any option to add that to the XML so the code fails due to field missing.

If possible, I think the provisioning schema should be able to provision a list with that option enabled without it throwing an exception.

Can you use ifs based on parameters?

Can you use ifs based on parameters?

For example a parameter for publishing on/off, and use this to decide whether to deploy js or html display template files

Question: duplicate items from DataRows.

I want to add DataRows to my ListInstances, but when I "re-run" an ApplyTemplate job on an existing site it duplicates those rows (unlike Files which overwrote or don't).

Can I set anything up so that it only creates those DataRows if they don't already exist?

Oh, I wonder if setting an ID property in the DataRow would cause it to not duplicate?

Add List Custom Actions

Could we add List Custom Actions to the PnP Schema?
... And or is it on a roadmap for implementation?
Kind Regards
Anthony

Can we also get a way to set field settings at list level?

In our ECM rollouts we have a need to specify various field attributes at list level, because these may differ from one list to another. This includes:

  • DefaultValue
  • AllowMultipleValues
  • AnchorId
  • CreateValuesInEditForm
  • IsPathrendered

Of course, other settings may come up. Do you folk have some ideas on how the schema could be extended to allow for this?

Custom tokens doesn't work

Trying to add a custom token CompanyName as in sample:

<pnp:Parameters>
  <pnp:Parameter Key="CompanyName">Puzzlepart</pnp:Parameter>
</pnp:Parameters>

Tried to use {CompanyName} in ListInstance, Field and Page Properties without success. The token are not replaced.

Security and optional clearscopes

Hi all,

using the last schema and last sources of PNP-Site-Core.
i get a invalid template if i do not add the optional clearscopes in Security node.

If added it works like a charm. But since it is optional and differs from older templates please change.

Kr,

Paul

How to use this schema?

I can see here schema xsd file and generated sample files but could not found that how to use this schema? Can you please update the documentation?

Service unavailable issue

I am using the CreateSiteCollection method from a worker role. Items are being added to a service bus queue and up to three worker roles threads are spinning up new sites at the same time. As multiple sites collections are being requested for creation I start seeing the following errors. If I introduce a minute delay before each invocation then the problem seems to be greatly diminished. Thoughts?

code

            var se = new OfficeDevPnP.Core.Entities.SiteEntity
            {
                Description = site.Description,
                Title = site.Title,
                Url = site.Url,
                Template = site.TemplateId,
                Lcid = site.Lcid,
                SiteOwnerLogin = owner,   
                StorageMaximumLevel = site.StorageMaximumLevel,
                StorageWarningLevel = site.StorageWarningLevel,
                TimeZoneId = site.TimeZoneId,
                UserCodeMaximumLevel = site.UserCodeMaximumLevel,
                UserCodeWarningLevel = site.UserCodeWarningLevel
            };

            // Create the site collection
            var scId = tenant.CreateSiteCollection(se); 

errors

  1. The HTTP service located at http://gm.ylo001.msoprd.msft.net/tenantmgr.asmx is unavailable.
  2. System.Net.WebException: The remote server returned an error: (400) Bad Request. - {"error":"invalid_request","error_description":"AADSTS90002: No service namespace named '0c639cdc-742a-4c2d-8715-90374f336032' was found in the data store.\
    

New Discussion Button not working out of template

When i am creating a discussion list by the provisioning Schema the list is not working correct. When i use the Standard button to create a new discussion on top of the list I only get the message Body. But when i am using the ribbon to create a new discussion everything is working fine.

Taxonomy Fields is not created correctly with Samples/Taxonomies.xml

I have had issues with the taxonomy field when they are created with this example (Samples/Taxonomies.xml) by creating both the TaxonomyFieldType and the Note field results in a corrupted field under the hood in SharePoint Online.
MS told me to let the platform create all necessary references.

The issue when also provisioning the Note field result in that the index will not contains crawled content for the ows_taxId_FieldName

I'm not sure exactly what is wrong by provisioning both fields, but taxonomy fieldst works as expected if I provisioing this type of field only with PnP.Core and only specify the TaxonomyFieldType.

When using the the provisioning schema the taxonomy fields will not be created correct.

File not found error on all custom list views

I just applied a provisioning XML to an existing site. XML contains site fields, content types and list instances. It all seem to be created fine except that the custom views in my list instances are not working. I receive File Not Found error on all views except for the default all items view. Problem disappears when I close the list view webpart via the webpart maintenance page. I do see the views in my list settings and can open and change the view configuration.

I have tried closing the webpart and adding a fresh list view webpart which also resulted in the same error. I am able to add a new list view webpart to the view page without error after deleting the webpart that is causing the problem.

Do you have an idea of what can cause this and how it can be fixed?

Calculated list column fails at creation

I have tried to export a site configuration and apply the exported template to an existing site. All is working fine except for the calculated list field. I have checked the export and the formula of the calculated field in the provisioning XML contains the internal names of the fields used in the formula.

When creating calculated fields manually, the fields are referenced by their display name like [My Field Name]. I have looked at the SchemaXml of my list using the rest api (_api/web/lists/GetByTitle('XXX')/schemaXml) and I can see that besides the Formula property there is also a property called "FormulaDisplayNames". I solved the problem by manually replacing the content of the formula with the content of "FormulaDisplayNames" in the provisioning template. The column was then created successfully.

Problem only seems to be happening when the internal name is different then the display name, like when it contains spaces.

Schema doesn't serialize PnP:Provider elemenets

Played with the extensibility providers but can't get this working via declarative XML.

  1. Added the PnP:Providers elements in the template.xml. After loading the template.Providers is null
  2. Added the template.Providers via object model. This works just fine - extensibility provider is loaded and the ProcessRequest method is invoked. When I save the template object to XML i can see the correct PnP:Providers elements. However, after loading the saved xml template, the template.Providers object is again null. So,this works just fine if the provider is added via the object model, but doesn't work if the provider is added via in the template.xml file.

Provision Display template and other files at root web

We are trying to provision subsite but there are some artfects which needs to be provisioned at root web like display templates and page layouts, is there way we can provision everything from same template but some at root web and other at subsute

Add a way to express WelcomePage

Can we add the ability to express the welcome page url?

It equates to Web.RootFolder.WelcomePage in the API.

In our similar in-house implementation, we expressed this as a boolean on a Page element, but I think it probably makes more sense to have it as a a URI on the Site element.

Thanks.

Allow for multilevel xi:Include

Allow for multilevel xi:Include to support dividing very large files.

Very handy in Files or Pages.xml where you have loads of Pages/Files with webparts.

Add capability to handle custom settings for main elements in the schema

Could be useful to have some of the main elements (like ListInstance, WebSettings, etc.) able to be expanded with custom XML settings, not tight to any schema, just to support new capabilities on the go, between one schema release and another, or for very specific/personal capabilities.

Error when running Get-SPOProvisioningTemplate on-prem

When running the PowerShell commandlet Get-SPOProvisioningTemplate on-prem, I always encounter an error: "Method not found: 'Int32 Microsoft.SharePoint.Client.List.get_MajorVersionLimit()'"

I downloaded PnPPowerShellCommands15.msi from commit pnp/PnP@fc37512.

As far as I'm aware, CSOM does not yet have support for getting/setting the major version limit. Or did I miss something there?

Pages and Layouts

Pages are restricted to the following layouts:

< xsd:simpleType name="WikiPageLayout">
< xsd:annotation>
< xsd:documentation xml:lang="en">
The column layout of a wiki page
< /xsd:documentation>
< /xsd:annotation>
< xsd:restriction base="xsd:string">
< xsd:enumeration value="OneColumn" />
< xsd:enumeration value="OneColumnSidebar" />
< xsd:enumeration value="TwoColumns" />
< xsd:enumeration value="TwoColumnsHeader" />
< xsd:enumeration value="TwoColumnsHeaderFooter" />
< xsd:enumeration value="ThreeColumns" />
< xsd:enumeration value="ThreeColumnsHeader" />
< xsd:enumeration value="ThreeColumnsHeaderFooter" />
< /xsd:restriction>
< /xsd:simpleType>

This makes it impossible to use custom page layouts. Should this restriction be there?

Site Fields With Special Symbols Fails to Create

I am trying to provision fields that have special symbols in their display name, and I receive an exception stating that "The field was found invalid" when applying the template to site. I've managed to reproduce this issue with a question mark symbol and parenthesis. Removing the symbol from display name fixes the issue.

The exception is being thrown by the Void CreateField method in SharePoint.Client.Web.

Here is an example of a displayname in the schema throwing an exception

DisplayName=\"{res:Virtual?_DisplayName}

while this imports just fine

DisplayName=\"{res:Virtual_DisplayName}

I think, if possible, I should be able to apply a template without having to manually replace the offending symbol in the schema.

Features dependency on provisioned items

Might be me missing something, but I cannot see how to order the sequence of the provisioning to enable feature dependency on a provisioned item.
For example, if a feature deploys an event receiver associated to a list to be provisioned, the feature will be incorrectly activated first, then the list will be created.
I see Sequences in the schema, but then again, they can only contain root objects, not Templates.

Nested sites

Does the schema really support nested sites, as discussed in this Yammer thread?

If so, please could you explain how. If not, can that be addressed?

Thanks!

Add "Hidden" attribute to ContentTypeBinding element

In the UI it is possible to mark a CT as 'hidden' by removing it from the New button. This would require us to introduce a 'Hidden' attribute on the ContentTypeBinding element for a list instance. We then as a result make sure that the CT is not present in the UniqueContentTypeOrder property of the rootfolder of the list if that attribute is set to True.

See: pnp/PnP-PowerShell#357

Add support for a local "path" in the File attribute

This may not be a Provisioning Schema issue, but a Provisioning Engine issue, so I will duplicate this issue in both locations.

I would like to be able to add a local path to a file that needs to be provisioned by the Files section.
https://github.com/OfficeDev/PnP-Provisioning-Schema/blob/master/ProvisioningSchema-2015-12.md#file

Since the provisioning engine can "provision" Files into our site I would like to be able to structure my provisioning folder to replicate this structure. For example, I would like to create a local folder called "_catalogs/masterpage" for my master pages and page layouts, then create local folders at "SiteAssets/Images", SiteAssets/css", "Pages", "Documents", "Pictures/Banners", etc.

This will help me to manage my deployable files, rather than a single flat file structure that will likely breakdown if I have files of the same filename that exist in different folders of my site.

No SiteTemplate/WebTemplate attribute on SiteCollection and Site elements?

I'm trying to understand the Provisioning Schema, and if I do correctly this means the PNP Provisioning Engine currently implements the Templating part.
There are already some other elements defined which are not used in the PNP Provisioning Engine, like SiteCollection and Site.

We are currently trying to implement something based upon this schema, but are noticing that both pnp:SiteCollection and pnp:Site do not have an attribute to provide the initial OOTB SharePoint template. Any reason why these are not there?
The CSOM API's currently require to provide a template to base the initial creation on, so it was weird to find that no option to provide one is available in the schema

SiteCollectionTermGroup="true" parameter not working

Hi guys,

Got a issue creating termset in a sitecollection. it looks like this:
<pnp:TermGroup Name="Site Collection - {parameter:O365TenantName}-sites-{parameter:SiteCollectionUrl}" Description="" SiteCollectionTermGroup="true">

Only the parameter SiteCollectionTermGroup is not executed as it provisions on tennant level instead of sitecollection level. i am using the scheme 2015-12 and the may release of PNP core.provisioning.

Could it be that i am doing something wrong in my terms or is it a bug?

thanks in advance.

Paul

NuGet Packages, classes & schemas

Hi, I'm trying to apply one of the xml samples offered here using the method ApplyProvisioningTemplate to an existing SharePoint 2013 (on-premises) site. I receive a Microsoft.SharePoint.Client.ServerException: Field or Property "SiteLogoUrl" does not exist.
After dive into the code I can see that the ComposedLook class (downloaded with the package) still has the property SiteLogo, When I review the code for the OfficeDevPnP.Core.dll I see that in there this property only appears under the WebSettings class.
It seems to be a mismatch with the classes and references when you get the NuGet package.
Any help with this?

webpartpagewebpart vs WebPart

When I look at the documentation there seems to be webpartpagewebpart. However in the schema I'm getting

< pnp:Pages>
< pnp:Page Url="/home.aspx" Layout="OneColumn" Overwrite="true">
< pnp:WebParts>
< pnp:WebPart Title="Test" Row="1" Column="1" >
< pnp:Contents>

          < /pnp:Contents>
        < /pnp:WebPart>

...

https://github.com/OfficeDev/PnP-Provisioning-Schema/blob/master/ProvisioningSchema-2015-05.md#webpartpagewebpart

Which way is the correct way?

Also an example of how to add a web part such as a search result web part would be helpful. I tried including the xml from a webpart export but it looks like pnp:Contents/pnp:Contents is always required.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.