Skip to main content
gbarrelet
Known Participant
April 12, 2017
Question

Only the first tag is recognized in layered Conditional Text

  • April 12, 2017
  • 2 replies
  • 2004 views

I think I've found another serious flaw with the FM to RH conversion. Shocking, I know. SHOCKING!

I've got single source FM document that is designed to support four different products. The products are pretty similar, which is why there is a ton of overlap. I use different book files, add remove chapters as needed, and use Conditional Text.

So here's the setup: I have a paragraph that applies to two products, but not the third. So I use Conditional Text to tag the paragraph as Prod1, Prod2, and Prod3. I add a second paragraph and tag it for Prod4. When I generated the PDFs for each product, the Conditional Text filtered out only what applies per product, hiding the rest, and it worked great.

When I generated the HTML5 Help for Prod1, I selected the CT filter for Prod1 in the Project Manager and selected the CT filter for Prod1 in Outputs(SSL) for HTML5. It worked great: the text for Prod1 appeared and the text for Prod2, Prod3, and Prod4 were hidden and it was all peaches and cream.

But when I tried to generate the Help for Prod2 (selecting the Prod 2 CT filters in Project Manager and Outputs(SSL)), huge gaps of text were missing.

Going into Project Manager, I took a look at the topic and I could see all the Conditional Text filters applied and they were correct. However, I noticed that the order in which the CT were listed was Prod1, Prod2, Prod3, and Prod4. I'm guessing that the CT filters are applied alphabetically.

As an experiment, I removed the Prod1 and Prod3 CT from the text in the FM file (leaving Prod2), updated and regenerated in RH, and the Prod2 text re-appeared! So I went back and reapplied the Prod1 and Prod3 CT tags on the text in FM file, updated and regenerated in RH, and the text disappeared again.

So here's my theory: when you apply multiple layers of CT tags to a paragraph in FM, RH will filter out the text based on the first CT tag it encounters, ignoring any others that follow. When I generated the help for Prod1, it kept the text marked as Prod1 because it's the first tag it hits (alphabetically).

But when I try to generate the Help for Prod2 (which hides the text for Prod1, Prod3, and Prod4), RH finds the paragraph with the multiple CT tags, encounters the Prod1 tag and hides the text even though it is marked for Prod2.

This means that I cannot have a paragraph be marked with multiple Conditional Tags because only the first one will be recognized when converted to RH. The only way around would be to repeat the section for each product and tag them independently. This is huge pain and it defeats the purpose Conditional Text.

Am I right? Is there something I'm missing?

(I apologize for the long post. I tried to shorten it as much as I could)

This topic has been closed for replies.

2 replies

Jeff_Coatsworth
Community Expert
Community Expert
April 12, 2017

I do work with conditional text in my source FM docs, but not by layering multiple ones on the same text, so I’ve never run across the situation you’re seeing. In that case I would do the filtering at the FM end of the pipe (by using your Show/Hide settings) and then only have the appropriate content come over to RH for help generation. I think you’re doing it the same way I am – leaving all content visible in FM and then applying CBT tags when generating output in RH. There’s a flag in the Conversion Settings that tells RH to let FM do the conditioning.

gbarrelet
gbarreletAuthor
Known Participant
April 12, 2017

Actually, I am Showing only the Conditional Text that applies to the product I'm generating, but in the conversion to RoboHelp, all the text regardless of it's CT tagging appears in the topic. It gets filtered out during the Output process. However, I have tried it both ways (Show All/Show as per Condition).

The flag you're mentioning is in Project Settings > Import tab > Edit Conversion > Other, correct?

Jeff_Coatsworth
Community Expert
Community Expert
April 12, 2017

Yes, in older versions it's called "Apply FrameMaker Conditional Text Build Expression"; I think it changed in RH2015/2017 to read slightly differently. But the intent is the same - all conditioning is done in FM first before the content comes over to RH. When that happens, I don't believe you have any CBTs coming in from FM in your RH project.

Peter Grainge
Community Expert
Community Expert
April 12, 2017

It's only shocking if there is such a problem so I would wait until I knew if there was or it was me. At the moment we don't know where the problem is but no one else has reported this.

I am not an Fm user but I would start by creating a simple RoboHelp project to cut out any issues between Fm and RoboHelp being behind this. You just need one or two topics with the same tagging to see if the problem exists there.

Post back how that goes and if necessary I will take a look at the RoboHelp project.


See www.grainge.org for RoboHelp and Authoring information

@petergrainge

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