示例#1
0
        protected TermStore FindTermStore(SiteModelHost siteModelHost, TaxonomyTermStoreDefinition termStoreModel)
        {
            var site = siteModelHost.HostSite;

            var       session   = new TaxonomySession(site);
            TermStore termStore = null;

            if (termStoreModel.UseDefaultSiteCollectionTermStore == true)
            {
                TraceService.Verbose((int)LogEventId.ModelProvisionCoreCall, "Resolving Term Store as useDefaultSiteCollectionTermStore");
                termStore = session.DefaultSiteCollectionTermStore;
            }
            else if (termStoreModel.Id.HasValue && termStoreModel.Id != default(Guid))
            {
                TraceService.VerboseFormat((int)LogEventId.ModelProvisionCoreCall, "Resolving Term Store by ID: [{0}]", termStoreModel.Id);
                termStore = session.TermStores[termStoreModel.Id.Value];
            }
            else if (!string.IsNullOrEmpty(termStoreModel.Name))
            {
                TraceService.VerboseFormat((int)LogEventId.ModelProvisionCoreCall, "Resolving Term Store by Name: [{0}]", termStoreModel.Name);
                termStore = session.TermStores[termStoreModel.Name];
            }


            return(termStore);
        }
示例#2
0
        public void Can_Reverse_TermGroups()
        {
            var siteTermStore = new TaxonomyTermStoreDefinition
            {
                Id   = null,
                Name = string.Empty,
                UseDefaultSiteCollectionTermStore = true
            };

            var termGroup1 = new TaxonomyTermGroupDefinition
            {
                Name = Rnd.String(),
                Id   = Rnd.Guid()
            };

            var termGroup2 = new TaxonomyTermGroupDefinition
            {
                Name = Rnd.String(),
                Id   = Rnd.Guid()
            };



            var model = SPMeta2Model.NewSiteModel(site =>
            {
                site.AddTaxonomyTermStore(siteTermStore, store =>
                {
                    store.AddTaxonomyTermGroup(termGroup1);
                    store.AddTaxonomyTermGroup(termGroup2);
                });
            });

            DeployReverseAndTestModel(model);
        }
示例#3
0
 protected TermStore FindTermStore(SiteModelHost siteModelHost, TaxonomyTermStoreDefinition termStoreModel)
 {
     return(TaxonomyTermStoreModelHandler.FindTermStore(siteModelHost,
                                                        termStoreModel.Name,
                                                        termStoreModel.Id,
                                                        termStoreModel.UseDefaultSiteCollectionTermStore));
 }
示例#4
0
        //[SampleMetadataTag(Name = BuiltInTagNames.SampleHidden)]
        public void CanDeploySimpleTaxonomyGroups()
        {
            var defaultSiteTermStore = new TaxonomyTermStoreDefinition
            {
                UseDefaultSiteCollectionTermStore = true
            };

            var clientsGroup = new TaxonomyTermGroupDefinition
            {
                Name = "Clients"
            };

            var parthersGroup = new TaxonomyTermGroupDefinition
            {
                Name = "Parthers"
            };

            var model = SPMeta2Model.NewSiteModel(site =>
            {
                site.AddTaxonomyTermStore(defaultSiteTermStore, termStore =>
                {
                    termStore
                    .AddTaxonomyTermGroup(clientsGroup)
                    .AddTaxonomyTermGroup(parthersGroup);
                });
            });

            DeployModel(model);
        }
        public void Can_Reverse_TermSets()
        {
            var siteTermStore = new TaxonomyTermStoreDefinition
            {
                Id   = null,
                Name = string.Empty,
                UseDefaultSiteCollectionTermStore = true
            };

            var termGroup1 = new TaxonomyTermGroupDefinition
            {
                Name = Rnd.String(),
                Id   = Rnd.Guid()
            };

            var termSet1 = new TaxonomyTermSetDefinition
            {
                Name        = Rnd.String(),
                Id          = Rnd.Guid(),
                Contact     = Rnd.String(),
                Description = Rnd.String()
            };

            var termSet2 = new TaxonomyTermSetDefinition
            {
                Name        = Rnd.String(),
                Id          = Rnd.Guid(),
                Contact     = Rnd.String(),
                Description = Rnd.String()
            };

            // only witin a tes term group
            // performance boost
            var groupName = termGroup1.Name;
            var options   = ReverseOptions.Default
                            .AddFilterOption <TaxonomyTermGroupDefinition>(g => g.Name == groupName);

            var model = SPMeta2Model.NewSiteModel(site =>
            {
                site.AddTaxonomyTermStore(siteTermStore, store =>
                {
                    store.AddTaxonomyTermGroup(termGroup1, group =>
                    {
                        group.AddTaxonomyTermSet(termSet1);
                        group.AddTaxonomyTermSet(termSet2);
                    });
                });
            });

            DeployReverseAndTestModel(model, options);
        }
        public override ModelNode ReverseSingleHost(object reverseHost, ReverseOptions options)
        {
            var typedHost = (reverseHost as TaxonomyTermStoreReverseHost);
            var item      = typedHost.HostSite;

            var def = new TaxonomyTermStoreDefinition();

            def.UseDefaultSiteCollectionTermStore = true;

            return(new TaxonomyTermStoreModelNode
            {
                Options = { RequireSelfProcessing = true },
                Value = def
            });
        }
