How data sources work

 < Day Day Up > 

Dreamweaver users can add dynamic data by using the Bindings panel. The dynamic data objects that are shown on the Plus (+) menu are based on the server model that is specified for the page. For example, users can insert recordsets, commands, request variables, session variables, and application variables for ASP applications.

The following steps describe the process that is involved in adding dynamic data:

1.

When the user clicks the Plus (+) menu in the Bindings panel, a pop-up menu appears.

To determine the contents of the menu, Dreamweaver first looks for a DataSources.xml file in the same folder as the data sources (for example, Configuration/DataSources/ASP_Js/DataSources.xml). The DataSources.xml file describes the contents of the pop-up menu; it contains references to the HTML files that should be placed in the pop-up menu.

Dreamweaver checks each referenced HTML file for a title tag. If the file contains a title tag, the content of the title tag appears in the menu. If the file does not contain a title tag, the filename is used in the menu.

After Dreamweaver finishes reading the DataSources.xml file or if the file does not exist, Dreamweaver searches the rest of the folder to find other items that should appear in the menu. If Dreamweaver finds files in the main folder that aren't in the menu, it adds them to the menu. If subfolders contain files that aren't in the menu, Dreamweaver creates a submenu and adds those files to the submenu.

2.

When the user selects an item from the Plus (+) menu, Dreamweaver calls the addDynamicSource() function, so that code for the data source is added to the user's document.

3.

Dreamweaver goes through each file in the appropriate server model folder, calling the findDynamicSources() function in each file. For each value in the returned array, Dreamweaver calls the generateDynamicSourceBindings() function in the same file to get a new list of all the fields in each data source for the user's document. Those fields are presented to the user as a tree control in the Dynamic Data or the Dynamic Text dialog box or in the Bindings panel. The data source tree for an ASP document might appear as shown in the following example:

 Recordset (Recordset1)   ColumnOneInRecordset   ColumnTwoInRecordset Recordset (Recordset2)   ColumnOfRecordset Request   NameOfRequestVariable   NameOfAnotherRequestVariable Session   NameOfSessionVariable 

4.

If the user double-clicks on a data source name in the Bindings panel to edit the data source, Dreamweaver calls the editDynamicSource() function to handle the user edits within the tree.

5.

If the user clicks the Minus (-) button, Dreamweaver gets the current node selection from the tree and passes it to the deleteDynamicSource() function, which deletes the code that was added earlier with the addDynamicSource() function. If it cannot delete the current selection, the function returns an error message. After the deleteDynamicSource() function returns, Dreamweaver refreshes the data source tree by calling the findDynamicSources() and the generateDynamicSourceBindings() functions.

6.

If the user selects a data source and clicks OK in the Dynamic Data or the Dynamic Text dialog box, or clicks Insert or Bind in the Bindings panel, Dreamweaver calls the generateDynamicDataRef() function. The return value is inserted in the document at the current insertion point.

7.

If the user displays the Dynamic Data or the Dynamic Text dialog box to edit an existing dynamic data object, the selection in the data source tree needs to be initialized to the dynamic data object. To initialize the tree control, Dreamweaver goes through each file in the appropriate server model folder (for example, the Configuration/DataSources/ASP_Js folder), calling the implementation of the inspectDynamicDataRef() function in each file.

Dreamweaver calls the inspectDynamicDataRef() function to convert the dynamic data object back from the code in the user's document to an item in the tree. (This process is the reverse of what occurs when the generateDynamicDataRef() function is called.) If the inspectDynamicDataRef() function returns an array that contains two elements, Dreamweaver shows with a visual cue which item in the tree is bound to the current selection.

8.

Every time the user changes the selection, Dreamweaver calls the inspectDynamicDataRef() function to determine whether the new selection is dynamic text or a tag with a dynamic attribute. If it is dynamic text, Dreamweaver displays the bindings for the current selection in the Bindings panel.

9.

Using the Dynamic Data or the Dynamic Text dialog box or the Bindings panel, it's possible to change the data format for a dynamic text object or a dynamic attribute that the user has already added to the page. When the format changes, Dreamweaver calls the generateDynamicDataRef() function to get the string to insert into the user's document and passes that string to the formatDynamicDataRef() function (see "formatDynamicDataRef()" on page 405). The string that the formatDynamicDataRef() function returns is inserted in the user's document.

     < Day Day Up > 


    Developing Extensions for Macromedia Dreamweaver 8
    Developing Extensions for Macromedia Dreamweaver 8
    ISBN: 0321395409
    EAN: 2147483647
    Year: 2005
    Pages: 282

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net