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



Recently Elsewhere

Recent Comments

  • Pretty sure I figured it out. Sorry for the comment spam here Byrne. It does not like tall images. I was trying some desktop backgrounds I had saved on my hard drive, and other shots from a digital camera. It did not li...

  • Additionally, the Custom Header page is not displaying the Current Header Image that I cropped. I don't know if that is a caching issue or not. ...

  • Byrne, I have done more testing as well. I am right now using a different computer with FF 3.0.5 Mac and not many extensions (I don't know if the extensions are the issue or not). I did get it to work, once. http://...

  • Ken, I have done additional testing on Firefox and Safari (both on a Mac) and have not been able to reproduce this problem. I suspect it might have something to do with ImageMagick. Do you use ImageMagick or do you use ...

  • Ken - I will do additional browser testing today, but I did all of my work using Mac Firefox 3.0.5. ...