示例#7
0
        public void CanDeploy_TaxonomyTermStoreByUseDefaultSiteCollectionTermStore()
        {
            var termStore = new TaxonomyTermStoreDefinition
            {
                UseDefaultSiteCollectionTermStore = true
            };

            var model = SPMeta2Model
                        .NewSiteModel(site =>
            {
                site.AddTaxonomyTermStore(termStore);
            });

            TestModel(model);
        }
示例#8
0
        public void Can_Reverse_Site_TermStore()
        {
            var siteTermStore = new TaxonomyTermStoreDefinition
            {
                Id   = null,
                Name = string.Empty,
                UseDefaultSiteCollectionTermStore = true
            };

            var model = SPMeta2Model.NewSiteModel(site =>
            {
                site.AddTaxonomyTermStore(siteTermStore);
            });

            DeployReverseAndTestModel(model);
        }
示例#9
0
        //[SampleMetadataTag(Name = BuiltInTagNames.SampleHidden)]
        public void LookupDefaultSiteTermStore()
        {
            var defaultSiteTermStore = new TaxonomyTermStoreDefinition
            {
                UseDefaultSiteCollectionTermStore = true
            };

            var model = SPMeta2Model.NewSiteModel(site =>
            {
                site.AddTaxonomyTermStore(defaultSiteTermStore, termStore =>
                {
                    // do stuff, add groups, term sets
                });
            });

            DeployModel(model);
        }
示例#10
0
        //[SampleMetadataTag(Name = BuiltInTagNames.SampleHidden)]
        public void LookupTermStoreByName()
        {
            var mmsTermStore = new TaxonomyTermStoreDefinition
            {
                Name = "Managed Metadata Service"
            };

            var model = SPMeta2Model.NewSiteModel(site =>
            {
                site.AddTaxonomyTermStore(mmsTermStore, termStore =>
                {
                    // do stuff, add groups, term sets
                });
            });

            DeployModel(model);
        }
示例#11
0
        public void CanDeploy_TaxonomyTermStoreByName()
        {
            var termStoreName = ConvertUtils.ToString(RunnerEnvironmentUtils.GetEnvironmentVariable(EnvironmentConsts.DefaultTaxonomyStoreName));

            Assert.IsFalse(string.IsNullOrEmpty(termStoreName));

            var termStore = new TaxonomyTermStoreDefinition
            {
                Name = termStoreName
            };

            var model = SPMeta2Model
                        .NewSiteModel(site =>
            {
                site.AddTaxonomyTermStore(termStore);
            });

            TestModel(model);
        }
示例#12
0
        public void CanDeploy_TaxonomyTermStoreById()
        {
            var termStoreId = ConvertUtils.ToGuid(RunnerEnvironmentUtils.GetEnvironmentVariable(EnvironmentConsts.DefaultTaxonomyStoreId));

            Assert.IsTrue(termStoreId.HasValue);

            var termStore = new TaxonomyTermStoreDefinition
            {
                Id = termStoreId.Value
            };

            var model = SPMeta2Model
                        .NewSiteModel(site =>
            {
                site.AddTaxonomyTermStore(termStore);
            });

            TestModel(model);
        }
        //[SampleMetadataTag(Name = BuiltInTagNames.SampleHidden)]
        public void CanDeploySimpleTaxonomyTermSets()
        {
            var defaultSiteTermStore = new TaxonomyTermStoreDefinition
            {
                UseDefaultSiteCollectionTermStore = true
            };

            var clientsGroup = new TaxonomyTermGroupDefinition
            {
                Name = "Clients"
            };

            var smallBusiness = new TaxonomyTermSetDefinition
            {
                Name = "Small Business"
            };

            var mediumBusiness = new TaxonomyTermSetDefinition
            {
                Name = "Medium Business"
            };

            var enterpriseBusiness = new TaxonomyTermSetDefinition
            {
                Name = "Enterprise Business"
            };

            var model = SPMeta2Model.NewSiteModel(site =>
            {
                site.AddTaxonomyTermStore(defaultSiteTermStore, termStore =>
                {
                    termStore.AddTaxonomyTermGroup(clientsGroup, group =>
                    {
                        group
                        .AddTaxonomyTermSet(smallBusiness)
                        .AddTaxonomyTermSet(mediumBusiness)
                        .AddTaxonomyTermSet(enterpriseBusiness);
                    });
                });
            });

            DeployModel(model);
        }
 public static TModelNode AddTaxonomyTermStore <TModelNode>(this TModelNode model, TaxonomyTermStoreDefinition definition,
                                                            Action <TaxonomyTermStoreModelNode> action)
     where TModelNode : ModelNode, ISiteModelNode, new()
 {
     return(model.AddTypedDefinitionNode(definition, action));
 }
