Config Assistant for Movable Type

Configuration Assistant for Movable Type is the perfect tool for Movable Type designers. With virtually no technical knowledge or background, one can 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.

Theme Options Pull-down Menu

The settings a user then saves using this auto-generated form will automatically be made available to you, the designer, through a set of template tags that you choose yourself so that you can easily access the values they hold from directly within your templates.

If Config Assistant is being used within the context of a theme, then users of your theme will automatically have a "Theme Options" menu item added to their design menu so they can easily access the settings you define.

Download

Installation

This plugin is installed just like any other Movable Type Plugin.

Example Implementation

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

id: MyPluginID
name: My Plugin
template_sets:
    my_awesome_theme:
        options:
            fieldsets:
                homepage:
                    label: 'Homepage Options'
                feed:
                    label: 'Feed Options'
            feedburner_id:
                type: text
                label: "Feedburner ID"
                hint: "This is the name of your Feedburner feed."
                tag: 'MyPluginFeedburnerID'
                fieldset: feed
            use_feedburner:
                type: checkbox
                label: "Use Feedburner?"
                tag: 'IfFeedburner?'
                fieldset: feed
            posts_for_frontfoor:
                type: text
                label: "Entries on Frontdoor"
                hint: 'The number of entries to show on the front door.'
                tag: 'FrontdoorEntryCount'
                fieldset: homepage

This is the settings page it creates:

Theme Options Screen

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.-

5 Comments

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

Byrne, This looks very promising. Thank you for filling the gaps in Movable Type functionality.

I downloaded and installed version 1.0 today, but I noticed that in line 33 of theme_options.tmpl the form action goes to /~breese/mt/mt.cgi instead of

Michael - thank you. I just released version 1.01 fixing that issue. Blasted copy and paste! :)

Hi Byrne, I think there's something wrong with the layout of the ZIP file. Here's what I get once decompressed:

CONFIGASSIST-README.mdwn ConfigAssistant-1.01/Plugins/ConfigAssisant/config.yaml META.yml plugins/ConfigAssistant/config.yaml plugins/ConfigAssistant/lib/ (with contents) plugins/ConfigAssistant/tmpl/ (with contents)

The first three elements are useless for the end user, they're harmless but confusing.

META.yml is not necessary for sure. The rest are essential:

  • CONFIGASSIST-README.mdwn - this is documentation
  • config.yaml - you know what that is!

Leave a comment

what will you say?

Support Open Source

Do you like this software? Do you need help? Please show your support with a small token of appreciation:

Please consider donating $10 to say "thank you." If you would need help getting an issue resolved, or would like a feature implemented, consider donating $35 or more.

badge-iheartmelody-white.png

Close