In my current role, I need to produce training material for a software product that has three variations (depending on the licence the user has). The original framework to create these training materials was to have three completely separate sets of PowerPoint slides – one set for each ‘flavour’ of the product.

Coming from a strong single sourcing background, the pain point was that 80% of the content was shared across the three flavours! It was only a scattering of slides throughout that varied between the flavours. The maintenance overhead of having to make updates to three sets of slides for the common content was enormous. Not to mention the scope for errors and inconsistencies between the different variations.

I needed a solution to save time (and my single sourcing sensibility!).

I wanted the ability to include or exclude specific slides based on a set of conditions. (Sounding like Author-it’s variants functionality, anyone??)

The solution

The solution consisted of:

  • Marking up slides that were specific to a particular flavour (or flavours) with a condition tag.
  • A macro that would ‘publish’ a slide deck for a particular flavour of the product. The macro would remove slides that did not meet the conditions for the required flavour of the product.

Adding conditional tags to the slides

Marking up the slides with the conditions was just a matter of deciding on a convention for the conditional tags. I decided that my conditional tags would begin with ‘<<Cond’.  I put the conditional markers in the notes section of the PowerPoint slides. The following screenshot shows an example of the conditions.

Adding conditional tags to the slides

The actual conditions that I could include are totally arbitrary – as long as they start with ‘<<Cond’ (because that is what the macro will look for).

Running the macro

When I run the macro, it:

  1. Searches through all of the slides in the deck for conditions starting with ‘<<Cond’.
  2. Displays a list of these codes for me to select which conditions I want to apply to the slide deck. If a slides contains:
    • One or more conditions, if any condition on the slide matches one of the selected conditions, the slide is included.
    • No conditions, it is included only if the Include slides with no conditions? check box is selected (see screenshot below).
  3. Goes through each slide testing the conditions. If it fails the test, the slide is deleted.

For example, if I wanted to build a slide deck for the ‘Strawberry’ version of the product, I would select the conditions as shown in the following screenshot.

Running the macro

After running the macro, the slide deck would contain only slides that either had '<<CondProduct=Strawberry>>' in the notes section or had no conditional tags at all.

It is rough. It is rudimentary. But it lets me single source, which is what I like.

As a side, I have another macro which goes through the slide deck and removes all of the conditional codes from the notes – just a quick tidy up macro.

If you would like any more information or would like to use my macro, please contact me.

Eliminate repetitive, mundane, and time-consuming tasks when publishing from Author-it Cloud

Find out more

Segue Consulting

Providing professional technical communication, Author-it consulting, and online communication services.

We are one of only two Author-it certified consultants in Australia.

Follow hamishblunck on Twitter