12 Replies Latest reply on Dec 27, 2006 12:16 PM by kewal_tech

    Conditional Build Tags Logic

    kewal_tech Level 1
      Hi All,

      Working on RH X5 generating webhelp.

      I need some logic help or some help on developing different manuals for different users for the same system, will explain below.

      I have got one project which have contents for different version i.e. from 6.2 to 6.4..and a new version is added every month or when required...

      Types of users:
      1. A
      2. B
      3. C

      At this stage am using Conditional tags to generate different types of manuals for different types of users
      I am having one project from which I generate different manuals for different user types and versions.
      Till now I only had 2 versions so was able to use the tags and work around..
      As we are having a new version things are not wroking, tags are not working.

      A topic can be for v6.2 to v6.4 and for User A B C
      A topic can be for v6.2 to v6.3 and for User A B C
      A topic can be for v6.3 to v6.4 and for User A B C

      A topic can be for v6.2 to v6.4 and for User A B
      A topic can be for v6.2 to v6.3 and for User A B
      A topic can be for v6.3 to v6.4 and for User A B

      A topic can be for v6.2 to v6.4 and for User A C
      A topic can be for v6.2 to v6.3 and for User A C
      A topic can be for v6.3 to v6.4 and for User A C

      A topic can be for v6.2 to v6.4 and for User B C
      A topic can be for v6.2 to v6.3 and for User B C
      A topic can be for v6.3 to v6.4 and for User B C

      A topic can be for a single type of User also.

      The types or Users wont increases but the version would increase..One time we decide not to generate any more help for older version..but this old version contents is still required in new version manuals..
      Is there a way out?
        • 1. Re: Conditional Build Tags Logic
          RoboColum(n) Level 5
          Can you not get around this by applying multiple build tags. Admittedly it could get a little complicated but try this.

          A topic can be for v6.2 to v6.4 and for User A B C - Add tags for each version (e.g. v62, v63, v64) and user type (e.g. UserA, UserB, UserC). When you come to generate you can specify to exclude two of the v6x tags so as to exclude the versions the users don't have and include either or all of the Userx tags.
          • 2. Re: Conditional Build Tags Logic
            Level 1
            I'm sure it can be done, but I'm not sure what you mean by "for v6.x to v6.y." I tend to think of versions as standalone entities, so "v6.2" has its own help manual, as do "v6.3" and v6.4." I think "for v6.2 to v6.4" means that a topic will be included in the v6.2, v6.3, and v6.4 help. Is that what you mean? Also, are all topics for standalone user C included in combinations AC, BC, and ABC?
            • 3. Re: Conditional Build Tags Logic
              MergeThis Level 4
              To expand on Chet's advice: create all the build tags that might possibly apply, then create the SSLs that will EXCLUDE the ones that don't apply for each instance.


              Good luck,
              Leon
              • 4. Re: Conditional Build Tags Logic
                kewal_tech Level 1
                Hi All,
                Thx for you replies and ideas.
                Well I am using multiple build tags, but as Colum said it would get confusing it was getting confusing for me.

                On Chet's idea, I dont have different projects for different versions but I have different manuals for different version all coming from one project. On users.. A,B and C are different users, its an hierarchy e.g. A can view B and C's manuals.

                Thx Leon, thats what am doing at the moment is there a way rather then EXCLUDE we INCLUDE a topic? or part of topic? I guess it would be much easier..

                What do you guys think?
                Is there a way rather then to EXCLUDE we INCLUDE a topic? or part of topic?

                Am working on the tags and SSL's at the moment will keep you updated how it goes..

                Thx again.
                • 5. Re: Conditional Build Tags Logic
                  RoboColum(n) Level 5
                  Hi Kewel. You can either include, exclude or include AND exclude tags. By default RH sets up the single source layout to exclude. If you go into the "define" button and then "advanced" it is pretty straightforward to set-up.
                  • 6. Re: Conditional Build Tags Logic
                    Captiv8r Adobe Community Professional & MVP
                    Hi all

                    Kewal, if you are configuring a build expression to Include instead of Exclude content, you need to keep in mind that anything that is not tagged will be automatically included. Additionally, you will want to use brief tag names, as the build expression has something along the lines of a 255 or so character limit.

                    As you might imagine, you will run out of room in a hurry if you use tag names like "JohnsonAndJohnsonPharmaceuticals" or "BlackAndVeachEngineeringCorporation". Instead, I would opt for things like JJ or BV.

                    Cheers... Rick
                    • 7. Re: Conditional Build Tags Logic
                      Level 1
                      I'm still confused, and I think I've been misquoted twice, which only adds to it :)

                      Anyway! Regardless of whether you choose to exclude or include (or both), any untagged topic will be included in your output.
                      • 8. Re: Conditional Build Tags Logic
                        kewal_tech Level 1
                        Hi All,

                        Thx for all your help..
                        I made some tags which am using to "EXCLUDE" the topic and part of topic, and so created different SSL's ages back. What I am more keen to try now is "INCLUDE" them and see how that goes.. Though it is more confusing as the number of tags grows..will keep you all posted.
                        And Chet sorry for the confusion and my misquotes.. ;)

                        Thx again
                        • 9. Re: Conditional Build Tags Logic
                          MergeThis Level 4
                          Although I haven't recently used them as extensively as in the past, I do remember that working strictly with EXCLUDE made things a lot less painful. Don't forget that the type of user/version structure you're dealing with will only grow, and therefore increase in complexity. That is, what you set up now is not a "one-off" deal; when you have to revisit this structure months from now (and months from then, etc.), you'll need to be able to quickly identify what needs changing, adding, and deleting.

                          I've found EXCLUDE to be the most beneficial way to go.


                          Good luck,
                          Leon
                          • 10. Re: Conditional Build Tags Logic
                            kewal_tech Level 1
                            Hi Leon,

                            Yes you are right its not a one-off deal, thats what I was after and realized its not goning to be that way.

                            The user/version structure is growing fast and I need to develop something which would be easier and less pain in the backside for me while updating..

                            I am working on both Exclude and Include, will keep you guys updated.

                            Thx again
                            • 11. Re: Conditional Build Tags Logic
                              Level 1
                              Exclusionary expressions are generally weaker than inclusionary expressions, in my opinion. They are noticeably more difficult to work with when multiple tags are applied to the same topic. For example, suppose that you are applying version tags to topics, as Kewal as doing. Now assume that you've applied tags to four topics as follows:

                              Topic A: v2, v3
                              Topic B: v1
                              Topic C: v2
                              Topic D: v3

                              If you want to create v2 output, you cannot define an exclude tag that allows you to bundle Topic A into the output, because any expression along the lines of "exclude v3" will exclude Topic A. On the other hand, a build tag that simply reads "v2" will include Topic A and Topic C, which is the desired combination. By contrast, if Topic A did not exist, then an expression of "NOT v1 AND NOT v3" would give you Topic C by itself, but a simply "v2" expression would accomplish the same thing.

                              All in all, I think inclusonary expressions are more easily wielded.
                              • 12. Re: Conditional Build Tags Logic
                                kewal_tech Level 1
                                Hi Chet and others,

                                Thx for the idea Chet, I kinda agree with your suggestion above.

                                What I plan to do....

                                1. Manuals for different types users (2-3) - example tags - u1, u2.
                                2. What am working on with tags is not only topic level but also on content level e.g.
                                Topic Level || Content Level
                                Topic A: u1,v2, v3 ||
                                Topic B: u2,v1 ||
                                Topic C: ,v1, v2 ||u1, v1
                                Topic D: u1,u2v2,v3 || v3

                                So now with the above what I have to do is there is certain information which only relates to a specific version and/or a type of a user, what am planning to do is to create one more set of tags which I can use as EXCULDE. So I would be having two sets of tags - for INCLUDE and EXCULDE.

                                Set 1 - For INCLUDE
                                v1 to vX
                                u1 to uX

                                Set 2 - For EXCULDE
                                nv1 to nvX
                                nu1 to nuX

                                Then I would create SSL's with both similar defined sets as above. INCLUDE a topic and EXCLUDE contents.

                                Hope this works, will try it out soon and let you all know

                                Thx for all your help