HTML5 Architecture and Conditions

This forum is for all Flare issues related to the HTML5, WebHelp, WebHelp Plus, and Adobe Air Targets
Post Reply
Tavia_Pennington
Jr. Propeller Head
Posts: 4
Joined: Mon Jun 10, 2019 11:35 am
Location: Ohio

HTML5 Architecture and Conditions

Post by Tavia_Pennington »

I'm a newer Flare user and I'm building the architecture for our projects. I created a parent project for the HTML5 output. At first I had all the files within that parent project and I conditionalized within topics, folders, my TOC, and wrote Advanced Conditions in the target. I wrote Advanced conditions for my PDF targets and that worked. My conditionalizing did not work for the HTML5 output. I was getting all the content.

After researching, I thought creating child projects would help. I wanted to create a child project for each product model family we have. There are major differences between model families and model series can have a lot of overlapping content. I have condition tag sets for each folder level below except Live.

For reference, here is my folder structure:
Product Type
Product Model Family Child Project
Model Series
Audience (i.e. Operation or Service)
Language (i.e. FR)
Live (the file on the website or printed)

I'm having problems with the connections between the parent and child project. I did the import of relevant files in the child project. In the parent project TOC, I linked the test child project and target via the "Select Flare Project and Target...(for runtime merging). But I thought merging and global project linking were different things. I'm just not sure how else to connect my child project and parent project. My parent HTML5 target will build but links to the child project are all broken. Someone please help.
Tavia Pennington
Technical Writer
Psider
Propellus Maximus
Posts: 811
Joined: Wed Jul 06, 2011 1:32 am

Re: HTML5 Architecture and Conditions

Post by Psider »

It's been a while, but for merging I believe you'll need to manually code the relative links between the parent and child projects based on the output path not the source path. I don't believe Flare has any way to manage that for you. (Or at least, it didn't. I haven't used it in a few versions.)

Global Project Linking is different. I haven't used it, but I believe you import files from one project in to another project and those files are (typically) imported regularly, or at each build. I believe the principle is that topics you import are never edited in project you import into, only in the project you import from. I don't *think* you can easily link topics that way. Hopefully someone who's using it will jump in with more info.

Conditions should have worked for your first go. Possibly you used a combination of the Include and Exclude checkbox. If you tick Include for a condition, anything with that tag will be included in the build, even if it also has a tag that is excluded

So say I have a topic tagged with ModelA and ModelB. I tick Include for ModelA and tick Exclude for ModelB. The topic will be included in my build because "Include ModelA" takes precedence. If however I had left both checkboxes for ModelA unticked, the "Exclude ModelB" would have been applied, and the topic would have been excluded from my build.
Tavia_Pennington
Jr. Propeller Head
Posts: 4
Joined: Mon Jun 10, 2019 11:35 am
Location: Ohio

Re: HTML5 Architecture and Conditions

Post by Tavia_Pennington »

Thanks for responding Psider! By manually coding the relative links do you mean resolving the broken links for the output path?

I hadn't heard that principle of GPL. It makes sense that what I was trying to do wasn't working. In my mind you should be able to import down from the parent into the child and then create an output in that parent which merges the child projects. It seems like I may need another child project to create my HTML output. Everything seems to only flow in one direction, if that makes sense.

Let me better explain the conditions issue. I have multiple Model families which all need to be included in the HTML. Each model family has multiple model series which all also need to be included. The model series have a lot of the same content and I've conditionalized within the topics for the different content. I'm trying to ensure the correct model series information shows up based on conditions when I reuse topics. I have NOT been conditionalizing at the topic level, I have been conditionalizing at the folder and TOC levels to try to accomplish this. For PDF targets, I combined this method with Advanced Conditions and it worked. For HTML I'm not sure how to write the Advanced conditions so the correct model series content will appear where I want it to. Currently I have all the content in a topic no matter the conditions showing up.
Tavia Pennington
Technical Writer
ChoccieMuffin
Senior Propellus Maximus
Posts: 2630
Joined: Wed Apr 14, 2010 8:01 am
Location: Surrey, UK

Re: HTML5 Architecture and Conditions

Post by ChoccieMuffin »

A couple of things, in a random-stream-of-consciousness kind of format (sorry!)

Conditions.
If your conditions are really straightforward and your content only ever has one condition applied to it, then the basic condition tag selection is fine as long as you remember that INCLUDE trumps EXCLUDE. If you find you have content that has more than one condition applied, the basic condition editor CAN be enough, but keep your eye out. Otherwise you're going to need to write advanced conditions. I always get confused, and have to look at the help. (I don't know what version of Flare you're using so this might not be the right page for your version: https://help.madcapsoftware.com/flare20 ... ssions.htm.)

I have a sneaky suspicion that merging built files doesn't work in side-nav HTML5 projects (but it does work for CHM). Someone might be able to elaborate on that.

