SugarCRM

第9回 自分のホームページをカスタマイズする


河村 嘉之
オープンソースCRM株式会社
2009/6/8


一覧表示用のダッシュレット、「DashletGeneric」

 上記のようにDashletクラスを継承し、displayメソッドをオーバーライドすることにより、どのような内容でもダッシュレットの中に表示することができます。

 一方、多くのダッシュレットでは、単純に自分が担当している取引先や商談を一覧表示できれば十分です。SugarCRMでは、DashletGenericというクラスで、モジュールのデータを一覧するためのテンプレートのダッシュレットを提供しています。このクラスは、Dashletクラスのサブクラスです。

 ここで、DashletGenericクラスを継承したMyLeadsDashlet.phpの中身を見てみましょう。

<?php
...
require_once('include/Dashlets/DashletGeneric.php');
require_once('modules/Leads/Lead.php');

class MyLeadsDashlet extends DashletGeneric {
  function MyLeadsDashlet($id, $def = null) {
    global $current_user, $app_strings;
    require(
      'modules/Leads/Dashlets/MyLeadsDashlet/MyLeadsDashlet.data.php'
    );

    parent::DashletGeneric($id, $def);

    if(empty($def['title'])) $this->title =
      translate('LBL_LIST_MY_LEADS', 'Leads');
    $this->searchFields = $dashletData['MyLeadsDashlet']['searchFields'];
    $this->columns = $dashletData['MyLeadsDashlet']['columns'];
    $this->seedBean = new Lead();
  }
}
?>

 このクラスでは、コンストラクタ以外のメソッドは定義されていません。コンストラクタでは、タイトル、検索フィールド、表示するカラム、このダッシュレットが取り扱うBeanを設定しています。また、ここでMyLeadsDashlet.data.phpというファイルを読み込んでいますが、このファイルには、このダッシュレットでどのようなカラムを表示するか、検索フィールドは何かなど、データをどのように扱うかを定義します。このファイルの名前は、通常ダッシュレットのクラス名.data.phpになります。

 MyLeadsDashletのデータファイルを見てみましょう。

<?php
……
global $current_user;
$dashletData['MyLeadsDashlet']['searchFields'] = array(
  'date_entered' => array('default' => ''),
  ……
);
$dashletData['MyLeadsDashlet']['columns'] = array(
  'name' => array(
    'width' => '40',
    'label' => 'LBL_NAME',
    'link' => true,
    'default' => true,
    'related_fields' => array('first_name', 'last_name')
  ),
  ……
);
?>

 このファイルには、$dashletData変数にダッシュレットのクラス名の要素を作成し、それ以下にsearchFields要素とcolumns要素を設定します。searchFields要素には、検索対象フィールドとして利用するフィールドを列挙していきます。ここで定義されたフィールドは、オプション設定画面を表示した際に検索対象のフィールドとして表示されます。columns要素には、ダッシュレットの中に表示される一覧画面でどのカラムを利用するかを指定します。

 このように、モジュールの情報を一覧表示するダッシュレットであれば、非常に簡単に作成することができます。

ダッシュレットの認識

 ダッシュレットを作成して指定のディレクトリに配置したら、それをSugarCRMに認識させる必要があります。手順は以下のようになります。

  1. 管理者の権限を持つユーザーでログインする。
  2. 管理リンクをクリックし、管理画面の「システム管理→リペア(再構築)」をクリックする。
  3. 「Dashletの再構築」をクリックする。
画面2
画面2 ダッシュレットの再構築

 するとダッシュレットが読み込まれ、ダッシュレットの追加のボタンを押したときに表示されるダッシュレットの一覧に作成したダッシュレットが追加されます。これで新しく足したダッシュレットが利用可能になります。

コラム■Sugar Community Edition バージョン5.2リリース

 5月中旬に、Sugar Community Edition バージョン5.2をリリースしました。この新しいバージョンでは、インポート、スタジオ、モジュールビルダーなどが機能拡張され、より使いやすくなっています。またこのバージョンから、「クラウドコネクタ」と呼ばれる、外部サービスから提供されるデータをSugarCRMに取り込むフレームワークが提供され、外部サービスをより簡単に利用できるようになりました。

 新しいSugar Community Editionは、以下のサイトからダウンロードできます。ぜひお試しください!

関連リンク:
http://www.osscrm.com/demo/download.shtml

まとめ

 今回は、SugarCRMに蓄積されたデータを簡単に把握できるように、ホーム画面のカスタマイズの方法を説明しました。また、ホーム画面に配置されるダッシュレットの作成の仕方も説明しました。ダッシュレットを追加することにより、ホーム画面をより使いやすいものにカスタマイズすることができます。

 SugarCRMを利用すると多くのデータがシステムに蓄積されていきます。これを外部のツールから参照できると便利でしょう。また、外部のツールとSugarCRMを連携させて、外部ツール側で何らかの変更があったら、それに合わせてSugarCRMのデータを変更したいような場合もあるでしょう。

 SugarCRMでは、Webサービスインターフェイスを提供し、外部からデータにアクセスできるようにしています。次回は、このWebサービスインターフェイスについて説明します。

2/2
 

Index
徹底解剖、SugarCRM(9)
 自分のホームページをカスタマイズする
  Page 1
 ホームページのカスタマイズ
 ダッシュレットの作成
  Page 2
 一覧表示用のダッシュレット、「DashletGeneric」
 ダッシュレットの認識
 コラム Sugar Community Edition バージョン5.2リリース
 まとめ

Linux Square全記事インデックス


 Linux Squareフォーラム 仮想化技術関連記事
連載:実践! Xenで実現するサーバ統合
有力な仮想化技術として注目を集めるようになった「Xen」。このXenを活用してサーバ統合を実践していく手順を具体的に紹介します
特集:サーバの仮想化技術とビジネス展開の可能性
jailからUML/VMwareまで
1台のマシンで複数のサーバを動かす「仮想化技術」。VMwareやUMLの登場により、WebサイトだけでなくOS自体を仮想化できるようになった
特集:仮想化技術のアプローチと実装
VMwareから要注目技術Xenまで

1台のサーバで複数の仮想マシンを実行する仮想化技術は、空間コストを引き下げる可能性を持つ。最新の仮想化技術を概観してみよう
特集:仮想OS「User Mode Linux」活用法
技術解説からカーネルカスタマイズまで
Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説
特集:仮想化技術の大本命「Xen」を使ってみよう
インストール & Debian環境構築編

高いパフォーマンスで本命の1つとなった仮想マシンモニタ「Xen」。日本語による情報が少ないXenを、実際に動かしてみよう
特集:仮想化技術の大本命「Xen」を使ってみよう
Xen対応カスタムカーネル構築編

Xen環境およびその上で動作する仮想マシン用カーネルを自分で構築しよう。これにより、自由にカスタマイズしたカーネルを利用できる
特集:IPv6、UML、セキュリティ機能の統合
全貌を現したLinuxカーネル2.6[第4章]

今回は、これまでに紹介し切れなかった機能を一気に紹介する。これを読めば、カーネル2.6の正式リリースが楽しみになるだろう
Linux Squareプロダクトレビュー VMware Workstation 4
PC/AT互換機エミュレータとして不動の地位を築いたVMware。その新バージョンがリリースされた。新機能を早速試してみよう
古くて新しい「サーバ仮想化技術」の行方
サーバ仮想化を実現するための技術がソフトウェア、ハードウェアの両面で出そろってきた。ハイパーバイザーのさらなる高速化に向けた動きを紹介する
Linux Squareフォーラム全記事インデックス


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間