一口に「会社でXOOPSを使う」と言っても、いろんなニーズがあるでしょう。

よく耳にするのは、掲示板や会議室予約管理等、グループウェアの代用的な使い方です。


XSAS/XCP


どのモジュールをインストールして、どんなふうに活用していいかというサンプルを見せてくれるのがXCPです。架空の会社の社員がユーザ登録されていて、サンプルのデータも入力済みです。面倒なサーバ設定が不要で、自分のローカルマシン(Windows)上にXOOPSサイトが起動します。


XSAS with XOOPS Corporate Portal (XSAS/XCP) v0.7


Zope


XOOPSは基本的にフラットな関係(友人同士など)のコミュニティ用に設計されています。会社で使う場合、少人数の課やチーム単位などで、シンプルに情報共有する程度なら、XOOPSで十分でしょう。


ですが、より高度な機能、大規模でセキュアなサイト構築を考えるなら、他のCMSを検討してください。オープンソースのCMSにZopeというものがあります。有名どころだと、 NATOやルフトハンザ航空が採用しているようです。


CMSCommunicationsの寺田さんには、弊社のセミナーで何度かデモとお話をしていただきましたが、ワークフロー機能がとても魅力的なツールです。


▼参考記事

Xoopsセミナー ¦ CMSCommunications [ Zope-Plone ]


日本Zopeユーザ会

http://zope.jp/

XOOPSを始めたばかりの人がよく誤解して混乱するブロック管理について説明します。


 「ブロック管理画面で設定したのに、該当するブロックが表示されない」

 「ブロック管理画面で設定したいブロックが表示されない」


などのトラブルを解決できます。


まず、ブロック管理画面の上部に以下の3項目を指定できるメニューがあり、デフォルトでは以下のように設定されています。


 表示する画面:トップページ

 グループ:登録ユーザ

 表示 / 非表示:すべて


つまり、”トップページに表示可能なブロックすべてを一覧表示する”という設定です。

モジュールをたくさんインストールしていて、付属するブロック数が多い場合は下図のようにたくさん表示されてしまい、この中から目的のブロックを探すのは大変です。


ブロック管理 ←クリックすると拡大表示されます


この煩わしさを解決するために、以下のように条件を設定してブロック数を絞り込むことができます。この例では、”投票モジュールの画面でゲストにも表示可能なブロック”という設定です。


 表示する画面:投票

 グループ:ゲスト

 表示 / 非表示:表示


ブロック管理 ←クリックすると拡大表示されます


さて、”表示可能”という表現を使いましたが、これは実際に表示されているかどうかではなく、表示することもできるという状態を表しています。


画面上に表示するためには以下の2箇所の設定が必要になります。


▼ブロック管理画面の[表示/非表示]欄を「はい」にする

ブロック管理 ←クリックすると拡大表示されます


▼グループ管理画面の[ブロックアクセス権限]で該当するブロックにチェックマークを入れる

グループ管理 ←クリックすると拡大表示されます


なお、ブロック管理画面で行う表示位置や並び順等の設定は全グループに適用されます。

したがって、あるブロックを登録ユーザには左ブロックに表示させて、ゲストには右ブロックに表示させるというようなことはできません。


グループ管理画面はグループごとにブロックの表示/非表示を設定でき、デフォルトでは登録ユーザはすべてのブロックが表示される設定となっており、ゲストには限られたブロック以外はすべて非表示の設定となっています。


つまり、ゲストにもブロックを表示させたい場合は、必ずブロック管理設定後、グループ管理画面での設定も行わなければいけないというわけです。


ブロック管理とグループ管理という2つの画面を別々に開いて設定しなければいけないという煩わしさを解消してくれるのがblocksadminモジュールです。これをインストールすると、モジュールごとに管理画面が用意され、一つの画面で同時にブロック管理とグループ管理が行えるので便利です。

▼blocksadminモジュールの管理画面(画面上部がブロック管理、下部がグループ管理)

blocksadminモジュール ←クリックすると拡大表示されます


・blocksadminモジュール(PEAK XOOPSサポート&実験室)

http://www.peak.ne.jp/xoops/md/mydownloads/singlefile.php?cid=1&lid=43


なお、拙作『XOOPSによるポータルサイト構築』の「4-4 グループ管理」と「4-5 ブロック管理」でこれらについて図解しておりますので、参考にしてください。


上田 修子
XOOPSによるポータルサイト構築―オープンソース徹底活用

この内容は「はじめてのXOOPS」 セミナーでも紹介しています。

インストール時のトラブルや文字化け等の質問投稿をよく見かけますが、まずはご自分がお使いになっているサーバの仕様を確認してみましょう。


そして、それをキーワードに過去レスを検索してください。
たとえば、「PHP4.x.x」と「文字化け」のAND検索というようにキーワードを指定します。


