... ..

The EnterPage

The ToolBook Developer's Newsletter
March 28, 2001

Issue 4-01

... From Platte Canyon Multimedia Software Corporation.

In This Issue

Introduction
New Release: Learning & Mastering ToolBook Instructor 8
End of Quarter Instructor 8.0 Upgrade Special
Platte Canyon Products in the Pipeline
Introducing the Taquin Question Object from Peter Jackson
TBCON 2001 Preview: The Conference Program
Plug-In Pro Tool Spotlight: View a Page
CBT Creation Tip from Chris Bell: PhotoShop Actions and File Size
Expert Information from "Learning & Mastering..." Series
OpenScript Tip from Jeff Rhodes
Actions Editor Tip by Cindy Kessler
Coming in the Next Issue
Information on Subscriptions and Article Submissions

Introduction

by Chris Bell

Yippee! Every CBT and WBT developer knows the rush of pride and accomplishment that comes with the final release of a completed project. We're enjoying that feeling right now from having just sent our latest effort, "Learning & Mastering ToolBook Instructor 8," to the CD manufacturer. The product will be available on April 9. We can't wait for everyone to see it!

We're also excited to announce that this issue begins the fourth year of The EnterPage. For the past three years, we have brought ToolBook news, tips and tricks to the ToolBook community. A browse through the back issues at http://www.plattecanyon.com/enterpage.aspx is a trip through ToolBook's recent history. The EnterPage announced Asymetrix's upcoming IPO, commented on the name change from Asymetrix to Click2learn, saw the introduction of the Actions Editor, and announced the first annual ToolBook User's Conference. We gave "sneak-peaks" at soon-to-be-released products such as Instructor 6.1, 7, and 8. We also announced many of the exciting new products from Platte Canyon. TBK Tracker, Answer Key, and Resources Plus were all first announced in the EnterPage. As we look to Volume 4 and beyond, we plan to continue offering ToolBook news and developer tips aimed at "Improving the Lives of Training Developers."

Back to Top

 

New Release: Learning & Mastering ToolBook Instructor 8

We've just sent "Learning & Mastering ToolBook Instructor 8" to the manufacturer. It should be ready for shipping on April 9, 2001. Our beta testers tell us that this is the best version yet. We've added information and examples on how to use HTTP Post (both with the Actions Editor and via OpenScript), FTP, incorporate and communicate with Flash™ movies, automate Office applications, print from DHTML, and more. We've also greatly expanded our Actions Editor training as well as added significant new content on OpenScript, Media, DHTML, and ActiveX. All this comes in addition to full updated content on all aspects of Instructor. The new CBT weighs in at over 26 hours with 64 "Show Me" demonstrations, 61 "Let Me Try" simulations, 109 "OpenScript Tips," and 204 "Expert Information" topics. See more information and the complete training outline at www.plattecanyon.com/tbcbt/icbt8.

Pricing for this new version remains $695. You may upgrade from the 7.1 training for $235 and from the 6.5 training for $435. We've also dropped the prices on the earlier versions. The 7.1 training is now $495 with the 6.5 training dropping to $295.

Back to Top

 

End of Quarter Instructor 8.0 Upgrade Special

Upgrade to Instructor 8.0 with Platte Canyon for only $595 through March 31, 2001. Normal price is $695 - $895 depending on your current version. Due to our reseller agreement with Click2learn, however, we can only accept orders from the U.S. and Canada.

To order your upgrade today, go to:
https://outlaw.securewebs.com/plattecanyon/store/

Back to Top

 

Platte Canyon Products in the Pipeline

Our other product development has had to take a back seat to the new Learning & Mastering release, but look for lots of activity in the next couple of months. The new Learning & Mastering ToolBook Instructor 8 is the first product to use Progress Tracker™ 2.0 and Hotword Connection™ 1.0. Look for both of these to be released to the developer community within the month. We discussed the new Progress Tracker in detail in the last EnterPage issue. Be sure to check out the Progress Tracker Reporter™ that comes on the Learning & Mastering CD.

