Text Entry Boxes: Back to Basics

Intro

Reasons for this article are multiple. I watched a basic tutorial yesterday that skips a very important step and includes a cumbersome unnecessary workflow. Lot of questions appear on social media including Adobe forums and eLearning community. Lot of my tutorials for Text Entry Boxes include example files published to SWF, and were written for older versions. Time to translate everything to the most recent version (11.0.1.266 today) and for HTML output because there are minor differences. This first article is very basic, meant for newbies or for more advanced developers to refresh their memory.

Validated or Not

Text Entry Boxes are Interactive Objects. It may be a bit confusing since CP8 (change of UI) that you have to find them under the Text Button, not on the Interactions button. There are a couple of ways to recognize interactive objets:

  • Their timeline (when not selected) is green
  • In the Properties panel you have a tab Actions, allowing to trigger one or two actions
  • You can turn on Reporting in the Actions tab. A score attached to the objet (default = 1pt) can be added to the total quiz score.

Text Entry Boxes allow to let the learner enter text, which will be stored in an associated variable. This means that it the value can be used later on. It is one of the two interactive objects that will be automatically inserted when creating a software simultaion in Training or Assessment mode (the other object is the click box), whenever the learner is required to fill in a field. In Captivate tthe only other ways to allow learners to put in text is by using the Notes or the Scrolling Text Interactions.

Text Entry Boxes can be used in two ways:. 

Not Validated

This is the default setup, learner can enter whatever he wants,  any entry is considered to be correct. 

However you can restrain the characters that may be used by clicking the More Options button, and you can set the required number of characters as well. If you activate the option 'Auto Submit' it will be submitted when the lenght of the entry has been reached. You don't need the Submit button in that case, can drag it out to the scratch area. If you don't activate anything in More Options, all characters (numeric as well) will be accepted but that option will (strangely) not be checked.

Let us look at the Actions tab. As with quiz and Knowledge check slides, you have a Success action and - in case of limited attempts - a Last Attempt action. That is a bit confusing, because any answer is considered to be correct for a non-validated Text Entry Box.  and the cause for a question that pops up sometimes in the forums. There is only a Success event, which means the Success action will be done all the time. Look at an example from a recent question:

"I offer 3 attempts to fill in a TEB, but it is only possible to enter once, the playhead moves on after the first submission'. 

Default Success action is set to Continue for a TEB.  This action will be executed after the first attempt, playhead moves on indeed. To avoid that, you could change the Success action to 'No action'. Result: user will have to fill in the field three times, after the third submission the Last Attempt action will be done. Maybe not what you want?  An easy solution is to add a custom button 'Next' to move to the next slide for users who do not want to fill in the field 3 times.

There is no built-in functionality to check if anything has been typed in the field when the Submit button is clicked. You can use the workflow described in this post if you don't want to end up with an empty variable.

Option 'Reporting' will be dimmed for a non-validated TEB, which is logical. 

Sometimes ignored, but worth mentioning: if you expect to have a long text to be entered, please check the option 'Show Scrollbar'. You can see it activated in the most recent screenshot.

The shortcut key is Enter, which is pretty common to confirm an entry in a form field. You can change it to TAB if you have mulltiple TEB's on the slide. 



Validated

A Text Entry Box is validated when you check that option.  WIth the selected TEB a HUD will appear to enter the possible correct answers using the + button.  It is recommended to put the By default the option 'Case sensitive' is not checked, but I did so in this screenshot:

Tip: you can resize the TEB, it is not necessary to put the longest entry on top as is the case for FIB quest

Because you have defined correct answers, the TEB has now two events: the Success event, and the Failure event if you have a limited number of attempts. Success action is only happening if a correct answer is given, the Last Attempt action after the last attempt if that was still a failure. Be sure to turn on the Success and Failure captions. There is no Retry message as you can have for quiz slides, nor multiple Failure messages. I have a workaround for that, but that is outside of the scope of this basic post.

A validated TEB can be scored, the score can be added to the Quiz total (will appear in the Advanced Interaction panel) and be reported. As I mentioned before, when creating a Software Simulation in Training or Assessment mode, you will see that reporting is turned on automatically.

Typical use case for validated TEB's: use multiple TEB's to create a custom Fill-in-the-Blank question, if you want to have each blank field to be scored individually. That is not possible with the default FIB quiz slide.


Associated Variable

