The Source for ToolBook and VBTrain.Net News
|...||From Platte Canyon Multimedia Software
More News and Information
We live in amazing times. Through the ToolBook
and VBTrain.Net email lists, I have come to know
friends thousands of miles away better than I know
my neighbor down the street. There's really no need
to be face to face anymore -- especially when
working in the e-Learning industry.
TBCON 2003 Report
We had so much fun this year at the 2003 version of
the ToolBook & VBTrain.Net User's Conference, it was
sometimes hard to remember that the event is for serious
learning. (But we got a lot of that in there too!) We
were thrilled to see so many new faces this year. This
was the first TBCON for 50% of the attendees. It was
also great to see the other half who were old friends.
Comments and scores on the evaluations came in high as
OLL 2003 – A Preview
Platte Canyon is happy to once again exhibit and
present at OnLine Learning 2003 to be held September 22
– 24, 2003 in Los Angeles. This large conference draws
thousands of training developers from around the world.
At TBCON, we heard from representatives from
Click2learn about the future of ToolBook. While everyone
was understandably careful to say that these were
preliminary plans and subject to change, the news was
VBTrain.Net is all about using Microsoft's Visual
Studio to create great training. With the release of the
book "VBTrain.Net™: Creating Computer and Web Based
Training with Visual Basic® .NET," Jeff Rhodes laid out
the road map for creating courseware in this
environment. These days, the VBTrain.Net product line
makes creating such training easier. For instance, you
don't need to figure out the nuances of integrating
media into your ASP.NET applications. Instead, you can
use the simple and easy-to-use Web Player. Similarly,
there are controls for creating questions, adding
beautiful graphical text or shapes, and even for
connecting to SCORM-compliant Learning Management
ToolBook.org is a news-based site that promises to
compile ToolBook news from around the net. Special
thanks to Simon Price for creating this excellent new
Platte Canyon's training classes always receive rave
reviews. Join us in Phoenix, September 8 – 12 for a
4-day or 5-day solid grounding in ToolBook. More
information is available at:
ToolBook Tips and News
Plug-In Pro Tool Spotlight: Magnification
Sometimes you need to see your ToolBook page bigger
than normal to make sure things are working just right.
If you want simple magnification, then you might be okay
just using ToolBook's Magnify tool. But when you want
lots of flexibility and power, then the Plug-In Pro
magnification tool is the only way to go.
Learn more about Plug-In Pro at:
by Jeff Rhodes
by Cindy Kessler
********** to get determineMatch string patientId system string selectedState local string returnVal, pgName, ftnCall, exeScript pgName = "stateScripts_" & selectedState ftnCall = "determineMatch_" & selectedState & "(patientId)" exeScript = "returnVal =" && ftnCall && "of page" && quote & pgName & quote && "of self" execute exeScript return returnVal end determineMatch ***********
by Cindy Kessler
*********** -- update new peg group local tempArray g = selection -- the group gNum = char 10 of name of g + 1 -- new group number name of g = "pegGroup" && gNum -- rename pegs oList = getObjectList(g, "button", false) while oList <> null pop oList name of it = "peg" && gNum && char 7 of name of it end while -- update action method to reference new peg names tempArray = ASYM_EA_ActionMethod(BroadcastToGroupPegs) of g step num from 1 to 6 tempString = tempArray[num] tempString = ReplaceString(tempString, "peg" && gNum - 1, "peg" && gNum) tempArray[num] = tempString end step ASYM_EA_ActionMethod(BroadcastToGroupPegs) of g = tempArray send ASYM_EA_ApplyActionArray g, "actionMethod BroadcastToGroupPegs", tempArray ***********Done!
The main idea is more interesting than the specific details. You put the action sequence of an object into an array variable, modify the array, reassign it to the object, and call a nifty handler to apply it! That’s it. So the key lines are:
-- copy an object’s action sequence to a local array tempArray = ASYM_EA_ActionMethod(BroadcastToGroupPegs) of g -- manipulate the array as you wish -- set the action sequence property of the object to the new array ASYM_EA_ActionMethod(BroadcastToGroupPegs) of g = tempArray -- apply it send ASYM_EA_ApplyActionArray g, "actionMethod BroadcastToGroupPegs", tempArray
And we never need to open the Actions Editor!
VBTrain.Net Tips and Tricks
by Jeff Rhodes
Private Function ConfigureDataSet() As DataSet Dim dataSetId As New DataSet Dim tableId As DataTable Dim keyArray(0) As DataColumn Dim tableColl As DataTableCollection = dataSetId.Tables If useXML = True Then Dim xmlPath As String = String.Concat(Request.PhysicalApplicationPath, _ archiveXMLString) dataSetId.ReadXml(xmlPath, XmlReadMode.ReadSchema) Else Dim dbCommand As OleDbCommand Dim dbAdapter As OleDbDataAdapter If connectionID.State <> ConnectionState.Open Then connectionID.Open() End If dbCommand = New OleDbCommand("[TBCON Archives For Attendees]", connectionID) dbCommand.CommandType = CommandType.StoredProcedure dbAdapter = New OleDbDataAdapter(dbCommand) dbAdapter.Fill(dataSetId, "Sessions") dbCommand.Dispose() dbAdapter.Dispose() End If tableId = tableColl("Sessions") keyArray(0) = tableId.Columns(0) tableId.PrimaryKey = keyArray Me.ArchiveDataSet = dataSetId Return dataSetId End Function
We simply have a constant (useXML) that we set to True if we want to read
from the XML file and False if we want to use the Access database. We leave it
at False for testing and then switch to True once things have stabilized.
Noticed how easy it is to create the DataSet from the XML file. We just call its
Private Sub GenerateXMLBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles GenerateXMLBtn.Click Dim dataSetId As DataSet = Me.ArchiveDataSet Dim xmlFile As File Dim xmlPath As String = String.Concat(Request.PhysicalApplicationPath, archiveXMLString) If xmlFile.Exists(xmlPath) = True Then xmlFile.Delete(xmlPath) End If Dim xWriter As New StreamWriter(xmlPath) dataSetId.WriteXml(xWriter, XmlWriteMode.WriteSchema) xWriter.Close() End SubWe need our useXML constant to be False of course when we run this so that we don’t get into an endless loop. The ArchiveDataSet property calls the ConfigureDataSet function shown above to build the DataSet from the “TBCON Archives For Attendees” query stored inside the Access database. We then use the DataSet’s WriteXML function to create the XML file.
One of the frustrations of working in Visual Studio
is having to enter your text content into the Properties
Window rather than type it directly into the object. And
because the Properties Window is not that big, the text
often scrolls left or right. Enter the VBTrain Content
object. It gives special editors that give LOTS of space
for entering and editing your text. The editors have
their own “Find” dialogs for searching within your text.
MORE NEWS AND INFORMATION
Once the VBTrain Content object is out the door (see
above), next out of the chute will likely be the Web
Document. It will do for display PDF and other types of
web documents what the Web Player does for displaying
media. Simply setting a property or allowing the control
to determine the appropriate type of control based on
file extension is all that is required to add the right
type of ActiveX control or Netscape plugin to your web
by Chris Bell
The 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. 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.
To subscribe or unsubscribe, please send a message to EP@plattecanyon.com. Please include your name and company with new subscriptions.
All content copyright Platte Canyon Multimedia Software Corporation, 2003.