... | .. |
The EnterPage The Source for ToolBook and VBTrain.Net News |
... | From Platte Canyon Multimedia Software
Corporation.
In This IssueIntroduction ToolBook Tips and News VBTrain.Net Tips and News More News and Information |
|
IntroductionMan do I feel great! There is nothing more uplifting than holding a training class with a group that is fun, genuinely kind, and really interested in ToolBook. Last week we had a class just like that. In fact, it seems that every time I teach a ToolBook training class, it is filled with great people. Jeff has had similar experiences with his VBTrain.Net classes. The yearly conference is more of the same. You all are great! At Platte Canyon, we're happy to serve the community by taking over the ToolBook Listserv next month. You'll see more on this below. We're also very excited because we have just released a brand new Learning Management System that works with ToolBook's DHTML content. Because it works with any content that implements the SCORM Runtime Environment, it also supports content created with other tools as well! We also have a ton of other products and news in this issue. So let's get on with the content! |
||
Top StoriesNew LMS: Tracker.Net - Easy, Powerful, and AffordableAt Platte Canyon, we’ve wanted to write a web-based
Learning Management System (LMS) for many years. But
frankly, we didn’t have the tools or the skill sets to
do it right. But a funny thing happened on the way to
the LmsApi object (see the following article). We needed
to create a small test LMS to see if the LmsApi was
properly interacting with a LMS. As often happens, Jeff
got carried away. The next thing you know, he called up
Chris and Cindy with the idea of writing a full-fledged
product. Tracker.Net was born. Speaking of LMS: Introducing the LmsApi ObjectWhile Tracker.Net gives an exciting new solution for
launching and interacting with SCORM content, it can be
difficult to create this content in the first place.
ToolBook (and to a lesser extent, Flash and Dreamweaver)
does a good job of making the various JavaScript calls
required by the SCORM Runtime Environment specification.
But what if you wanted to create your content in ASP.NET?
That was not easy, particularly due to the fact that all
communication with the LMS is via client-side JavaScript
rather than server-side Visual Basic (or C# for you code
jockeys). apiObject = New LmsApi() apiObject.Enabled = True Me.LmsApiObject = apiObject 'locate js = apiObject.GetJsApiLocate() Me.RegisterClientScriptBlock("apiLocate", js) 'initialize js = apiObject.GetJsInitialize(True) If js <> "0" Then ' not yet initialized Me.RegisterClientScriptBlock("apiInitialize", js) End If Similar calls allow you to generate the JavaScript to
read values from the LMS, set new values, exit, and
more. Price Reduction on "Learning & Mastering ToolBook" CDsAll "Learning & Mastering ToolBook" Training CDs are
now at a lower price. Take advantage of the best deal
ever! Learning & Mastering CDs Now Available Worldwide From Platte CanyonAll Platte Canyon training CDs may now be purchased
directly from Platte Canyon regardless of where the CD
is shipped. This means that our friends on every
continent may now order directly from Platte Canyon.
Visit our online store at: Learning & Mastering CDs Now Available Worldwide From Platte CanyonAll Platte Canyon training CDs may now be purchased
directly from Platte Canyon regardless of where the CD
is shipped. This means that our friends on every
continent may now order directly from Platte Canyon.
Visit our online store at: |
||
ToolBook Tips and NewsPlug-In Pro Tool Spotlight: Options Secretsby Chris Bell
For this issue of the Enter Page, I thought I'd share
some lesser-known features that come with Plug-In Pro's
seemingly endless set of tools that are available via
custom menu or customizable toolbars. Let's talk about
some of the Plug-In Pro Options.
More information on Plug-In Pro is available at: by Jeff Rhodes Sending the message to the page gets the focus back
into ToolBook. when key = keyTab forward if focus <> null if focus contains "Shockwave" send lrn_changeFocus end if end if Another issue is the initial focus on the page. We assign this sharedScript to the button or other object that should have the focus. This prevents the Flash object from grabbing it. If the object already has a sharedScript, we set the value on enterPage: notifyAfter firstIdle -- This script is used to set the first focus of a page. -- The s_firstFocus variable is used in various places to prevent the -- focus from being held by flash objects. system s_firstFocus s_firstFocus = self if (sysLevel = reader) AND (visible of self = TRUE) focus = s_firstFocus end if end firstIdleLast, we are careful to reset the focus any time the Flash control might have been clicked (e.g., next page, previous page, etc.). We do this by sending the lrn_changeFocus message after performing these actions. Its implementation code is shown below. to handle lrn_changeFocus system s_firstFocus if focus <> null if focus contains "Shockwave" focus = s_firstFocus end if end if end lrn_changeFocus OpenScript Tip from Jeff RhodesParameters to handle lrn_showTextInDisplayField word fieldNumber, string borderStyleType, /string alternateDisplayName -- this handler displays the text of field (field fieldNumber) in -- a field called Display Field. borderStyleType is optional: -- used to revert to that type if Display Field moved into a -- scrollbox. alternateDisplayName is optional: It is an -- alternative field name than Display Field local string displayFieldName local field fieldID oldSysLockScreen = sysLockScreen sysLockScreen = true if alternateDisplayName <> null displayFieldName = alternateDisplayName else displayFieldName = "Display Field" end if fieldID = field displayFieldName borderStyle of fieldID = "inset" clear text of fieldID scroll of fieldID = 0 richText of fieldID = richText of field ("field" && fieldNumber) if textOverFlow of fieldID > 0 borderStyle of fieldID = "scrolling" else if borderStyleType <> null borderStyle of fieldID = borderStyleType else borderStyle of fieldID = "inset" end if end if show fieldID scroll of fieldID = 0 sysLockScreen = oldSysLockScreen end lrn_showTextInDisplayField Actions Editor Tip by Cindy KesslerWhat’s the Difference Between Shared Actions and User
Events?
2. Difference: Where they can be called from.
3. Difference: The number of parameters they can have.
4. Difference: What they can return.
5. Difference: Safety.
The ToolBook ListservToolBook users have a wonderful resource in this
friendly and knowledgeable group of people. Over the
years, the group has grown into a happy family, with
everyone's personality really shining through. If you
can't get help anywhere else, you'll almost always find
help here. Even reading through the 50 or so daily posts
is very informative. The ToolBook WebringPlatte Canyon has also taken over management of the
ToolBook Webring. More information on this group of web
sites, all associated with ToolBook, may be found at:
|
||
VBTrain.Net Tips and TricksVBTrain.Net Tidbit from Jeff RhodesBinding to a DataGrid <asp:datagrid id="lmsApiDemoGrid" runat="server" AutoGenerateColumns="False" CssClass="GridStyle"> <AlternatingItemStyle CssClass="ReportAlternatingGrid"> </AlternatingItemStyle> <ItemStyle CssClass="ReportItemGrid"></ItemStyle> <HeaderStyle Font-Bold="True"></HeaderStyle> <Columns> <asp:HyperLinkColumn DataNavigateUrlField="linkURL" DataTextField="linkName" HeaderText="Download"> </asp:HyperLinkColumn> <asp:BoundColumn DataField="description" HeaderText="Description"> </asp:BoundColumn> </Columns> </asp:datagrid> In words, we have a datagrid control with two
columns. The first column displays the text of the
“linkName” column of our database table and will
hyperlink to the value of the “linkURL” table. The
second column of the grid is bound to the “description”
column of the database table. The rest of the settings
deal with the style of the grid itself as well as the
rows (so they alternate color and so forth). ‘ Part of the Page_Load handler BindGridContent(1, True, shapeEvalGrid, parameterProductId, _ parameterDemoVal, dbReader, dbCommand) We first create a Command object that links to a SQL Server stored procedure named "VBTrainDemoEval." We use an existing connection to the database (connectionID). We then create two input parameters: @productId and @demoVal. These are used to specify which product we want to read (Shape, Training Shape, etc.) and whether we want the demo or evaluation versions. Next, we open the connection and call a common “BindGridContent” method. The “True” or “False” of the second parameter refers to whether we want the demo or evaluation files. Notice how we pass the parameter objects as well as a reference to the associated datagrid to the method. Private Sub BindGridContent(ByVal prodId As Integer, ByVal dVal As _ Boolean, ByRef gridId As DataGrid, ByRef parameterProductId As _ SqlParameter, ByRef parameterDemoVal As SqlParameter, ByRef _ dbReader As SqlDataReader, ByRef dbCommand As SqlCommand) parameterProductId.Value = prodId parameterDemoVal.Value = dVal dbReader = dbCommand.ExecuteReader With gridId .DataSource = dbReader .DataBind() End With dbReader.Close() End Sub In the BindGridContent method, we set the value of our two parameters and then call the command object’s ExecuteReader method. This returns a “DataReader” object [basically the table that is returned from the stored procedure] that we can then “bind” directly to the grid. As long as this reader contains the linkURL, linkName, and description columns, all works great. The VBTrain.Net Listserv
|
||
Conference Reviews and Previewsby Chris Bell OnLine Learning 2002, September 23-25, 2002,
Anaheim
SALT New Learning Technologies 2003, February
19-21, 2003
Technical Sessions:
Platte Canyon Products in the PipelineWe’ll devote our energies in the near term toward
filling out more of the VBTrain.Net product line. We’re
hard at work at ASP.NET analogues to our Shape and
Graphical Text objects. The Web Shape and Web Text
controls will allow you to dynamically create shapes
(ellipses, lines, arrows, etc.) or graphical text on
your web site and either save it to an image file (e.g.,
to be used by the user for the whole session) or even to
stream it directly into the browser without saving to a
file first. The shape or text could have gradients,
textures, and other effects. For example, your training
could ask the student her name, make a stylized,
graphical version, and show that at the upper right of
every page during the session!
e-learning Creation Tip from Chris Bell: The Joys of Data BackupLast week, I carried my laptop into the ToolBook
training class I was teaching and turned on my computer
as I had done every day that week and every day since I
started working with that laptop as my main machine.
This time, however, rather than playing the familiar
Windows start up tone, all I heard was the hard disk
going "Kachunk, Kachunk, Kachunk." The black screen of
my computer said that it couldn't find a disk to boot
from. Luckily, I had a back up training computer nearby,
so I taught the rest of the week using it. |
||
Coming in the Next Issue of the EnterPage
Information on Subscriptions and Article SubmissionsThe EnterPage is distributed four 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, please 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. All content Copyright Platte Canyon Multimedia Software Corporation, 2002. |