A Text Entry Box needs a, associated variable to be functional. That is the reason why a generic variable is created automatically. It has the same name as the Text Entry Box, which is a bit confusing because the general 'law' in Captivate is never to reuse a name for a second item. However there is a very easy workflow to create and associate immediately a user variable with a more significant name. No need at all to open the Variables dialog box and create that user variable (as you can see in other tutorials). Follow these steps, after having inserted the Text Entry Box (validated or not):

  1. Click the X button next to the Variable field which currently contains the generic variable (in the screenshot it is "Text_Entry_Box_3"
  2. Type a name for the user variable. It will be created and associated with the TEB. In the screenshot: "v_name"

You can verify (not necessary) in the Variables dialog box. The original variable with the generic name is still there, but as you can see in the following image, no longer in use. If you are in spring cleaning mode you can safely delete it.

Displaying Variable

This is not specific for a TEB variable, but for all variables. More details in this post.

Do not type in the variable in a text container with the surrounding $$ but use the X button in the Properties panel (consistent, also X button). Not only do you avoid typos that way (variables are case sensitive) but you can check the number of characters that will be displayed. Default length is 50, but that may be too low, in which case you have to edit this length.

Text wrapping

Often overlooked by developers: it is possible to have text wrapping in a TEB. You just have to activate the option 'Show Scrollbar' which is disabled by default:


Showing Hint with a Delay

Why?

Recently in this thread user asked how to control the appearance of a hint caption.  It was meant to save some frustrations to the learner: hint should appear automatically after some seconds (to be defined), but should not appear when the learner had performed a certain action before that time. This is clearly not possible with the inbuilt Hint messages for interactive buttons. They only appear when the learner is approaching the place where he should click. A custom solution needed to be found. Three solutions were posted, interesting to have a look and compare them. Personally I always bear in mind that someone would like to use this workflow in a fluid boxes responsive project, and that limits the possibilities because stacking is not allowed in normal fluid boxes. We have multistate objects and since a couple of versions a “Delay Next actions….” command.

Example movie

Watch this simple example before reading the explanation:

You will see two slides where a Hint can appear if you are not successful within a delay: slide 2 (arrows) and the Drag&Drop slide (3). I used an almost identical workflow for both slides with a Shared Action triggered with the On Enter Slide event, and a simple advanced action triggered by the arrows (slide 2) or by the object actions (slide 3). Both slides have a hint which is a multistate shape. No variables were used. Slides 4 and 5 show the used actions.

If you prefer to watch the rescalable version, use this link.


Workflow

Hint = multistate object

Both Hints on slides 2-3 are multistate objects. The normal state is the green text bubble, the second state ‘Void’ is completely empty:

On Enter Shared Action

The on Enter action has to perform 4 commands:
  • Hide the Hint shape
  • Wait for a number of seconds
  • Show the Hint shape
  • Apply an effect (I used an emphasize effect).

Only two items needed to be defined as parameters: the Hint shape itself (compulsory parameter) and the literal used for the Delay, to make it possible to have a variable delay if wanted. The Parameter dialog box will look like this:

TIP: although both slides 2 and 3 are pausing at 1,5secs (default pausing point), the command ‘Delay Next Actions by…. ‘ will NOT be paused, timer just continues. That behavior is a big advantage for this particular use case!

Advanced Action ArrowAct

It would have been possible to use a simple action in this case, but the advantage of an advanced action was that I could assign it in one workflow to all the arrows on this slide.

What is the purpose of the Continue command? An advanced action will not release the playhead automatically as is possible with a simple action. On slide 2 a Next button has been added, with a timeline starting after the pausing point of the Arrow shapes acting as buttons. Release of the playhead is necessary to make the Next button visible.

Advanced Action DragAct

Although the advantage of being able to assign the advanced action at once to all the object actions doesn’t exist (could have used a simple action), it was so easy to create a duplicate of the first action that I kept with an advanced action/

It has been assigned to the 4 possible Object Actions in that dialog box, which you find in the Properties panel for the Drop target, under the Format tab. 'Object Actions'.

Character Editing - part 2 (Interactive Video)

In a previous article I described the workflow to edit a Character (from Media) with Photoshop, without damaging the original image. In this interactive video you’ll see the workflow: an inserted character from the Illustrated category will change colors and be flipped. This very simple workflow is suited only for regions with solid colors. The next interactive video will show the workflow to change a color in a photographic image.

Watch this video:

If you prefer watching a rescalable project on any device, use this link: CharacterEditPhotoshop

I used Photoshop CC2019 as editor, but the workflow is pretty much the same in older versions.

Audio in Captivate - More Tips

Why?

Recently I answered several questions about Audio in Captivate.  Maybe they can be useful for other Captivate users, decided to write this short blog. Although personally I mostly use Adobe Audition to record and edit audio clips for Captivate, this blog will focus only on the Audio features within Captivate.

In the past I have posted several articles about audio. Some tweaks can be found in this one which I created with CP2017. Tips here were not yet published. 

Merging of Audio clips (slide audio)

For HMTL5 output audio (and video) has to be generated when entering a slide with audio. For long clips (to be avoided, better split up on more slides) that can take a while and could even lead to synchronizing problems. 

In the past (SWF output) I sometimes used Project audio, which was distributed over all the slides, using the Audtion roundtripping. This workflow should be avoided now, because that would mean that the full project audio has to be loaded on the first slide, which will lead to considerably long waiting time.

When inserting slide audio, the slide timeline duration  will be extended to the length of the audio timeline, when the audio duration is longer than the original slide duration. It will start on the first frame of the slide, and end on the last frame. As I read in forum questions like this it happens that the total number of audio clips seems to decrease. Reason is that Captivate ‘thinks’ that audio has been distributed over some slides, and merges those audio clips to one audio clip. This leads to a similar situation as with project audio: it takes a while before that longer clip is loaded and often synchronizing with appearance of slide items is screwed up. 

Here is a simple trick to avoid that merging: increase the slide duration a little bit, move the audio timeline on each slide, to have  small gap before and after the audio. Merging will no longer occur.

Copy/Paste Segment 

In this question user wanted to move a segment from one audio clip on a slide to another clip. Both were also slide audio, this trick will not work with other types of audio.

Opening an audio clip in the Editor, shows that you can select a segment, cut or copy it, then move the playhead and paste that segment in another location. However that is not possible between different audio clips.


My trick: choose Audio, Edit, Project instead of Slide. Even if you have gaps as recommended in the first tip, the whole project audio will open in the editor. You see the slide markers, can use now Copy or Cut for a selected segment, move to another slide and paste the segment there. Watch this short video:

Drawback: as you’ll have seen in the video, Closed Captioning will be turned off and you’ll have to edit them to cope with changes in audio clips.

Library and Audio

Some short tips, related to the Library, which is one of my favorite features in Captivate.
  • If you import audio, you choose best for the uncompressed WAV-format over MP3.  Only wav files can be edited. If you want to edit an imported MP3-file, Captivate has to expand that file to create a WAV file. You will see 2 files with different format in the LibraryAudio folder in that case. Do not worry about size of the WAV files, when published all WAV files will be compressed by Captivate to MP3, and you can set up the compression parameters.

  • When you edit an audio clip, the original clip will not disappear but a new clip will be generated. You can always get back to the original clip in the Library if something went wrong.

  • Want to use TTS to create audio clips to be used as object audio or with the Play Audio command? When generating the audio clip from slide notes or sentences in the TTS dialog box, it will be automatically inserted as slide audio and the slide duration will be increased to match the clip. Since the audio clip will also be in the Library, find it using the right-click menu and eventually rename the clip to make it recognizable. You can safely delete the slide audio, reset the slide duration to its original length. Drag the audio clip from the Library to an object for Object Audio. Use it with the Play Audio command, which presents you with a list of Library clips. 

  • As explained in this blog all assets in any project library can be used as external library in other projects. This is also the case for audio files of course.


Character editing - part 1

Why?

Yesterday a question appeared on the forums: ‘How to save in the Library the edits to Characters’. In this use case it was meant to save the flipped version of the Character. In the Library the original version will always be kept. Result: when you drag another instance of the character on a slide, it will not be flipped. Edits to the character, made with the Edit image functionalities will never be saved to the original image in the Library.

Characters folder

As you probably know, the downloaded characters are stored (for Windows) in Public Documents, under AdobeeLearning Assets. If you have multiple versions of Captivate, you’ll find a subfolder ‘Characters xx’ for each of the versions. Because of that location you are able to edit the characters even without Administrator rights. 

For each character in the folder you’ll have a Thumbnails and an Images subfolder. The Thumbnails show all what is available for that character, the Images only the downloaded image, both in a High and a Low version.  Although you can always choose for 3 ways of inserting a character: Full, Half and CloseUp, there is only one image in Low and High version, real images for those who were downloaded, placeholders for the others. 

When you insert a character in a Captivate project, it will appear on the stage and in the Library. The file showing up in the Library can be one of the 6 possible versions: High/Low in CloseUp, Half or Full version. 

Editing Characters

On the stage

You can edit the Character  on the stage with the set of editing possibilities provided by Captivate:

  • Resizing, flipping, rotating using the Options tab in the Properties panel (inspector). 
  • Using the Edit Image button in the Properties.  It is a limited set of editing functionality but could be sufficient in some circumstances. In this image you’ll see some edited instances of the same character.

This workflow will not change the original image in the Library. However if you need to use the same edited image multiple times, you’ll have to use the copy/paste workflow. The editing is not saved in the Library.

In the Library

Eidting on the stage will keep the original image save. If you want to reuse the edited image multiple times in your course it can be a good idea to use the ‘Edit with….’ option on the image in the Library. You have to be careful not to change the original image as it is stored on your system. 

Do NOT Rename

Renaming the image in the Library is not a solution: when using Edit with… the original name will appear in the editing application. Have a look at these screenshots: renamed the image in the Library, opened it in Photoshop with ‘Edit with…’ and you’ll see the original name in PS.

If you save it that way that particular instance of the image will be changed also for future project. Bit confusing, but the other 5 instances remain untouched. In this example I edited the Low, Half version of Sarah01 (Illustrated category). As you can see in this screenshot, the other instances keep their original look, although you’ll find only one image for Low on your system.

Do Duplicate

What is the correct way to preserve the original image? You have to duplicate the image in the Library and edit the duplicate. You can see the result on this screenshot for the Sticky Woman, low resolution, Half instance:

Roundtripping in Photoshop with the duplicate image is not happening the first time as you are used to for normal images. It will get a generic name in PS, and you’ll have to export it to a PNG file, to a wanted location after the first editing. Later on roundtripping will happen in the usual way. I will show the workflow step-by-step in a future interactive video.

Multiple edited characters

If I need multiple edited characters in a course, to be reused over and over again I would prefer to create a layered Photoshop file and use the Import functionality. You did see that I created an extra folder for Characters under the Images folder in the Library in the last screenshot. With an Imported PS file that would be unnecessary.  Do not forget that it is always possible to use edited characters in the Library in any other project, by using the External Library workflow.

How?

Watch this interactive video to see how you can realize the simple edits I showed in the screenshots in this blog.   You ‘ll also get an interactive video explaining the creation and use of an imported Photoshop source file. This post was meant as an introduction.

Responsive Projects: Object styles

Intro

This is the last blog in a sequence of 3. In the first article I explained meaning of Object Styles when creating a custom theme, terminology and how to create a custom object style based on an example on the stage.

The second post explored in depth the Object Style Manager, for creation and management of Object Styles.

In this last article the focus is on Responsive projects: tips and tricks to keep in mind for Object Styles in a responsive theme. Since CP2017 Captivate offers two workflows for responsive projects: first is using Fluid Boxes, second older using Breakpoint Views. Tips will be specific for each of those workflows. If you want to re-read the advantages/limitations of both workflows, may I recommend reading this post. I also mention the workflow of  Rescalable HTML project as alternative for responsive projects.

Fluid Boxes project

For such a project I recommend to use real fluid boxes whenever possible. It is the only way of having a real fluid layout. If you demote (use that negative word on purpose) a Fluid box to a static fluid box to circumvent some limitations like stacking of objects, you lose the real fluidity and the layout can look very weird on smaller browser resolutions.  A static fluid box keeps the width/height ratio, and that may cripple other real fluid boxes on the slide, even when you control the exact position.

Objects not allowed in normal Fluid Boxes

What are the limitations of real fluid boxes? Many objects cannot be used. For the Object styles, that means you don’t have to bother about styling those objects. They all are in the category of the Standard objects:


  • Highlight Box cannot be used because it is meant to be stacked over the object to want to highlight. If outer fill is selected, it is covering up the rest of the slide which is breaking the stack rule..
  • Rollovers are not possible in any fluid box (not even in a static fluid box): Rollover Area, Rollover Slidelet, Slidelet.

  • Zoom object cannot be used for the same stacking rule: Zoom Source and Zoom Destination

Font size in Fluid Boxes

The font size which you define in the Object style, will be used for the highest browser resolution. In the default setup, it is indicated as Desktop (default = 1024x627px). If you have set up a higher resolution for the desktop, maybe for a 1280px wide resolution, you could prefer a slightly larger font size.

No need to bother about the other browser resolutions. After publishing fonts will decrease in size smoothly until the minimum font size is reached. At that moment the famous ‘icon’ will appear to indicating text doesn’t fit in the available text container (shape or caption). Just one tip: set the minimum font size to 10p if you expect to have learners on small browser resolutions.

Breakpoints

To have complete control over the layout in different resolutions, you need to switch to Breakpoint mode workflow, using an option in the Project menu.

Objects not allowed in Breakpoints

All objects allowed for HTML output can be used in Breakpoint mode.  When you check the HTML5 tracker under Project menu, you’ll see warnings about unsupported items like Slide transitions, Text animations. The warning also points to Rollover objects. However they will be functional on desktop/laptop screens when a trackpad or a mouse is used. On Mobile screens, the rollovers will not be functional. I would not recommend to use the Rollover slidelet because it is no longer actively supported and can be buggy.

Font size in Breakpoints

In a Breakpoint views project, the font size will not decrease smoothly when you decrease the resolution of the browser. You have to set up the font size for all the Breakpoints you want to use in your project: from 3 (minimum) to 5 (maximum). Between those breakpoints the font size will remain fixed, equal to the setup for the  higher of the two breakpoints the browser resolution is situation: you’ll keep the font size of the Desktop view until the resolution of the landscape Tablet (if you activated it) or the Portrait Tablet is reached.

It is no secret that the Adobe team is promoting the Fluid Boxes workflow over the Breakpoints (which mean more work but offer more control to the developer). For that reason, there are no real Breakpoint views themes packaged with Captivate 11 (CP2019) anymore. A responsive project will always start with a Fluid Boxes, where you can use a packaged or custom theme. When switching to Breakpoints that theme loses all fluid boxes, but the object styles for fonts are not changed: all breakpoint views keep the same font size which is the maximum font size set up for Desktop (or higher Custom size) in the Fluid Boxes.

This is a situation where I use the Object Style Manager to start with the tedious work, eventually to be edited later on while designing the master slides. The OSM will now have a dropdown list for the activated Breakpoints, whenever font size is needed. That is the case for the Captions and Shapes under Standard Objects and for most of the Quizzing Objects. Of course, you don’t have to bother about Captions if you only use shapes and vice versa. Look at this screenshot, for the Title shape, common style in most themes:

When you check the font size for the 4 Breakpoints below the Desktop, you’ll see that the size is fixed. You need to decrease the size gradually. Minimum font size is 10pt. It is a bit guessing at the start to find a good distribution between the maximum and that minimum font size (which is for Mobile Portrait). My workflow:

  • I look for the smallest used font size on Desktop, that will have to be 10pt for the Mobile Portrait.

  • Once you have chosen Mobile Portrait in the dropdown list, that resolution will remain for the other styles until you change again. Edit all mobile font sizes at once, related to that smallest size.

  • Landscape Tablet doesn’t have to be much smaller than Desktop, unless you use a really big resolution for the desktop breakpoint. So I’ll set up all the font sizes for that breakpoint.

  • etc.

Here is a check list of the objects I usually edit. Know that I never use captions, only shapes as text containers. As for the buttons, only shapes and transparent buttons (compulsory for quiz slides) are used.  They appear in the same sequence as in the OSM.

  • Buttons: I edit the style(s) for the Transparent button and for the Quiz button here (both will also appear for Buttons in the Quizzing category)
  • Text Entry Box: edit only one style which I set as default style.
  • Text Entry Box button switch to Transparent button whose default style has already been edited
  • Smart Shape: for use as text container.
  • Title: often start with 16p for the lowest breakpoint
  • Subtitle: often start with 14p for the lowest breakpoint
  • Success/Failure/Hint Shape: all need same font sizes. Beware some included themes use same style (Success), you’ll want different styles but with same font size in breakpoints.
  • Quizzing Partial Correct Shape: all other shapes use a default style which has been edited under the Standard objects.
  • Quizzing Progress indicator
  • Quizzing Review Area: is only used on the score slide to store the text about passing/failing
  • Short Answer

IMPORTANT:  Do not forget to save the theme when you have finished. Indicate clearly that it is a Breakpoint Views theme. That way you will be able to apply the theme when you have converted another project to a Breakpoint views workflow. If you change the design a lot throughout , it may be worthwhile to create a Blank project with edited font sizes for Breakpoint Views projects.

If you do use Breakpoint views because you have learners using a lot of devices and want to have a simple look for the smallest screens instead of having the same layout fluidized, please log feature requests. It should be possible to choose which workflow to prefer when creating a responsive project: Breakpoints or Fluid Boxes. Fluid Boxes should not be imposed by default  as is the case at this moment in CP2019.

Manage the Object Style Manager!


Copy/Paste Appearance, new feature in version 11.5: how does it fit with Object styles? Have a look at this post:

Copy/Paste Appearance

Intro

In a first introductory post I explained the importance of Object Styles in any Theme, the terminology and how you can create a custom style based from example object (created on a normal slide). In that article I already posted some screenshots taken from the Object Style manager, but didn’t really provide an in-depth explanation of that window.  Do you need to use it? Read this blog if you want to know the answer to that question.

Object Style Manager

You can open the OSM directly from the Welcome screen, without opening any project. The option is available under the Edit menu, or by using the shortcut key SHIFT-F7. Similar to Preferences, which can also be opened from that location (SHIFT-F8) any changes made that way to object styles are global changes, which means they will be applied to all future projects. If you open the OSM within a project, the changes will be applied only to that project. Of course, since Object Styles are part of a theme, if you save the customized theme you can applied it later to any other project as well.

There are some alternatives to open the OSM:

  • In Preferences, Defaults you can set up some General items like slide duration, color of guides … but also the default duration of a bunch of object types. You’ll get a hyperlink to the object style which is the Default style, which will open the OSM. In this screenshot you see this for the Highlight box; where the default style is the Blue Highlight box.:
  • Under Preferences, Recording you can set up the styles used during the creation of software simulations. You also find a button ‘Create new Style’ which will open the OSM.
The Object Style Manager has 2 main categories: all Quizzing objects/styles are in the second  category “Quizzing Objects”, the other objects/Styles in the first category “Standard Objects”. The triangle button is as usual meant to expand a category or a subcategory. There is one special object ‘runtime dialog box’.  Selecting an object in the top left part will show to the right to available styles for that object, and in the second half of the dialog box all the elements of the style. Down left you see a small ‘preview’ which is not always very WYSIWYG. These are the parts of the OSM dialog box. 
  1. Objects: I have selected the Quiz button ‘Submit’ in the screenshot. 

  2. Styles: a button has 4 InBuilt states, but only 3 are included in the style (Visited is missing). I selected the Normal state for the button. This is the default style, but you are free to choose one of the other styles in the list, and you could set it to be the default as well.  You can add a custom style (Clone button is highlighted in yellow) by duplicating an existing style and reformatting it. However it is not possible to have a shape button for this quiz button, because there is no original shape button style available in the style list. 

  3. Components: shows all the components of the style. In this case that is the Button type (here Transparent button, you can change to Text button or Image button), the formatting of the text (font, font size, attribute, faux attribute, color) and Fill/stroke settings for this button. If you switch to a Text or Image button, that will be a lot more limited.  The label on the button is not part of the style, you can only change it after insertion on the slide in the Properties panel.

  4. Under the Objects window you see a Preview. To be able to see it, the default Label ‘Submit’ is used here.

  5. At the bottom you find two buttons Import which allows to import styles that have been exported. The Export button has options which I expanded. The resulting file will have the extension cps.

Workflows

Creating a Custom Object Style

In the first post I explained how to create a custom style based from an example on the stage. Alternative is to create it  in the OSM, That workflow is the only way create Global styles (before opening any project).  The step-by-step workflow to create a custom Highlight Box will be used as an example. 
  • In the creation of a theme you  use only colors from the Theme Colors palette (step 1 for a custom theme). It is not possible to change the default theme, nor the color palette from the welcome screen (for global changes). That choice is missing in the Preferences. For that reason, you need to have the proper theme set as default theme, have the correct Theme Colors palette applied to it. For the example workflow here I set Windswept (packaged with CP2019) as default theme, and kept the custom Color palette linked with that theme. That color palette looks like  in this screenshot (only the main colors):
    The bright red (color 6) would be excellent as stroke color for the custom Highlight Box.

  • In the Object Style Manager, I find the object ‘Highlight Box’ in the category Standard Objects.  This object has 6 default styles. The first labeled ‘…Blue’ is set as default style, but nothing is blue :).  In some other themes this highlight box has a light blue stroke. That is not the case in the Windswept theme, because backgrounds are mostly blue: stroke is white; fill is also white but with opacity = 20%. There is no transition. 
    I expanded the style (with the triangle) and it shows two states: Normal and Rollover. For highlight boxes however the Rollover state is not functional (yet). Same styles can be used for Rollover area (and Zoom area), where a defined Rollover state will be visible. For the Highlight box we focus on the Normal state only.

  • Although I could edit this default style, I prefer to create a style with a more meaningful name. Use the Clone button to create a new style, and rename it to RedHighlight. In the screenshot see the changes. The color dialog box will always show the Theme Colors panel (highlighted first button) since we start from an existing Theme:
    Stroke width is increased to 3px, the option 'Fill Outer Area' is checked and set (visible in the Preview) to a 20% dark gray from the tints in the Theme Colors palette.

  • If you want this custom style to be used whenever a highlight box is inserted, check the option ‘Set as Default’. The Style will get marked in bold (Style box). You still have the previous 5 styles available to be used manually.

