Adobe 38040334 Extending Dreamweaver - Page 361

File access and multiuser configuration API

Page 361 highlights

DREAMWEAVER CS3 355 Extending Dreamweaver File access and multiuser configuration API Adobe recommends that you always use the file access and multiuser configuration API to access the file system through C-level extensions. For files other than configuration files, the functions access the specified file or folder. Dreamweaver supports multiple-user configurations for the Windows XP, Windows 2000, and Mac OS X operating systems. Typically, you install Dreamweaver in a restricted folder such as C:\Program Folders in Windows. As a result, only users with Administrator privileges can make changes in the Dreamweaver Configuration folder. To enable users on multiuser operating systems to create and maintain individual configurations, Dreamweaver creates a separate Configuration folder for each user. Whenever Dreamweaver or a JavaScript extension writes to the Dreamweaver Configuration folder, Dreamweaver automatically writes to the user Configuration folder instead. This process lets each user customize Dreamweaver configuration settings without disturbing the customized configurations of other users. Dreamweaver creates the user Configuration folder in a location where the user has full read and write access. The location of the user's Configuration folder depends on the user's platform. For Windows 2000 and Windows XP platforms: :\Documents and Settings\\Application Data\Adobe\¬ Dreamweaver 9\Configuration Note: In Windows XP, this folder may be inside a hidden folder. For Mac OS X platforms: :Users::Library:Application Support:Adobe:Dreamweaver 9:Configuration There are many cases where JavaScript extensions open files and write to the Configuration folder. JavaScript extensions can access the file system by using DWFile or MMNotes, or by passing a URL to the dreamweaver.getDocumentDOM() function. When an extension accesses the file system in a Configuration folder, it generally uses the dw.getConfigurationPath() function and adds the filename, or it gets the path by accessing the dom.URL property of an open document and adding the filename. An extension can also get the path by accessing the dom.URL and stripping the filename. The dw.getConfigurationPath() function and the dom.URL property always return a URL in the Dreamweaver Configuration folder, even if the document is located in the user Configuration folder. Any time a JavaScript extension opens a file in the Dreamweaver Configuration folder, Dreamweaver intercepts the access and checks the user Configuration folder first. If a JavaScript extension saves data to disk in the Dreamweaver Configuration folder through DWFile or MMNotes, Dreamweaver intercepts the call and redirects it to the user Configuration folder. For example, in Windows 2000 or Windows XP, if the user asks for file:///C|/Program Files/Adobe/ Adobe Dreamweaver CS3/Configuration/Objects/Common/Table.htm, Dreamweaver searches for a Table.htm file in the C:\Documents and Settings\username\adobe\Dreamweaver 9\Configuration\Objects\Common folder and, if it exists, uses it instead. C-level extensions, or shared libraries, must use the file access and multiuser configuration API to read and write to the Dreamweaver Configuration folder. Using the file access and multiuser configuration API lets Dreamweaver read and write to the user Configuration folder and ensures that the file operations do not fail due to insufficient access privileges. If your C-level extension accesses files in the Dreamweaver Configuration folder were created through JavaScript with DWFile, MMNotes, or DOM manipulations, it is essential that you use the File Access and Multiuser Configuration API because these files might be located in the user Configuration folder.

  • 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
355
File access and multiuser configuration API
Adobe recommends that you always use the file access and multiuser configuration API to access the file system
through C-level extensions. For files other than configuration files, the functions access the specified file or folder.
Dreamweaver supports multiple-user configurations for the Windows XP, Windows 2000, and Mac OS X operating
systems.
Typically, you install Dreamweaver in a restricted folder such as C:\Program Folders in Windows. As a result, only
users with Administrator privileges can make changes in the Dreamweaver Configuration folder. To enable users on
multiuser operating systems to create and maintain individual configurations, Dreamweaver creates a separate
Configuration folder for each user. Whenever Dreamweaver or a JavaScript extension writes to the Dreamweaver
Configuration folder, Dreamweaver automatically writes to the user Configuration folder instead. This process lets
each user customize Dreamweaver configuration settings without disturbing the customized configurations of other
users.
Dreamweaver creates the user Configuration folder in a location where the user has full read and write access. The
location of the user’s Configuration folder depends on the user’s platform.
For Windows 2000 and Windows XP platforms:
<drive>:\Documents and Settings\<username>\Application Data\Adobe\¬
Dreamweaver 9\Configuration
Note:
In Windows XP, this folder may be inside a hidden folder.
For Mac OS X platforms:
<drive>:Users:<username>:Library:Application Support:Adobe:Dreamweaver 9:Configuration
There are many cases where JavaScript extensions open files and write to the Configuration folder. JavaScript exten-
sions can access the file system by using DWFile or MMNotes, or by passing a URL to the
dreamweaver.getDocumentDOM()
function. When an extension accesses the file system in a Configuration folder,
it generally uses the
dw.getConfigurationPath()
function and adds the filename, or it gets the path by accessing
the
dom.URL
property of an open document and adding the filename. An extension can also get the path by accessing
the
dom.URL
and stripping the filename. The
dw.getConfigurationPath()
function and the
dom.URL
property
always return a URL in the Dreamweaver Configuration folder, even if the document is located in the user Config-
uration folder.
Any time a JavaScript extension opens a file in the Dreamweaver Configuration folder, Dreamweaver intercepts the
access and checks the user Configuration folder first. If a JavaScript extension saves data to disk in the Dreamweaver
Configuration folder through DWFile or MMNotes, Dreamweaver intercepts the call and redirects it to the user
Configuration folder.
For example, in Windows 2000 or Windows XP, if the user asks for file:///C|/Program Files/Adobe/
Adobe Dreamweaver CS3/Configuration/Objects/Common/Table.htm, Dreamweaver searches for a Table.htm file
in the C:\Documents and Settings\
username
\adobe\Dreamweaver 9\Configuration\Objects\Common folder and, if
it exists, uses it instead.
C-level extensions, or shared libraries, must use the file access and multiuser configuration API to read and write to
the Dreamweaver Configuration folder. Using the file access and multiuser configuration API lets Dreamweaver
read and write to the user Configuration folder and ensures that the file operations do not fail due to insufficient
access privileges. If your C-level extension accesses files in the Dreamweaver Configuration folder were created
through JavaScript with DWFile, MMNotes, or DOM manipulations, it is essential that you use the File Access
and Multiuser Configuration API because these files might be located in the user Configuration folder.