示例#15
0
 public static ModelNode AddHostTaxonomyTermStore(this ModelNode model, TaxonomyTermStoreDefinition definition, Action <ModelNode> action)
 {
     return(model.AddDefinitionNodeWithOptions(definition, action, ModelNodeOptions.New().NoSelfProcessing()));
 }
示例#16
0
 public static ModelNode AddHostTaxonomyTermStore(this ModelNode model, TaxonomyTermStoreDefinition definition)
 {
     return(AddHostTaxonomyTermStore(model, definition, null));
 }
示例#17
0
 public static ModelNode AddTaxonomyTermStore(this ModelNode model, TaxonomyTermStoreDefinition definition, Action <ModelNode> action)
 {
     return(model.AddDefinitionNode(definition, action));
 }
 public static TModelNode AddHostTaxonomyTermStore <TModelNode>(this TModelNode model, TaxonomyTermStoreDefinition definition)
     where TModelNode : ModelNode, ISiteModelNode, new()
 {
     return(AddHostTaxonomyTermStore(model, definition, null));
 }
        //[SampleMetadataTag(Name = BuiltInTagNames.SampleHidden)]
        public void CanDeploySimpleTaxonomyTerms()
        {
            // define term store
            var defaultSiteTermStore = new TaxonomyTermStoreDefinition
            {
                UseDefaultSiteCollectionTermStore = true
            };

            // define group
            var clientsGroup = new TaxonomyTermGroupDefinition
            {
                Name = "Clients"
            };

            // define term sets
            var smallBusiness = new TaxonomyTermSetDefinition
            {
                Name = "Small Business"
            };

            var mediumBusiness = new TaxonomyTermSetDefinition
            {
                Name = "Medium Business"
            };

            var enterpriseBusiness = new TaxonomyTermSetDefinition
            {
                Name = "Enterprise Business"
            };

            // define terms
            var microsoft = new TaxonomyTermDefinition
            {
                Name = "Microsoft"
            };

            var apple = new TaxonomyTermDefinition
            {
                Name = "Apple"
            };

            var oracle = new TaxonomyTermDefinition
            {
                Name = "Oracle"
            };

            var subPointSolutions = new TaxonomyTermDefinition
            {
                Name = "SubPoint Solutions"
            };

            // setup the model
            var model = SPMeta2Model.NewSiteModel(site =>
            {
                site.AddTaxonomyTermStore(defaultSiteTermStore, termStore =>
                {
                    termStore.AddTaxonomyTermGroup(clientsGroup, group =>
                    {
                        group
                        .AddTaxonomyTermSet(smallBusiness, termSet =>
                        {
                            termSet.AddTaxonomyTerm(subPointSolutions);
                        })
                        .AddTaxonomyTermSet(mediumBusiness)
                        .AddTaxonomyTermSet(enterpriseBusiness, termSet =>
                        {
                            termSet
                            .AddTaxonomyTerm(microsoft)
                            .AddTaxonomyTerm(apple)
                            .AddTaxonomyTerm(oracle);
                        });
                    });
                });
            });

            DeployModel(model);
        }
 public static TModelNode AddHostTaxonomyTermStore <TModelNode>(this TModelNode model, TaxonomyTermStoreDefinition definition,
                                                                Action <TaxonomyTermStoreModelNode> action)
     where TModelNode : ModelNode, ISiteModelNode, new()
 {
     return(model.AddTypedDefinitionNodeWithOptions(definition, action, ModelNodeOptions.New().NoSelfProcessing()));
 }
        public void CanDeployTaxonomyField()
        {
            // define a taxonomy
            // term store -> group -> term set -> terms
            var taxDefaultTermStore = new TaxonomyTermStoreDefinition
            {
                UseDefaultSiteCollectionTermStore = true
            };

            var taxTermGroup = new TaxonomyTermGroupDefinition
            {
                Name = "M2 Taxonomy"
            };

            var taxTermSet = new TaxonomyTermSetDefinition
            {
                Name = "Locations"
            };

            var taxTermLondon = new TaxonomyTermDefinition
            {
                Name = "London"
            };

            var taxTermSydney = new TaxonomyTermDefinition
            {
                Name = "Sydney"
            };

            // define the field
            var location = new TaxonomyFieldDefinition
            {
                Title        = "Location",
                InternalName = "dcs_LocationTax",
                Group        = "SPMeta2.Samples",
                Id           = new Guid("FE709AC2-E3A1-4A25-8F71-3480667CD98F"),
                IsMulti      = false,
                UseDefaultSiteCollectionTermStore = true,
                TermSetName = taxTermSet.Name
            };

            var model = SPMeta2Model.NewSiteModel(site =>
            {
                site
                .AddHostTaxonomyTermStore(taxDefaultTermStore, store =>
                {
                    store.AddTaxonomyTermGroup(taxTermGroup, group =>
                    {
                        group.AddTaxonomyTermSet(taxTermSet, termSet =>
                        {
                            termSet
                            .AddTaxonomyTerm(taxTermLondon)
                            .AddTaxonomyTerm(taxTermSydney);
                        });
                    });
                })
                .AddTaxonomyField(location);
            });

            DeployModel(model);
        }