参考記事:XOOPS Cube公式サイトで検索する


そして、過去レスを読んでも内容の意味がわからない、あるいは質問投稿される際にどのような情報を添えればよいのかわからない、つまりサーバ設定に関して自己解決が難しい方は、サイト構築計画全体を見直したほうがよいと思います。


フォーラム投稿により、直面している問題を一つ解決したとしても、その後別のトラブルが生じた際も他人頼みになってしまうことでしょう。そして、ちょっと厳しい言い方ではありますが、XOOPS Cube公式サイト(http://xoopscube.jp/ )は、XOOPSについて情報交換する場であって、サーバ構築初心者を手取り足取り指導する場所ではありません


特に自宅サーバなどで、「サーバ管理もXOOPSもこれから勉強する」という方は以下をご検討ください。


■ 非公開のテスト環境を作りたい場合


XOOPSの動作環境として必要なソフトがパッケージングされて、面倒な設定も不要なツールがあります。

Windowsユーザには、Apache+MySQL+PHP+XOOPSが一つになったXSASやXaioをお奨めします。


・XSAS Plain JP(XOOPS for Corporate)
http://xoops.smej.com/modules/mydownloads/singlefile.php?cid=1&lid=2


・Xaio(OCEAN-NET 特選プログラム集)
http://hello.oceannet.jp/modules/download/


Macユーザ向けには、Apache+MySQL+PHPが一つになったMAMPがありますので、ここにXOOPSをインストールして使ってください。


・MAMP
http://www.mamp.info/en/home/


■ インターネット上に公開する本番環境が必要な場合


サーバ初心者をターゲットにした個人向けレンタル・サーバを使ってください。利用料金も数百円/月額からあり、値段のわりにはそこそこ正常に動作します。(たまにダウンしますが・・・)


・ロリポップ 200MB 263円/月
http://lolipop.jp/


・さくらインターネット 300MB 125円/月
http://www.sakura.ne.jp/

XOOPS Cube公式サイトに「ニュース記事の文字サイズを12ptにしたい」という投稿がありました。

http://xoopscube.jp/modules/xhnewbb/viewtopic.php?viewmode=flat&topic_id=1449&forum=5


この解を得るための手順を簡単に説明します。


1. クラス名を調べる


まず、該当するページを開き、そのソースを表示します。この投稿ではニュース記事本文のサイズ変更をしたいということでしたので、それが表示されているページならどれでも結構です。


例:セキュリティアップデート : PopnupBlog アップデートのご案内(Xoops Cube公式サイト)

http://xoopscube.jp/modules/cubeNews/?action=detail&id=27


※Internet Explorerのソース表示機能では、メモ帳が起動して日本語の部分が文字化けします。Operaなど、他のテキスト・エディタ(EUC-JP対応)を呼び出せるブラウザを使うとよいでしょう。


▼ニュース記事本文のソース

---------------------------------------------------------------------------------

<p class="itemText">Version2.32 Redwood-1209 にてセキュリティアップデート:Script Insertion 対策を施しました。<br />
本文の投稿に、JavaScript等を挿入する事が可能なためScript Insertion の脆弱性がございました。また、2.2からのアップデートにはSQLのテーブル更新が必要です詳しくはreadme.txtをご覧下さい。</p>

---------------------------------------------------------------------------------


上記のソースでわかるように、記事本文には、itemTextというクラスが割り当てられています。


2. style.cssを編集する


テーマセット内のstyle.cssをテキスト・エディタで開き、該当するセレクタにスタイルを記述します。

(defaultテーマ使用中なら、/themes/default/style.css)


▼itemTextプロパティ

---------------------------------------------------------------------------------
.itemText {font-size: 12pt; margin-top: 5px; margin-bottom: 5px; line-height: 1.5em;}

---------------------------------------------------------------------------------


【参考サイト】

 CSSのプロパティ一覧が公開されています。

 とほほのスタイルシート入門


【参考図書】

 リファレンスとしても使えますが、冒頭にCSSの基本文法の説明があり、ビギナーにはお奨めです。

安川 英明, アンク
スタイルシート辞典

この内容は「XOOPSテーマとテンプレートのカスタマイズ」 セミナーでも紹介しています。

最近のバージョンのXOOPSコアパッケージは、デバッグモードのデフォルトにPHPが選択されています。トラブル時には、これが吐き出すエラー内容から原因を判断しますが、通常時はデバッグ表示が邪魔になりますので、オフにしておきましょう。


[管理者メニュー]-[SYSTEM ADMIN]-[一般設定]-[一般設定]

デバッグモードを有効にする ←クリックすると拡大表示されます


管理画面が開ける場合は、上の図のように設定を切り替えることができます。

何らかの事情で、管理画面にログインできない場合は以下のページで配布している「デバッグモード変更」プログラムを使うとよいでしょう。

Marijuana's XOOPS TEST ROOM - XOOPSデバッグモード変更 ←配布が中止されているようです。

XOOPSモジュール案内所 - debugchange ←こちらでダウンロードできます。


解凍したフォルダの中にdebugchange.phpがありますので、これをXOOPSをインストールしたサイトのルート・ディレクトリに置き、ブラウザからアクセスします。


XOOPSサイトをPHPデバグに切り替える ←クリックすると拡大表示されます


※使用後は、同ファイルをサーバから削除しておきましょう。

XSASでサイト管理者アカウントのパスワードを忘れてしまった場合の対策です。

※メール機能を使っているサイトでは、「パスワード紛失」メニューから再発行手続きを進めてください。


管理者権限を持つアカウントが複数ある場合は、他のアカウントでログインしてユーザ管理画面がらパスワードを変更してください。

サイト管理者アカウントが一つしかない場合は、データベース上のデータを書き換えることになります。


・md5値に変換


パスワードは平文ではなく、md5で暗号化して保存します。

まず、新しく設定するパスワードをmd5値に変換しましょう。


以下のURLにあるフォームを使ってください。

http://naokoueda.com/koeda/index.php?plugin=md5


キーワードを入力して、computeボタンをクリックします。

md5に変換するフォーム ←クリックすると拡大表示されます

以下の図は、「pass」という文字列を変換した際に得られた値です。これをコピーします。


xoopsのパスワードをmd5に変換 ←クリックすると拡大表示されます


・phpMyAdminでパスワード入力


phpMyAdminにログインして、xoops_usersテーブルを開き、該当するユーザの[修正]ボタンをクリックします。インストール時に設定したユーザは、uidが「1」です。


サイト管理者アカウントのパスワード変更 ←クリックすると拡大表示されます


コピーしたmd5値をpassフィールドに貼り付けて、[実行]ボタンをクリックします。


サイト管理者アカウントにmd5値を入力 ←クリックすると拡大表示されます


以上の操作でパスワードが変更されます。


・関連ページ


XoopsMemo - 「phpMyAdminでパスワード変更」

でMD5関数を使って、パスワードを入力する方法を紹介しています。

モジュールをインストールしようと以下の図のように「Module File for Not Found」と表示されることがあります。

Module File for Not Found ←クリックすると拡大表示されます


これは、サーバのmodulesディレクトリの中に正しくモジュールがアップロードされていないからです。


ここでは、piCalを例に説明します。

piCalをダウンロードして解凍すると、「piCal-0.8」というディレクトリが現れます。

Module File for Not Foundの原因

このpiCal-0.8ディレクトリの中の階層は以下のようになります。


piCal-0.8

  |- common - jscalendar

  |- modules - piCal


サーバにアップロードする際は、上記のpiCalディレクトリをサーバ上のmodulesディレクトリにアップロードしなければいけません。


つまり、piCal-0.8をルートディレクトリに見立てたディレクトリ構成でモジュールが配布されているのです。


どのようなディレクトリ構成で配布するかはモジュール作者によって異なります。

解凍するとmodulesディレクトリが現れて、その中のモジュール用のディレクトリをサーバにアップロードしなければいけないものもあります。


解凍したディレクトリをそのままmodulesディレクトリの下にアップロードするタイプのモジュールもあります。


あるいは、解凍ツールの仕様により、同名のディレクトリが二重になってしまう場合もあります。


Module File for Not Found」というエラーが出た場合は、上記を参考にいま一度modulesディレクトリ以下の構成内容をご確認ください。

「モジュールをインストールしようとすると、"Table 'テーブル名' already exists"というエラーが出る」

といった投稿をよく見かけます。


これは、同じモジュールを以前にも使っていて、そのアンインストールが成功していない場合に起こるエラー・メッセージです。


たとえば、ニュース・モジュール(標準news)では、以下のようなエラー・メッセージが表示されます。


Installing ニュース


Table 'xoops_stories' already exists

newsモジュールをインストールできませんでした エラー:


これは「xoops_storiesという名前のテーブルはデータベース上に既に存在します」という意味のエラー・メッセージです。


本来はアンインストール時にこのテーブルも削除されるべきなのですが、なんらかの事情で削除されていない場合、インストール時に同名テーブルを作成できず起こるエラーなのです。


こんな時は、データベース上の該当テーブルを削除して、インストールをやり直しましょう。

phpMyAdminを使えば、以下の図のように簡単にテーブル操作を行うことができます。

Table 'テーブル名' already exists対策 ←クリックすると拡大表示されます


モジュールの正しいアンインストール手順は、『XOOPSによるポータルサイト構築』の「7-20 モジュールをアンインストールしたい」をご参照ください。

上田 修子
XOOPSによるポータルサイト構築―オープンソース徹底活用

【関連記事】

MySQLって何?