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); } } }
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"); } } }
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);; } } }
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); } }
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); }
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); } }
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); }
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); } } }