This is awesome ... I didn't think the subgroups was accessible by the mxf import based on what I saw in the object browser. I'm going to have to revisit some things I wanted to do in the past.glugglug wrote:I successfully got some hierarchical categories working! This way, you won't have to lose any Gracenote categories.
I have a Series->Sports->Football keyword hierarchy in my guide by modifying the imported MXF, which successfully is showing appropriate shows now.
The changes I made were as follows, not sure if all are necessary:
1. Create a new Keyword for the sub-category ID. Also create the corresponding "All" category for it. I used(keywordgroup 6 subgroup 1. Not sure if it matters whether the parent category id is a prefix of this id, but apparently it doesn't need to be numeric after the k).Code: Select all
<Keyword id="k6sg1" word="Sports" /> <Keyword id="k6sg1001" word="All" />
2. Renumber the keywords that are to be moved to this subcategory so that they are prefixed by the subcategory's keyword ID. (Not sure if this is actually required or not. I think not based on earlier experimentation before figuring out #6 below was what was preventing the search from working).
3. Create a "subgroups" element under the parent category.
4. Create a KeywordGroup element under the subgroups element, using the same format as your other keyword elements, except that the UID of the subgroup must be prefixed by the UID of the parent KeywordGroup with another ! separator. (I think this UID format is not an actual requirement based on earlier experimentation, but not sure.)
5. Add the UID of the subgroup to a "subgroups" attribute of the parent KeywordGroup.
My KeywordGroup for the Series keywords now looks like this from steps 3-5:6. For all the Program elements using keywords in the subgroup, add the subgroup's keyword ID to their keyword list. This is definitely required, it was the last change I made before getting the shows to actually show up in the category search. Not sure if order matters, I added the subgroup keyword ID before any of the keyword IDs within the subgroup.Code: Select all
<KeywordGroup groupName="k6" uid="!KeywordGroup!k6" keywords="// bunch of keyword ids here with the ones for the subgroup removed" subgroups="!KeywordGroup!k6!sg1"> <subgroups> <KeywordGroup groupName="k6sg1" uid="!KeywordGroup!k6!sg1" keywords="k6sg1001,k6sg1005,k6sg1006,etc"/> </subgroups> </KeywordGroup>
I think I'm going to change the approach a little for maintainability. Instead of have a true subcategory ("Sports"), I think what I'm going to try is just have a "More..." subcategory to continue beyond the 100 limit. Based on what you have so far, it looks like it will be possible for subgroups to have subgroups. Even if they can't, a single subgroup expands our limit to 200 which is plenty.