機能一覧

カスタムオブジェクト

PowerCMS ver.3のカスタムオブジェクトは、管理画面を自由にカスタマイズ。
担当者の使いづらさを解消します。

現状の課題

MT(に限らず一般的なCMS製品、もしくはBlogエンジン)でサイトを設計する時に、権限やコンテンツの種類ごとにウェブサイト(ブログ)をどんどん増やしていって結果として肝心の“マネジメント”がしにくい状況になってしまうケースを見かけます。
MTのカスタムフィールドで管理画面のバリエーションをいくつも持てる、が故に今度はカスタムフィールドの数が数千規模になってしまうようなケースも見かけます。

これは、MTが基本的にウェブページ/ブログ記事という2種類のコンテンツ管理しか出来ないために、コンテンツの種類ごとにブログを分けてマルチブログ(ポータル機能)で連携させるという手法をとるわけです。

「カスタマイズの工数とコスト負担を誰がみるのか」「行き過ぎたカスタマイズとバージョンアップ耐性問題」「再構築トリガーのためにシステム全体が肥大、サーバー負荷の増大」

使い勝手を上げるために管理画面のラベルを変更したりjQueryでフィールドのレイアウトを変更したりといった工夫をするわけですが、このような設計をしていると以下のような問題をどうするかが課題になってきます。

Movable Typeではコンテンツの内容に関係なく「ブログ記事」か「ウェブページ」で作成するしかない

一つ目の問題に対する新しいPowerCMSの答えは、「管理画面の操作とHTML(CSS)さえわかれば、ノンプログラミングで高度にカスタマイズできるCMS」です。その肝になるのが「カスタムオブジェクト・フレームワーク」です。
カスタムオブジェクト・フレームワークは、MTが持っているMT::ObjectとMT5.1の新機能であるListing Frameworkを拡張したもので、管理画面であらゆるオブジェクトを管理、そしてコンテンツとして出力できるものです。

PowerCMS ver.3の解決策

カスタムオブジェクトはサイトが扱う情報(オブジェクト)毎に“素直”にCMSの構成を設計することを可能にします。
一方でスニペット・カスタムフィールドは、それぞれのオブジェクトの投稿・管理インターフェイスを自由に設計することを可能にします。

Adobe DreamweaverやMicrosoft Visual Studioにあるコードスニペットは文字通りあらかじめ登録した「コードの断片」を簡単に挿入できる機能ですが、PowerCMSのスニペット・カスタムフィールドはHTMLで作成したコードがそのまま管理画面のフォームに挿入されます。

受け取り側のコード(プログラム)は一切書く必要がありません。input要素やtextarea、typeがfileのinput要素で添付ファイルを付けることもできます。

これにより、出力されるウェブサイト上のページのレイアウトに限りなく近い管理画面の投稿インターフェイスをつくることが可能になり、カスタム・フィールドを増やすことで陥りがちな“縦長で見通しの悪い管理画面”になることを防ぐことができます。

カスタムオブジェクトを使用したサイトではコンテンツのオブジェクトとして管理するので、ウェブサイト1つ、ブログ1つで済む

オブジェクトとは何か

一口にウェブサイトといっても、そこで扱う情報はサイトによってまちまちです。

  • すべてはオブジェクトである
  • オブジェクトは相互に関連付けられている
  • 文章(テキスト)、画像(写真)、動画、サウンドもオブジェクト
  • オブジェクトによって構造(オブジェクトが持つ情報=DBのカラム)は違う
  • オブジェクトによって適している入力フォーマット、表現(ページのレイアウトやデザイン)は違う

こういったものをひとつのツール(Movable Type=CMS)で管理するために、従来私たちははツールの持つ構造にサイトの情報を当てはめていく発想、手法を用いていたように思います。
もしくはサイトで扱う種類にあわせて“近い”ツールを選ぶといったことを行っていました。
PowerCMSではツールにサイトが歩み寄るのではなく、サイトにあわせてツールが歩み寄ることができます。
カスタムオブジェクト・フレームワークとは、Movable Typeが持つMT::ObjectのAPIとMT5.1のListing Framework

カスタムオブジェクトでできること

  • あらゆるオブジェクトをCMSで管理可能
  • オブジェクトには専用の管理画面を用意
  • オブジェクトはカスタムフィールドに対応
  • オブジェクトはグループ化でき、表示順を指定可能(ドラッグ & ドロップ)
  • オブジェクトは相互に関連付けできる (例:書籍に著者, ブログ記事にブログ記事)
  • グループ化したオブジェクトをオブジェクトに関連付けられる (ブログ記事におすすめ書籍, フードにおすすめドリンク)
  • オブジェクトはフォルダで階層管理が可能
  • オブジェクト毎に権限を設定可能
  • オブジェクトに“タグ”をつけることが可能
  • オブジェクトはバージョン管理可能
  • オブジェクトは時限公開が可能
  • オブジェクトには4段階(下書き/承認待ち/公開/公開終了)のステータスを指定可能
  • オブジェクトはMTタグで出力できる
  • オブジェクトはアーカイブ出力可能(例:書籍アーカイブ)
  • オブジェクト×フォルダ アーカイブ出力可能
  • オブジェクトはCSVインポート&エクスポートに対応