第8回 カスタマイズをパッケージングする
河村 嘉之
オープンソースCRM株式会社
2009/5/12
オープンソースのSFA/CRMアプリケーション「SugarCRM」は、利用者に合わせてカスタマイズを加えていくことで、より真価を発揮することができます。この連載では、ソースコードの内容を把握した上でさまざまなカスタマイズを加えていくまでを紹介します(編集部) |
前回「ビジネスロジックフックを使って処理を追加する」では、ビジネスロジックフックについて紹介しました。この機能を使うことにより、Beanに対するアクションなどにちょっとした処理を追加できます。
この連載では、このように、SugarCRMをカスタマイズする方法を紹介してきました。しかし、いろいろなカスタマイズを加えるうちに、どのようなカスタマイズを加えたかを管理したり、作成したカスタマイズを別の場所で動いているSugarCRMのインスタンス上にインストールする必要が出てくるでしょう。これを行うためには、カスタマイズをきちんとSugarCRMにインストールできるようにパッケージする必要があります。
そこで今回は、カスタマイズのパッケージの方法と、それをSugarCRMにインストールする方法を説明します。
パッケージ作成の流れ
初めに、カスタマイズをパッケージする方法を説明します。パッケージを一から作ってもいいのですが、ここではモジュールビルダーを利用してひな形を作ってみましょう。モジュールビルダーの使い方は、本連載の第2回で紹介しましたので、そちらを参照してください。
モジュールビルダー上で新規モジュールを作成したら、そのモジュールが所属するパッケージを選択し、「公開」ボタンを押します。すると、Zipファイルが1つダウンロードされてきます。このファイルがSugarCRM上にカスタマイズをインストールするためのパッケージになります。
このファイルを展開すると、そのトップディレクトリにmanifest.phpというファイルがあります。これがそのパッケージがどのようなものかを記述するファイルです。このファイルは、パッケージを構成する中で最も重要なファイルの1つです。このファイルの中身を見てみましょう。
<?php |
manifest.phpには、$manifestと$installdefsという2つの変数が定義されています。$manifest変数には、インストールするパッケージの情報が配列で記述されます。この変数に定義された情報は、モジュールローダー(SugarCRMにパッケージをインストールする機能、後述)が与えられたパッケージをインストールすることができるかどうかを判定するために利用されます。$manifest変数は、以下のように定義します。
$manifest = array ( |
$manifest変数の配列の要素として定義できる代表的な値は以下のようになります。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
表1 $manifest変数の配列の要素として定義できる値 |
$installdefs変数には、実際にパッケージをインストールするときに、モジュールローダーがどのような処理を行うかを決定するための情報が配列で定義されています。$installdefs変数は以下のように指定します。
$installdefs = array ( |
$installdefs変数の配列の要素に定義できる代表的な値は以下のようになります。
|
||||||||||||||||||
表2 $installdefs変数の配列の要素に定義できる値 |
第7回へ | 1/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フォーラム全記事インデックス |
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|