Exemplo n.º 1
0
        /// <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);
            }
           
        }
Exemplo n.º 2
0
 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);
     }
 }
Exemplo n.º 3
0
        /// <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");                
            }           
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
 /// <summary>
 /// Returns Connectors
 /// </summary>
 /// <returns></returns>
 private FileConnectorBase GetProvisioningConnector()
 {
     ReflectionManager _helper = new ReflectionManager();
     FileConnectorBase _connectorInstance =  _helper.GetProvisioningConnector(ModuleKeys.PROVISIONINGCONNECTORS_KEY);          
     return _connectorInstance;
 }
Exemplo n.º 6
0
        /// <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;
        }
Exemplo n.º 7
0
        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;
        }
Exemplo n.º 8
0
        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;
        }