User Guide
How the Server Behavior API functions are called 251
How the Server Behavior API functions are called
The Server Behavior API functions are called in the following scenarios:
• The findServerBehaviors() function is called when the document opens and again when
the participant is edited. It searches the user’s document for instances of the server behavior.
For each instance it finds, the
findServerBehaviors() function creates a JavaScript object,
and uses JavaScript properties to attach state information to the object.
• If it is implemented, Dreamweaver calls the analyzeServerBehavior() function for each
behavior instance that is found in the user’s document after all the
findServerBehaviors()
functions are called.
When the
findServerBehaviors() function creates a behavior object, it usually sets the four
properties (
incomplete, participants, selectedNode, and title). However, it is
sometimes easier to delay setting some of the properties until all the other server behaviors find
instances of themselves. For example, the Move To Next Record behavior has two participants;
a link object and a recordset object. Rather than finding the recordset object in its
findServerBehaviors() function, wait until the recordset behavior’s
findServerBehaviors() function runs because the recordset finds all instances of itself.
When the Move To Next Record behavior’s
analyzeServerBehavior() function is called, it
gets an array that contains all the server behavior objects in the document. The function can
look through the array for its recordset object.
Sometimes during analysis, a single tag in the user’s document is identified by two or more
behaviors as being an instance of that behavior. For example, the
findServerBehaviors()
function for the Dynamic Attribute behavior might detect an instance of the Dynamic
Attribute behavior that is associated with an
input tag in the user’s document. At the same
time, the
findServerBehaviors() function for the Dynamic Textfield behavior might look
at the same
input tag and detect an instance of the Dynamic Textfield behavior. As a result,
the Server Behaviors panel shows the Dynamic Attribute block and the Dynamic Textfield. To
correct this problem, the
analyzeServerBehavior() functions need to delete all but one of
these redundant server behaviors.
To delete a server behavior, an
analyzeServerBehavior() function can set the deleted
property of any server behavior to the value
true. If the deleted property still has the value
true when Dreamweaver finishes calling the analyzeServerBehavior() functions, the
behavior is deleted from the list.
• When the user clicks the Plus (+) button in the Server Behaviors panel, the pop-up
menu appears.
To determine the content of the menu, Dreamweaver first looks for a ServerBehaviors.xml file
in the same folder as the behaviors. ServerBehaviors.xml references the HTML files that should
appear in the menu.
If the referenced HTML file contains a title tag, the contents of the title tag appear in the
menu. For example, if the ServerBehaviors/ASP_Js/ GetRecords.htm file contains the tag
<title>Get More Records</title>, the text Get More Records appears in the menu.
If the file does not contain a title tag, the filename appears in the menu. For example, if
GetRecords.htm does not contain a title tag, the text GetRecords appears in the menu.
If there is no ServerBehaviors.xml file or the folder contains one or more HTML files that are
not mentioned in ServerBehaviors.xml, Dreamweaver checks each file for a title tag and uses
the title tag or filename to populate the menu.