static void Main(string[] args) { var siteUrl = "http://portal"; var o365UserName = "******"; var o365UserPassword = "******"; var consoleUtils = new ConsoleUtils(); consoleUtils.WithO365Context(siteUrl, o365UserName, o365UserPassword, context => { // replace it with your M2 models var siteModel = default(ModelNode); var rotWebModel = default(ModelNode); // create a provision service - CSOMProvisionService or StandardCSOMProvisionService var provisionService = new CSOMProvisionService(); // little nice thing, tracing the progress consoleUtils.TraceDeploymentProgress(provisionService); // deploy! provisionService.DeploySiteModel(context, siteModel); provisionService.DeployWebModel(context, rotWebModel); }); }
public static void DeploySite(ModelNode model) { var clientContext = GetClientcontext(); var provisionService = new CSOMProvisionService(); provisionService.RegisterModelHandlers(typeof(TaxonomyTermModelHandler).Assembly); provisionService.DeploySiteModel(clientContext, model); }
public void CSOMConsoleAppSample(string[] args) { var siteUrl = "http://tesla-dev:31415/"; // define fields var clientDescriptionField = new FieldDefinition { Title = "Client Description", InternalName = "dcs_ClientDescription", Group = "SPMeta2.Samples", Id = new Guid("06975b67-01f5-47d7-9e2e-2702dfb8c217"), FieldType = BuiltInFieldTypes.Note, }; var clientNumberField = new FieldDefinition { Title = "Client Number", InternalName = "dcs_ClientNumber", Group = "SPMeta2.Samples", Id = new Guid("22264486-7561-45ec-a6bc-591ba243693b"), FieldType = BuiltInFieldTypes.Number, }; // define content type var customerAccountContentType = new ContentTypeDefinition { Name = "Customer Account", Id = new Guid("ddc46a66-19a0-460b-a723-c84d7f60a342"), ParentContentTypeId = BuiltInContentTypeId.Item, Group = "SPMeta2.Samples", }; // define relationships and the model var siteModel = SPMeta2Model.NewSiteModel(site => { site .AddField(clientDescriptionField) .AddField(clientNumberField) .AddContentType(customerAccountContentType, contentType => { contentType .AddContentTypeFieldLink(clientDescriptionField) .AddContentTypeFieldLink(clientNumberField); }); }); var clientContext = new ClientContext(siteUrl); // deploy the model to the SharePoint site over CSOM var csomProvisionService = new CSOMProvisionService(); csomProvisionService.DeploySiteModel(clientContext, siteModel); }
public void CanProvisionIntranet_SiteModel() { WithCSOMContext(context => { var siteModel = new M2ProjectPrefixSiteModel(); var rootWebModel = new M2ProjectPrefixRootWebModel(); var provisionService = new CSOMProvisionService(); // site provisionService.DeploySiteModel(context, siteModel.GetSiteFeaturesModel()); provisionService.DeploySiteModel(context, siteModel.GetUserCustomActionModel()); provisionService.DeploySiteModel(context, siteModel.GetSiteSecurityModel()); provisionService.DeploySiteModel(context, siteModel.GetFieldsAndContentTypesModel()); provisionService.DeploySiteModel(context, siteModel.GetSandboxSolutionsModel()); // root web provisionService.DeployWebModel(context, rootWebModel.GetStyleLibraryModel()); provisionService.DeployWebModel(context, rootWebModel.GetModel()); }); }
public void Deploy_SiteModel_CSOM() { // setup url var siteUrl = ""; // create you model var siteModel = SPMeta2Model.NewSiteModel(site => { }); // setup client context using (var clientContext = new ClientContext(siteUrl)) { // deploy site model with SharePoint Foundation CSOM API var foundationProvisionService = new CSOMProvisionService(); foundationProvisionService.DeploySiteModel(clientContext, siteModel); // deploy site model with SharePoint Standard CSOM API var standardProvisionService = new StandardCSOMProvisionService(); standardProvisionService.DeploySiteModel(clientContext, siteModel); } }
public void ABigPictureSample(ClientContext clientContext) { // Step 1, create 'definitions' - a bunch of CSharp POCO objects var clientDescriptionField = new FieldDefinition { Title = "Client Description", InternalName = "dcs_ClientDescription", Group = DocConsts.DefaulFieldsGroup, Id = new Guid("06975b67-01f5-47d7-9e2e-2702dfb8c217"), FieldType = BuiltInFieldTypes.Note, }; var customerAccountContentType = new ContentTypeDefinition { Name = "Customer Account", Id = new Guid("ddc46a66-19a0-460b-a723-c84d7f60a342"), ParentContentTypeId = BuiltInContentTypeId.Item, Group = DocConsts.DefaultContentTypeGroup }; // step 2, define relationships between definitions // we need to build a logical 'model tree' // fields and content types live under site // so use SiteModel and add fields/content types under site var siteModel = SPMeta2Model.NewSiteModel(site => { site.AddField(clientDescriptionField); site.AddContentType(customerAccountContentType); }); // step 3, deploy site model via CSOM var csomProvisionService = new CSOMProvisionService(); csomProvisionService.DeploySiteModel(clientContext, siteModel); }