Skip navigation
SteveCavanaugh
Currently Being Moderated

Conditionalizing text insets

Jul 31, 2012 9:14 AM

Tags: #framemaker #10 #conditions

FrameMaker 10, Windows 7 x64.

 

I have a document with a lot of external files inserted as text insets. I would like to have this file appear in a book only under certain conditions. I've created the appropriate conditions, selected the entire file, and applied the conditions. All of the insets are conditionalized, with the exception of a single inset. When I reselect that inset and attempt to reapply any of the conditions, I get a dialog, whose title is too long for its size, so you cannot fully comprehend the purpose. See below.

ConditionError.jpg

I do not wish to make the text unconditional, and I do not wish to delete the text. I wish to set a condition. There is nothing I can find in any FrameMaker resource that describes why I am getting this message, or what to do about it. All of the other insets are correctly conditionalized.

 

Any ideas?

 

Steve

 
Replies
  • Currently Being Moderated
    Jul 31, 2012 9:24 AM   in reply to SteveCavanaugh

    Looks like it thinks that there are already conditions attached to it - if it's just one condition you're applying to the whole thing, why not strip the existing one off and reapply?

     
    |
    Mark as:
  • Currently Being Moderated
    Jul 31, 2012 10:32 AM   in reply to SteveCavanaugh

    I would like to have this file appear in a book only under certain conditions.

    ... and I want to place these procedures in a folder of the book.

     

    If the conditional content comprises an entire file (book component), why not set up separate books for each edition?

     

    By the way, are the insets plaintext, .fm or some other format?

     

    If .fm, do the conditions exist in the source files?

     
    |
    Mark as:
  • Currently Being Moderated
    Jul 31, 2012 1:00 PM   in reply to SteveCavanaugh

    Can you do anything that changes it, like edit text?

     

    If not, I'm suspecting a PgfLocked tag problem.

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 1, 2012 5:37 AM   in reply to SteveCavanaugh

    Steve,

     

    I am not sure that I understand correctly what you are doing. I think you are importing a text inset into the main document and then applying the condition there, from within the main document. I am not sure that one can do that. I think you should apply the conditions in the inset document itself, then import the file as an inset. Is there a reason why you are applying the conditions from within the main document?

     

    Van

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 1, 2012 9:55 AM   in reply to SteveCavanaugh

    Hi Steve,

     

    Exactly how are you inserting your text insets? Do you have a custom paratag used to hold an inset and is it empty except for a space before the end-of-paragraph (pilcrow) mark?

     

    Are you applying the conditional tag to the entire inset container paragraph or to just the inset within the container paragraph?

     

    What strategy will you be using for your conditionals, e.g. a simple show/hide where you want to only hide features not found in the combined book? Or do you want to "show" features that are relevant (i.e. using  relational expressions)? Each route requires different considerations for the conditional tags - besides the current issue that you're having.

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 1, 2012 10:12 AM   in reply to Arnis Gubins

    Steve,

     

    Conceptually, you are on the right path, but your implementation is using technology that is very old and hard to manage in a heavy-use environment. Some time in the future, I'd recommend that you consider a migration to structured FM, where you can start using structural metadata to denote and manage conditional/reusable content. The unstructured text inset and conditional text features are simply don't scale very well, especially when you attempt to combine the two.

     

    Russ

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 1, 2012 10:44 AM   in reply to SteveCavanaugh

    Steve,

     

    across the ten models out there

    Maybe the better approach is to avoid conditional text altogether. Sometimes it is better to manage the different possibilities through the book rather than conditional text.

     

    If I understand you situation, you have many documents. Some are used in one model and some are used in one or more but not all models. There is no rule against using a particular document in several books.

     

    So, suppose you created a book file for each of the ten models. Doing each book (model) separately, import the documents needed for that model. You mentioned creating chapter folders. Are you talking about creating folders in the BOOK file, say one for each chapter? If so, then you can import the files into each folder as appropriate (caveat: I have never used folders in books, so I have no idea the implications downstream of doing this). I am inferring from you post that you then want to create cross-references to the documents in the folders, say from one or more of the chapters in the book. You can do this.

     

    NOTE that any one document can be used in any number of folders in any number of books. FrameMaker does not care how often or where you use the documents.

     

    NOTE that nothing is conditioned, at least not whole documents. IF PARTS of each single document has to be conditioned, you can do this. Just do not condition the whole document.

     

    NOW create a PDF from the first book. Assuming nothing INSIDE the single documents is conditioned, you can simply update the book and create the PDF.

     

    THEN repeat for EACH book, one for each document. HOWEVER, BE SURE to update the book before creating the PDF. When you use a document in book 1 and update book 1, FrameMaker leaves information about that update in the document, particularly page numbers. When you use the document in book 2, you need to update book 2 to redo the page numbering, for example. SO, always update the book before creating the PDF, even if you have made no edits in any of the documents in the book.

     

    Note that using this approach, there are NO text insets and NO wholly conditioned single documents. The "conditioning" is managed through the books. Each book specifies which files are to be used in that book, NOT the conditions.

     

    It is also possible to use conditioning within each single file. Suppose a particular file has content most of which applies to two models, but there is one sentence in the content that has to be written one way for model A and another way for model B. Simply create the one file. Write the A sentence and condition it A. Right after it write the B sentence and condition is B. This one file is added to both books, A and B. Before updating the A book, you need to show condition A and hide condition B; then update the book. For book B, show condition B and hide condition A; then update the book. For each PDF, always show/hide the conditions, update the book, then create the PDF.

     

    I may not have resolved your problems, but maybe this gives you a better approach.

     

    Van

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 1, 2012 12:07 PM   in reply to Russ Ward

    Russ,

     

    You got my attention with that one!

     

    Even if I weren't seeing FM10 crash frequently with conditional info, I would be interested in something more powerful than what unstructured FM offers.

     

    My need is a more complex than what Van talks about. Currently I'm using unstructured FM to conditionalize content about product features, then using conditional expressions named for product releases or customers, to expose the required content and then publish. Few customers get all optional features, some get relatively few.

     

    Where are some resources that address this relatively narrow point of structured FM as a substitute for managing content conditionally: case studies, practices, etc. ?  The crash behavior, plus increasing complexity of content here, suggest that I consider alternatives, whether structured FM or products from other vendors.

     

    Best regards,

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 1, 2012 12:16 PM   in reply to SteveCavanaugh

    Let me second Van's suggestion of using book-based editions, plus you can use Conditions.

     

    We do this. Separate .book structures import common text. The common text is tagged, in the inset source, with various conditions. What appears in the importing document is controlled by what is inset and condition code settings in the importing document (which are basically set-and-forget).

     

    But attempting to perform any mods on an inset, in the importing document, is risky. If you save out an importing.fm as a MIF and study it, you'll see that there are a some locking tags associated with insets:

    <TextInsetLocked zzz>, <PgfLocked zzz>, <FLocked zzz>, <TblLocked zzz>, <VariableLocked zzz>, <XrefLocked zzz>

    They are documented in the MIF Reference Manual, except for TextInsetLocked.

     

    I have had problems in the past with <PgfLocked Yes>. After deleting the inset, that tag got transferred to the hosting para, and it required a MIF hack to fix it. The empty para could not be changed or even deleted.

     

    I'm actually surprised that it appears possible to apply conditions to an inset in the importing document. I would be totally unsurprised to learn that sometimes it doesn't work, or has unpleasant side effects. Apply the conditions in the source of the inset. Set the Show/Hide conditions in the importer.

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 1, 2012 1:47 PM   in reply to SteveCavanaugh

    Steve,

     

    The more I look at this idea, the better I like it. And I don't think I have to give up any single sourcing advantages to do it.

    You indicated you are using some prewritten service bulletins. These are your single sources. The books that use them are simply using them. Assuming there is not a lot of overlap among the service bulletins, then updating the content in the service bulletins is not a process of finding all the places where they are used. The usage is in the books, which link to the content where the changes are made. As time goes by, you will probably update/rewrite the service bulletins to look less like service bulletins and more like parts of books. Then you will have single sources used in several books. Write once, publish as many times as you need.

     

    Van

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 1, 2012 11:28 PM   in reply to SteveCavanaugh

    Steve,

     

    If you're not inserting your text insets (i.e. complete service bulletins) into separate paragraph containers of any kind, then what are you placing them into? The process is a step in the structured direction that Russ suggests. You're just using a paragraph container rather than an element container (when structured). You can then make the container conditional. When FM "hides" or removes conditional content, it drops in a marker at the location that the conditionalized content occurred and then moves the content to special hidden page along with a pointer back to the marker so it knows where to put the content back when unconditionalized. Conditionalizing entire paragraph containers (that include the insets) seems to be less error-prone that trying to conditionalize just the inset within the container, in my experience.

     

    Also, using relational expressions on overlapping conditions can cause some interesting results. Have you checked for overlaps and are you certain of your condition boundaries?

     

    You also didn't mention whether your FM10 version is fully patched to 10.0.2 or not.

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 2, 2012 9:06 AM   in reply to SteveCavanaugh

    Steve,

     

    I was only suggesting that you try using a "structured" approach with unstructured FM.

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 2, 2012 10:20 AM   in reply to max_drawdown

    max.,

     

    Unfortunately, I don't know of any great resources, except to start messing around with it and letting your mind wander. If you want to get some ideas of the possibilities, you could download my (free) structure-based conditional text and text inset plugins (AXCM and InsetPlus) and run through the sample files/tutorials:

     

    http://www.weststreetconsulting.com/

     

    However, I am somewhat loathe to start you out there, because I'm not here to promote myself or the business, even though the software is free. I just don't really know of many other good options for this particular subject.

     

    My main point was just to make a suggestion about exploring solutions based on innovation and forward thinking, rather than still banging on that old typewriter, wondering why it doesn't work any better. By moving forward with technology, you improve your own situation, in addition to the general outlook of the industry in general. Too often, though, the response is some typical expression of pain or statements full of words like "can't" and "won't". I'm sure this is why so many employers now would rather hire an engineer that can sort of write, rather than a tech writer who can't engineer at all.

     

    But before I get too philosophical, let me steer back to a couple of points that I know to be true:

     

    - Structured FM is a technology and a concept, not just a tool. It is a path to making your content look like data to the computer, after which the computer can do more work for you. When you mess around with techniques like conditional text and text insets, you are asking the computer to do more work for you, which is good. That's what computers are for. But the more help you give the computer the better. Structure is a path in that direction, whether you use some plugin, write some scripts, ditch FM altogether, or whatever. If you refuse to provide the computer the input it needs, it will forever refuse to do the work that you want.

     

    - It is a complete myth that a lone writer (or anybody) can't move to structured content, especially with a structured authoring tool as easy to use as FM. All it takes is one brain with a modest amount of technical competence and the will to learn. It also a myth that it has to be wildly complex or has to adhere to some buzzword or standard such as DITA. The movement can be incremental and methodical, and entirely customized for a particular situation. It does take time and motivation, sure... but so does anything that is worth anything in the end.

     

    Russ

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 2, 2012 10:47 AM   in reply to Russ Ward

    "It is a complete myth that a lone writer (or anybody) can't move to structured content, especially with a structured authoring tool as easy to use as FM. All it takes is one brain with a modest amount of technical competence and the will to learn. It also a myth that it has to be wildly complex or has to adhere to some buzzword or standard such as DITA. The movement can be incremental and methodical, and entirely customized for a particular situation. It does take time and motivation, sure... but so does anything that is worth anything in the end." 
     
    Hi Russ,   I am really fascinated that you have said this. I am a lone tech writer that manages 3,500 pages of complex IT documentation that spans 40 books. I use text insets and conditional text heavily. I have looked into converting from unstructured to structured framemaker several times. I have never found the ROI to be worth it and the reason for that was cost. Everything I have read and the webinares i have attended indicate this would take many weeks if not months of effort to first design the EDD and then perform the conversion.  Tom Aldous took 6 training sessions (or six hours of training) just to do a basic introduction. I have even talked to a consultant who said it would take hundreds of man hours to do this and potentially thousands of dollars of consulting work if one were go to that route.  Are you saying this wouldn't take hundreds of man hours, is not complicated at all, a single person could do this while at the same time making documentation deliveries every three months, and not require the services of a consultant or special plugins? If so, I would love to hear your explanation on how this is possible.   Thanks, Joe

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 2, 2012 11:15 AM   in reply to Russ Ward

    "My main point was just to make a suggestion about exploring solutions based on innovation and forward thinking, rather than still banging on that old typewriter, wondering why it doesn't work any better. By moving forward with technology, you improve your own situation, in addition to the general outlook of the industry in general."

     

    That depends entirely on the ROI and business case. There's a reason legacy systems stay around for 20 years or longer in some corporations. Sometimes it is inertia, laziness, and lack of creativity. However, other times people assess the pros and cons of sticking with what they currently have and decide its "good enough" to get the job done. That's why whenever someone says STRUCTURED FRAMEMAKER TO THE RESCUE, my first response is whats your business case and what is the ROI? My second response is considering the costs in going to a new approach, are those outweighed by the benefits with sticking with your unstructured framemaker approach?  Personally, I would love to switch to XML authoring. I see the benefits to it and I love learning new technology. Plus, I am pretty familiar with XML already because of the product that I document. My problem has always been that unstructured framemaker always seems "good enough" to get the job done and that the ROI and business case in my particular situation is just not there yet. Now if the costs to switching over become greatly reduced OR my understanding of those costs are off based, I am totally willing to reconsider my position.  Joe 

     

    PS I realized I might be accidentally hijacking this thread which was not my intention.  Russ, please feel free to email at jaloren AT gmail.com or start a new thread if you'd like.

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 2, 2012 11:09 AM   in reply to jaloren28

    Hi Joe,

     

    I am not saying that it is easy, nor that it is quick. It could take hundreds of hours and perhaps months or years, especially if you are starting from scratch. All I am saying is that it is possible if you want it and I will suggest that the ROI may be greater than you think. The journey of a thousand miles begins with a single step, but will never be completed without the will to take it.

     

    I am a lone writer with responsibilities that sound similar to yours and I took many thousands of pages of unstructured content and moved them into a fully structured workflow. This has been a gradual process over several years and continues to evolve, as I continue to discover new possibilities. It is also interrupted by pesky annoyances like having to meet publication deadlines and such, but I make the time.

     

    The reason I make the time is because the ROI pays me back many times over and quite frankly, I couldn't get my work done without my new toys. I produce the amount of output that used to require several technical writers, and it isn't because I type fast. It is because I have the computer doing the content management and publication busywork for me. So the further I get into this, the more I am rewarded with more time to explore it further. And, the real rewards come from company management, who for the first time can see tangible value that a tech writer has added to the organization.

     

    Also, there is more to the ROI than just increased productivity at the day job. There is an invaluable professional growth as well. Every writer has the "wrote such and such for such and such" on their resume. When you walk into the interview with "Implemented cutting edge structured content technologies, reducing departmental costs by 75% while decreasing time to publication" on yours, I can say that you might get a little more attention.

     

    Russ

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 2, 2012 1:37 PM   in reply to jaloren28

    Joe,

     

    Several years ago, a decision was made by my employers to move to structured authoring. The motivation was the fact that all writing was outsourced and had been worked on by many different writers over many years. The unstructured results were a mess. Moving to structured authoring provided a way to maintain consistency across the set of publications, no matter who did the authoring. It took about 6 months of my time to develop and test the EDD. From my point of view, it was a lot of fun.

     

    Even after the conversion to structured authoring, I used conditional text to manage 8 user manuals from one master book. It was a headache. During crunch time, FrameMaker crashed probably once every other day, sometimes once or twice a day. I was using and still use FrameMaker 9. Even if the time spent recovering from crashes is less than the time to convert to structured, eliminating the recovery frustrations has to be worth a lot.

     

    Then I switched to specifying the conditions through element attributes and then filtering the book by attribute. NO conditional text. Filtering by attribute is part of out-of-the-box FrameMaker, but I use Russ Ward's AXCM plugin instead. Filtering by attribute works very well and is more in line with the concepts of XML authoring.

     

    The move to structured authoring was in our division alone. This year a larger part of the company decided to move to XML authoring using an XML-based CMS. Because we had already moved to structured FrameMaker, WE became the experts in helping the others make the move. I guess that was our ROI.

     

    Van

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 3, 2012 8:38 AM   in reply to Russ Ward

    @Russ,

     

    Thanks for the perspective.

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 9, 2012 7:18 AM   in reply to Error7103

    @Error7103,

     

    "Apply the conditions in the source of the inset. Set the Show/Hide conditions in the importer."

     

    OK, I get that, but maybe i plucked it out of context.

     

    What if I want the entire inset to vanish from the importer? With that, I want the "host" paragraph in the importer to vanish as well.

     

    I've inherited a few chapters like this. They contain some all-versions unconditional content and some VersionX content that is inset-based. Most of those VersionX insets are procedure steps.

     

    We're not willingly doctrinaire around here. Just looking for reliable, high-speed maintainabiltiy.

     

    Best regards,

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 9, 2012 8:07 AM   in reply to max_drawdown

    > What if I want the entire inset to vanish from the importer? With that, I want the "host" paragraph in the importer to vanish as well.

     

    I think that circles us back to the problem that gave rise to this thread. You'd be applying a condition to the anchor for the inset, with the presumed intention of applying it to not just the anchor, but the entire inset, which might have ideas of its own as regards that condition.

     

    And in any case, Frame may not be coded to handle this kind of condition overload. For extra credit, you can Xref that imported inset, and apply some other conditions to that .

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points