Hotword Connection provides glossary and hotword functionality. All hotword names/text as well as definitions (in plain and/or rich text format) are stored in an Access database. If you want the ability to update the definitions at runtime or switch to a different database based on language, then you may read from the database at runtime. If not, you can store all the information in ToolBook and avoid distributing the database at all (this is what we do in the Learning & Mastering product). Hotword Connection displays popup definitions and an easy-to-use glossary. It includes lots of tools to make sure that any "non-hyperlinked" hotwords are included in the database. Hotword Connection will sell for $595.

After these two products are released, we'll focus on Content Connection™, Media Connection™, Plug-In Pro™ 6.0, Learning & Mastering ToolBook Assistant 8™, and TB Start™ 2.0.

Back to Top

 

Introducing the Taquin Question Object from Peter Jackson

We're pleased to announce that Platte Canyon is the worldwide exclusive distributor of Peter Jackson's new Taquin question object. This unique question type provides a combination of Multiple Choice, Ordered List, and Match Item type questions. As users sequentially select the correct answer, it moves to the appropriate location and all subsequent answers move to make room for the next correct answer. Best of all, it works in both native ToolBook and when published to DHTML. Taquin is available for $150.

Back to Top

 

TBCON 2001 Preview: The Conference Program

We are getting into high gear preparing for the ToolBook User's Conference. This year, the event will be held in two locations:

Cheltenham, England
July 9 - 11, 2001
(Preconference Training: July 7 - 8)

Colorado Springs, Colorado, USA
July 30 - August 1, 2001
(Preconference Training: July 28 - 29)

The conference program is heating up. Here are the confirmed presentations at this point. 

Session Title

Presenter

Location

A Year in the Life of a ToolBook Developer, Trainer, and Author

Tom Hall

US

An Introduction to the Actions Editor in Instructor 8

Tom Hall

US

Automating Office Applications in ToolBook

Jeff Rhodes

US and Europe

Behind the Scenes of the new ToolBook Instructor 8 catalog

Denny Dedmore

US and Europe

Building Custom Tools for Traditional and DHTML ToolBook Applications

Jeff Rhodes

US and Europe

Case Study on Creating a Commercial ToolBook Application

Jack Siegel

US

Case Study: Soft-skills Training for the Web

Jan Wilkinson

US

Case Study: Design of a Database-driven CD-ROM Application

Marty Weller

US

CBT Essentials: The Art, Sound, and Motion of Training

Chris Bell

US and Europe

Connecting to Databases in ToolBook Using ADO

Jeff Rhodes

US and Europe

Creating 3D Animations for ToolBook Using 3D Studio Max

Chris Bell

US and Europe

Creating and Link On-Line Help With Doc-To-Help

Mike Cline

US

Creating Extended Objects and Catalogs in ToolBook

Jeff Rhodes

US and Europe

Creating Minimalist Courseware

Penny Mattern

US

Dynamic Report Generation

Dmitry Esikov

US and Europe

Estimating and Pricing CBT & WBT

Jeff Rhodes

US and Europe

Exploiting ToolBook Instructor 8 Action Editor To Communicate With Back-End Databases

Denny Dedmore

US and Europe

Getting Wild and Saving Time with OpenScript

Jeff Rhodes

US and Europe

How to Build Performance Support Systems, Tools and Simulation-Based Training

Roger Guay

US

How to Use Agent in ToolBook

Peter Jackson

US and Europe

How ToolBook Instructor 8 uses AICC and SCORM to Work with Learning Management Systems

Lance Campbell

US and Europe

Incorporating Flash Into ToolBook

Chris Bell

US and Europe

Inside the Actions Editor

Tim Barham

US and Europe

InstallShield Professional 6.2 and ToolBook

Jeff Rhodes

US and Europe

Introduction to ActiveX and ToolBook

Chris Bell

US and Europe

It Don't Mean a Thing If It Don't Go Ca-Ching! Selling Your CBT

Bill Hurley

US

Jump Starting OpenScript: Ten Tips for Beginners

