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