Tips for troubleshooting

Intro

Quite a while ago i created this blog post, explaining how to restore some customisation after having cleared the Preferences:
Keep your Customisation!

That blog is still fully valid for the most recent versions. This one offers some additional tips which still seem to be unknown to many. I deducted this from my daily visits to the Adobe forum and the eLearning community. Often you see these recommendations, to solve a possible corruption:

  • Clear the cache, but be careful because the cache of a recent project can be used as backup
  • Clean the Preferences

I will not repeat how to do both – you’ll find that easily –  but want to offer some less-known tips. Even though some of those tips are over a decade old (will refer to the original authors).

Cache

You don’t need admin rights on Captivate for cleaning the cache. The cache folder is used to speed up the opening of existing projects and should be on your system, never on a networked drive. It can grow very quickly, if you are short on disk space take the time to clear it regularly.

Clearing the complete Cache is easy: use the button ‘Clear cache’ in Preferences, General settings. But:

  • If you do this from the Welcome screen, all cache folders will be deleted.
  • If you do it when one or more projects are opened, the cache folders of the opened projects will not be deleted.

That could be a way to preserve those caches for eventual backups.

However it is less known that the team provided an AIR application (in 2010) to delete selectively cache folders, based on the name of the projects (instead of the cryptic generic names used in the cache folder). The blog announcing this app is still available, the app is labeled ‘dCache‘ and can still be downloaded:

New utility for deleting Adobe Captivate project cache folders – eLearning

Yesterday a user asked if it would still be functional after the demise of Flash Player. This is due to a common confusion between the authoring tool Flash Builder (now renamed to Animate) and the Flash player needed to play SWF output. AIR application can be built with Animate and do not need the Flash Player. I double-checked it with version 11.5, all works as expected. Look at its UI.

The cache folders of all the projects since previous clearing are shown. The one which is dimmed (blue rectangle) means that it is open in Captivate. I have checked two caches (red rectangle) which I can now clear using the Clear button. It is very simple, but avoids having to search for the folder linked with a project.

Preferences

To clean the Preferences you need admin rights for Captivate. You find two clean options under the ‘utils’ subfolder in Captivate’s installation folder. Run the file appropriate for your OS.

Doing that you are deleting a folder in your profile.  I am on Windows and that folder is under AppDataLocalAdobe and it is named ‘Captivate 11.5’ (for the most recent release). When deleting that folder (can also be done manually) Captivate needs to be closed. A fresh copy of the folder will be restored when you restart Captivate. Do not import the previous Preferences, because they may have been corrupted, reason why you cleaned them.

Problem with deleting that folder is that you lose some customization, because they are stored in that folder. Have a look at the structure of the folder ‘Captivate 11.5’ in my profile:

I have marked the most important subfolders with customized items:

  • objects: will store saved custom shapes
  • PhotoshopTextEffects:  custom Text Effects
  • Themes: I never use a custom theme in this folder, but maybe you did.
  • Workspace: custom workspaces if you are working in the Expert UI. The default UI is the Newbie UI (has big buttons for Library and Properties next to the Assets button).

If you want to keep some custom items, make a backup before cleaning the Preferences. You can move the backup back to the subfolders (in AppData) after cleaning. Personally I always keep the workspaces stored somewhere if I need to reset them because Preferences needed cleaning. It saves time. I always store the custom Themes with the projects, not in the subfolder of the Preferences.

What cannot be restored is the choice for the Expert UI. You will have to repeat that workflow, by activating the option ‘Enable custom workspaces….’ under Preferences, General Settings.

Using Copy/Paste Appearance in 11.5.0

Intro

Copy/paste appearance is a new feature in the most recent release 11.5.0.476 of Captivate. Many call it a Format Painter like in MS Word, but I do not agree with that statement at all. I have sort of a ‘dual’ feeling about this added feature , Even the simple Format painter in Word can be a ‘two-edged sword'.  Same for Appearance transfer in Captivate: It can be used in a wise way or make your life as developer become a nightmarel.

Do I use the Format Painter in Word? Sure, when I have to write a quick short document, which I’m sure I will never have to edit later on. Even in that case I mostly use it for paragraph formatting, seldom for text formatting. When creating courses in Word  (which happened if they were mostly text-based switched to Framemaker when I could get a license in college, because it handles graphics and other assets lot better) I would NEVER use the format painter. Even Word has Styles for a professional workflow. Captivate is style-based as well, in the sense of Framemaker and InDesign.  Object styles are part of the theme you are using in a course, and I have published several posts about themes.

In this post I will try to explain which situations are suited for using appearance duplication. It is not possible for all object types, as you will discover, and has a hidden gem which you may not have discovered (yet). Let me know if my guess is wrong.

Objects supporting Copy/Paste Appearance

Not all object types can be used for duplication of its appearance to another. I checked them out and list up those who do have the options 'Copy Appearance' in their right-click menu.