Tip: Same styles are also available for Zoom area and for Rollover Area, as well as  the new custom style, which will however not be the default style for those objects. 

Promoting style to Default style

In the screenshot Default styles are indicated by the Bold attribute. You can change that default style using the checkbox ‘Set as Default’ which was my action for the new custom style. Be sure to put the style you suppose  to use most as Default style. I often see themes where a lot of new custom styles are created, either on the stage from example, or by cloning an existing style, but the original styles are left as default styles. Themes are meant to save time, not to increase the amount of work by having to change the styles for individual objects. 

No panic needed when you forgot to save the theme under a custom name, but have edited a default packaged theme. You can always re-install the original themes from the original Gallery/Layouts folder to the duplicate folder in Public documents (Windows).

Promotion to default style can be done globally (as above) or project-based within an open project.

Cleaning up Styles

No one likes cleaning up! Sometimes the Styles list can become very long, and there is no way to rearrange its sequence (to have the most used styles on top). 

When a style is selected in the Style box, the Delete button will become active(look at the last screenshot where the RedHighlight is selected as style). Don’t hesitate to delete what you’ll never use. That may be default styles from the original theme as well (you did see how to restore the theme above).  

It is not possible to delete states (as for the Highlight box, where the Rollover state is unused), nor objects. You always have to keep at least one style for each object, and that will be the default style. If you try to delete a custom default style, you will be asked which style you’ll prefer to use as default style before the style is deleted.

