Adobe 38040334 Extending Dreamweaver - Page 293

following example

Page 293 highlights

DREAMWEAVER CS3 287 Extending Dreamweaver 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 popup 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.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385

DREAMWEAVER CS3
Extending Dreamweaver
287
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 Configu-
ration/DataSources/ASP_Js folder), calling the implementation of the
inspectDynamicDataRef()
function in each
file.