RightsFieldsから CustomeFieldsへの移行を LinkedEntryCustomFieldsでするとドロップダウンがヤバイ

MT3.xからMT4.x + (実際はMT5にアップグレードしたい)へアップロードする際にもともと、RightsFieldsで追加されたセレクトメニューを移行済みのカスタムフィールドで編集すると、オプションの値が吹っ飛ぶというやっかいな現象に出くわしたのでメモ。

状況として

  • MT3.x で複数のブログが運用されている
  • システム全体、ブログ個別でそれぞれRightsFieldsが使われている
  • Entryに対してRightsFieldsで追加された、ドロップダウンのセレクトメニューがある
  • MT4.x 以降にLinkedEntryCustomFieldsを使ってアップグレードする
  • ほとんどのフィールドはカスタムフィールドへアップグレード、問題のドロップダウンのセレクトメニューも移行されているように見える

ここからが問題発生。

  • 「カスタムフィールドを編集」から既存のドロップダウンとして追加されているフィールドを編集するとオプションの値が「0」とか「1」とかになってしまう。
  • データベースのmt_fieldテーブルのoptionでは「0」とか「1」とかに変更されている
  • このとき、エントリーのテーブルではまだ、値は正常のまま(なので再構築とかしないほうがいい)

この状態では新たに作ったドロップダウンのカスタムフィールドでも、同じ現象が起きてしまう。

で、今のところ

UpGradeで用済みの

  • LinkedEntryCustomFields
  • RightsFields

さらに念のため

  • WidgetManager
  • TemplateRefles

プラグインの削除とデータベースの

  • mt_ex_foo
  • mt_ex_bar

とか

  • plugin_data

のRightsFieldsが追加したテーブル群を削除するとカスタムフィールドを編集しても設定を正常に保ったまま編集が出来るようになった。

この状態でLinkedEntryCustomFieldsだけをpluginディレクトリに戻して再度、カスタムフィールドを編集するとやっぱり、オプションの値が書き換わってしまうのでアップグレードした後、LinkdeEntryCustomFieldsを放置していたのが問題なのかもしれない。

ちょっと、今月は余裕がないので詳しく調べられないけど、おしえてエロい人。

RightFields のデータをカスタムフィールドに移行するプラグインのベータテストを開始 | MovableType.jp
Linked Entry Custom Fields | MovableType.org - Home of the MT Community