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)
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
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.
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?
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.
Okay... now RH is just being belligerent.
In Framemaker, I selected all the files in the Book, went into Show/Hide Conditional Text and specified to show only Prod2 Conditional Text.
In RH, I opened the Project Settings and enabled "Apply FrameMaker Conditional Text Build Expression" and updated the Frame files (re-importing all the content).
When I look at the updated topics, they are now showing the Conditional Text for Prod1! I look at the Frame files and only the Prod2 CT text appears, but when I look at the updated topics in RH, the Prod1 CT text is appearing.
How is that even possible? How is RH deciding that it will only recognize the Prod1 text if the source file doesn't display the Prod1 text?
In FM after applying the Show/Hide settings, did you update and save?
Yes. I updated the book file and resaved all the FM documents.
Ok, and in the RH project, was it a fresh project to import into or an existing project?
It is it's own project into which I imported the single source FM files.
When you do the import, you need to check the Conversion Settings again - just because you set flags in the Project Settings > Import tab, they aren't automatically used when the import takes place (found that out when saving settings off into an .isf file wasn't working to "remember" all my mappings - Peter pointed out that there's a "gotcha" in that you need to re-browse your .isf file - even though it appears already "selected" in the Import screen).
Argh. Maybe I need to rebuild the project from scratch and re-import the FM files?
With importing, you always have to do it with a fresh project each time - that's the advantage the linking method has over importing.
Okay, to be specific, the Frame files are linked to the RH project. When I make a modification in the FM files, RH detects it and indicates that the linked files need to be updated.
In linking, I think you need to do a "Force Update All" whenever you make changes to the Conversion Setting rules.
I've done that too (Force All).
I'm going to prepare a test document with multilayered Conditional Text to figure this out, and if it's a real bug, I'll raise it to Adobe Support.
In the meantime, wherever there are paragraphs with multiple layers of CT, I'm going to have to break them apart, duplicate them, and tag them independently. Really defeats the purpose of Conditional Text, but I'm running out of time.
I have run into this too. Only the first item in a conditional build expression is "working" in the html 5 output. Have you found a fix to this?
For example if I have an expression: not "Prod A" and not "Prod B"
Prod A is successfully hidden, but Prod B is displaying.
Suzie are you linking or importing your FM content?