Hacking Movable Type Open Source


Published on

This talk was presented at YAPC::Asia 2008

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Hacking Movable Type Open Source

  1. 1. Hacking Movable Type Open Source Fumiaki Yoshimatsu Movable Type Engineering, Six Apart K.K.
  2. 2. Agenda <ul><li>Movable Type and Movable Type Open Source </li></ul><ul><li>Introduction to Movable Type </li></ul><ul><li>MT as an web application framework </li></ul>
  3. 3. Movable Type Open Source and MT <ul><li>“ The Movable Type Open Source Project is a community effort, led by Six Apart, devoted to creating an open source version of Movable Type.” </li></ul><ul><li>“ This open source version (or MTOS for short) will be free for anyone to modify, redistribute and use for any purpose that they choose.” </li></ul><ul><li>In short, there is no difference except you can redistribute under the license of GPL v2. </li></ul>
  4. 4. Movable Type &quot;Powerful publishing platform The perfect platform for building easy-to-maintain blog, web, and social media sites.&quot; www.movabletype.com &quot;Movable Type はブログだけでなくウェブページやファイル管理も可能な、ウェブサイト全体を管理するコンテンツ管理システム (CMS) です。 &quot; www.sixapart.jp/movabletype
  5. 5. So, what is Movable Type, exactly? <ul><li>Web Application Framework </li></ul><ul><ul><li>Fully extensible, fully customizable, er, framework. </li></ul></ul><ul><ul><li>So heavy weight that you don’t really want to use it for “your application” however. </li></ul></ul>&quot;If there is a place you can't extend, it is a bug.&quot; Brad Choate Movable Type Engineering Manager, Six Apart Ltd.
  6. 6. Extensibility <ul><li>MT has been made better through community effort </li></ul><ul><ul><li>Plugins are the key </li></ul></ul><ul><li>Cool hacks encouraged, enabled and embraced </li></ul><ul><ul><li>BigPAPI </li></ul></ul><ul><ul><li>Custom Fields </li></ul></ul><ul><li>Inevitable to grow to become a “framework” </li></ul>MT is all about extensibility to help developers
  7. 7. Extensibility <ul><li>Inheritance ( as in OOP ) </li></ul><ul><li>Callbacks </li></ul><ul><li>Application methods (modes) </li></ul><ul><li>MT Registry is the key </li></ul><ul><ul><li>Giant hash of metadata </li></ul></ul><ul><ul><li>Plugins register themselves to extend MT </li></ul></ul>
  8. 8. MT::Object - Model <ul><li>Inherit MT::Object to add new model </li></ul><ul><li>OR mapper support built-in </li></ul><ul><ul><li>Runs on five different DBMS </li></ul></ul><ul><ul><li>DDL and DML support </li></ul></ul><ul><li>“ object_types” registry key </li></ul>
  9. 9. MTML – View, sort of <ul><li>MT’s own markup language </li></ul><ul><ul><li>Not really a markup language, but domain (MT) specific programming language </li></ul></ul>
  10. 10. MT::App – Dispatcher/Controller <ul><li>CGI.pm based </li></ul><ul><li>Add application methods to existing app through registry </li></ul><ul><ul><li>__mode to method </li></ul></ul><ul><li>Inherit MT::App to create completely new app </li></ul><ul><ul><li>Although not recommended </li></ul></ul><ul><li>“ applications” registry key </li></ul>
  11. 11. Summary <ul><li>Movable Type is more than just a blogging software </li></ul><ul><li>You can easily extend and customize Movable Type to for your specific needs through Perl plugin </li></ul><ul><li>MTOS welcomes Perl developers – check it out from our Subversion branch now! </li></ul>
  12. 12. List of resources <ul><li>Subversion repository </li></ul><ul><ul><li>http://code.sixapart.com/svn/movabletype/ </li></ul></ul><ul><li>Trac </li></ul><ul><ul><li>http://code.sixapart.com/trac/movabletype/ </li></ul></ul><ul><li>Mailing lists </li></ul><ul><ul><li>http://www.movabletype.org/opensource/mailing-lists.html </li></ul></ul><ul><li>Feedback </li></ul><ul><ul><li>http://www.movabletype.org/feedback.html </li></ul></ul><ul><ul><li>http://www.sixapart.jp/movabletype/feedback.html </li></ul></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.