Content Source Plugins extend the capabilities of Writer to insert, edit, and publish new types of content. Examples of content types that can be added to Writer using plugins include:
-
Images from online photo publishing sites.
-
Embedded video or audio players.
-
Product thumbnails and/or links from e-commerce sites.
-
Tags from tagging services.
You can implement two types of content sources:
- Simple. Enable the insertion of custom HTML content into a post. Simple content sources are derived from the ContentSource base class.
- Smart. Enables the insertion of HTML content with "smart" editing capabilities into a post. These capabilities include atomic selection, two-way editing using the Sidebar, resizability, and the ability to have distinct HTML representations for editing and publishing contexts. Smart content sources are derived from the SmartContentSource base class.
Content created by both simple and smart content sources can originate from an Insert dialog box, a URL, or Live Clipboard data. Each content source plugin can support creating content from one or all of these contexts. For each context a plugin wishes to support, an attribute is added to its implementing class and a specific method is overridden:
In addition to the content creation plugin base classes and attributes described above there are a number of related types used for implementing advanced features of smart content sources. These include:
The Windows Live Writer SDK also includes a number of helper classes for assistance with common plugin development tasks:
- PluginDiagnostics Class. Provides diagnostic services (logging and error display) to plugins.
- PluginHttpRequest Class. Provides the ability to execute HTTP requests that utilize the (optional) Web proxy settings specified by the user in the Web Proxy Preferences panel. Also enables reading from and writing to the Internet cache as part of request processing.
- HtmlServices Class. Utility methods for the manipulation of HTML (and related) content.
- HtmlScreenCapture Class. Provides the ability to capture HTML content into a bitmap.
- AdaptiveHtmlObject Class. Provides the ability to embed an HTML object tag that automatically downgrades itself to a preview image if the containing page does not support script.

In This Section