Skip to main content
John Ala - Epiq
Inspiring
January 26, 2023
Answered

How do I get CSH string to use dynamic filter in frameless layout

  • January 26, 2023
  • 5 replies
  • 890 views

I found several examples of URL strings with content filters on the web but none work. Could be my issue. Here is the set up.

My developer wants a frameless help that allows for CSH calls for three audiences. (user, operations, support)

I created a map file, conditional expressions, and dynamic content filter. (shown below)

When I view the output I can select the filter and the content adjusts appropriatly.

I can use a CSH to a mapid without specifying a content filter and all content shows (no filter).

file:///C:/ECAR/RH-Build/Filing/index.htm?rhmapno=5

If I try to apply a filter parameter like this one, it is ignored and all content shows. 

file:///C:/ECAR/RH-Build/Filing/index.htm?rhmapno=5&filter=Others:Operations 

 

I'm hoping it is just a URL format issue. Any help would be appreciated.

 

My topic

My Dynamic Content Filter screen - the Others group is populated with my Condition Expressions

Manually applied filter - to show the filter does work when used in the UI

 

Thanks in advance

John

    This topic has been closed for replies.
    Correct answer John Ala - Epiq

    In the hopes this will help someone later here is my final solution. Peter feel free to comment if you have addtional insight.

    I set up the filtering using condition expressions. When I use the UI to select the filter I can see the modified URL RH creates in the address bar. I expected to see the f=condition expression name  what I saw was the actual expression with the tags and not logic expressed with "!". Here is one of the URLs

    path to index.htm?rhmapno=2&f=Audience%3ATechWriter%20!%20Audience%3ATechSupport%20!%20%26. I clicked on each filter option in turn and copied the generated URL parameters. I tested the URL replacing the page name with the path to the index.htm?rhmapno=x This is what I will provide to the software team.

    This URL format works for page level tags and content level tags. 

    As a last step I set the default filter condition to user (lowest level), I also hid the filter buttons in the frameless layout by setting Buttons>button-0 Layout>Display=none and button-0-applied to the same. (I only had the filter button active - you will need to look at your button definitions to see which is your filter button) This means the only way to access the higher level help content is to have a bookmarked URL or clicking on the help link in the software which will pass the correct filter. This works because when I tested I noticed once the filter was activated it was persistant no mater how I navigated through the help content. 

    5 replies

    Peter Grainge
    Braniac
    January 28, 2023

    Thanks for posting that @John Ala - Epiq 

    ________________________________________________________

    My site www.grainge.org includes many free Authoring and RoboHelp resources that may be of help.

     

    Help others by clicking Correct Answer if the question is answered. Found the answer elsewhere? Share it here. "Upvote" is for useful posts.
    Peter Grainge
    Braniac
    January 27, 2023

    Not using page level and content level tags applies to topics only. It's fine to have some topics filtered at page level and others at content level.

     

    The problem now faced does seem to be an issue with the tagging rather than the call.

    ________________________________________________________

    My site www.grainge.org includes many free Authoring and RoboHelp resources that may be of help.

     

    Help others by clicking Correct Answer if the question is answered. Found the answer elsewhere? Share it here. "Upvote" is for useful posts.
    John Ala - Epiq
    John Ala - EpiqAuthorCorrect answer
    Inspiring
    January 27, 2023

    In the hopes this will help someone later here is my final solution. Peter feel free to comment if you have addtional insight.

    I set up the filtering using condition expressions. When I use the UI to select the filter I can see the modified URL RH creates in the address bar. I expected to see the f=condition expression name  what I saw was the actual expression with the tags and not logic expressed with "!". Here is one of the URLs

    path to index.htm?rhmapno=2&f=Audience%3ATechWriter%20!%20Audience%3ATechSupport%20!%20%26. I clicked on each filter option in turn and copied the generated URL parameters. I tested the URL replacing the page name with the path to the index.htm?rhmapno=x This is what I will provide to the software team.

    This URL format works for page level tags and content level tags. 

    As a last step I set the default filter condition to user (lowest level), I also hid the filter buttons in the frameless layout by setting Buttons>button-0 Layout>Display=none and button-0-applied to the same. (I only had the filter button active - you will need to look at your button definitions to see which is your filter button) This means the only way to access the higher level help content is to have a bookmarked URL or clicking on the help link in the software which will pass the correct filter. This works because when I tested I noticed once the filter was activated it was persistant no mater how I navigated through the help content. 

    Peter Grainge
    Braniac
    January 26, 2023

    Using URL calls you can open the help with filter applied. The filter can be different with different calls. You cannot block the other filters. That would require different outputs rather than different calls. 

     

    I have asked an Adobe contact if it can be done with map ids. I suspect not but let's see. 

    ________________________________________________________
    My site www.grainge.org includes many free Authoring and RoboHelp resources that may be of help.

     

    Help others by clicking Correct Answer if the question is answered. Found the answer elsewhere? Share it here. "Upvote" is for useful posts.
    John Ala - Epiq
    Inspiring
    January 26, 2023

    Peter,

    What is the format for the URL specifying the filter. The one I tried did not work.

    I'm not concerned about someone constructing a URL that exposes the other content. The conditional tag hides info that is not useful to certian groups. The content is not secret just not useful. For example the content tagged as Operations contains information about screens in the app that an end user would not have access to. If the end user plays with constructing a URL to access mapIDs they wouldn't normally see, it doesn't matter as they can't access the screen in the app. 

    John Ala - Epiq
    Inspiring
    January 26, 2023

    Final working test URL 

    file:///C:/ECAR/RH-Build/Filing/index.htm?rhmapno=5&f=Others:Operations


    Follow-up: This all works fine for content on a page but I have been unable to have the filter parameter work when the condition tag is at the page level. The URL always returns "This topic is filtered out by the selected filters." 

    My solution is to not specify the audiance when the full page should be shown in the CSH call. This means more work for the coder. If anyone has a solution I would love to hear it.

    Jeff_Coatsworth
    Braniac
    January 26, 2023

    IIRC the thing with Dynamic Content is that you can't "hide" the other parts of content that don't apply - that is, users will always have to select their filter to screen out what doesn't apply to them; but you can't stop them from choosing another filter to see what doesn't apply to them. AFAIK the only way to do that is through conditional tags and separate outputs.

    John Ala - Epiq
    Inspiring
    January 26, 2023

    Thanks for the thought's Jeff.

    I thought of that as well and I am able to turn off the filter selection elements in the frameless template with the default filter set to the lowest level of content. As long as the developer is always passing the correct filter, the higher level content should not get exposed. If a user played with using the mapid property to construct a URL they could expose the higher level content but it wouldn't really matter. The content is not secret, just not relevant to a basic user.

    John Ala - Epiq
    Inspiring
    January 26, 2023

    I guess I should have specified RH 2022 in case that matters.