Static objects

First requirement is that the object type had an object style. This means that images, audio, video, bitmap image as button, SVG used as button do not have the feature. Check the Object Style Manager. That is also the right place to detect the included features in a style. Example:  Transition (Fade in/out with its duration) is part of the object style. When using the Appearance feature it will be transferred as well. The supported objects for appearance pasting are a minority. You cannot use it for Highlight box, zoom object, rollover items although they have an object style. Only text containers:

  • Captions: in the themes packaged with the present versions, all used captions are transparent captions. But the older not-transparent captions are still available. They always come with the Callout pointer in several directions, the used pointer will not be transferred. Have a look at the screenshot below. You can transfer the style of the left caption (pastel orange) to the right caption (default style). top left pointer will not be transferred. But color, font, font size and attribute, alignment, margins, leading (space between lines) and transition will be pasted.

  • Shapes: can also be a text container, but that is not compulsory. Fill, Stroke, Transition and Text properties will be transferred. The shape itself is not part of the style and will not be changed.

After using the Copy/paste featuure

Look at the style names. For the shape the style has been taken over on the second shape, which is great!. However the style of the left caption has been applied but shows a + sign to indicate an overridden style.  I have tried this for quite a lot of captions, it seems to be always the case  and that is bad news! When later on you want to change something in the applied style (here MyCaption), that change would not be applied to the right caption shown  in the screenshots. Hence my

Warning

If you use Copy/paste appearance on text captions, and you have decided on the final look you will need to double-check the styles and avoid all overridden styles. If you forget to do so, the slightest edit you’ll have to apply in the future to that style will become a nightmare.

This problem doesn’t exist as you can see for shapes used as text containers. Double-checking at least some never harms of course. Another reason to reinforce my decision to use only shapes as text containers.

Interactive Objects

Text Entry Box, Text Button, Transparent Button, Image button have object styles but you cannot use the Copy/Paste Appearance for those objects, you need to apply object styles. A click box is invisible, so it doesn’t have an object style.

The only interactive object to accept Appearance duplication is the Shape button, my favorite Captivate object! Its object style includes the look of the Inbuilt Styles Normal, Rollover and Down (not Visited).  What is the result of a Copy/paste Appearance. Here are two shape buttons, and their Object States panels. The left button has a custom style MyShapeButton, the right button uses the Default Smart Shape Style of this theme:

Both buttons have the 4th InBuilt state - Visited - added. Its default look starts as the Normal state but I edited the style. After copy/paste appearance from the left to the right button, you expect to see this:

The good news is that the second button has now also the style MyShapeButton applied to it, same as for a non-button shape. Have a look at the new Object State panel of the right button:

As expected, the Visited state didn’t take on the look of the original MyShapeButton style, except …. for the font and its size! This observation leads me to the related:

Hidden Gem

Captivate has no individual Text Styles (no Character styles, no Paragraph styles), they are included in the object styles of the text containers (like shapes and captions, text entry boxes). Up till now I used Copy/Paste appearance to transfer styles between objects from the same type: caption to caption, shape to shape, shape button to shape button. However it is possible to copy/paste the text style between objects who are not the same type. That may not  seem unexpected between shape and shape button, but it IS ALSO possible between Caption and Shape or Shape button!

Workflow:

  • Go into Edit mode for the Caption, and select all the text if you want also to transfer the leading (F2, CTRL A)
  • Right-click, Copy Appearance
  • Go into Edit mode for the Shape, select all text (see above)
  • Right-click, Paste Appearance

If the shape is a shape button, the text style will appear in all the InBuilt states.

Of course the name of the styles will not be transferred, since a text style has non name. The style will show a +, which means it is overridden. If you decide to keep the text change in the shape, please create a new style.

Using Appearance Duplication

This new feature can be useful, but should never replace Object styles.  I would use it when being in “Draft” mode at the start of a project, when  discussing with the client about style choices. Certainly the easy way to transfer text styles is appealing to me, if followed by creation of an object style. But due to the fact that you can never be sure object styles will not be overridden (as is the case for captions) there is no way to create the custom theme before double-checking all styles. I start each project with a custom theme, because it can save so many hours of work in the future. The changes for themes in this new update are also very welcome, but that will be in another article.

Copy/paste appearance can be very useful when creating multistate objects to transfer the style of the normal state to other states. Think about a shape button, where the font style of the label is not always transferred to the other InBuilt states. 

Toggle Shape buttons - Captivate 6

 DevLearn 2012: Info

Update: if you are using a more recent version, have a look at this article

1 Shared Action = 5 Toggle Shape buttons

Intro

One of the well visited articles on this blog is Toggle button in which I explained how to create a custom button to change the state of the playbar, CC, audio from On to Off and vice versa. I explained there as well how to use the same Expression with a boolean user variable instead of one of the available boolean system variables.

