Movable Typeのextlib利用に関する補足

昨日のブログ記事で

「MTのextlibを利用したPerlモジュールの利用」について記述したところ、いつもお世話になっているToI企画のタクさんからメッセージをもらいました。

タクさんは、ToI企画のブログ上で、種々様々なMT向けプラグインを提供している凄腕開発者です。いつも勉強をさせていただいております。

以下、extlibの利用について、ご指摘をいただいたのは

 

・MT4.2からは、プラグインディレクトリ内にextliというディレクトリを作成して、モジュールを配置することによって、利用可能となる。これは、アメリカのMovableTpe.orgに書かれている

http://www.movabletype.org/documentation/developer/other-common-directories.html

・extlibにPerlもモジュールを入れていると、優先的にそのディレクトリを読みにいってしまう。つまり、サーバー自体のPerlモジュールがアップデートされて最新版に更新されても、Mt自体はextlib配下の古いモジュールを読みにいってしまう可能性があるため要注意

(例:File::Tempが2.0だったとして、 extlibに入れたFile::Tempが1.0だったすると、プラグイン内での利用に限らずMT全体で、1.0のFile::Tempが優先で使われてしまうようになる)

とのことでした。タクさん、いつもありがとうございます!

これらを考慮すると、extlibへPerlのモジュールを配置するのは、諸々注意した上で行う必要がありそうです。extlibディレクトリの利用については

・まず、サーバーおよびMTのextlibがデフォルトで持っているモジュール類を確認した上で

・必要な場合のみ、最小限のモジュールを各プラグイン内にextlibディレクトリを作成して利用する

のがベターといえそうです。

皆様におかれましても、extlibディレクトリの利用についてはご留意ください。