Config Assistant for Movable Type

Configuration Assistant for Movable Type allows you to easily design an entire settings page for your theme or plugin complete with field sets, labels, default values, pull down menus, radio buttons, check boxes, text areas, and text input fields for all the options you wish to expose. You can do this all through a simple config file. No coding required.

The settings a user then saves using this form will automatically be made available to you, the designer, through a set of template tags that you can then use within your templates. Here is a simple example:

Here is an excerpt from a Movable Type config.yaml file that will define two settings for your plugin:

id: MyPluginID
name: My Plugin
blog_config_template: '<mt:PluginConfigForm id="MyPluginID">'
settings:
  feedburner_id:
    scope: blog
  use_feedburner:
    default: 0
    scope: blog
plugin_config:
    MyPluginID:
        fieldset_1:
            feedburner_id:
                type: text
                label: "Feedburner ID"
                hint: "This is the name of your Feedburner feed."
                tag: 'MyPluginFeedburnerID'
            use_feedburner:
                type: checkbox
                label: "Use Feedburner?"
                tag: 'IfFeedburner?'

This is the settings page it creates:

Config Assistant Screenshot

And here is the template code that utilizes the tags it auto-creates for you (you would place these in the templates that render your web site:

<mt:IfFeedburner>
  My feedburner id is <mt:FeedburnerID>.
<mt:Else>
  Feedburner is disabled!
</mt:IfFeedburner>

Documentation

Status of the Plugin

This plugin is a prototype for something I believe strongly should be in the core of Movable Type. I have built this plugin to serve as a working example for a proposal made to the Movable Type Open Source community.

The plugin needs additional refinement before being fully integrated. Namely:

  • this plugin should extend the existing settings registry key as opposed to defining its own plugin_config registry key.
  • this plugin should support additional form elements like radio, multiple checkboxes, and more.
  • simplify the semantics of the configuration options.
  • this plugin needs to be used by users, have its documentation completed, and be more thoroughly tested.
  • this plugin needs endorsements and approval from the community.

Download

I need help testing this concept. Please consider downloading it and playing around with iit:

1 Comment

I love it! Made my life a lot easier ;)

Leave a comment

Close