GPL is fab. We keep all truly global stuff (like page layouts, masterpages, stylesheets, copyright topics, that kind of thing) in a separate project that gets imported into absolutely every child project.
Some of the child projects (for module-type things) produce their own outputs and are also imported into other child projects. For this kind of thing, in the child project (for example I have a project called DV) all topics in the DV project in the Content Explorer is in \Content\DV, all snippets are in \Content\DV_Snippets and all images are in \Content\DV_images, so that when the DV project is imported into another project the topics etc still sit in \Content\DV etc in the target project. For some of our larger projects that take imports from several others, the Content folder has lots of sub-folders, but that means I can easily identify which project a topic came in from.
In a donor project I have a condition tag set, for example DV.flcts, which also has a condition DV. Everything in the DV project that I want to import into another project is conditioned with DV.DV, including the condition tag set itself, any relevant TOCs, all topics, snippets and anything else.
NEVER edit anything in a target project that was imported from another project. Never. Ever. Verboten. That way lies madness.

Right, I'm off to have lunch. Feel free to ask for clarification to any of the above if it's of any use. :)
Started as a newbie with Flare 6.1, now using Flare 2023.
Report bugs at http://www.madcapsoftware.com/bugs/submit.aspx.
Request features at https://www.madcapsoftware.com/feedback ... quest.aspx
Psider
Propellus Maximus
Posts: 811
Joined: Wed Jul 06, 2011 1:32 am

Re: HTML5 Architecture and Conditions

Post by Psider »

Tavia_Pennington wrote: I'm trying to ensure the correct model series information shows up based on conditions when I reuse topics. I have NOT been conditionalizing at the topic level, I have been conditionalizing at the folder and TOC levels to try to accomplish this.
Does this mean you are using one topic in multiple places in the TOC for a single output?
  • Model T output
    • Series One
      • Topic A <--only contains Series One info
      • Topic B
    • Series Two
      • Topic C
      • Topic A <-- only contains Series Two info
If this is the case I think the content needs to be contained in snippets, and then you use snippet conditions? I haven't used them though so maybe ChoccieMuffin can chime in.
ChoccieMuffin
Senior Propellus Maximus
Posts: 2630
Joined: Wed Apr 14, 2010 8:01 am
Location: Surrey, UK

Re: HTML5 Architecture and Conditions

Post by ChoccieMuffin »

Psider wrote: If this is the case I think the content needs to be contained in snippets, and then you use snippet conditions? I haven't used them though so maybe ChoccieMuffin can chime in.
I'll wait until we get a bit more info from Tavia, but very happy to help. :)
Started as a newbie with Flare 6.1, now using Flare 2023.
Report bugs at http://www.madcapsoftware.com/bugs/submit.aspx.
Request features at https://www.madcapsoftware.com/feedback ... quest.aspx
Tavia_Pennington
Jr. Propeller Head
Posts: 4
Joined: Mon Jun 10, 2019 11:35 am
Location: Ohio

Re: HTML5 Architecture and Conditions

Post by Tavia_Pennington »

Psider wrote: Does this mean you are using one topic in multiple places in the TOC for a single output?
Yes, it does. The content isn't great for putting in snippets because I'm conditionalizing headers and specific rows of tables. I'm confused about how to implement snippet conditions for this situation.

If one of your team members imports a project from Central that uses GPL with a project not on their local drive, do they have to import the linked project, too?
Last edited by Tavia_Pennington on Fri Nov 08, 2019 8:17 am, edited 1 time in total.
Tavia Pennington
Technical Writer
ChoccieMuffin
Senior Propellus Maximus
Posts: 2630
Joined: Wed Apr 14, 2010 8:01 am
Location: Surrey, UK

Re: HTML5 Architecture and Conditions

Post by ChoccieMuffin »

Tavia_Pennington wrote:
Psider wrote: Does this mean you are using one topic in multiple places in the TOC for a single output?
Yes, it does. The content isn't great for putting in snippets because I'm conditionalizing headers and specific rows of tables. I'm confused about how to implement snippet conditions for this situation.
Ah, now I am certain I can help!

Copy the content of the topic into a new snippet. Apply ordinary conditions to the content, which is probably what you've done already.

In your Content Explorer, create a topic for Product A and a separate topic for Product B. Insert the same snippet into each topic.
Use the relevant topic in your separate TOCs.
To the topic that is used in Product A, apply the SNIPPET condition that produces what you need for Product A, do similar for the topic that goes in the Product B TOC.
(In Content Explorer right-click the topic and on the menu click Snippet Variables and include/exclude as required.)

This way you have separate topics, but the CONTENT is managed together in a single snippet, so you're only editing in one place.

I've tried to be brief here but if you need further help, do shout. :)
Started as a newbie with Flare 6.1, now using Flare 2023.
Report bugs at http://www.madcapsoftware.com/bugs/submit.aspx.
Request features at https://www.madcapsoftware.com/feedback ... quest.aspx
Post Reply