Exemplo n.º 1
0
        protected void DeploySSOMModel(ModelNode model)
        {
            // deploy with SSOM
            var ssomProvisionService = new StandardSSOMProvisionService();

            using (var spSite = new SPSite(SSOMSiteUrl))
            {
                if (model.Value is FarmDefinition)
                {
                    ssomProvisionService.DeployModel(new FarmModelHost(SPFarm.Local), model);
                }

                if (model.Value is WebApplicationDefinition)
                {
                    ssomProvisionService.DeployModel(new WebApplicationModelHost(spSite.WebApplication), model);
                }

                if (model.Value is SiteDefinition)
                {
                    ssomProvisionService.DeploySiteModel(spSite, model);
                }

                if (model.Value is WebDefinition)
                {
                    ssomProvisionService.DeployWebModel(spSite.RootWeb, model);
                }
            }
        }
Exemplo n.º 2
0
        public void DeployIncrementally_Default_SSOM()
        {
            // setup url
            var siteUrl = "";

            // create you models
            var siteModel = SPMeta2Model.NewSiteModel(site =>
            {
            });

            var webModel = SPMeta2Model.NewWebModel(web =>
            {
            });

            using (var spSite = new SPSite(siteUrl))
            {
                using (var spWeb = spSite.OpenWeb())
                {
                    // deploy site model incrementally
                    var provisionService = new StandardSSOMProvisionService();
                    provisionService.DeploySiteModelIncrementally(spSite, siteModel, "MySiteModelId");

                    // deploy web model incrementally
                    provisionService.DeployWebModelIncrementally(spWeb, webModel, "MyWebModelId");
                }
            }
        }
Exemplo n.º 3
0
        private void InitServices()
        {
            _provisionService  = new StandardSSOMProvisionService();
            _validationService = new SSOMValidationService();

            // TODO, setup a high level validation registration
            _provisionService.PreDeploymentServices.Add(new DefaultRequiredPropertiesValidationService());

            var ssomStandartAsm = typeof(ContactFieldControlModelHandler).Assembly;

            foreach (var handlerType in ReflectionUtils.GetTypesFromAssembly <ModelHandlerBase>(ssomStandartAsm))
            {
                _provisionService.RegisterModelHandler(Activator.CreateInstance(handlerType) as ModelHandlerBase);
            }

            var ssomStandartValidationAsm = typeof(ImageRenditionDefinitionValidator).Assembly;

            foreach (var handlerType in ReflectionUtils.GetTypesFromAssembly <ModelHandlerBase>(ssomStandartValidationAsm))
            {
                _validationService.RegisterModelHandler(Activator.CreateInstance(handlerType) as ModelHandlerBase);
            }

            _provisionService.OnModelNodeProcessing += (sender, args) =>
            {
                ContainerTraceUtils.WriteLine(
                    string.Format("Processing: [{0}/{1}] - [{2:0} %] - [{3}] [{4}]",
                                  new object[] {
                    args.ProcessedModelNodeCount,
                    args.TotalModelNodeCount,
                    100d * (double)args.ProcessedModelNodeCount / (double)args.TotalModelNodeCount,
                    args.CurrentNode.Value.GetType().Name,
                    args.CurrentNode.Value
                }));
            };

            _provisionService.OnModelNodeProcessed += (sender, args) =>
            {
                ContainerTraceUtils.WriteLine(
                    string.Format("Processed: [{0}/{1}] - [{2:0} %] - [{3}] [{4}]",
                                  new object[] {
                    args.ProcessedModelNodeCount,
                    args.TotalModelNodeCount,
                    100d * (double)args.ProcessedModelNodeCount / (double)args.TotalModelNodeCount,
                    args.CurrentNode.Value.GetType().Name,
                    args.CurrentNode.Value
                }));
            };

            foreach (var modelHandler in _provisionService.ModelHandlers.Values)
            {
                var isQA = modelHandler.GetType()
                           .GetProperty("IsQARun", BindingFlags.NonPublic | BindingFlags.Instance);

                if (isQA != null)
                {
                    isQA.SetValue(modelHandler, true);;
                }
            }
        }
