The Karelia Blog
Sandvox has been designed from the earliest stages to have a plugin architecture, but we really haven't emphasized that capability up to now because it had a bit of a learning curve. Well, today, with the release of a Software Developers Kit (SDK), we think that we have a way for developers — Cocoa programmers, that is — to build some really cool add-ons to Sandvox.
One thing we had done when we updated Sandvox to 1.5 was to simplify the plugin architecture. Originally we had five plugin types (not including designs, which are another form of plugin). We have consolidated that down to two. This consolidation allows a single plugin (built with a single Xcode project) to build an "element" that is either a page or a pagelet. (Or both: Sometimes it is handy to have a plugin that can be used for either, e.g. YouTube, Contact Form, RSS Feed.) We also allow you to specify how your plugin will handle incoming drag pasteboard actions, allowing Sandvox to recognize a dropped file or URL, and create an appropriate page or pagelet type automatically.
One of the cool tricks about Sandvox plugins is that it's possible to create a plugin without any actual code at all, thanks to the Cocoa Bindings technology. Data that are stored with a plugin is stored with your document as simple keys and values; the inspector can be bound to those properties, and the HTML template reads these values to generate its piece of the HTML.
With this release of the SDK is the source code to almost all of our built-in plugins! We wanted to have the source code available so that other developers can see how much (or little) work is needed to implement each plugin, and adapt our techniques for building new plugins. These are released under a BSD-like license.
Third-party developers can, of course, give away or sell their plugin creations. In a soon-to-be-released version of Sandvox, we will have a "plugin manager" window that will make it easy for Sandvox users to discover and install third-party plugins (and designs), so please let us know when you have built a plugin that you are interested in sharing or selling, so we can help others discover your handiwork.
Check out our main SDK website, or just download the SDK package directly. Also, be sure to participate in our new Sandvox Developer Forum if you have any issues or comments about the SDK. We are certainly interested in improving our documentation and examples to make it easy for others to build on the Sandvox platform!
In other news, we at Karelia released version 1.5.2 of Sandvox today. Over 50 enhancements in this update.