Chapter 11: Advanced Topics
Introduction
With broad platform integration of all the leading open standards, Movable Type has the potential to do much more, given additional expertise and knowledge on the user's part.
This chapters covers some of the more advanced features in addition to providing a starting point for more advanced topics not covered in this publication.
Architectural Overview
Movable Type is written in a highly modular Perl object-oriented style with an open code base (it's not open source -- an important distinction) that makes the browser-based tool quite flexible and easily modifiable, allowing it to adapt to any number of publishing applications. Since the release of version 2.2 in June 2002, extending MT has become easier and more elegant with the introduction of a plug-in framework that continues to be enhanced with each new release. With the release of version 3.0D, Movable Type made the official leap from a personal publishing system to a platform.
The use of the Perl programming language to develop Movable Type provided a highly flexible environment for manipulating text and data structures. Perl was (and still is) widely adopted with vast amounts of pre-existing knowledge and experience throughout the on-line world. The Comprehensive Perl Archive Network (CPAN) and its collection of libraries provided MT and its developers with a trove of functionality to get started with. Perl also provided the ability to run on virtually any operating system and environment -- particularly on low-cost, shared hosting packages that were essential to MT's early growth.
In the tradition of the programming language that it is almost entirely written in, Movable Type is a "glue" system. It makes extensive use of open standards and open source technology, gluing them together into a cohesive system. While the MT code base has grown to a size that the typical Perl program is not known for, its code base is tiny in comparison to many commercial and much more expensive web applications, thanks in part to the wide range of Internet infrastructure and tools it utilizes.
Movable Type adopted a static publishing model where content and meta-data along with templates were stored in the application's database and merged into static files. This sets Movable Type apart from most weblog tools that generate their pages exclusively in dynamic fashion. To some this model has been a long-standing criticism of MT that was recently addressed in part with the release of version 3.1 that introduced the option of PHP-based, dynamic page generation.
The decision to architect MT in an object-oriented fashion was significant in its early growth and its strengths today. Adopting OO principles allowed MT to adapt and innovate to the burgeoning personal publishing explosion and ultimately provided the first important steps towards its status as a platform.