When do I use OSM?

To check style components

OSM is the only place where you can see exactly what is included in an object style. That was the reason I mentioned it in my first post, and showed screenshots of different types of Objects. Remember: sometimes the Transition of an object is included, which is not to be found in the Properties panel, but in the Timing Properties panel. 

Set a global object style

One example: I don’t like the default Highlight Box style, which is too ‘bland’. The line is very thin, light blue, with an inner light fill (20% Alpha). I prefer to have a striking color, from the Theme Colors palette, wider stroke and have the outer area dimmed by another semi-transparent color of the Theme Colors palette. I always create that palette before starting with the Object Styles. You have to apply the color palette to the default theme. Before opening a project I will create this global style and set it as default style.  

Change Font for all styles

If the company has a style sheet,it will often include one or more specific fonts. There is no quick way to replace the used font in the theme (often Trebuchet in CP2019's packaged themes) by a company font. In that case I use the OSM and browse through all objects using text. Captions and Shapes do need the change, but if you only use Shapes as text containers, you can of course skip the Captions.  Some other objects use text as well: buttons, TEB’s, and quite a lot of Quizzing objects. Some styles with text will appear both under Standard Objects and Quizzing objects. 

Beware: if you use Learning Interactions, do not forget that they do not ‘obey’ to the OSM! You will have to change the fonts there as well. Some interactions offer the possibility to switch to the Theme Colors, but that is not available for other components of styles.

What is different for Responsive projects?

In a last post I will specify what is different in Responsive projects, both for object styles and the Object Style manager. Both workflows: Fluid Boxes and Breakpoint Views will be treated in that third article.

Theme mysteries?

Why?

This short blog is meant for newbies,  and is (again) due to what I hear/read on the forums, during (intermediate) training and consultancy job. Recently I tried to answer users in two threads concerning themes:

Change color in theme

Main Master Slide

The last one reports a serious bug in the Help documentation, the first one is more a lack in that documentation. It is a pity that the Help is not something you can cout on, a problem which is not new at all.  I started blogging about 10 years ago because of lacks and bugs in the Help.  An “amazing application which is Adobe Captivate” (a quote of a fellow ACP who is not present in this portal) deserves better!

I’ll try to answer those two questions here, and offer extra tips for Themes..

1. Theme Colors

Editing or developing a theme start with the colors which will be used consistently in that theme.  Each theme  packaged with Captivate  has a Theme Colors palette which is labeled with the same name as the theme.  As described in an old post, that palette has 10 colors + 5 extra tints for each color. It is always available in the Color Dialog box as first button, A well designed theme will use only those colors: backgrounds, fill and stroke colors, font color etc. Most Learning interactions have a button to apply the Theme Colors as well.

If you want to change one color in the palette, as asked in the mentioned forum thread:

  • Rename te original theme (see screenshot: orignal was WindSwept, I renamed to MyWind) in the box with the Palette
  • Click the Customize button: the 10 colors will appear in a dialog box.
  • Click the color you want to change, you can use the Swatches palette, or the Color Wheel (where you can type in the hexadecimal code of the color or the RGB numbers).
  • When finished, confirm using the Save button

Warning!

I already mentioned that the theme has to be well designed, only theme colors should have been used (is not always the case). Moreover no object style can be overridden (+ sign in the Style field) because for those the style will not change.

Another problem are the backgrounds. In the screenshot you see one of Captivate’s default themes, using several bluish colors (first three in the palette).  Those colors appear also in the backgrounds of several master slides: Title slide, Blank slide, etc You’ll find those backgrounds in the Library as…. images! That means they will not change automatically when ou change one of those bluish colors. That will only happen for the colors when they are used in object styles: fill of a shape, stroke of a shape etc….

As I wrote already multiple times: do not rely on names of the colors, they nave no meaning. In the theme mentioned above, the first color (Title) is never used for any title.

2. Main and other Master Slides

User did read this in the Help documentation, quote

The main master slide is the first slide in the Master Slide panel. The name of this slide is the same as the name of the theme. Objects and background color of this master slide appear on all other master slides. Each theme has one main master slide.”

This is indeed not fully correct, text obviously was never upgraded since version….6. First, second and last sentences are OK, but not the one with the bold text.

2.1 Color Main Master Slide

Have a look at this screenshot, where I show the Master Slide panel in front of the Main Master slide:

The name of the main master slide is indeed the name of the Theme (it is a custom theme based on WindSwept). The main master slide has a solid white color as background. There is NO global project background, the used background is ‘Custom’, and that means that you can have a solid color, a gradient, or a custom image/texture. Those are the same options as for a shape fill.

You will see that the label is not appearing in the Properties panel. You can add a label but it will be added to the original name (MyWindSwept), not replace it.

None of the daughter master slides has the white color as background. It may not be very clear, but Content02, Conter07, Conclusion and the Quizzing Master slides also have a solid color background, however it is light grey, not white. All master slides in this theme  use a  ‘Custom’ Background. Look at the Properties of the MyContent master slide

You see that the Background is Custom, which means that the color of the Main Master slide is not inherited. In this case the background is fille with an image from the Library.

To inherit the color of the Main Master slide background, the Background has to be set to ‘Master Slide Background’. Here is a screenshot of the Pearl theme (default theme if you didn’t change it), which has originally a gray scale Color palette. I changed the background of the Master Slide (which is also set to Custom) to a Solid color, light green. You see here the Properties panel of the Title master slide, which inherited that color. It could also have been a gradient or even an image/texture, would have been inherited as well for master slides set to ‘Master Slide Background’.

Conclusion

Summarizing about background color main master slide::

  1. Project Background is always an image which can be imported from the Library or from another location.

  2. Master Slide: where it will inherit the background of the Main Master slide. That can be the Project Background or a Custom Background (solid color, gradient, image/texture). It if is the Project Background, the result of ‘Master Slide’ and ‘Project Background’ is the same for a daughter master slide.

  3. Custom: which can be a solid color, a gradient or an image/texture.

It is clear that this sentence in the  Help text ‘background color of this main master slide appear on all other master slides’   is iwrong.

Warning: identical to the one under Theme Colors. If you use images as background, you’ll have to edit them separately when changing the Theme Colors palette, their colors will not change automatically.

2.2 Objects on Main Master slide

In the first screenshot you see two system variables on the main master slide: at bottom left the name of the author, bottom right the slide number. Those objects are not part of the background, since they have to be generated on runtime.  You could also have shape button (like a Next button) on the main master slide.

They will be inherited on master slides, which have the option ‘Show Main Master Slide Objects’ checked off. In the screenshot of the master slide ‘MyContent’ you see those objects appearing, and the option (highlighted) is checked. On the contrary, the Title master slide for that same theme is not showing those objects:

Usually in the packaged Captivate themes both Title master slide and Blank master slide will not show the Main Master slide objects. Quizzing master slides can show them, but in many instances it would be better to turn them off. Be careful with the Blank master slide: it is meant to be used for PPT import, and for Software simulations.  It is not recommended to have extra main master slides on them.  In the WindSwept theme the Blank master slide has an custom image background, which is very strange, not at all the case in most themes.

Conclusion: 

About the objects on the main master slide, the Help text “Objects …. of this master slide appear on all other master slides” is wrong.

Themes and project types

Be careful when editing/creating themes because you have 3 different types of projects and you need a theme of that type:

  • A non-responsive theme cannot be used for responsive projects with Fluid Boxes, nor for responsive projects with Breakpoint Views.

  • A responsive theme with fluid boxes (as are most included themes in Captivate, can be used for a non-responsive project, the fluid boxes will be ignored. However be careful: if you edit that theme and save it, you’ll not be able to use it for a responsive project anymore.

  • A responsive theme with Breakpoint views is not included with Captivate. You need to check  at least the object styles where text is used, because they need a font size for each breakpoint. You can use it for a non-responsive project, with the same restriction as above when saving the theme.

Some more links for Themes:

Themes and Templates

Fluid-boxes and master slides

Fluid Quiz Slides

Editing/Repairing Themes

Object Styles in Themes


Object Styles in a Theme

Intro

A while ago I posted a blog comparing the use of a Theme for consistent design of a project, with the older Template workflow (which is buggy in the recent versions):

What's in a Theme/Template?

I always start any project by the  creation of  a custom theme, starting mostly from the Blank theme (has the minimum amount of master slides needed for a theme). More recently I offered some tips in Themes Q&A

Due to my past as civil engineer, I see a theme as the structure of a building :

  1. Theme colors palette (see Theme Colors) is the foundation. Palette is independent on type of theme: whether iit is non-responsive, responsive with fluid boxes or with breakpoint views.
  2. Object styles, the topic of this blog are the pillars (vertical structural elements). For Breakpoint views you need slightly different styles for objects containing text.
  3. Master slides are the beams (horizontal structural elements). As in a building there is a lot of interaction between beams and pillars, together they are the structure You will often going back and forth with object styles while creating the master slides. Master slides depend on type of theme.
  4. Can be considered as optional: Recording defaults and Skin, depending on the project if you need them

Now you are ready to complete the building by filling in the walls, floors…. In Captivate we call them slides.and objects.

Captivate’s Object Styles

Contrary to a word processor, Captivate has no Text styles as you know from MS Word:   a bunch of paragraph styles (includes leading, space before and after paragraph, indents, bullets….) and word/character styles. I will post a future blog about the Object Style Manager where you’ll find all object styles used in Captivate’s themes. This blog will show some screenshots taken from the OSM, because you can see what is included in each style:

  • Caption style: includes indeed the font, font size, eventually attributes (bold, italic, light), font color and leading, alignment but also the type of caption, margins within the caption, and the transition type. In the themes packaged with Captivate the caption type is mostly set to transparent, but that was not always the case in older versions and doesn’t need to be always transparent. It comes closes to what you know as text styles, but still... transition is unknown in MS Word..
  • Text Entry Box style: has the formatting of the text but also the Fill (color and transparency) and Transition setting. You cannot edit the stroke, not included.
  • Button style: is more complicated, includes formatting of 3 Inbuilt states (Visited, 4th state is not included).  In the screenshot, which shows a so-called 'Default style' (see later)  you see that when you insert a button (Interactions, Button) in these settings a Transparent button will be inserted. For each state  the text formatting of the label is defined (in case of a Text or a Transparent, button. That setting will not appear for an Image button which cannot have a label. For the transparent button , style includes also the fill (here a gradient, with full opacity), stroke (color, width and style) and the corner radius. Formatting for the two other types is much more limited.
  • Smart Shape style: the most versatile object in Captivate can be a text container, hence the text formatting similar to captions. SInce it can also be used as a button, you can define the formatting of  the same InBuilt states as for the Transparent button. The corner radius is missing  You can choose a rounded rectangle as start for a shape button, and it has a yellow handle to edit the corner radius.

Terminology

It seems useful to list up some important terms concerning Captivate's Object Styles:

Default Style: Previous screenshots showed styles set as ‘Default style’. The checkbox to mark a style as default,  is automatically dimmed in that case.  When you insert an object of that type, it will automatically be inserted with that default style. The other styles, not marked as default style, can be used but you’ll have to change them manually after inserting the object. Here is an OSM  screenshot showing the presence of 3 possible TEB styles. In a previous screenshot I had the Yellow Fill set as default style, this is one of the other styles that can be used:

Overridden Style: If you edit some formatting after inserting an object with its default or manually changed style on the stage, a + sign will precede the style name as you can see in this screenshot (I changed the transparency of the fill and the font size). This is labeled as an ‘overridden style’.

Using overridden styles is considered bad practice in any style-based application. Why? It means that if you have to make changes later on, this object will not be touched anymore. Maybe your client/boss wants to have another font for the TEB? If this is the only TEB in the course, you can find it and edit this TEB in place, thus creating an overridden style. When dealing with more TEB’s it is much easier to edit the object style itself (see later). The edited style will be applied automatically to all TEB’s in the course, exception are those with an overridden style.

Style menu in Properties panel : many sections in the Properties panel have a so-called ‘hamburger’ (or hotdog) menu button. The Styles part has such a mneu button. In this screenshot you see the style menu expanded for theTEB with the overridden style (previous screenshot). You  can choose to create a New style (if I want to keep the default style for later to be inserted TEB’s) or Save the changes to the existing style if you want all the TEB’s in this project to have this edited style. There is also a Reset Style to revert to the original style in this menu.

The option Apply this style to…. is a bit confusing for this situation. Suppose you have another TEB using the Default TEB Blue Fill Style you can use ‘Apply this Style to all objects with Style Default TEB Blue Fill, but it will be the original Yellow style that will be applied, not the overridden style. I would prefer to save first the edited Yellow style.

Creation of a Custom Style

You can create a style in the Object Style Manager, as I will explain in a later blog,  but it is easier to use the ‘from example’ workflow. Step-by-step:

  1. Have a quick look at the Object Style Manager to see what is included in the style for your object type. I showed several screenshots above. It is not always clear from the Properties panel which features are included in the style. Example: Transition is included in some styles, not visible in the Properties panel but in the Timing Properties panel.

  2. Insert an object of that type on the stage. It will be inserted with the style set as Default style.

  3. Edit the features which you detected under 1. until you have the wanted look. That is easier to verify on the stage than with the tiny Preview window in the OSM..  Do not forget the states (Normal, Rollover, Down) for interactive objects. The style field (Properties) will show the +sign to indicate the overridden default style.

  4. Open the Style menu (hamburger) and choose the option ‘Create New Style’

  5. Give the style a significant name and confirm with OK

The style will appear in the Object Style Manager. But you don’t have to use the OSM for these actions

  • Set the style as Default style: is possible from the same Style Menu. Beware: for the example of the shape button, I would not set this as the default style because all shapes would take on that style. Really hope that we can have a default shape button style which is different from the default smart shape style in a future release.

  • Apply this style for all objects with a specific style. This is a workaround I sometimes use: for shape buttons I don’t use the default smart shape style, but one of the other styles (like a hint shape style if I don’t use it in the project) as long as I am not sure about the wanted button style. When I decide to create the definite style for all shape buttons, I can use the Apply this style to replace all those ‘hint’ shape styles by the new shape button style.

This problem only exists for shape buttons. Most other object types are not used for two different goals.

If you want to include features which are not part of the style in a quick way, use the duplicate functionality (CTRL-D). It will keep not only the same style in the copy, but all features, including eventually attached advanced actions.

Third element of your theme (structure) will be the master slides. Advantage of defining object styles before the master slides is that the inserted objects on the master slides will have the new default styles. That can save time.  Just one example: if you use shape buttons on master slides, you will not be able to use 'from example' workflow to create a style for those shape buttons. Reason: the State view cannot be opened when on a master slide, and you need to set up the states. For object styles with a Transition feature, you'll not be able to define them on the master slides neither, because you miss the Timing Properties panel for them.



Shared or Advanced? Use case: Hide/show custom navigation

Why this use case?

I have been writing multiple articles about Shared actions (and Advanced actions), have presented webinars, trained developers.. Someone even labeled me as ‘Empress of Shared Actions’ but I still see this feature ignored by the big majority of even advanced Captivate users.  I will create a list of resources in another blog for those who want to learn more about them. This short showcase is an answer to a question posted recently in the portal. A typical use case for shared, actions, but the user tried to do it with one Advanced action. Since I couldn’t ask him for permission to use his question (being European I am respectful of his privacy), I will not point to the thread but explain the use case:
  • The navigation in the course is not accomplished by a default playbar but by custom navigation buttons. To make it simple, I will use only three buttons in my example: SB_Next,  SB_Back and SB_Home.

  • On some slides the navigation buttons have to be hidden, maybe because  dedicated buttons will appear at the end of the slide, thus forcing viewing the slide.

  • Because of that request, it is not possible to have the shape buttons on the master slide because they wouldn’t have an ID, which means you cannot control their visibility.

  • The Shape buttons have to be on the first slide, Timed for the rest of the project, always on top. This is only possible with shape buttons not with the three old types of buttons. Beware: if you use a responsive project developed with Fluid Boxes, objects timed for the rest of the project are not allowed.

One Advanced Action? Possible but tricky

The user proposed a solution where the value of the system variable cpInfoCurrentSlide was checked, and based on that number the buttons would be hidden or shown.  One great advantage of this system variable: the index starts with 1, which is exceptional because all the other incrementing system variables start with 0. Hence the Expression needed to restart a slide from its first frame (index of cpCmndGotoSldie starts with 0):

Expression  cpCmndGotoSlide = cpInfoCurrentSlide – 1

To make the use case specific: if I have  50  slides, and I want to hide the buttons on slides 5, 10, 15, 20, 25, 30, 35, 40 and 45 that could be done with one Advanced action like this:

IF cpInfoCurrentSlide is equal to 5     OR
    cpInfoCurrentSlide is equal to 10   OR
    cpInfoCurrentSlide is equal to 15   OR
    cpInfoCurrentSlide is equal to 20   OR
    cpInfoCurrentSlide is equal to 25   OR
    cpInfoCurrentSlide is equal to 30   OR
    cpInfoCurrentSlide is equal to 35   OR
    cpInfoCurrentSlide is equal to 40   OR
    cpInfoCurrentSlide is equal to 45   

  Hide Gr_Buttons
  Continue

ELSE

  Show Gr_Buttons
  Continue

You see that I grouped the three buttons in Gr_Buttons, contrary to the user who had several Hide commands.

Whiy is this tricky?  First of all, if you change the sequence of slides, add or delete slides, you’ll have to check the advanced action and change the literals (slide numbers). Moreover this long condition has to be attached On Enter for each slide, has to be evaluated on each slide, I don’t like that type of long conditions.  If you need to use this action for another course, you have to edit the condition, take into account the number of slides where you have to hide, and the exact slide numbers. Copying an advanced action from one course to another course is always a pain if the action is attached to a slide event, which is the case here .

Shared action

I have already blogged a lot about the advantages of shared actions. The action I designed for this use case, may seem bit complicated but it needed a lot of testing and understanding of the use of parameters which are literals. You can have a look at this published file. There is no content on the slides, I just indicated in the title if the buttons had to be visible or invisible. The used master slides is different as well. Reason: when you hide all buttons, there is no pausing point on the slide anymore. That is the reason why I added a transparent shape button covering the slide, and the mention ‘Click the slide to go to the next slide. A shape with two variables is inserted to follow the changes

I used three variables in this action:

  • v_show: has a default value of 1, because in the default setting the buttons are visible. This value is the only non-compulsory parameter, can be changed to 0 if the buttons have to be hidden.
  • v_visib: one of my popular variables which I import with a shared action as described in my recent post.
  • v_null: because I had to avoid double use of the literal 0, I used this variable with a default value of 0, it is also described in the same post.

The only variable that will be changed is the first one, you don’t have to bother about the other two variables.

The Shared Action, filled in with the two parameters looks in the Preview window as follows:


You have to add this shared action On Enter for each slide. This cannot be done for all slides at once. I’m sorry, but you always have to define the Button group as parameter, my request to be able to promote a non-variable/literal to the status of being always the same is not yet heard. The other parameter (value of v_show) has to be 0 for the slides where the buttons have to be hidden, and 1 for those where you want them visible. Here is an example for a slide where they have to be invisible.

In the Library you can check the usage of the action, 10 instances were used:


Extra

As a gift for 2019 you can grab this shared action:

NavShowHide

Import it into your course, the variables will be created automatically. You have to create only what you want to hide/show on the slides, group those objects and name them. Now you are ready to use that action On Enter for each slide. The group to be hidden/shown can have any objects, not only buttons. It is only necessary, that the group is displayed for the rest of the project.

Developing this shared action took a lot of exploring and testing because of two reasons:

  • If you use a lot of literals you have to choose carefully which one can be come a parameter to avoid issues with the action. That is very important if the same literal is used in multiple decisions. It led to my choice of having an empty variable. This kind of problem never happens for advanced actions. You need a different mindset, but that is of course my personal opinion based on lot of testing since shared actions appeared years ago.

  • Sequence is very important in any action, same as for advanced actions. Lot of consultancy jobs where I had to debug actions were due to ignoring this, combined with the typical behavior that you cannot break out of an advanced/shared action as is possible with programming languages.

I would like to explain this in depth, but not with a blog post. A webinar/training or live presentation is the only way to get this done. I expect this to remain a daydream…. very frustrating.