Copy link to clipboard
Copied
FILTERS QUESTION /// I have a merged project (currently 25 projects merged, approx. 1000 topics) using RoboHelp 15, MSIE 11, Windows 7 ENT. I’m using filters. Sometimes the filter works perfectly (search returns only results matching selected filter), but sometimes the search results include topics that do not match the filter (YES! All topics have tags, so only the filtered content should be listed in the search results). AND sometimes when I click a topic in the search results the topic won’t show in the topic pane until I clear the search filters. All the merged child TOCs that don’t match the filter should disappear from the parent TOC nav pane, but only some projects/TOCs disappear. Why does this happen? Is a tag somehow being applied at the text level without showing on the Project Manager? Is this a Master Schema xml issue? Thanks for any insights.
I set up a parent and three child projects all with the tags A, B and C.
I created three paragraphs and applied one tag to each.
In their outputs, I defined the filters as A B C in that order.
It worked without issue.
Then I reordered the filters to C B A in each project and generated all again.
The filter order showed as C B A and still worked.
Finally I turned off filtering in all the projects except one.
The filter options still appeared as I would expect but they have no effect on the topics except
...Copy link to clipboard
Copied
Yes but that is the order where you see your tags, not the order in DCF.
I'll look when I can but not today.
See www.grainge.org for free RoboHelp and Authoring information.
Copy link to clipboard
Copied
Tried something on a hunch. When you generate the help, the order is written into whtagdata.js. That takes if from whatever you have set up in the SSL. Looks like you will have to set them up individually.
See www.grainge.org for free RoboHelp and Authoring information.
Copy link to clipboard
Copied
RH 2017 - Latest Build
I have possibly the same question about ordering the dynamic filters inside the SSLs.
What controls the final order in the merged help? My understand from reading this and my own experimentation is that it is controlled by the rhbuildtag.apj files within each child help.
However, what if you only define a single filter in each child help, and therefore, the child .apj files do not have more than one filter to order? That's what I did: each child species a "Help" group, and in each "Help" group, I have the filter of that child help, so that users can turn them on or off. But there's only one filter in each child. And we have 16 child helps.
In a case like this, I would expect (and was hoping) that I could just define the filters just once in the parent help's .apj file and set up the ordering through the parent. But that doesn't work. It seems like I'll need to re-create all the filters in each child .apj file and specify the order within each of the 16 .apj files.
Am I correct that this is the approach I need to take?
If so, it seems like there are some inefficiencies here that Adobe could address.
Copy link to clipboard
Copied
A while back I put in a request to be able to easily share config files that keep merged systems in sync, like build tags and ssl using the shared resources. But it was possibly 3 bug tracking systems ago, so there's no visibility of it. You should log another feature request.
Copy link to clipboard
Copied
I think you will need to set this up in each project.
Going back to merged webhelp, before the days of DUCC and DCF, the skin for the parent overrode the skin for any child. From what I can see, what people want now is that each child should be able to operate with its own settings when used standalone but when part of a merge, the parent settings for everything override.
I know merged help in 2019 is to be reviewed and I am hoping that the old webhelp logic will be applied to responsive help as well.
See www.grainge.org for free RoboHelp and Authoring information.
Copy link to clipboard
Copied
Thanks Peter / Amebr.
Our team ended up creating and sorting entries to all the child helps in each rhbuildtag.apj file, and it still doesn't work.
I then did a smaller test with just two of our child helps, and I couldn't get it to respect the defined order. Any recommendations?
Copy link to clipboard
Copied
As I indicated earlier in the thread, it worked for me when I set things up in the projects so that all had the same tags and the same filters.
It was a simple test but the numbers should not change that.
I can only suggest you look in each project and make sure they are all showing the same tags and filter order, character perfect.
If the parent in your small test still knows about the other projects, don't expect anything to work. You must generate all the projects the parent knows about so create a new parent if you have to.
See www.grainge.org for free RoboHelp and Authoring information.
Copy link to clipboard
Copied
Adding a Dynamic Content Filter list in the parent of a merge seems to prevent search links from opening? Can anyone confirm?
Copy link to clipboard
Copied
UPDATE:
(1) From my attempts, I confirm (thanks for everyone's postings!) it does seem that the tags and tag order must be identical in the parent and every child project so that the order you setup in the DCF dialog will display and for the filters to operate correctly/consistently.
(2) From what I can tell the rhbuildtag.apj is overwritten by whatever appears in the DCF dialog, and it does not appear that rhbuildtag.apj is published.
(3) Solutions? Partial solutions? Workarounds?
FOR EXISTING PROJECTS: This is a partial workaround that worked for me (I saw a blurb about this in someone’s post, thanks). Create all the tags/filters desired in one project. Then create a topic and attach all the tags to that topic. You can then import that special topic into every existing merged project. All the tags are imported with that topic into those targeted merged projects. HOWEVER, it still remains to set the grouping and order or filters in the DCF dialog in each project. >>> Be careful to save appropriately as you import.
FOR NEW PROJECTS: Create a ‘template’ project. That is, create a shell project where you create all the tags/filters and preset the order of tags/filters in the DCF dialog. Then use a copy of that shell project every time you create a new merge project.
Hopefully this is clear, helps a little. More will be added as I discover it!
Copy link to clipboard
Copied
mjjhhc. Thanks for your research here. One question: when you say tags and tag order, do you mean the Conditional Build Tags? Or do you mean the angle bracket code (similar to HTML tags) inside of the .apj files? Or both?
Copy link to clipboard
Copied
If I understand your question correctly, my post is discussing the conditional build tags which are grouped and ordered by using the Dynamic Content Filter dialog.
Copy link to clipboard
Copied
Okay. I think you're talking about the the build tags that are ordered within the <filters></filters> code inside the .apj. What about the the <buildtags></buildtags> code block inside the .apj? Do those need to be identical throughout parent / child helps as well?
Copy link to clipboard
Copied
Without even testing I would say yes. Also if you manually play with these
files, trash the CPD before opening. Test using the small test setup you have.
Peter Grainge
www.grainge.org
@petergrainge
Copy link to clipboard
Copied
Hey, so you may have missed part of my recent post.
Make your edits in the DCF dialog.
I recommend that you don’t make any edits to rhbuildtag.apj. Any edits to rhbuildtag.apj will be lost/overwritten.
Peter/Anyone, please correct me if I got it wrong.
Copy link to clipboard
Copied
I agree it should be done in the project but without reading the thread again, I believe it was an attempt to fix all projects by copying the same file to all of them.
See www.grainge.org for free RoboHelp and Authoring information.
Copy link to clipboard
Copied
Peter is correct. I'm attempting to make the same change on all projects by directly modifying the rhbuildtag.apj file. It's faster than loading up all the RH projects. My understanding is that edits made to rhbuildtags.apj is what controls what ends up in the DCF dialog box. You can make the edits outside of RH in that fashion. I'd recommend closing your RH project first however. Obviously, if you then open the project and make edits using the DCF dialog box, the rhbuildtag.apj is then modified and overwritten by the changes made in the dialog box.
Copy link to clipboard
Copied
okay let us know how it works out
Copy link to clipboard
Copied
Well I'm not having much success unfortunately. I spent a good portion of yesterday afternoon trying to sort this out. I first attempted to get it to work on my subset of two of my child projects (the simplest ones) just to see if I could swap the order of the filters around. I tried it first with my original parent. They all have the same build tags, with the tags in the same order, and the dynamic filter tags are the same in each rhbuildtag.apj for all children and the parent. It should work. But it still didn't work. I then tried it with a brand new parent with the same two children projects, with the same result. I don't know what I'm missing.
I then tried looking at the whtagdata.js to see if it might be simpler to just modify the order of the filters post build, but I couldn't figure out how to change the order in that file. I did figure out how to tweak the name items there but even with my advanced-beginner .js skills, I couldn't figure out how to order the tags.
I then tried to create a brand new vanilla parent project with three brand new vanilla children projects (proj_a, proj_b, and proj_c). With CBTs f_help_a, f_help_b, and f_help_c. For a displayed filters of A, B, and C under a Help group. I merged them to the new parent, but this time I couldn't even get the Filter tab to appear despite the "Use Dynamic Filter in the output" check box being marked in each project and the exact same structure in each rhbuildtag.apj. (edit: I think I know what I did wrong on this vanilla test. Forgot to apply the filters to the actual topics. Duh... )
Of necessity, I'm going to give it one more go around, but my brain if feeling *quite* frazzled and I'm running out time. If I can't figure out things today, I'm going to have to likely release our product with filters in a very jumbled order.
---
Adobe... there MUST be a better way to do control the order of the filters. Please, for the love of my beloved remaining brain cells, please, please, please come up with a better way to do this. We need something like a simple configuration file that is defined in a single location that acts as an overide. This tinkering around with the guts of rhbuildtag.apj code in multiple child helps is very poor UX.
And yes, I've filed an enhancement request pointing to this post: See RH-3208 if anyone wants to vote on it...but still.... *gives frustrated and despondent shake of the ol' noggin'*
Copy link to clipboard
Copied
Anyway, if some kind soul would like to take a look at my test files and let me know what is amiss, I should be very grateful. I'm trying to get the order to appear as A, B, and C in the merged output (for some reason it's showing a CAB order despite the order being set to ABC in all the projects rhbuildtag.apj files).
You can get a sample parent project with parent (parent 4) and test childs (helps proj_a, proj_b, proj_c) from our ftp site here:
ftp://ftp.wilcoxassoc.com/TempDistrib/ForAdobe/DynamicFiltersOrderTest.7z
The password to extract is "painful" (no quotes).
Copy link to clipboard
Copied
sorry no time today to look at files.
BUT
1. check that filter is enabled in Setup. That is edit your screen layout.
2. you probably just missed a step somewhere. List your steps and post and we might see what was missed.
worth a try
Copy link to clipboard
Copied
Happy to look but it will not be until next week.
Peter Grainge
www.grainge.org
@petergrainge
Copy link to clipboard
Copied
This worked when I first tested it but now it does not, plus I get a different order from you!
I will look again later but for now try one more thing that was beginning to emerge. Make sure that the parent has no tags applied and the child projects all have three topics, one with A applied, one with B applied and one with C applied.
See www.grainge.org for free RoboHelp and Authoring information.
Copy link to clipboard
Copied
Peter, thanks for testing those files! I appreciate that.
I tried it again with your suggested changes above, and was able to finally get the order to come out as A, B, C on those test files.
I also tried it with content level CBTs applied to some topic text in the parent, and it still worked.
So what does this mean for my real project? Will I need to add a dummy file, one for each CBT with that CBT applied to it into each child project?
Copy link to clipboard
Copied
From my tests, it seems like I'll need to create a single dummy .htm file that has all the CBTs at the the topic level that are used by all the Dynamic Filters in all the helps. Then I need to import that .htm file into each child project.
Copy link to clipboard
Copied
I got it to work on my real project finally! Huzzah! First of all, an especial thank you to Peter for kindly looking into my sample files and giving me the suggestion that led me down the road to success! I wouldn't have been able to get there without your timely intervention. Thanks also to mjjhcc who let me take of the thread and who also provided useful suggestions. I've said it once, and I'll say it again, one of the main things that keeps me using RoboHelp is the aweseome community in this forum.
Anyway, here's a recap of what's on this thread in case anyone else needs to do the same thing and you're coming late to the party. I have a Responsive HTML5 Merged Help system. It has 1 parent and 16 children and I was trying to figure out how to order the filters. Adobe does not make it easy on you. But there is a way. To order your filters, you MUST do the following (I'm using RH 2017😞
And viola! It works!...