Exemplo n.º 4
0
        public void EnsureStandardSSOMModelHandlers()
        {
            var service = new StandardSSOMProvisionService();

            var modelHandlers         = ReflectionUtils.GetTypesFromAssembly <ModelHandlerBase>(typeof(SPMeta2.SSOM.ModelHandlers.FieldModelHandler).Assembly);
            var standardModelHandlers = ReflectionUtils.GetTypesFromAssembly <ModelHandlerBase>(typeof(SPMeta2.SSOM.Standard.ModelHandlers.Fields.TaxonomyFieldModelHandler).Assembly);

            foreach (var srcHandlerImplType in modelHandlers)
            {
                var dstHandlerImpl = service.ModelHandlers.Values.FirstOrDefault(h => h.GetType() == srcHandlerImplType);
                Assert.IsNotNull(dstHandlerImpl);
            }

            foreach (var srcHandlerImplType in standardModelHandlers)
            {
                var dstHandlerImpl = service.ModelHandlers.Values.FirstOrDefault(h => h.GetType() == srcHandlerImplType);
                Assert.IsNotNull(dstHandlerImpl);
            }
        }
Exemplo n.º 5
0
        public void Deploy_FarmModel_SSOM()
        {
            // create you model
            var farmModel = SPMeta2Model.NewFarmModel(farm =>
            {
            });

            var spFarm = SPFarm.Local;

            // deploy site model with SharePoint Foundation SSOM API
            var foundationProvisionService = new SSOMProvisionService();

            foundationProvisionService.DeployFarmModel(spFarm, farmModel);

            // deploy site model with SharePoint Standard SSOM API
            var standardProvisionService = new StandardSSOMProvisionService();

            standardProvisionService.DeployFarmModel(spFarm, farmModel);
        }
Exemplo n.º 6
0
        public void Deploy_SiteModel_SSOM()
        {
            // setup url
            var siteUrl = "";

            // create you model
            var siteModel = SPMeta2Model.NewSiteModel(site =>
            {
            });

            using (var spSite = new SPSite(siteUrl))
            {
                // deploy site model with SharePoint Foundation SSOM API
                var foundationProvisionService = new SSOMProvisionService();
                foundationProvisionService.DeploySiteModel(spSite, siteModel);

                // deploy site model with SharePoint Standard SSOM API
                var standardProvisionService = new StandardSSOMProvisionService();
                standardProvisionService.DeploySiteModel(spSite, siteModel);
            }
        }
Exemplo n.º 7
0
        public void Deploy_WebApplicationModel_SSOM()
        {
            // setup url
            var webAppUrl = "";

            // create you model
            var webAppModel = SPMeta2Model.NewWebApplicationModel(webApp =>
            {
            });

            var spWebApp = SPWebApplication.Lookup(new Uri(webAppUrl));

            // deploy site model with SharePoint Foundation SSOM API
            var foundationProvisionService = new SSOMProvisionService();

            foundationProvisionService.DeployWebApplicationModel(spWebApp, webAppModel);

            // deploy site model with SharePoint Standard SSOM API
            var standardProvisionService = new StandardSSOMProvisionService();

            standardProvisionService.DeployWebApplicationModel(spWebApp, webAppModel);
        }
Exemplo n.º 8
0
        public void Deploy_WebModel_SSOM()
        {
            // setup url
            var webUrl = "";

            // create you model
            var webModel = SPMeta2Model.NewWebModel(web =>
            {
            });

            using (var spSite = new SPSite(webUrl))
            {
                using (var spWeb = spSite.OpenWeb())
                {
                    // deploy site model with SharePoint Foundation SSOM API
                    var foundationProvisionService = new SSOMProvisionService();
                    foundationProvisionService.DeployWebModel(spWeb, webModel);

                    // deploy site model with SharePoint Standard SSOM API
                    var standardProvisionService = new StandardSSOMProvisionService();
                    standardProvisionService.DeployWebModel(spWeb, webModel);
                }
            }
        }