/// <summary> /// Member to create a site collection /// </summary> /// <param name="siteRequest">The SiteRequest</param> /// <param name="template">The Template</param> public void CreateSiteCollection(SiteInformation siteRequest, Template template) { _siteprovisioningService.Authentication = new AppOnlyAuthenticationTenant(); _siteprovisioningService.Authentication.TenantAdminUrl = template.TenantAdminUrl; ReflectionManager rm = new ReflectionManager(); var siteUrlProvider = rm.GetSiteUrlProvider("SiteUrlProvider"); if(siteUrlProvider != null) { var newUrl = siteUrlProvider.GenerateSiteUrl(siteRequest, template); if (!String.IsNullOrEmpty(newUrl)) { Log.Info("SiteProvisioningManager.CreateSiteCollection", "Site {0} was renamed to {1}", siteRequest.Url, newUrl); SiteRequestFactory.GetInstance().GetSiteRequestManager().UpdateRequestUrl(siteRequest.Url, newUrl); siteRequest.Url = newUrl; } } _siteprovisioningService.CreateSiteCollection(siteRequest, template); if(siteRequest.EnableExternalSharing) { _siteprovisioningService.SetExternalSharing(siteRequest); } }
public ProvisioningTemplate GetProvisioningTemplate(string name) { try { ReflectionManager _reflectionHelper = new ReflectionManager(); var _provider = _reflectionHelper.GetTemplateProvider(ModuleKeys.PROVISIONINGPROVIDER_KEY); var _pt = _provider.GetTemplate(name); return _pt; } catch(Exception _ex) { var _message = string.Format(PCResources.TemplateProviderBase_Exception_Message, _ex.Message); Log.Error("Provisioning.Common.Data.Templates.Impl.XMLSiteTemplateManager", PCResources.TemplateProviderBase_Exception_Message, _ex); throw new DataStoreException(_message, _ex); } }
/// <summary> /// Member to create a site collection /// </summary> /// <param name="siteRequest">The SiteRequest</param> /// <param name="template">The Template</param> public void CreateSiteCollection(SiteInformation siteRequest, Template template) { _siteprovisioningService.Authentication = new AppOnlyAuthenticationTenant(); _siteprovisioningService.Authentication.TenantAdminUrl = template.TenantAdminUrl; ReflectionManager rm = new ReflectionManager(); var siteUrlProvider = rm.GetSiteUrlProvider("SiteUrlProvider"); if(siteUrlProvider != null) { var newUrl = siteUrlProvider.GenerateSiteUrl(siteRequest, template); if (!String.IsNullOrEmpty(newUrl)) { Log.Info("SiteProvisioningManager.CreateSiteCollection", "Site {0} was renamed to {1}", siteRequest.Url, newUrl); SiteRequestFactory.GetInstance().GetSiteRequestManager().UpdateRequestUrl(siteRequest.Url, newUrl); siteRequest.Url = newUrl; } } // Check to see if the site already exists before attempting to create it bool siteExists = _siteprovisioningService.SiteExists(siteRequest.Url.ToString()); if (!siteExists) { _siteprovisioningService.CreateSiteCollection(siteRequest, template); if (siteRequest.EnableExternalSharing) { _siteprovisioningService.SetExternalSharing(siteRequest); } } else { Log.Info("SiteProvisioningManager.CreateSiteCollection", "Site already exists. Moving on to next provisioning step"); } }
public ProvisioningTemplate GetProvisioningTemplate(string name) { Log.Info("Retrieving SP stored template: ", name); try { ReflectionManager _reflectionHelper = new ReflectionManager(); var _provider = _reflectionHelper.GetTemplateProvider(ModuleKeys.PROVISIONINGPROVIDER_KEY); if (_provider.Connector.GetType() == typeof(SharePointConnector)) { _provider.Connector.AddParameter(SharePointConnector.CLIENTCONTEXT, Authentication.GetAuthenticatedContext()); } var _pt = _provider.GetTemplate(name); return _pt; } catch (Exception _ex) { var _message = string.Format(PCResources.TemplateProviderBase_Exception_Message, _ex.Message); Log.Error("Provisioning.Common.Data.Templates.Impl.SPSiteTemplateManager", PCResources.TemplateProviderBase_Exception_Message, _ex); throw new DataStoreException(_message, _ex); } }
/// <summary> /// Returns Connectors /// </summary> /// <returns></returns> private FileConnectorBase GetProvisioningConnector() { ReflectionManager _helper = new ReflectionManager(); FileConnectorBase _connectorInstance = _helper.GetProvisioningConnector(ModuleKeys.PROVISIONINGCONNECTORS_KEY); return _connectorInstance; }
/// <summary> /// Member to create a sub site /// </summary> /// <param name="siteRequest">The SiteRequest</param> /// <param name="template">The Template</param> public Web CreateSubSite(SiteInformation siteRequest, Template template) { Web newWeb = null; _siteprovisioningService.Authentication = new AppOnlyAuthenticationTenant(); _siteprovisioningService.Authentication.TenantAdminUrl = template.TenantAdminUrl; ReflectionManager rm = new ReflectionManager(); var siteUrlProvider = rm.GetSiteUrlProvider("SiteUrlProvider"); if (siteUrlProvider != null) { var newUrl = siteUrlProvider.GenerateSiteUrl(siteRequest, template); if (!String.IsNullOrEmpty(newUrl)) { Log.Info("SiteProvisioningManager.CreateSiteCollection", "Site {0} was renamed to {1}", siteRequest.Url, newUrl); SiteRequestFactory.GetInstance().GetSiteRequestManager().UpdateRequestUrl(siteRequest.Url, newUrl); siteRequest.Url = newUrl; } } // Check to see if the site already exists before attempting to create it bool siteExists = _siteprovisioningService.SubSiteExists(siteRequest.Url.ToString()); if (!siteExists) { newWeb = _siteprovisioningService.CreateSubSite(siteRequest, template); } else { Log.Info("Provisioning.Common.Office365SiteProvisioningService.CreateSubSite", PCResources.SiteCreation_Creation_Starting, siteRequest.Url); Uri siteUri = new Uri(siteRequest.Url); string realm = TokenHelper.GetRealmFromTargetUrl(siteUri); string accessToken = TokenHelper.GetAppOnlyAccessToken(TokenHelper.SharePointPrincipal, siteUri.Authority, realm).AccessToken; using (var ctx = TokenHelper.GetClientContextWithAccessToken(siteRequest.Url, accessToken)) { newWeb = ctx.Web; } } return newWeb; }
public SiteUrlCheckRequest IsSiteUrlProviderUsed([FromBody]string value) { var _request = JsonConvert.DeserializeObject<SiteUrlCheckRequest>(value); ReflectionManager rm = new ReflectionManager(); var siteUrlProvider = rm.GetSiteUrlProvider("SiteUrlProvider"); if (siteUrlProvider != null) { _request.UsesCustomProvider = false; } else { _request.UsesCustomProvider = true; } return _request; }
private ProvisioningTemplate GetProvTemplateAndMakeAdjustments(Web newWeb) { var _siteTemplateFactory = SiteTemplateFactory.GetInstance(); var _tm = _siteTemplateFactory.GetManager(); var _template = _tm.GetTemplateByName(listSites.SelectedItem.Text); //var templatePath = Server.MapPath(Path.Combine("~/Resources/SiteTemplates/ProvisioningTemplates", _template.ProvisioningTemplate)); var _provisioningTemplate = _tm.GetProvisioningTemplate(_template.ProvisioningTemplate); ReflectionManager _helper = new ReflectionManager(); _provisioningTemplate.Connector = _helper.GetProvisioningConnector(ModuleKeys.PROVISIONINGCONNECTORS_KEY); //MdlzCommonCustomizations.RemoveUnrequiredLocalizations(_provisioningTemplate, newWeb.Language); //MdlzCommonCustomizations.LocalizeElementsFix(newWeb, _provisioningTemplate); MdlzCommonCustomizations.AddCustomParametersToProvisioningTemplate(_provisioningTemplate); //Handle Custom actions foreach (var _webActions in _provisioningTemplate.CustomActions.WebCustomActions) { //IF ITS A SCRIPT SRC WE DO NOT WANT TO MODIFY if (!string.IsNullOrEmpty(_webActions.Url)) { var _escapedURI = Uri.EscapeUriString(newWeb.Url); _webActions.Url = string.Format(_webActions.Url, _escapedURI); } } return _provisioningTemplate; }