Movable Type Documentation > Developer > Plugins

Creating Custom Movable Type Applications

Movable Type is an extensible platform that allows developers to not only create simple template tags and text filters, but in fact design entire applications. In that way Movable Type is much like an Application Server, by abstracting the developer away from a lot of the mundane tasks of web application development: like writing SQL, providing database caching, and defining frequently used user interface components like dialogs, tables, and more.

Movable Type is itself an application that sits upon this platform, using its own APIs, callbacks, and interfaces to define the application you use everyday. In this way, when looking for help with the API there is no better example then Movable Type itself.

Look for example at the Movable Type Perl module called MT::Core which makes the following call to init_registry:

sub init_registry {
    my $plugin = shift;
    $plugin->registry({
        'applications' => {
            'cms'      => {
                handler        => 'MT::App::CMS',
                cgi_base       => 'mt',
                page_actions   => sub { MT->app->core_page_actions(@_) },
                list_actions   => sub { MT->app->core_list_actions(@_) },
                list_filters   => sub { MT->app->core_list_filters(@_) },
                menus          => sub { MT->app->core_menus() },
                methods        => sub { MT->app->core_methods() },
                widgets        => sub { MT->app->core_widgets() },
                import_formats => sub {
                    require MT::Import;
                    return MT::Import->core_import_formats();
                },
            },
        },
    });
}

The next couple of sections will explore each of these application components and demonstrate how you can use all of them, or just the ones you need to completely customize the Movable Type user interface.

This page was last updated on 2007-08-06, 18:03.  

Submit a User Contributed Note

User contributed notes are a great way to share the knowledge you have gained in using Movable Type.

If you have a technical question or problem, please visit Movable Type Support.

(If you haven't left a note here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)