CMS Blog
弊社がパートナーとして取り組んでいるeZ PublishをはじめとしたCMS(コンテンツ管理システム)について、その手法、ノウハウ、参考になりそうなリソースなど、CMSの活用情報をさまざまな角度からお届けいたします。当Blogの更新情報は、Twitter経由でも配信しています。興味のある方はぜひ、@mlc_cmsをフォローしてください。当Blogへのご意見・ご質問は、Twitter経由でも受け付けております。
2011年5月31日
eZ Find [3] eZFindの設定について(1)
システムエンジニア 野沢
前回に引き続き、今回は検索インデックス更新周りを設定するためのeZ Findの設定を紹介します
DelayedIndexing
検索インデックスの更新タイミングを変更する場合、site.iniの以下の設定を変更します。
[SearchSettings]
DelayedIndexing=disabled
通常、検索インデックスはeZ管理画面上でオブジェクトを作成・更新・削除したタイミングで更新されます。
この設定を「enabled」に設定した場合、オブジェクトは検索インデックス用のキューに自らのIDを登録することで、検索インデックスへの登録を任意の時間に延期することができます。
蓄積されたIDに対してインデックス処理を行う場合は、以下のクーロンを実行します。
cd /ezroot/ && php ./runcronjob.php -s <admin siteaccess> ezfindexcontent
なお、サイト全体のインデックスを再構築する際には以下のコマンドを実行します。
cd /ezroot/ && php extension/ezfind/bin/php/updatesearchindexsolr.php -s <admin siteaccess> --php-exec=<php-cli path> --clean
--php-execにはPHPコマンドのパスを、--cleanを指定した場合はすべてのインデックスを一端削除した上で再構築を行います。
次回も引き続きeZFindの設定にについて紹介します。
2011年5月18日
Freeformモジュールについて
システムエンジニア 野沢
今回はExpression EngineのFreeformモジュールのご紹介をいたします。
FreeformモジュールはExpressionEngine上で簡易な入力フォームを実装することができるモジュールで、1.x、2.xのどちらのバージョンにも対応しています。
Freeformモジュールは管理画面上で、自由に入力フィールドを定義することができ、入力フィールドはテンプレート上で自由に表示できるため、簡易的なお問い合わせフォーム、アンケート、投票などの用途として活用することができます。あまり複雑な用途としては活用できませんが、テンプレート上で入力必須フィールドを定義したり、Captchaを設定することもできます。
投稿された内容は通知メールとして特定のアドレスに送信したり、アンケートや投票などの結果としてテンプレート出力することも可能です。
次回はFreeformモジュールを使った簡単な問い合わせフォームの作成についてご紹介いたします。
2011年4月15日
eZ Find [2] インストールから起動まで~後半~
システムエンジニア 野沢
前回に引き続き、eZ Findのインストールと設定の後半になります。
Solrの設定と起動確認
▼1:
必要なファイルをeZFindからSolrにコピーします。
# cd /ezroot/extension/ezfind/java/solr/conf/
# cp schema.xml $SOLR_HOME/solr/conf/
# cp solrconfig.xml $SOLR_HOME/solr/conf/
# cd /ezroot/extension/ezfind/java/solr/lib/
# cp ezsystems-ezfind-solr-extension-2.1.jar $SOLR_HOME/solr/lib/
▼2:
今回、Servletコンテナは同胞されているjettyを利用し、Solrを起動します。
そのために、eZFindに同胞されている起動スクリプトの環境変数を設定し任意のディレクトリにコピーします。
# vi /ezroot/extension/ezfind/bin/scripts/rhel/solr
20,21行目の変数を変更します
20 SOLR_HOME=/usr/local/apache-solr-1.4.1/example
21 JAVA_HOME=/usr/java/default
# cp /ezroot/extension/ezfind/bin/scripts/rhel/solr /etc/init.d/solr
# /etc/init.d/solr
管理画面にアクセスし、Solrの起動を確認します。
http://localhost:8983/solr/admin/
eZFindの設定と起動確認
▼1:
以下のファイルを確認しSearchServerURIの値がSolrのURIと同じであることを確認します。
- in /ezroot/extension/ezfind/settings/solr.ini
SearchServerURI=http://localhost:8983/solr
▼2:
eZに登録された全コンテンツのインデキシングを行います。
# cd /ezroot/
# php ./extension/ezfind/bin/php/updatesearchindexsolr.php --php-exec=php
▼3:
フロントエンドの検索結果画面を確認しeZFindが有効になっていることを確認します。
http://ez-publish-url/[フロントエンドのサイトアクセス/]content/search?SearchText=
画面下部に「using eZ Find 2.1 search plugin」と表示されればインストールの完了です。
次回はeZFindの設定についてです。
2011年3月30日
CMSニュース(2011/3/30)
テクニカルディレクター 棟
eZ Publishニュース
コミュニティプロジェクトのリリース方針(RFC)が公開されています。(意見募集中)
eZ Publishのコミュニティ版(eZ CP)のリリース方針がSlideshareで公開されています。- どうやってEnterprise版(eZ EE)とeZ CP間の移行を保っていくか
- eZ CPはどのくらいの頻度でリリースするべき?eZ EEと同じ間隔(6ヶ月間隔)でリリースする?
Movable Typeニュース
Movable Type 5.1 Beta 3 が公開されました。
公式サイトでMovableType 5.1のBeta3が公開されました。 バグもかなり治ってきて、いよいよという感じになってきました。 5.1の主な特徴をおさらいすると、- 一覧画面のフレームワーク強化
- システム+ウェブサイト+ブログの連携強化
- 投稿画面の項目、カテゴリ、フォルダの並び替え
- IE8、WebKitなど最新ブラウザに対応
2011年3月25日
ExpressionEngine2.xを活用するための4つのテンプレート要素(つづき)
システムエンジニア 野沢
前回からの続きです。ExpressionEngine2.xを活用するための4つのテンプレート要素をご紹介します。
- テンプレートグループ
- テンプレート
- スニペット
- グローバル変数
今回は「スニペット」と「グローバル変数」のご紹介です。
スニペット
スニペットとは2.xから追加されたテンプレートの一部分をスニペットというパーツとして呼び出すことができる機能です。
以下のような特徴があります。
- 参照元のテンプレートで使用されている変数を、そのまま使用することができる。(外部テンプレートの場合は引数で渡す必要がある。)
- スニペットからスニペットを呼び出すことができない。
スニペットの活用には以下のような用途があります。
{my_date_formatting} というスニペットを「format="%Y/%m/%d"」という文字列で定義することによって下記のようなテンプレート記述が可能です。
{entry_date {my_date_formatting}}
出力結果例は以下のようになります。
2011/01/27
グローバル変数
グローバル変数とはページで毎回使用する文字列などを定義できます。
使用頻度が高い文字列をグローバル変数として定義することで一括管理をすることができます。
ただし、テンプレート出力の最後に実行されるため、テンプレートのパラメーター参照の用途としては使用できません。
{exp:channel:entries channel="{special_channel}" limit="{special_limit}"}
上記のような、パラメーターを変数化して実行する場合は、上記の変数をスニペット化することによって、実現ができます。
以上、2回に分けてExpressionEngine2.xを活用するための4つのテンプレート要素をご紹介しました。
2011年2月25日
eZ Find [2] インストールから起動まで~前半~
前回に引き続き、今回から2回に分けて、eZ Findのインストールと設定を行っていきます。 今回インストールする環境は以下です。
■環境
| OS | CentOS 5.4 |
|---|---|
| データベース | MySQL 5.0 |
| Java version | 1.6.0 |
| PHP version | 5.2.9 |
| eZ Publish version | 4.2 以上 |
■インストール
| Solr | 1.4.1 |
|---|---|
| eZ Find | 2.1 |
※. eZFindにはSolrのパッケージ自体が含まれますが、
最新版を利用するため、Solrは別途インストールを行います。
Solrのインストール
http://www.apache.org/dyn/closer.cgi/lucene/solr/1.4.1
上記サイトよりパッケージをダウンロードしフォルダに展開します。
今回は「/usr/local/」以下に展開します。
以降、展開したフォルダのパス「/usr/local/apache-solr-1.4.1/example」を $SOLR_HOME とします。
eZFindのインストール
まずeZPublishにeZFindのエクステンションをインストールします。
▼1:
下記サイトよりパッケージをダウンロードし
作成された「ezfind」フォルダをeZの「extension」フォルダに移動します。
# wget http://share.ez.no/content/download/105095/486678/version/1/file/ezfind-extension-2.1.tar.gz
# tar zxvf ezfind-extension-2.1.tar.gz
# mv ezfind /ezroot/extension/
▼2:
データベースの設定を行います。
# mysql -n -h localhost -u <username> -p <dbname> < /ezroot/extension/ezfind/sql/mysql/mysql.sql
▼3:
Extensionを有効化します。
「/ezroot/settings/override/site.ini.append.php」を編集します。
「[ExtensionSettings]」のINIセクションに以下を追記します。
ActiveExtensions[]=ezfind
▼4:
エクステンション用のオートロード配列の再生成を行います。
# cd /ezroot/
# /usr/bin/php ./bin/php/ezpgenerateautoloads.php --extension
▼5:
キャッシュをすべてクリアします。
# cd /ezroot/
# /usr/bin/php ./bin/php/ezcache.php --clear-all
次回は引き続き、設定と起動確認を行います。
2011年2月18日
ExpressionEngine2.xを活用するための4つのテンプレート要素
システムエンジニア 野沢
今回から2回に分けてExpressionEngine2.xを活用するための4つのテンプレート要素をご紹介します。
- テンプレートグループ
- テンプレート
- スニペット
- グローバル変数
今回は「テンプレートグループ」と「テンプレート」のご紹介です。
テンプレートグループ
テンプレートグループとはExpressionEngine1.x系と同様で、コンテンツ単位ごとのテンプレートを管理する要素です。
テンプレートグループ/テンプレートと記述することによって、各テンプレートへアクセスが可能です。
例えば「news」テンプレートグループの「detail」テンプレートにアクセスする場合、公開画面は下記のようなURLで参照することができます。
http://example.com/index.php/news/detail/
リクエストしたURLから該当するテンプレートが存在しない場合、自動的に「index」テンプレートが参照されます。
テンプレートグループも指定されていないURLの場合は、デフォルトテンプレートグループの「index」テンプレートが参照されます。
テンプレート
テンプレートとはExpressionEngine1.x系と同様にページの要素をテンプレートとして管理する機能です。
以下のような特徴があります。
- テンプレート単位でアクセス制御をかけることができる。(特定のメンバーグループのみアクセスできるページなどを作れる)
- テンプレートを外部ファイル化して管理することができる。
- テンプレート名の先頭に「.」をつけると、ブラウザから直接参照ができないテンプレートを作ることができる。(MovableType のテンプレートモジュールのような使い方ができます。)
- テンプレートのリビジョン管理(世代管理)を自動でしてくれる。
- テンプレートから他テンプレートを呼び出すことができる。また引数を渡すことで汎用的なテンプレート設計ができる。
以下のテンプレートの種類があります。
- Webページ
- RSS
- CSS
- Javascript
- Static(ExpressionEngineのテンプレート処理が無効になるページを出力)
- XML(外部システムと連携する際に効果的)
次回は引き続き、「スニペット」、「グローバル変数」をご紹介します。
