Announcing Plugins for MSM

I’m pleased to announce that the recent release of MSM v14.3 includes our new plugin framework. This allows developers to write plugins that can appear on, interact with and extend almost any page within MSM.

Package

Plugins are shipped as Zip files with a manifest and a HTML page. They can also include other assets such as JavaScript, CSS, images and even ASP.NET handlers, so that your plugin can interact with the web server. The manifest is a JSON file that describes your plugin, including its name, version, supported MSM versions and the pages you want it to appear on. The manifest can also specify a list of settings that the plugin may require in order to operate. These settings are made available to the ASP.NET handlers.

Request Layouts

On most pages plugins are responsible for rendering themselves in the correct position. However on request pages, administrators have the option of positioning the plugins using request layouts. This allows plugins to feel truly integrated with the request pages.

Web Components

We believe that componentization is the future of the web. Therefore we decided to build our new plugin framework on top of the emerging Web Component standards. MSM plugins use custom elements and HTML templates to render themselves on a page. These plugins can be used in any of our target browsers including Internet Explorer 11. As browser compatibility improves we hope to start using the shadow DOM to isolate styling between the plugins and MSM itself. For now, developers are asked to be mindful of others when writing their plugins!

Works with MSM

I am also pleased to announce our new “Works with MSM” programme. This programme allows developers to submit their plugin for review by the MSM development team. We will ensure that the plugin works correctly in each of our target browsers, adheres to our security standards and works alongside other “Works with MSM” plugins. We will sign the plugin so that customers can have confidence that it meets those standards. “Works with MSM” plugins display a green check mark on the plugin page.

Open Source

We are looking to encourage an ecosystem of plugins that can benefit all MSM customers. Therefore it would seem appropriate that our plugins be open source, so that developers can learn from and contribute to the platform.

Future

We are just getting started. In the future we hope to share more details on how to write plugins, the plugins we are developing and our thoughts on web components. We also look forward to hearing your feedback so that we can improve the platform further.