Mauro Rech

US and Europe

Lessons from the ToolBook Tech Support Jungle

Lance Campbell

US and Europe

Making Your World-Go-Round, Quick Time VR in ToolBook

Gregory Johnson

US

Metatools, Performance Support Systems, and Technical Simulations

Bob Earp

US

Multimedia Tricks and Techniques

Mauro Rech

US and Europe

Product Showcase: FTS Pro

Denny Dedmore

US and Europe

Product Showcase: Learning & Mastering ToolBook Instructor & Assistant

Chris Bell

US and Europe

Product Showcase: Plug-In Pro

Jeff Rhodes

US and Europe

Product Showcase: TB Connection

Jeff Rhodes

US and Europe

Product Showcase: TBK Tracker and Progress Tracker

Chris Bell

US and Europe

Secrets Behind the Learning & Mastering ToolBook Series

Jeff Rhodes

US and Europe

Show and Tell

Chris Bell

US and Europe

Stock Media and Intellectual Property Primer for Developers

Jack Siegel

US

The Ins and Outs of Viewers

Marty Weller

US

The OpenScript And Action Editors Contest

Tim Barham

US and Europe

The ToolBook Developers' Exchange and what It means to You

Lance Campbell

US and Europe

The Twenty Most Important Things About Instructor I Teach My Students

Virginia Bender

US

Things I Wish I'd Known, Part I: 25 Tips for the Beginning ToolBook Developer

John Hall

US

Things I Wish I'd Known, Part II: 25 More Tips for the Beginning ToolBook Developer

John Hall

US

ToolBook OpenScript Programming for the True Beginner

Marty Weller

US

ToolBook Q&A

Tim Barham

US and Europe

ToolBook, Visual Basic Applications, and ActiveX

Mike Cline

US

ToolBook's Future

Tim Barham

US and Europe

User Interface Design for ToolBook Using PhotoShop

Chris Bell

US and Europe

Using Batch Utilities for Mass Content Development

Dmitry Esikov

US and Europe

Using the ToolBook Instructor 8 Actions Editor For Software Simulations

Lee Karns

US and Europe

Using The Wise Installer

Mike Cline

US

Using WBT as an Online Marketing Tool

Greg Smith

US

What Part of 'Know' Don't You Understand? Instructional Design 101

Bill Hurley

US

Preconference offerings this year will come in 4-hour blocks offered over two days. The sessions include:

Preconference Session Title

Presenter

Location

A Detailed Look at ADO and Automation Jeff Rhodes US and Europe  
A Detailed Look at Assistant Chris Bell US and Europe
Architecture, Organization, Tools, and More Jeff Rhodes US and Europe  
Advanced OpenScript, ActiveX and Visual Basic Mike Cline US  
Building your own Question Objects and Other Widgets Peter Jackson US and Europe
Integrating DHTML Export with ASP and JavaScript Peter Jackson US and Europe
Intermediate Actions Editor Training Lee Karns US and Europe  
Intermediate Instructor 8  Jeff Rhodes US and Europe
Introduction to Instructor (Hands On)  Chris Bell US and Europe
Introduction to the Actions Editor Lee Karns US and Europe  
Introductory OpenScript for Both Traditional and DHTML Deployment  Jeff Rhodes US and Europe
Under the Hood with DHTML Export and JavaScript  Peter Jackson US and Europe
User Interface Design and PhotoShop Chris Bell US and Europe
Using Flash and Incorporating into ToolBook Chris Bell US and Europe
Using Microsoft Agent Peter Jackson US and Europe

 For more information on the conference and to register, please browse to http://www.tbcon.com.

Back to Top

 

Plug-In Pro Tool Spotlight: View a Page

This column features one of the many tools available in Plug-In Pro. In this issue, we'll discuss the incredibly useful tool called "View a Page." This tool allows you to access a ToolBook page in a handy pop-up viewer. You may view a page of the current book, or you may choose to view one from any other ToolBook book on your computer.

