Skip to main content
Inspiring
January 28, 2020
Answered

RH 2019 Classic - Need help defining conditional expression with multiple tags

  • January 28, 2020
  • 1 reply
  • 488 views

Hi,

I'm trying to generate a printed documentation from my RoboHelp 2019 Classic project, which has some complex conditional tagging applied. I can't seem to get the conditional expression right so only the content that I actually want is included.

 

These are the available build tags in my project:

  • Topic-level tags (identify which of our product a whole topic applies to):
    • topic_dam
    • topic_nova
    • topic_cma
  • Content-level tags (identify content for each product in a topic which has content for multiple products)
    • content_dam
    • content_nova
    • content_cma
  • Topic/Content-level tags for user-level
    • user_casualUsers
    • user_powerUsers
  • Content-level tags for the medium (for layout reasons I partly have two versions of images/text)
    • medium_online
    • medium_print
  • Content-level tags for stuff that needs to be excluded:
    • exclude

 

What I'm having trouble with is finding the right combination so I can export the printed documentation for a.) only one of the products (dam, nova or cma), b.) with only the "medium_print" stuff included and none of the "medium_online" stuff (regardless of other tags that are applied), c.) with all powerUsers and casualUsers stuff included (for the right product) and d.) without any of the "exclude" stuff (regardless of other tags that are applied).

 

The closest I have gotten so far is the following expression (for the "nova" product variant):

topic_nova AND NOT exclude AND NOT medium_online OR content_nova AND NOT exclude AND NOT medium_online OR medium_print AND NOT exclude OR user_powerUsers AND NOT topic_cma AND NOT topic_dam AND NOT content_cma AND NOT content_dam

 

However, this ALSO includes all the stuff that only has the "exclude" tag applies (and no other tags on content-level). How do I automatically exclude the "exclude" content without worrying about other tags that content may have? How do I do the same for "medium_online"?

 

For my online output with dynamic content filter, I use the following output/filter settings, which pretty much sum up what I also want to accomplish for the product-specific print output:

  • Conditional build tag: NOT exclude AND NOT medium_print --> The print and exclude stuff doesn't even get generated.
  • Filter-options for group "User": 
    • user_casualUsers --> Show only casual user content
    • user_powerUsers --> Show only power user content
    • user_casualUsers OR user_powerUsers --> Show content for both user types
  • Filter-options for group "Application":
    • topic_dam AND NOT content_cma AND NOT content_nova OR content_dam --> Show only stuff for the "dam" product
    • topic_nova AND NOT content_cma AND NOT content_dam OR content_nova --> Show only stuff for the "nova" product
    • topic_cma AND NOT content_dam AND NOT content_nova OR content_cma --> Show only stuff for the "cma" product

With this filter-setup, when I go for the "casual OR power user" option and any of the product-specific filter options in combination, it shows me exactly what I want.

 

How do I reproduce this as a single conditional expression (for printed output, I can only apply a single conditional expression, so it needs to cover all the bases)?

 

Any help is much appreciated.

 

Cheers,

Faeneth

This topic has been closed for replies.
Correct answer Peter Grainge

Good luck with that one! 😊

 

It is such a complex setup that I think anyone would have difficulty working it out in theory. If I were in your position, I would just have to hack away at it.

 

One suggestion that might help reduce the complexity. The start point for printed documentation is the TOC in the second page of the configuration. Create a TOC for each product and use that as the start. Then you have fewer topics to filter.

 

A TOC for topic_dam only would mean just having to build an expression for those topics without having to exclude other product topics.


www.grainge.org

1 reply

Peter Grainge
Community Expert
Peter GraingeCommunity ExpertCorrect answer
Community Expert
January 28, 2020

Good luck with that one! 😊

 

It is such a complex setup that I think anyone would have difficulty working it out in theory. If I were in your position, I would just have to hack away at it.

 

One suggestion that might help reduce the complexity. The start point for printed documentation is the TOC in the second page of the configuration. Create a TOC for each product and use that as the start. Then you have fewer topics to filter.

 

A TOC for topic_dam only would mean just having to build an expression for those topics without having to exclude other product topics.


www.grainge.org

Use the menu (bottom right) to mark the Best Answer or Highlight particularly useful replies. Found the answer elsewhere? Share it here.
FaenethAuthor
Inspiring
January 28, 2020

Haha, yeah, it's a complex setup.

I finally had a breakthrough after tinkering with the expressions and gradually building up to a working solution with a clean project in which I added topics and topic content in all the different tag combinations.

 

Took me a while, but now I found expressions that work for me :).

 

The multiple TOCs would have been an option if I didn't find a solution, but they strike me as high-maintenance, since I would have to constantly update each TOC when new topics are added (which they will be). 

Thanks for chiming in, Peter :).