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 ...


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

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


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

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 ...


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 ...


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 ...


2

The Taxonomy Connector is part of the Tridion DX suite, which is a combination of Tridion Sites and Docs. Tridion Sites 9.0 in combination with Docs 13 SP2 (and UDP/DXD 11.0) forms the first version of this Tridion DX suite. Can you elaborate on your use case for the Taxonomy Connector for SDL Web 8?


2

Like Nick mentioned if you are looking for a Java-based solution you'd have to use the Core Service API. The set up is pretty straight forward. First, create a Java proxy client from the WSDL (e.g., if you are using 8.5 you'd use the WSDL at http://SERVER:PORT/webservices/CoreService201603.svc?wsdl.) The steps for creating the proxy are described here: ...


2

I agree that using metadata on each (presumably, localised) keyword and then filtering these out with your C# TBB would be a reasonably elegant and maintainable solution. Alternatively (and depending on your requirements!), you could also use a naming convention on the keyword value (e.g. Prefix the keyword's Value field with something like "HIDE - "), but ...


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