Ejemplo n.º 1
0
        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);
            });
        }
Ejemplo n.º 2
0
        public static void DeploySite(ModelNode model)
        {
            var clientContext    = GetClientcontext();
            var provisionService = new CSOMProvisionService();

            provisionService.RegisterModelHandlers(typeof(TaxonomyTermModelHandler).Assembly);
            provisionService.DeploySiteModel(clientContext, model);
        }
Ejemplo n.º 3
0
        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());
            });
        }
Ejemplo n.º 5
0
        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);
            }
        }
Ejemplo n.º 6
0
        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);
        }