14

Even though this question seems to be based a lot on "hearsay", I'll give you my best shot. Can Tridion Categories and Keywords be used to build a taxonomy-driven website? Absolutely YES. I know of two things you need to pay attention to: Dimensions on your taxonomy Cache Dimensions A taxonomy can have many types of relationships defined. You can have ...


10

As Will recalls in his answer, you can try the TaxonomiesOwlFilterData. Here a sample TaxonomiesOwlFilterData filter = new TaxonomiesOwlFilterData(); filter.RootCategories = new LinkToCategoryData[] { new LinkToCategoryData() { IdRef = "[CategoryId]" } }; XElement result = channel.GetListXml("[PublicationId]", filter); It will return you data in the ...


9

There is no way to do this in the standard GUI, however, please see my blog article on the subject, where I show how to do this from a relatively straightforward Powershell script. With some boilerplate code in place, the script to set permissions on a category ends up looking like this: $catPermsTest = $core.Read("/webdav/01%20Definitions/PermsTest", $...


8

I actually think in this scenario the answer is 'Build a POC', here's why: There's many ways to skin a cat with the CD api You've already got your content tagged with categories and keywords Publish it, then I reckon about 2 hours to knock together some code to build the POC You've then the ability to play with the cache and check performance When we've ...


8

To get a list of Keywords from a Category using the Core Service, you can indeed use the GetList (or GetListXml) method and supply a KeywordsFilterData. That will by default return you all (child) Keywords, without a hierarchy, if you want the hierarchy, you will have to set the IsRoot property in the KeywordsFilterData to true: var items = _client....


8

You can do something like: var taxonomyFactory = new TaxonomyFactory(); var filter = new CompositeFilter(); // all keywords filter.DepthFiltering(DepthFilter.UnlimitedDepth, DepthFilter.FilterDown); // Creates a flat list TaxonomyFormatter formatter = new TaxonomyListFormatter(); Keyword keywords = taxonomyFactory.GetTaxonomyKeywords(categoryId, filter, ...


8

AFAIK, there is no straight forward way to do so in GUI, you may need to write a Core Service code for it.


7

A classic discussion of this problem can be found at the Wiki The pertinent quotation is this: "Architects don't have to code, as long as they have ways to get concrete feedback on their ideas." I'd suggest that if speaking to people and extracting general themes isn't getting you concrete feedback on whether there is a Tridion API suited to the task you ...


7

The TOM.NET contains the Repository.GetTaxonomiesOwl() method which can be used to get the whole taxonomy with relationship information, however I do not see an equivalent in the Core Service API. There is a TaxonomiesOwlFilterData filter class in the Core Service API, however it does state that this cannot be used with GetList(), so probably you would have ...


6

Strictly speaking, you cannot edit a Keyword itself via Experience Manager, since it only exposes a way to edit content fields. If you have a Keyword field in your Component and the value from that is displayed, you can change the value (to another Keyword). If you also have rights on the Category to add new Keywords, you have the option to add a new ...


5

You could use a KeywordCriteria with the category and all of the keywords and the NotEqual field operator: var noKeywordsAttached = new KeywordCriteria(myCategory, allKeywordsInMyCategory, Criteria.NotEqual) The obvious drawback being that you would have make an additional taxonomy query to determine all keywords in the category. This combined with your ...


5

Taxonomy, like Folders and Structure Groups, does not have versioning functionality from Tridion. If you would like to know who changed what and when, without rolling back, it is fairly simple. You would write an Event System class that listens for the Save Keyword event and writes this info to a DB (OrmLite, SQLite, MongoDB, etc) and then write an asp.net ...


5

It is part of cd_broker.jar. this might be missing in your lib folder


5

You just need to read your component with the correct ReadOptions. See: How to Get Keyword from Metadata or Item XML Using Core Service and Getting additional keyword information from item Xml?


5

Welcome to Tridion, there is another way which might interest you, and that is create JAVASCRIPT client for SDL coreservice. https://yatb.mitza.net/2018/08/javascript-client-for-coreservice.html


4

Do you have defaultStorageId set to filesystem? <ItemTypes defaultStorageId="defaultdb" cached="true"> If so, add <Item typeMapping="Taxonomy" cached="true" storageId="defaultdb"/> Also, check that your broker database connections are correct, and that other items types are appearing in the broker. Also, as Chris says above.. check licence ...


4

There is no way to do that without implementing a custom GUI extension. However, what is normally practiced is prefixing items (Keywords, Structure Groups, Components and etc.) with a number. For example: 010 Apples 020 Pears 040 Oranges


4

Not sure if this is helpful, but one way I've retrieved binaries is by first retrieving an "untyped" component (i.e. templateless publishing), and then using the result to find and retrieve any binaries. The second query for binary(ies) should give a URL where the image can be retrieved: query GetUntypedContent { component(namespaceId: 1, ...


3

This should be the expected behaviour. AFAIK you can not have same name keywords in a Single Category. Just imagine in case this might have been allowed, if you attach this category to a schema, then while creating component, how do you recognize which keyword to use


3

When you publish a category, all keywords within that category are published. Related keywords that belong to a different category are not published.


3

This is a known issue in SDL Web 8.1.1. It has been resolved in later versions and will be available in the next on-premise release too.


3

After some time, clearing the cache and closing/opening the browser, the ui started to behave normally again. If it occurs again, I will re-open the question. I believe that the workaround (in case this happens again) is to do what Nick recommends and use the ribbon button. It seems to be a bug indeed in the UI, but it is not happening anymore.


3

As Venu says, unfortunately, there isn't currently any out-of-the-box way to select only a certain Keyword (and the hierarchy below) in the Schema. Some options you may want to consider include: Specifying the default value to be the Keyword that you want to start from (as Venu says) and giving editors clear guidelines (possibly in the field description) ...


2

To fetch the Metadata you need to first create an object for any item in Tridion through core services. If you really want to get an xml having metadata included then try to create one. 1> loop through all your keywords what you got after using GetListXml(), create keywordData. 2> include metadata using keywordData.Metadata in your new xml.


2

This would need to be custom functionality as Rob already mentions in his answer. I'd like to add that you can store your custom versioning data in AppData for each keyword. No need for a custom DB.


2

I am not sure if you can get the sorted list from broker the way you want and it seems you may need to put your own customization here. We had a scenario kind of this, I have modified the code for your case to be satisfied, check if this helps. What you can do as a work around, you can have three (rather 6) separate lists of components retrieved from broker ...


2

Your code looks okay but I think you should use "OuterXml" or "InnerXml" in-place of "ToString", when adding the xml to package. So the code will be rep.GetTaxonomiesOwl(filter).OuterXml inplace of rep.GetTaxonomiesOwl(filter).ToString(). Well, rep.GetTaxonomiesOwl(filter) return a object of type System.Xml.XmlElement. So if you use ToString() method, it ...


2

You can find examples of how to use the CD Taxonomy API here: https://github.com/sdl/dxa-web-application-dotnet/blob/master/Sdl.Web.Tridion/Navigation/DynamicNavigationProvider.cs (Search for GetTaxonomyKeywords)


2

Usually, if you have to filter on more than one criteria, you use the AndCriteria or OrCriteria object. This allows you to combine two or more different criteria. You can do something like this TaxonomyKeywordCriteria taxonomyKeywordCriteria1 = new TaxonomyKeywordCriteria(strTaxURI1, strTaxKeywordURI1, false); TaxonomyKeywordCriteria ...


Only top voted, non community-wiki answers of a minimum length are eligible