In versions before Captivate 6 it was necessary to have such a button on each slide, cumbersome, even if they had always the same advanced actions attached to them so that Copy/Paste would do the trick. But now we have .... shape buttons that can be used both on Master slides or timed for the rest of the project as I explained in 'Why I like Shape buttons'.  This article had some simple use cases and I promised to show the scenario for a real toggle button. This is the subject of the present post, explaining how to create a toggle button to turn off/on Audio. There will be a companion video on YouTube showing the work flow. I'll offer you different scenarios, starting with a very simple one, and ending with a button that really shows the state of the Audio.

Scenario 1:  Shape Button with simple action

In the Shape category Buttons, you'll find a Mute button. It is already configured as a button, but without pausing and has a simple action attached to it:
Assign cpCmndMute with 1 

You can put this button on the main master slide, so that it shows up on each slide of your project, or you can put it on the first slide of the project and time it for the rest of the project.

If course this is not a toggle at all, it only allows to mute audio. And the user will hear, but not see the 'status' of the audio. Personally I think the icon on the button is misleading, because it seems more to point to 'play audio' instead of 'mute audio'.

The easiest way to change this shape button into a real toggle that can mute/unmute the audio is to change the Assign action into:

Assign cpCmndMute with 1 - cpCmndMute

This works fine, but from my recent article Why Choose Standard over Simple Action you know that if the shape button is paused, clicking on it to mute/unmute audio will also release the play button. And of course, the button will always look the same, will not show its status.

 

Scenario 2: Shape Button with standard action

You get it: change the simple action to a standard action, and the play head will not be released. To have it on each slide, you can again choose either to put it on master slides or to time it for the rest of the project on the first slide.

But still you are always looking at the same icon on the button, no difference between mute/unmute. Up to the third scenario:

 

Scenario 3: Shape Button with conditional action

You need two items to show the change of state. In my example I used a line shape, not functional as button, that would cover the original audio button in unmuted state:

The idea is to show/hide the line shape depending on the current state of the audio. The conditional action has to be able to address the ID of that line shape. Since objects on master slide do not have an ID, they cannot be addressed by an advanced action. That leaves me with two possibilities:

  1. Putting the audio button shape (from the Smart shape category Buttons) on the main master slide, and the line shape on the first slide, timed for the rest of the project.
  2. Putting both the the button and the line shape on the first slide, timed for the rest of the project. Both get an ID in that case, and I'm even able to group them.

Because of the low priority of objects timed for the rest of the project (as I explained in the blog post about Shape buttons), it is necessary to check 'Place Object on Top' for shapes that are timed tha way. It is up to you if you want pausing, hand cursor... Here is a screenshot of Timing and Options for the button shape. For the Line shape I only have the option 'Place Object on Top' checked and on the Timeline the line is above the button, not to be covered up by the fill of the button of course.

Conditional action

This action has 2 decisions:

  • Always is a mimicked standard action, that toggles the value of cpCmndMute the same way as in the standard action of Scenario 2
  • CheckAudio checks the value of  cpCmndMute, if it is 1 it will show the shape line, if not it will hide it.

 

Scenario 4: switch Shape buttons !!!

Yes, indeed, this was a very exciting discovery: you cannot have two regular button in the same location on a slide, even when you hide/show them alternatively. I explained this in the first article about Toggle button. But Shape buttons are different: you can have two of them in exactly the same place and this will now allow you to do the real stuff: a totally different shape to Mute and to Unmute audio. I really hope that all the users I had to tell that this was not possible before, will read this article. 

Watch this one slide movie, click the Stop button (shape filled with an image), it will switch to the Play button.

Both shape buttons trigger a standard advanced action, StopAudio, PlayAudio. SInce the audio plays on the slide when the movie starts, the Play button is initially set to invisible. And since both are shape buttons, you can put them on the first slide and time for the rest of the project to have the toggle available on all your slides. Like with scenario 3 putting on the master slide is not an option because the shapes need an ID to be used in the actions.

Conclusion

What I explained for an Audio toggle can of course be applied to all your toggle buttons: turning on/off CC, Playbar, opening/closing a TOC in overlay (with the new cpCmndTOCVisible variable), Play/Pause (video tutorial will be posted on YouTube), etc.

Tip: Flowing Text in Shapes

Flowing text in shapes is no longer available in CP-versions later than 5.5.

I plan to post some small tips for Captivate 5. This first tip is a less known, but useful new feature: you can put text directly into a closed shape, such as rectangles, ovals and polygons. Moreover the inserted text will automatically adapt to the form of the shape. In previous versions of Captivate this was a tedious process: put a Text Caption on top of the shape, and try to adapt the text by inserting spaces and breaks.
 
I created a small Captivate-demonstration to show the workflow. Hope you enjoy watching it!