public override List <ProvisioningTemplate> GetTemplates(ITemplateFormatter formatter) { List <ProvisioningTemplate> result = new List <ProvisioningTemplate>(); // Retrieve the list of available template files List <String> files = this.Connector.GetFiles(); // For each file foreach (var file in files) { if (file.EndsWith(".json", StringComparison.InvariantCultureIgnoreCase)) { // Load it from a File Stream Stream stream = this.Connector.GetFileStream(file); // And convert it into a ProvisioningTemplate ProvisioningTemplate provisioningTemplate = formatter.ToProvisioningTemplate(stream); // Add the template to the result result.Add(provisioningTemplate); } } return(result); }
public override ProvisioningTemplate GetTemplate(string uri, string identifier, ITemplateFormatter formatter) { if (String.IsNullOrEmpty(uri)) { throw new ArgumentException("uri"); } // Get the XML document from a File Stream Stream stream = this.Connector.GetFileStream(uri); if (stream == null) { throw new ApplicationException(string.Format(CoreResources.Provisioning_Formatter_Invalid_Template_URI, uri)); } //Resolve xml includes if any stream = ResolveXIncludes(stream); // And convert it into a ProvisioningTemplate ProvisioningTemplate provisioningTemplate = formatter.ToProvisioningTemplate(stream, identifier); // Store the identifier of this template, is needed for latter save operation this.Uri = uri; return(provisioningTemplate); }
public override List<ProvisioningTemplate> GetTemplates(ITemplateFormatter formatter) { List<ProvisioningTemplate> result = new List<ProvisioningTemplate>(); // Retrieve the list of available template files List<String> files = this.Connector.GetFiles(); // For each file foreach (var file in files) { if (file.EndsWith(".json", StringComparison.InvariantCultureIgnoreCase)) { // Load it from a File Stream Stream stream = this.Connector.GetFileStream(file); // And convert it into a ProvisioningTemplate ProvisioningTemplate provisioningTemplate = formatter.ToProvisioningTemplate(stream); // Add the template to the result result.Add(provisioningTemplate); } } return (result); }
public static ProvisioningTemplate GetBaseTemplate(this Web web) { web.Context.Load(web, p => p.WebTemplate, p => p.Configuration); web.Context.ExecuteQueryRetry(); ProvisioningTemplate provisioningTemplate = null; try { string baseTemplate = string.Format("OfficeDevPnP.Core.Framework.Provisioning.BaseTemplates.v{0}.{1}{2}Template.xml", GetSharePointVersion(), web.WebTemplate, web.Configuration); using (Stream stream = typeof(BaseTemplateManager).Assembly.GetManifestResourceStream(baseTemplate)) { // Get the XML document from the stream ITemplateFormatter formatter = XMLPnPSchemaFormatter.GetSpecificFormatter(XMLPnPSchemaVersion.V201503); // And convert it into a ProvisioningTemplate provisioningTemplate = formatter.ToProvisioningTemplate(stream); } } catch (Exception) { //TODO: log message } return(provisioningTemplate); }
/// <summary> /// This method returns the reference template for publishing feature /// </summary> /// <returns>The reference template for publishing feature</returns> private ProvisioningTemplate GetPublishingFeatureBaseTemplate() { ProvisioningTemplate result = null; string nativeFilesTemplatePath = string.Format("OfficeDevPnP.Core.Framework.Provisioning.BaseTemplates.Common.Publishing-Feature-Native-Files.xml"); using (Stream stream = typeof(BaseTemplateManager).Assembly.GetManifestResourceStream(nativeFilesTemplatePath)) { // Figure out the formatter to use XDocument xTemplate = XDocument.Load(stream); var namespaceDeclarations = xTemplate.Root.Attributes().Where(a => a.IsNamespaceDeclaration). GroupBy(a => a.Name.Namespace == XNamespace.None ? String.Empty : a.Name.LocalName, a => XNamespace.Get(a.Value)). ToDictionary(g => g.Key, g => g.First()); var pnpns = namespaceDeclarations["pnp"]; stream.Seek(0, SeekOrigin.Begin); // Get the XML document from the stream ITemplateFormatter formatter = XMLPnPSchemaFormatter.GetSpecificFormatter(pnpns.NamespaceName); // And convert it into a template result = formatter.ToProvisioningTemplate(stream); } return(result); }
public static ProvisioningTemplate GetBaseTemplate(this Web web, string webTemplate, short configuration) { ProvisioningTemplate provisioningTemplate = null; try { string baseTemplate = string.Format("OfficeDevPnP.Core.Framework.Provisioning.BaseTemplates.v{0}.{1}{2}Template.xml", GetSharePointVersion(), webTemplate, configuration); using (Stream stream = typeof(BaseTemplateManager).Assembly.GetManifestResourceStream(baseTemplate)) { // Figure out the formatter to use XDocument z = XDocument.Load(stream); var result = z.Root.Attributes().Where(a => a.IsNamespaceDeclaration). GroupBy(a => a.Name.Namespace == XNamespace.None ? String.Empty : a.Name.LocalName, a => XNamespace.Get(a.Value)). ToDictionary(g => g.Key, g => g.First()); var pnpns = result["pnp"]; stream.Seek(0, SeekOrigin.Begin); // Get the XML document from the stream ITemplateFormatter formatter = XMLPnPSchemaFormatter.GetSpecificFormatter(pnpns.NamespaceName); // And convert it into a ProvisioningTemplate provisioningTemplate = formatter.ToProvisioningTemplate(stream); } } catch (Exception ex) { OfficeDevPnP.Core.Diagnostics.Log.Error(ex, "Provisioning", "Error occured while retrieving basetemplate"); } return(provisioningTemplate); }
public void CanSerializeDomainObjectWithJsonFormatter() { using (Stream _formattedTemplate = new FileStream(this._provisioningTemplatePath5, FileMode.Open, FileAccess.Read, FileShare.Read)) { ITemplateFormatter formatter = XMLPnPSchemaFormatter.GetSpecificFormatter(this._provisioningTemplatePath5NamespaceURI); XMLTemplateProvider xmlProvider = new XMLFileSystemTemplateProvider( String.Format(@"{0}\..\..\Resources", AppDomain.CurrentDomain.BaseDirectory), "Templates"); formatter.Initialize(xmlProvider); var _pt = formatter.ToProvisioningTemplate(_formattedTemplate, "WORKFLOWSITE"); JsonTemplateProvider jsonProvider = new JsonFileSystemTemplateProvider( String.Format(@"{0}\..\..\Resources", AppDomain.CurrentDomain.BaseDirectory), "Templates"); jsonProvider.SaveAs(_pt, @"c:\temp\ProvisioningSchema-2015-05-ReferenceSample-01.json"); var _ptBack = jsonProvider.GetTemplate(@"c:\temp\ProvisioningSchema-2015-05-ReferenceSample-01.json"); Assert.IsTrue(_pt.Equals(_ptBack)); } }
public Model.ProvisioningTemplate ToProvisioningTemplate(System.IO.Stream template, String identifier) { ITemplateFormatter formatter = this.GetSpecificFormatterInternal(ref template); formatter.Initialize(this._provider); return(formatter.ToProvisioningTemplate(template, identifier)); }
public override ProvisioningTemplate GetTemplate(string uri, string identifier, ITemplateFormatter formatter) { if (String.IsNullOrEmpty(uri)) { throw new ArgumentException("uri"); } // Get the XML document from a File Stream Stream stream = this.Connector.GetFileStream(uri); if (stream == null) { throw new ApplicationException(string.Format(CoreResources.Provisioning_Formatter_Invalid_Template_URI, uri)); } //Resolve xml includes if any stream = ResolveXIncludes(stream); // And convert it into a ProvisioningTemplate ProvisioningTemplate provisioningTemplate = formatter.ToProvisioningTemplate(stream, identifier); // Store the identifier of this template, is needed for latter save operation this.Uri = uri; return (provisioningTemplate); }
/// <summary> /// Test Support to return ProvisionTemplate /// </summary> /// <returns></returns> protected ProvisioningTemplate GetProvisioningTemplate() { using (Stream _formattedTemplate = new FileStream(this._provisioningTemplatePath8, FileMode.Open, FileAccess.Read, FileShare.Read)) { ITemplateFormatter formatter = XMLPnPSchemaFormatter.GetSpecificFormatter(this._provisioningTemplatePath8NamespaceURI); return(formatter.ToProvisioningTemplate(_formattedTemplate)); } }
public void CanDeserializeXMLToDomainObjectFrom201512Full() { using (Stream _formattedTemplate = new FileStream(this._provisioningTemplatePath8, FileMode.Open, FileAccess.Read, FileShare.Read)) { ITemplateFormatter formatter = XMLPnPSchemaFormatter.GetSpecificFormatter(this._provisioningTemplatePath8NamespaceURI); var _pt = formatter.ToProvisioningTemplate(_formattedTemplate); Assert.IsNotNull(_pt); } }
public void CanSerializeDomainObjectToXMLStream1() { using (Stream _formattedTemplate = new FileStream(this._provisioningTemplatePath1, FileMode.Open, FileAccess.Read, FileShare.Read)) { ITemplateFormatter formatter = XMLPnPSchemaFormatter.GetSpecificFormatter(this._provisioningTemplatePath1NamespaceURI); var _pt = formatter.ToProvisioningTemplate(_formattedTemplate); var _formattedTemplateBack = formatter.ToFormattedTemplate(_pt); Assert.IsNotNull(_formattedTemplateBack); } }
public void CanSerializeDomainObjectToXML5ByIdentifier() { using (Stream _formattedTemplate = new FileStream(this._provisioningTemplatePath5, FileMode.Open, FileAccess.Read, FileShare.Read)) { ITemplateFormatter formatter = XMLPnPSchemaFormatter.GetSpecificFormatter(this._provisioningTemplatePath5NamespaceURI); var _pt = formatter.ToProvisioningTemplate(_formattedTemplate, "SPECIALTEAM"); var _formattedTemplateBack = formatter.ToFormattedTemplate(_pt); Assert.IsTrue(formatter.IsValid(_formattedTemplateBack)); } }
public void CanSerializeDomainObjectToMarkdown() { using (Stream _formattedTemplate = new FileStream(this._provisioningTemplatePath9, FileMode.Open, FileAccess.Read, FileShare.Read)) { ITemplateFormatter formatter = XMLPnPSchemaFormatter.GetSpecificFormatter(this._provisioningTemplatePath9NamespaceURI); var _pt = formatter.ToProvisioningTemplate(_formattedTemplate); ITemplateFormatter mdFormatter = new MarkdownPnPFormatter(); var outputStream = mdFormatter.ToFormattedTemplate(_pt); Assert.IsTrue(mdFormatter.IsValid(outputStream)); } }
public override ProvisioningTemplate GetTemplate(string uri, string identifier, ITemplateFormatter formatter) { if (String.IsNullOrEmpty(uri)) { throw new ArgumentException("uri"); } // Get the XML document from a File Stream Stream stream = this.Connector.GetFileStream(uri); // And convert it into a ProvisioningTemplate ProvisioningTemplate provisioningTemplate = formatter.ToProvisioningTemplate(stream, identifier); // Store the identifier of this template, is needed for latter save operation this.Uri = uri; return (provisioningTemplate); }
public override ProvisioningTemplate GetTemplate(string uri, string identifier, ITemplateFormatter formatter) { if (String.IsNullOrEmpty(uri)) { throw new ArgumentException("uri"); } // Get the XML document from a File Stream Stream stream = this.Connector.GetFileStream(uri); // And convert it into a ProvisioningTemplate ProvisioningTemplate provisioningTemplate = formatter.ToProvisioningTemplate(stream, identifier); // Store the identifier of this template, is needed for latter save operation this.Uri = uri; return(provisioningTemplate); }
public void AreTemplatesEqual() { ProvisioningTemplate _pt1 = null; ProvisioningTemplate _pt2 = null; using (Stream _formattedTemplate = new FileStream(this._provisioningTemplatePath1, FileMode.Open, FileAccess.Read, FileShare.Read)) { ITemplateFormatter formatter = XMLPnPSchemaFormatter.GetSpecificFormatter(this._provisioningTemplatePath1NamespaceURI); _pt1 = formatter.ToProvisioningTemplate(_formattedTemplate); } using (Stream _formattedTemplate = new FileStream(this._provisioningTemplatePath2, FileMode.Open, FileAccess.Read, FileShare.Read)) { ITemplateFormatter formatter = XMLPnPSchemaFormatter.GetSpecificFormatter(this._provisioningTemplatePath1NamespaceURI); _pt2 = formatter.ToProvisioningTemplate(_formattedTemplate); } Assert.IsFalse(_pt1.Equals(_pt2)); Assert.IsTrue(_pt1.Equals(_pt1)); }
public void CanSerializeDomainObjectToXML5ByFileLink() { using (Stream _formattedTemplate = new FileStream(this._provisioningTemplatePath5, FileMode.Open, FileAccess.Read, FileShare.Read)) { ITemplateFormatter formatter = XMLPnPSchemaFormatter.GetSpecificFormatter(this._provisioningTemplatePath5NamespaceURI); XMLTemplateProvider provider = new XMLFileSystemTemplateProvider( String.Format(@"{0}\..\..\..\Resources", AppDomain.CurrentDomain.BaseDirectory), "Templates"); formatter.Initialize(provider); var _pt = formatter.ToProvisioningTemplate(_formattedTemplate, "WORKFLOWSITE"); var _formattedTemplateBack = formatter.ToFormattedTemplate(_pt); Assert.IsTrue(formatter.IsValid(_formattedTemplateBack)); } }
public override List <ProvisioningTemplate> GetTemplates(ITemplateFormatter formatter) { List <ProvisioningTemplate> result = new List <ProvisioningTemplate>(); // Retrieve the list of available template files List <String> files = this.Connector.GetFiles(); // For each file foreach (var file in files) { if (file.EndsWith(".xml", StringComparison.InvariantCultureIgnoreCase)) { // Load it from a File Stream Stream stream = this.Connector.GetFileStream(file); ProvisioningTemplate provisioningTemplate; try { // And convert it into a ProvisioningTemplate provisioningTemplate = formatter.ToProvisioningTemplate(stream); } catch (ApplicationException) { Log.Warning(Constants.LOGGING_SOURCE_FRAMEWORK_PROVISIONING, CoreResources.Provisioning_Providers_XML_InvalidFileFormat, file); continue; } if (provisioningTemplate != null) { // Add the template to the result result.Add(provisioningTemplate); } } } return(result); }
public override List<ProvisioningTemplate> GetTemplates(ITemplateFormatter formatter) { List<ProvisioningTemplate> result = new List<ProvisioningTemplate>(); // Retrieve the list of available template files List<String> files = this.Connector.GetFiles(); // For each file foreach (var file in files) { if (file.EndsWith(".xml", StringComparison.InvariantCultureIgnoreCase)) { // Load it from a File Stream Stream stream = this.Connector.GetFileStream(file); ProvisioningTemplate provisioningTemplate; try { // And convert it into a ProvisioningTemplate provisioningTemplate = formatter.ToProvisioningTemplate(stream); } catch (ApplicationException) { Log.Warning(Constants.LOGGING_SOURCE_FRAMEWORK_PROVISIONING, CoreResources.Provisioning_Providers_XML_InvalidFileFormat, file); continue; } if (provisioningTemplate != null) { // Add the template to the result result.Add(provisioningTemplate); } } } return (result); }