Of course, while there may be benefit in just looking at a page from another location or another book, the real power comes from being able to copy objects from the viewed page. You can also see object properties, use the command window, and even view object and page scripts.

This handy tool was extremely helpful as we were developing the latest Learning & Mastering ... CD. For instance, we used a separate small book for testing our HTTP Post implementation. When we had the functionality just right in the test book, we used "View a Page" to copy in the buttons and their scripts to the main TBK file.

We also used it when trying to find a page in the current file to copy from. We could View a Page and then use the standard ToolBook author-level navigation buttons that are displayed in the viewer. Once we found the perfect page to copy from, copying some parts of a page was as simple as selecting and copying the objects we wanted.

Like all of the tools in Plug-In Pro, the View a Page tool was designed by developers for developers. We identified a need in our own development for this extremely helpful tool and then made it available to other developers through the Plug-In Pro.

For more information on Plug-In Pro, please browse to:
http://www.plattecanyon.com/pluginpro.aspx

To see detailed on-line help with graphics on View a Page, please browse to:
http://www.plattecanyon.com/help/pluginpro/Viewing_A_Page.htm

Back to Top

 

CBT Creation Tip from Chris Bell: PhotoShop Actions and File Size

For our latest project, "Learning & Mastering ToolBook Instructor 8," we decided to abandon the 256 color limitation we had imposed on ourselves previously. From a graphics point of view, this decision was a dream-come-true. No more were we obligated to force all of our graphics to use the same palette! This means better-looking graphics in everywhere in the book. I was very excited about this because not only were the graphics going to look better, but I was going to be able to create some PhotoShop actions to do all the dirty work of converting the graphics. (Actions are created using Photoshop's new macro recording capabilities).

To save file size, we still reduced each graphic to 256 colors. However, we could let PhotoShop select the 256 colors best suited for that particular graphic (using the optimized palette option). So a picture of a sunset would have a palette of 256 variations of yellow, orange, black, maybe purple, while a picture of a swimming pool would have a palette of 256 variations of blues and greens.

Since there were also a lot of screen captures that never originated in PhotoShop, we realized that it would be wise to run a batch process on all graphics in the book, making sure to get every graphic. Using Plug-In Pro's bitmap resource export utility, we placed all the graphics from the book into one directory. We then ran our saved PhotoShop Action to change each image into a 256 color image with an optimized palette.

After doing this, I got a big surprise: The total file size in the directory (and therefore in the book) was now larger than before I started!

After snooping around, we realized that many of the screen captures we used in the training were originally saved as 4-bit (16-color) images. When my nifty PhotoShop batch changed them to 8-bit (256 colors), I actually doubled their file size without one bit of additional quality. Instead, I worried that I should have left the images alone! Luckily I saved a back up.

Here is where it gets interesting. I created another simple PhotoShop Action to save an image in 4-bit color mode. When running this action via the Batch mode on the entire directory of newly exported ToolBook graphics, it turns out that if an image is in 4-bit mode, it will be saved that way, preserving file size. If an image is 8-bit or higher, Photoshop automatically saves it as an 8-bit image with an optimized palette! This was a perfect solution for our needs.

We then just imported the graphics using Plug-In Pro and we were back in business, with a smaller book than ever. So, it is important to note that when creating a PhotoShop Action to convert files, you may very well want to create one to save your images at 4-bit, exact palette.

Back to Top

 

Expert Information from "Learning & Mastering ToolBook Instructor"

from Jeff Rhodes

Initializing and Running ActiveX Controls

Making an ActiveX control run involves referencing it, initializing it, and then, if necessary, calling one of its methods. As a first example, the handler below uses the Windows Media Player (the object reference to it is already stored in the screenMoviePlayerID) to show a "screen movie" in a viewer. Notice how the code builds the file name of the video file based on a property of the calling page. It then sets the extFileName property to that path before opening the viewer containing the player. We don't need to explicitly call the extPlay() method since the control has been configured to automatically play.


to handle DCC_showScreenMovie page pageID
	system object screenMovieViewerID, screenMoviePlayerID
	system string s_bookPath
	system logical s_usingVideo
	local string fileName

	if s_usingVideo = TRUE
		fileName = screenMovieFileName of pageID
		if fileName <> null
			fileName = s_bookPath & fileName
			if isOpen of screenMovieViewerID = FALSE
				open screenMovieViewerID
				extFileName of screenMoviePlayerID = fileName
				show screenMovieViewerID
			end if
		end if
	end if
end DCC_showScreenMovie

Another, more sophisticated, example is shown below. This code from the "Flash ActiveX Example" loads the proper Flash movie (there is one per background type) by setting the extMovie property. It then calls the extSetVariable() method to set the variable indicating which buttons are enabled, the animation level, and the sound. It then calls another method [extTCallLabel()] to tell the player to configure itself based on the variable.


to handle updateInterface
	system word s_FlashButtonSettings
	system string s_bookPath
	local object l_FlashNavButtonsID, l_FlashUIButtonsID
	local string l_navButtonMoviePath, l_uiButtonMoviePath

	l_FlashNavButtonsID = ShockwaveFlash "navButtons" of self
	l_navButtonMoviePath = s_bookPath & "flash\nav" & (name of backdrop of parent of self) & ".swf"
	extMovie of l_FlashNavButtonsID = l_navButtonMoviePath
	get extSetVariable("tbButtonState", s_FlashButtonSettings) of l_FlashNavButtonsID -- determines enabled, animation level, etc.
	get extTCallLabel("/", "setButtonState") of l_FlashNavButtonsID
	-- the above sets up the player
	if checked of button "nextPageButtonAnimating" of self = TRUE
		get extTCallLabel("/", "nextAnimated") of l_FlashNavButtonsID
	end if
	l_FlashUIButtonsID = ShockwaveFlash "uiButtons" of self
	if visible of group "uiButtons" of self = TRUE
		show l_FlashUIButtonsID
		bounds of l_FlashUIButtonsID = resetShockwaveUIBounds of self
		l_uiButtonMoviePath = s_bookPath & "Flash\uibuttons.swf"
		extMovie of l_FlashUIButtonsID = l_uiButtonMoviePath
		get extSetVariable("tbButtonState", s_FlashButtonSettings) of l_FlashUIButtonsID -- determines enabled, animation level, etc.
		get extTCallLabel("/", "setButtonState") of l_FlashUIButtonsID
	else
		hide l_FlashUIButtonsID
		bounds of l_FlashUIButtonsID = hideShockwaveUIBounds of self
	end if
end updateInterface
		 

Back to Top

 

OpenScript Tip from Jeff Rhodes

Trying to get a ToolBook book ready for delivery is a pretty taxing endeavor, particularly if it is going to a CD manufacturing plant! Here are a couple command window scripts that I found useful in checking over the new Learning & Mastering book before delivery. The first searches all the pages of the current background for fields that are not activated (e.g., they allow you type into them). Once in a while, we want this. But most of the time this is an error that we want to fix. Notice the technique of holding the page number OF THE BACKGROUND in a system variable. This is because it is difficult to come up with this number otherwise. The "put" line makes it easy to fix the problem. I can just press Enter in the Command Window to execute the line -- if I'm sure that the non-activation is an error: 


system word curNum

step num from curNum + 1 to pageCount of this background
	pageID = page num of this background
	fieldList = getObjectList(pageID, "field", false)
	while fieldList <> null
		pop fieldList
		if activated of it = false
			go to pageID
			curNum = num
			put "activated of" &&  it && "= TRUE -- name = " & name of it
			break step
		end if
	end while
end step

I used this second script to find a hotword that Hotword Connection had told me didn’t have a corresponding definition. It goes through all pages of the current background looking for hotwords whose name contains “SCORM.” This is a big timesaver. 


step num from 1 to pageCount of this background
	pageID = page num of this background
	hotList = getObjectList(pageID, "hotword", FALSE)
	while hotList <> null
		pop hotList
		hotText = name of it
		if name of it contains "SCORM"
			go to pageID
			put "Found it in " & parent of it
			break step
		end if
	end while
end step

Back to Top

 

Actions Editor Tip by Cindy Kessler

An Example Using "On key down..."

There are three new Actions Editor events in Instructor 8 that let you handle keyboard messages:

  1. On key down (Generated when a key is pressed)
  2. On key press (Generated when a key combination is pressed that results in a printable character)
  3. On key up (Generated when a key is released)

In our new "Learning And Mastering Instructor 8," we have an example which uses "On key down..." It lets the user move a graphic around within a defined area by pressing the arrow keys on their keyboard. While the idea and implementation are relatively simple, there have been enough "key event" questions to the list that we thought it worth describing the implementation.

First, as always, when you plan to use a value repeatedly, it's a good idea to put it in a variable. This makes modification MUCH easier. In our example, we put the limiting values (the coordinates of the rectangular area in which the graphic must stay) in their own variables. We also have a global variable (gIncSize) that holds the user-determined increment size (how "far" the graphic will move with each key press).

Since the "key down" action passes in the keyCode of the key pressed, we can easily test and control the graphic's movement. Note: You can find keyCode values in the "Key constants (table)" topic of ToolBook's On-Line Help, or just put a "Display Alert" action at the top in the Key Down action sequence and have it display the keyCode; then press the key for which you want the keyCode.

A portion of our example action sequence is shown below. This key down event is handled at the page level.

-- On key down... -----------------------------------------------------
Define local variable "leftMost" (Initial value: "")
Define local variable "rightMost" (Initial value: "")
Define local variable "topMost" (Initial value: "")
Define local variable "bottomMost" (Initial value: "")

Set leftMost to 300
Set rightMost to 7122
Set topMost to 1495
Set bottomMost to 4000

If keyCode = 37 or keyCode = 100
  If left of PaintObject "HDB" > leftMost + gIncSize
    Set left of paintObject "HDB" to left of PaintObject "HDB" - gIncSize
  Else
    Display alert: "Herman can't go further left."
  End if
Else if keyCode = 38 or keyCode = 104
  Comment: up
  If top of PaintObject "HDB" > topMost + gIncSize
    Set top of paintObject "HDB" to top of PaintObject "HDB" - gIncSize

<snip>

Else if keyCode = 103
  Comment: left and up
  If top of PaintObject "HDB" > topMost + gIncSize and left of PaintObject "HDB" > leftMost + gIncSize
    Set top of paintObject "HDB" to top of PaintObject "HDB" - gIncSize
    Set left of paintObject "HDB" to left of PaintObject "HDB" - gIncSize
  Else
    Display alert: "Herman can't go further upper left."
  End if

<snip>

End if

Back to Top

Coming in the Next Issue of the EnterPage

  • Inside the the Progress Tracker 2.0 & TB Connection 1.0
  • Preview of TBCON 2001
  • Platte Canyon Products in the Pipeline
  • Another Plug-In Pro Tool Spotlight
  • More CBT Creation Tips from Chris Bell
  • More OpenScript Tips from Jeff Rhodes
  • More Actions Editor Tips
  • ToolBook Tip (from Learning and Mastering ToolBook Series)
  • More

Back to Top

 

Information on Subscriptions and Article Submissions

The EnterPage is distributed 4 times a year, with occasional special issues. Individuals who have expressed interest in Platte Canyon Multimedia Software Corporation or its products receive The EnterPage. If you do not wish to receive future issues, send an email message to EP@plattecanyon.com with the word "unsubscribe" in the subject line. New subscriptions are available by sending an email message to EP@plattecanyon.com with the word "subscribe" in the subject line and the person's name and company in the text of the message.   Suggestions for articles or proposals for article submissions are welcome. Send information to EP@plattecanyon.com. Back issues of the EnterPage are available at http://www.plattecanyon.com/enterpage.aspx.

Back to Top

This page was created by Platte Canyon Multimedia Software Corporation.

n .. Copyright © 2000 Platte Canyon Multimedia Software Corporation