Introduction 9
Background 9
Installing an extension 10
Creating an extension 10
Additional resources for extension writers 11
What's new in Dreamweaver 11
Conventions used in this guide 13
PART 1: CUSTOMIZING DREAMWEAVER
Chapter 1: Customizing Dreamweaver 17
Ways to customize Dreamweaver 17
Customizing Dreamweaver in a multiuser environment 27
Working with browser profiles 30
Changing FTP mappings 34
Extensible document types in Dreamweaver 35
Chapter 2: Customizing Code View 55
Code hints 55
Code coloring 63
Code validation 92
Changing default HTML formatting 95
PART 2: OVERVIEW OF EXTENDING DREAMWEAVER
Chapter 3: Extending Dreamweaver 99
Types of Dreamweaver extensions 100
Configuration folders and extensions 102
Extension APIs 105
Localizing an extension 107
Working with the Extension Manager 109
Chapter 4: User Interfaces for Extensions 111
Designing an extension user interface 111
Dreamweaver HTML rendering control 112
Using custom UI controls in extensions 113
Adding Flash content to Dreamweaver 124
Chapter 5: The Dreamweaver Document Object Model 127
Which document DOM? 128
The Dreamweaver DOM 128
PART 3: EXTENSION APIS
Chapter 6: Insert Bar Objects 139
How object files work 140
The Insert bar definition file 141
Modifying the Insert bar 148
A simple insert object example 150
The Objects API 161
Chapter 7: Commands 167
How commands work 167
Adding commands to the Commands menu 168
A simple command example 168
The Commands API 176
Chapter 8: Menus and Menu Commands 181
About the menus.xml file 182
Changing menus and menu commands 191
Menu commands 194
A simple menu command example 197
A dynamic menu example 201
The Menu Commands API 209
Chapter 9: Toolbars 215
How toolbars work 215
A simple toolbar command file 218
The toolbar definition file 220
Toolbar item tags 226
Item tag attributes 232
The toolbar command API 238
Chapter 10: Reports 249
Site reports 249
Stand-alone reports 253
The Reports API 256
Chapter 11: Tag Libraries and Editors 261
Tag library file format 262
The Tag Chooser 268
A simple example of creating a new tag editor 270
Tag editor APIs 275
Chapter 12: Property Inspectors 279
How Property inspector files work 281
A simple Property inspector example 282
The Property inspector API 285
Chapter 13: Floating Panels 289
How floating panel files work 290
A simple floating panel example 291
The Floating panel API 297
Chapter 14: Behaviors 305
How Behaviors work 306
A simple behavior example 307
The Behaviors API 312
Chapter 15: Server Behaviors 321
Dreamweaver architecture 322
A simple server behavior example 324
How the Server Behavior API functions are called 326
The Server Behavior API 329
Server behavior implementation functions 335
Editing EDML files 337
Group EDML file tags 340
Participant EDML files 347
Server behavior techniques 369
Chapter 16: Data Sources 379
How data sources work 380
A simple data source example 382
The Data Sources API 391
Chapter 17: Server Formats 399
How data formatting works 400
When the data formatting functions are called 402
The Server Formats API 403
Chapter 18: Components 407
Component basics 407
Extending the Components panel 408
How to customize the Components panel 408
Components panel files 409
Components panel API functions 412
Chapter 19: Server Models 423
How customizing server models works 423
The Server Model API functions 424
Chapter 20: Data Translators 433
How data translators work 434
Determining what kind of translator to use 435
Adding a translated attribute to a tag 435
Inspecting translated attributes 437
Locking translated tags or blocks of code 437
Creating Property inspectors for locked content 439
Finding bugs in your translator 442
A simple attribute translator example 443
A simple block/tag translator example 447
The Data Translator API 452
Chapter 21: C-Level Extensibility 457
How integrating C functions works 457
C-level extensibility and the JavaScript interpreter 459
Data types 460
The C-level API 461
File Access and Multiuser Configuration API 470
Calling a C function from JavaScript 479
PART 4: APPENDIX
Appendix: The Shared Folder 483
The Shared folder contents 483
Using the Shared folder 491