We need to be able to search our content by an attribute value, in this specific case by the ishcondition value. Is this possible in KC?
We need to be able to search our content by an attribute value, in this specific case by the ishcondition value. Is this possible in KC?
Thank you for posting this question. It just saved me! I was searching our repository for all the objects that used a condition we had created that had a typo in it ;/
Now we know everywhere it needs to be fixed!
In case anyone at SDL is watching this (Dave De Meyer?), does anyone have the "full source XML syntax" to identify all the objects in the repository that have translation management disabled? (Enable Translation Management checkbox UNchecked).
Thanks for all the contributions 'CMS Adminstrator2', the right route for this would be the ideas section community.sdl.com/.../tridion-docs-ideas
I assume you already found this, for other SDL documented some of these enhanced searches on https://docs.sdl.com/796504/731092/sdl-tridion-docs-14-sp2/search-for-content
Slightly more technical, you could see xml as a tree structure where every element is a branch and the text inside the elements is ending up as leaves. This is something a full-text-index like Solr or Elasticsearch is not good at, they like flat text - or flat text in fields (e.g. title or shortdesc) at best, but nothing hierarchical.
In turn @ishcondition typically holds a tree structure as well because of the boolean logic (in you example, audience is a branch and management_platform is a branch joined together by an AND). To connect the best of both worlds, we denormalize a lot of those tree structures, so if I remember correctly you are able to find ishcondition="audience=advanced" AND ishcondition="Management_Platform=ePolicy Orchestrator" A full text search however doesn't know how close these search terms are together in the text and will give you some false positives as well.
In 'Condition Manager' tool, we use the object metadata. The CMS stores the atomic condition-name:condition-value combinations (without any operators) which are used inside the xml. More accurate as it comes from the relational database, but way slower than the full-text-index. This is all about balancing accuracy with performance.
The above query was about finding content inside the xml objects, so inside the maps, topics and libraries. Your question is to find all repository objects that have a certain metadata field (FNOTRANSLATIONMGMT) set to the value FALSE. Some metadata fields are stored in the full-text-index to allow them to be "Searched".
Using ISHRemote with commandline: Get-IshTypeFieldDefinition | Out-GridView and then filtering to right field shows me
The Create-Read-Update-Search (CRUS) indicates if the field is passed for those object types to the full-text-index. And by the hyphen, you see it is not.
Now, the value is definitely stored in the relational-database part of the repository. The only way I can think of this morning is to use the API (or ISHRemote as a client of the API).Beware this could theoretically bring all logical back from your repository, so many Gigabytes or even Terrabytes of objects for some customers. You could also do something like described in https://community.sdl.com/developers-more/developers/tridiondocs-developers/f/livecontent_developer_forum/25832/getting-document-report-using-ishremote-api/80493#80493 and do a -FilterMetadata on the Get-IShDocumentObj ...
PS: the double negative field name FNOTRANSLATIONMGMT (with a NO in the field name) was even chosen before I started working with the software, I think we learned from that :-)