オープンソースCMS Geeklogの特徴

提供: GeeklogJpWiki

注意:このページは許可無く転載不可

目次

Geeklogの紹介

Geeklog は,PHPとMySQLで動作するCMS

GeekLog は,PHP・MySQLで動作するCMS(コンテンツマネジメントシステム)で,GPLを適用して配布されているオープンソースCMSです. インストールするだけで,ダイナミックなWebサイトを運営することができます.

一般的なサイトから高機能なポータルサイトまで様々なサイト構築を可能にする汎用CMSですが,とくにブログ機能が高く,SEO対策に効果を発揮します.

携帯への対応も進み,3キャリアからも閲覧が可能で,ログインや記事投稿,コンテンツの編集作業など,PC同様の作業が可能です.

本書では、Geeklog 1.4.0の機能について説明していますが,Geeklog 1.4.1ではMicrosoft SQL Serverにも対応し,多言語切り替えでバイリンガルサイトも可能になり,ユーザ情報・設定関係が改善され、カレンダーがプラグイン化されます.

Geeklogは汎用CMS

GeeklogはCMSの中でも,拡張性・汎用性が高い「汎用CMS」です.システムを簡単に拡張するプラグインシステム(他のCMSではモジュールと呼ばれる場合があります)だけではなく,手軽に開発を楽しめるアドオン開発環境が各種整備されています.

ページをPHPで記述する静的ページPHP機能,PHP関数の出力結果をブロックに表示するPHPブロック機能,本体をカスタマイズするためにあらかじめユーザのために用意されたカスタム関数,Geeklogの関数を利用して簡単に独立したページを開発できるアプリケーション,わかりやすい構造でハックしやすいGeeklog本体のソースが提供されています.

プラグインやアドオンの配布サイトからダウンロードして自由に追加すれば簡単にシステムをカスタマイズできます.ショッピングカートやWikiの機能を追加することも可能です.

カスタム関数の提供により,本体へのハックを最小限に抑えることができるのでセキュリティリリースやバージョンアップリリースへの対応もすばやく対応できます.

開発の経緯

Geeklogは当初,セキュリティギークウェブサイトの構築を目的としてJason Whittenburgが開発をはじめました.2001年の初頭に,Jasonが他の仕事に専念するため,Iowa Outdoors運営でGeeklogを利用しているTony Bibbsに,このプロジェクトを移管しました.その後TonyはGL2と呼ばれる次世代Geeklogの開発に専念し,現在Dirk Haunが,1.3 x ,1.4 x を維持管理しています.

日本でのGeeklogのサポートは,Geeklog日本公式サイト「Geeklog Japanese」が行っており,当初はSaYさんが運営.2006年5月からは,Geeklog Japaneseのドメイン http://www.geeklog.jp を取得して,多くのGeeklogに関心を持つ開発者たちやSOHO支援グループ「IvySOHO」のスタッフがさらに参加して共同運営する体制になりました.

直感操作

管理画面は,サイトの一部のコンテンツとして表示されるのでデザインが変わりません.常にどのサイトで管理しているのかを慣れた画面で操作するのでストレスなく,安心して作業ができます.

たとえば,下の記事の編集は,その直下の「編集」をクリックするだけで記事の編集画面に移動します.

軽快操作

サイト運営者へ権限移管

CMSは開発,設置までは開発者が携わりますが,運用は実際の運用者にまかせるのが理想です.設置は初期の短期間だけの作業ですが,運営は継続的な作業なので大変重要です.

この場合,管理者(アドミニストレータ)と運営者(モデレータ)の役割の分離,運営者への移管のしやすさが大事です.

そのためには,運用がなによりも簡単で,ストレスをあたえない操作手順であることが重要です.

Geeklogは,直感的な管理操作が行えるのが一番の特長で,毎日のコンテンツ管理にストレスがありません.Geeklogを設置した利用者の一様な評価は,メンテナンスを直感的に行えることです.編集作業などスムーズに行うことができ,しかも表示速度が速いので,軽快にストレスなく操作できます.

そのため,設置は管理者,運営は管理者の手から離れてサイト運営者自ら行うことができます.

管理者(アドミニストレータ)と運営者(モデレータ)の役割の分離

軽快な表示

CMSは,プログラムとテンプレート,言語ファイル,データベースを参照して毎回HTMLを生成しなおします.

そのためどうしても表示速度が遅くなりがちなのですが,軽快に表示できることでアクセシビリティも高めることになり、さらに将来様々に機能を拡張していく場合でも安心して運用できます.

表示が遅いCMSでは,ナローバンドではさらに表示に時間がかかり,そのCMS自体を採用できないことにもなりかねません.

Geeklog Japaneseは多くのプラグインをインストールしてコンテンツを表示させていますが,ページの生成時間は常時0.3秒前後で安定しています.ページ生成時間は,ページのフッタに表示しています.これは同時にサーバへの負荷もより小さいことを意味します.

表示が速い原因は,プログラム階層が深くないことがあげられるでしょう.

軽快な表示
ページ作成が高速

高いSEO効果

Geeklogを利用すると,SEOでも様々なよい結果をもたらします.ポータルサイト向けだけではなく,企業のホームページとして設置利用すると,キーワード,頻繁なクロール,サイトの充実から高いページランクなどを得やすくなります.

SEO対策に最適
  1. キーワード対策
    タグの構造とURL
    1. 「アンカーテキスト=ページタイトル=H1」でページ間連携を行います.
    2. タイトルは,サイト名とページタイトルの両方に自動的にセットします.
    3. 記事・静的ページ等のIDは内容を反映したIDを自由に設定できます.
  2. クロール対策(検索ロボット対策)
    RSSファイル書き出し
    1. サイトマップが自動的に生成されます.
    2. URLリライト機能で「?」等の文字を含まない簡易なURL表記にできます.
  3. ページランク対策(良いページにする機能)
    wab2.0型サイト
    1. ページを追加・編集しやすく,良いコンテンツをつくることだけに注力できます.
    2. IDを変更したり、記事を追加してもリンク切れをおこしません.
    3. トラックバックで,他サイトの関係記事とリンクし合えます.
    4. ピング送信でブログサイトに新着情報を送ることができます.
    5. リンク申請システムで,関連サイトとリンクを相互に増やしていけます.
    6. コメントシステムで,参加できるサイトとして注目され自然に被リンクも増えます.

Geeklogで設置したサイトはページランクが高くなる傾向があります.Geeklog本家のサイトは8、Geeklog Japaneseは6、Wikiドキュメントや多くの関連ページは5、Geeklogで設置したIvySOHOサイトは6です.

高いページランク、ピング送信機能やRSS配信を利用したグーグルサイトマップ機能ですぐに検索エンジンにクロールされるので記事作成の際には注意が必要です.検索させない記事はログインユーザや特定グループにのみに公開するモードにしたり、robots.txtで制限するなどの対応が必要です.

アクセシビリティ

アクセシビリティ

文字の大きさの変更は,Geeklogでテーマを変更して,大きな文字で表示するテーマに切り替えることで 解決します.

あるいはまた,JavaScriptでスタイルシートを切り替えるプログラムを実装することで,ひとつのテーマで複数の見栄えをユーザに選択してもらうこともできます.

事例)http://www.geeklog.jp

ここでは,標準,白背景,印刷用,大きな文字のスタイルシートを用意し、ユーザが自由に選べるようにしました. 読み上げソフトを利用する場合には,携帯サイトのレイアウトで閲覧すると便利です. これらのテーマは日本語版標準パッケージに含まれています.

なお,Geeklog Japanese配布の標準パッケージでは,携帯端末からのアクセスは自動判別して携帯用のテーマで表示し,文字コードはShift-JISへ変換して出力しています.テーブルタグも変換してテーブルタグに対応していない機種でも表示が可能です.また,クッキーに頼らないログインにしているので,クッキー機能のない端末でもログインが可能です.

ページは構造的に作られ,注目記事のタイトル部分には,h1タグ,一般の記事のタイトル部分には,h2タグがあてられるよう,テンプレートを作成しています. このように,メニューのタイトルには,h1やh2タグをテンプレートであらかじめ割り当てておくことで,コンテンツの重み付けが自動的に行われます.

ユーザビリティ

Geeklogは多言語システムであり,ログインしてシステムの設定を母国語に変更してサイトに参加,閲覧できるので,いろんな文化のひとたちとコミュニケーションをとりやすくなります.

また,ログインすると,個々のユーザごとに,画面のデザインであるテーマ(テンプレートデザイン)や言語を選ぶことができるだけでなく,読みたくない記事カテゴリの選択を行って,読みたい記事だけを表示する設定にしたり,読みたい投稿者だけの設定にするなど,言語,コンテンツを様々な面でユーザカスタマイズさせることができます.

多様な言語(マルチ言語)・多様な見栄え(テーマ)で個々にアクセス

テーマに関しては,障害者用のテーマを追加することで,ユニバーサルデザインを実現できます.

  • テーマ(テンプレートデザイン)の選択
  • 言語の選択
  • 表示する記事カテゴリの選択
  • 表示する投稿者の選択

また,ログインするとそのクッキー情報は指定する期間覚えておくことができます. 長く設定しておくと,その期間ログインしなくても,サイトを表示すると自動的にログインされます.

※PHPブロック関数のテーマテスターをインストールすることにより,ログインすることなく様々なテーマを選んで表示することができます.

多様なシステム拡張と開発環境

システムを拡張するプラグインシステムにより、すぐにシステムを拡張することができます.

アドオンダウンロード(Geeklog Japanese)
アドオンダウンロード(Geeklog本家)

とくに、Geeklogの特長としてプラグインだけでなく各種アドオンが提供されています.カスタム関数,PHPブロック関数,アプリケーション等が用意されていて,小回りの利いた開発を行えます.

アドオン開発環境が整っているため,バージョンアップリリースやセキュリティリリースの際に弊害となる本体ソースへのハックを必要最小限に抑えながら、様々にカスタマイズが可能です.

プラグイン

新しくPHPでプログラムしなくてもGeeklogを拡張できるプラグインシステムがあります.そのため,一般企業サイトからポータルサイトまで,あらゆる用途のサイトの構築を行える枠組みを提供しています.プラグインはプラグイン配布サイトからダウンロードしてサーバにアップロードしてインストールメニューをクリックするだけで簡単にインストールできます.

PHPブロック

画面のブロックに,PHP関数を実行して表示させるPHPブロック機能があります.PHPブロック関すは,ユーザが自由に追加したり,ダウンロードサイトからダウンロードして追加することができます.

静的ページPHP

PHPを直接ページに記述することができる静的ページPHPの機能を利用して小規模なオンラインショップや見積もりページなどが自由に設置できます.

カスタム関数

あらかじめ本体機能をユーザがカスタマイズできるよう,Geeklogが提供している関数があります.ファイルが独立しているので,セキュリティリリースやバージョンアップリリースがあっても,安心してアップデートできます.

アプリケーション

アプリケーションとは,単独のPHPソースで画面を生成できる機能を言います.Geeklogが提供している関数を利用することができ,いろいろなアプリケーションを手軽に開発できます.ヘッダを表示する関数を1行,そして何かを表示するプラグラム,最後にフッタを表示する関数を1行記述するだけで,1つのアプリケーションができあがります.

ハック

Geeklogのプログラムはわかりやすい構造なので,ハックを比較的簡単に行えるようです.

以上,機能を絞ったサイトから,システムを拡張して多機能にカスタマイズするサイトまで,あらゆるサイトで利用が可能です.

また,本体の表示時間が早いので,カスタマイズを重ねても表示が軽く,安心して開発できます.

ハイセキュリティ

サイトを複数で管理できる

記事投稿管理者,ユーザ管理者,メール管理者,リンク管理者など,細かく権限が別れているので,作業別に管理者に必要な権限だけ与えることができます.グループを作業ごとに作って,グループに権限を設定したり,個々のユーザごとに権限を設定することができます. コンテンツも個々に,どのグループだけに編集権限をもたせるのかを指定することで,アクセスを制限しセキュアに行えます.

セキュリティギーク

オープンソースの場合,セキュリティにはとくに配慮されなければなりません.

Geeklogは,セキュリティギークなCMSとして誕生しています.すぐれたセキュリティモデルがあるので,セキュアな運営を行うことができます.

これにより,サイトを共同管理できます.Aさんはすべてを管理,BさんとCさんは記事投稿管理,Eさんはユーザ管理,Fさんは,リンク集を管理,といった具合に,管理するレベルや範囲を個々のユーザやグループごとに設定できます.

本家からのセキュリティリリースが迅速で,日本語サイトのGeeklog Japaneseからのリリースも同様に対応しています.

GeeklogはセキュリティギークなCMS

重要なファイルは非公開領域で保護

Geeklogは,セキュリティを最優先するため,重要なソースは非公開領域に設置します.

※一部のレンタルサーバでは,非公開領域を提供されないので,本体プログラム部分も公開領域に置かなければならない場合がありますが,セキュリティを高めるために,できるだけ非公開領域の使用が可能なサーバを利用してください.

サーバのファイル構成

register_globals offへの対応について,本体と最近配布されているプラグインは対応済みです.Geeklog Japaneseで配布しているプラグインでは,対応させたプラグインのみを配布しています.

本体機能が充実

本体機能には,トラックバック,ピング送信,RSS配信機能が含まれており,ブログCMSとしても十分なシステムが実装されています. さらに,メールマガジン配信機能やアンケート機能も標準なので,ポータルサイトや企業サイトとしても十分な機能です. このように本体機能が充実しているので追加するプラグインを少なく構成できるため,セキュリティ上のリスクを抑えられます.

オープンソースとは

CMSはオープンソースで多く提供

CMSは自作や商用だけではなく,オープンソースで大変多く提供されるようになりました.

CMSはブラウザから管理者権限を持った複数のユーザからのアクセスだけでなく,多くの利用者がサイトにログインしたり,投稿したり,トラックバックを受け入れたり送ったりといった双方向のアクセスを行って行くことになります.利用するユーザが多いということで求められる機能も多く,そしてユーザインタフェースを含めてハイレベルな機能まで要求されることになります.そうした要望に常に応えていくためには,多くの開発者が連携して開発資産を蓄積していくことが求められます.

そうした開発を行うためには,限られた開発チームの力で開発する従来型よりも,様々な形で多くの開発者が自由に参加できるオープンソースの開発形式がより適しているといえるかもしれません.

どのCMSを選ぶかは将来の運営の安定のためにも慎重に

独自のシステムの設計のために,CMSを自作(制作)を開発会社に委託することになりがちです. しかし,独自のCMSでは開発や維持コストをすべて発注側で負担することになり,将来の機能拡張やセキュリティメンテナンスに対応できなくなる危険性があります. 商用CMS(製品としてパッケージ化されているCMS)は,機能がわかりやすく,ある程度のカスタマイズができますが,保守費用が継続的にかかる場合が多く,製品の開発が継続的に行われるかどうかは,不安な面があります. オープンソースも,運営が安定しているところを選ばなければ将来的な不安があるのは,同じです.

オープンソース型のメリットは,初期費用を抑えられ,進化していくこと

ただ,オープンソースは,自作・商用CMSに比べて,格段に初期費用を抑えることができ,しかも,開発者・利用者が多く将来も安心して使えるメリットがあります.

他にも,OSをはじめ,多くのシステムがオープンソースで開発提供されてきており,それらの開発は世界中の多くの開発者が関わり発展を続けています.無料で利用でき,利用者は開発側へフィードバックして,さらに良いシステムの開発へ貢献していくしくみです.

質の高い開発者がコア開発に携わってコアの設計思想やコアのプログラムが良いと,世界中のオープンソース開発者が注目し,関わることになります.

利用側としては,バージョンアップリリースごとにサイトをバージョンアップしていけば,CMSが進化していく恩恵に預かることができます.

オープンソースでは多方面で進化する周辺の技術とも連携しており,利用者が多くそれが開発者側にフィードバックされてさら良いシステムが提供される良い循環が生まれています.

オープンソースはハイセキュリティであることが必要条件

CMSは静的ページと違って,コメント投稿やトラックバック,記事投稿など管理者以外からのアクセスを多方面で受け入れる仕組みが特長です.

このような外部からのアクセスを幅広く受け付ける仕組みがあるため,悪意の攻撃にとくに注意が必要です.

ところが,オープンソースの場合にはソースをすべて公開しているため,セキュリティホールも研究されやすいために攻撃を受けることが多いので注意が必要です.

オープンソース開発者グループは,セキュリティ情報に敏感で迅速に対応しなければなりません.オープンソースを利用する側も,セキュリティリリースが出されれば直ちに対応する必要があります.

CMSの種類

CMS(Contents Management System,コンテンツマネジメントシステム)とは,Webコンテンツを構成するテキストデータや画像,レイアウト情報などを一元的に保存・管理し,サイトを構築したり編集するソフトウェアのことです.

Geeklogは,CMSの中でも作成できるサイトの自由度の高い汎用CMSですが、汎用CMSの他に,Wiki,Blog,SNSなど目的別に様々な種類のCMSがあります.

汎用CMS

一般サイトからグループウェア,ポータルサイトの構築まで 汎用CMSでは,一般サイトからグループウェア,そしてインターネットの入り口となる巨大なWebサイトであるポータルサイトの構築まであらゆるサイトが構築可能です.様々な機能をプラグインとして追加し,システムを簡単に拡張できます.ブログやWiki,Commerceなどもプラグインが提供され,それを汎用CMSに組み込むことで一体化してサイトを構築,運用することができます.

例)

Blog

日々更新される日記的なWebサイト Blogとはウェブログ,Blog,Weblogとも言い,個人的な体験や日記,特定のトピックに関して時系列で話題が掲載されるコンテンツが中心です.トラックバックやピング送信,コメント機能が充実しています.テンプレート機能も充実しており、SEO対策を十分に行うことができます. 汎用CMSの標準的な機能である,メールマガジンの配信,カレンダーのイベント登録機能,アンケート機能,ユーザがログインして個々にテーマ(画面のデザイン)や言語を選ぶユーザシステムも通常ありません.

例)

Wiki

ドキュメントを共同構築.履歴やタグ機能が強化 ウィキ(Wiki)あるいはウィキウィキ(WikiWiki)とも言い,Web上の文書を書き換えるシステムの一種です.だれでも書き換えることができますが,だれがどう変えたか履歴が残り,復帰操作が可能です.タグ機能を参加者全員が利用することで,統一感のとれたページを作ることができます.記事などの情報発信が主体ではなく,共同でドキュメントをじっくり作成していくことができます. 汎用CMSの標準的な機能である,メールマガジンの配信,カレンダーのイベント登録機能,アンケート機能,ユーザがログインして個々にテーマ(画面のデザイン)は通常ありませんが,言語を選ぶユーザシステムがあります.

例)

  • MediaWiki …元々はWikipediaのために開発.Geeklog JapaneseのWikiでも利用.GPL.
  • PukiWiki …GPL.
  • yukiwiki …GPL.

SNS

コミュニティ内における情報交換.グループウェアも 外部への情報発信ではなく,コミュニティ内での情報を交換します.日記,コミュニティ,メッセージ機能などでより交流を深めることができます.グループウェア的な利用も可能です.

例)

Commerce

物品販売やダウンロード販売 オンラインショップサイトの構築専用で,高機能な販売管理が可能です.

例)

その他様々な機能を持った,CMSが多数開発されています.


Geeklogのしくみ

Geeklogでは毎回プログラムがページを動的に生成します.再構築の過程は不要です.

ページの生成の際には,データベースに保存されているコンテンツのデータだけでなく,多くのPHPプログラムファイル,見栄えを決めるテーマファイル,言語ファイルを毎回参照しています.

データベース

データベースには,各コンテンツの内容だけが保存されています.このデータを個別に取り出してページを作成しています.

PHPプログラムファイル

たとえばトップページであれば,まず公開領域のトップディレクトリのindex.phpが呼ばれていますが,このファイルでは,まず同じディレクトリに配置されているlib-common.phpをインクルードし,lib-common.phpではconfig.phpをインクルードしています.config.phpは,サイトの設置環境を指定する最も重要なファイルであり,この環境設定によってさらに多くのファイルを参照することになります.

テーマファイル

テーマとは,GeeklogのHTML部分を外部に書き出したテンプレートファイル一式から構成されます.テンプレートファイルには,見栄えを決めるCSSファイル,プログラム毎に個々のテンプレートファイルを呼ぶため細分化されているHTML部分を担当するテンプレートファイル,テーマを表示する際に実行されるPHPプログラム等,大変多くのファイルから構成されています.

テーマはひとつだけではなく,複数のテーマをいれることができます.そのため,Geeklogサイトを様々な見栄えで閲覧することができます.

言語ファイル

言語ファイルは,サイトのナビゲーションやメッセージ,送信されるメールの内容など,テキスト部分をひとつのファイルにまとめたものです.

各プログラムからテキストを表示する際にこの言語ファイルを参照するため,あらゆる言語でGeeklogを表示でき,多言語システムを実現できます.

全部で30ヶ国以上の言語ファイルが用意されており,言語ファイルは翻訳してあらたにファイルを置くことでさらに増やせます.

Geeklog1.4.1からは記事などのコンテンツを言語を指定して保存することにより,言語ファイルが担当するナビゲーションなどだけでなく,サイト全体の言語を切り替えることができるバイリンガル機能が追加されます.

バイリンガル機能は,文字コードはUTF-8のみ対応となっています.なお,UTF-8コードでサイトを構築すると各国語のコンテンツを同時に表示しても文字化けがほとんど発生しません.そのため,今後のサイト運営のためには,UTF-8で設置することを推奨しています.

Geeklogの機能

記事

Geeklogでは,記事を話題別時系列で表示します.

トラックバック・ピングバックの送信や,ピングの送信,トラックバックの受付けが可能です.

コメントを受け付けるコメントシステムもあります.

トラックバックもコメントも,システム設定で全体的に受け付けない設定も可能で,受け付ける設定の場合も,個々の記事ごとに,設定を変更できます.

Geeklogの特長であるパーミッション機能により,表示先も,ログインしている人にだけ,ログインしていない人にだけ,あるグループにだけ,といったように,個々の記事ごとに細かく設定できます.


記事の例

記事は一般的に次のように表示されます.

記事例

タイトル,見出し,本文,関連情報,記事のオプション,記事のトラックバックURL,記事へのトラックバック,コメントが表示されます.

管理者がログインした場合の記事の表示

話題・記事の管理者がログインした場合,新たに編集リンクと,トラックバックコマンドへのリンクが加わります.

管理者がログインした場合の記事実例

タイトル,見出し,本文,編集リンク,トラックバック送信リンク,関連情報,記事のオプション,記事のトラックバックURL,記事へのトラックバック,コメントが表示されます.

記事を編集する編集画面

記事の編集はHTMLをとくに理解しなくても,感覚的に編集できます.

公開用オプションでは,つぎのような設定をします.

  • 公開する日時の設定
  • 注目記事にして,トップページにとくに目立たせて掲載させるか,あるいは通常の記事とするか
  • 話題(記事カテゴリ)ページだけでなく,トップページにも表示するかどうか
  • トラックバックやコメントを受け付けるかどうか

画像の投稿は,メニューバーの画像をクリックして画像をアップロード.エディタで掲載したい場所に,画像を配置するタグ[image1]といった書式で配置するだけです.

記事の管理で,オプションを有効にして自動で削除を選択すると,その日時で記事が自動的に削除されます.

パーミッションで,閲覧権限を設定することにより,ログインしていない人だけが閲覧できる記事,ログインした人だけが閲覧できる記事,あるグループに属している人だけが閲覧できる記事,記事を書いた所有者だけが閲覧できる記事に,閲覧先を個々の記事ごとに設定できます.

編集権限は,所有者だけにするか,あるグループにも編集権限をもたせるのか,個々の記事ごとに設定できます.

管理者がログインした場合の記事

記事投稿は,ブラウザの管理画面からだけではなく,メール記事投稿を利用すればメールから画像(写真)を添付して投稿できます.この機能により,携帯からも簡単に記事を投稿できます.

検索機能

Geeklogには,サイト内の検索を多様な条件で検索できる高機能な検索機能があります.andやorの条件検索,記事のカテゴリ内検索,ユーザ別検索,書き込み日時を指定しての検索などを行うことができます.

詳しい検索機能


機能を絞った単純な検索も多様に設置可能

Geeklogでは複雑な検索を行うことができるので,機能を絞った検索ページをあらたに検索プログラムを開発することなくすぐに設置できます.

検索フォームのHTMLを応用して,条件やキーワードをhiddenで設定して検索する静的ページやブロックを用意することで,より実用的な検索システムを提供できることになり,掲示板内検索等,Geeklogシステムの様々な場所で活用されています.

リンクシステム

だれでもリンクの申請を行うことができます. 管理者が承認すれば,リンク集に反映されます. カテゴリとサイトの名称,内容を申請できます.

リンクを受け付けることで自然にリンクを増やすことができ,相互リンクもしやすく,サイト関連系を強める役割も果たします.そのため,リンクの申請システムはポータルサイトの場合には重要な機能となります.

リンク申請から承認,編集までの流れ

Webメールサービス

メールアドレスをサイトに公開すると様々な迷惑メールを受信することになりがちですが,Webメール機能を利用すれば,受信側のメールアドレスをサイトに公開することなく,フォームで入力された内容を目的のユーザへメール送信できます.

メールサービス

メールマガジン

Geeklogを導入するだけで,メールマガジン機能を同時に手に入れることができます.

ある特定のグループだけに,あるいは参加者全員にメールを送信できます.個々のユーザが登録したメールアドレスへメールを個別に送ります.

メールマガジンを指定のグループへ送る

参加者は,管理者からのメールであるメールマガジンを受信を許可するかどうかを「マイアカウント」で設定できます.

ユーザのメールマガジンを受け取るかどうかの設定

掲示板

複数のカテゴリで,それぞれに掲示板をいくつでも設置できます. 掲示板参加者グループを,すべてのユーザ,ログインしたユーザ,特定のグループに制限することが可能です. 掲示板運営者を,個人ごとに,あるいはグループを指定して複数で運営できます.

掲示板運営者のみ書き込み可,閲覧グループ指定の掲示板や,一覧から隠す掲示板,RSSフィードファイルには書き出さす,あるいは書き出さないかを選べます.

掲示板に書き込みがあるたびに,モデレータがメール通知を受ける設定や,掲示板参加者が個々に,掲示板毎に書き込みがあった場合に通知される指定が可能なので,迅速なレスポンスが可能です.

気分アイコンやスマイリーアイコンが使えるのでにぎやかな掲示板運営が可能です.

記事を掲示板へ移行することも可能です.

掲示板の発言で,不適切な発言者のIPを禁止することができます.

プライベートメッセージをインストールして,掲示板の発言の画面から直接プライベートメッセージを送ることができます.

イベントシステム

だれでもイベントを申請することができます. 管理者は申請されたイベントを承認する作業を行い,承認された場合には,イベントがカレンダー形式で公開されます.

カレンダー表示.イベントの追加ボタンでだれでもイベントを追加申請できる

イベントは,個々にパーミッションで許可されたグループに,閲覧・編集権限があたえられます.つまり,表示に関して,ひとつひとつのイベントに対して,全体に公開なのか,ログインしたメンバーだけか,特定のグループだけか,イベント作成者だけかを指定できます.そして,そのイベントの編集を,イベント作者だけか,特定のイベントを管理できる管理者グループだけに許可するかも指定できます.

ユーザシステム

自動登録型サイト・登録承認型サイト・非登録型サイトなど様々な参加形態をえらべます.

一般のメンバーが,サイトにユーザ登録して,記事投稿,コメント,掲示板での発言,投票,ファイルのアップロード,ダウンロード,ユーザが自分の友人に記事をメールで通知できるメール通知システムがあります.

ユーザがどのレイアウトで見るか選択できるテーマシステム,システムで表示する言語をユーザが選べる多言語システムでは,30言語以上が標準提供で,自由に追加でき,UTF-8での設置が標準なので多言語同時表示が可能です.

他のサイトのログイン情報でログインできるリモートログインシステムもあります.

アカウント情報 プレビュー
アカウント情報 ユーザ名とパスワード
アカウント情報 個人情報
アカウント情報 レイアウトと言語
アカウント情報 コンテンツ
アカウント情報 プライバシー

UTF-8対応

GeeklogはUTF-8で稼動する多言語対応CMSなので,多くの言語環境でのよるサイトへの参加が可能です. また,30ヶ国以上の言語ファイルを標準提供している多言語(マルチ言語)システムであり,グローバルなウェブログシステムです.言語ファイルは,翻訳して追加することにより,無限に言語を追加できます.

UTF-8の言語であればどの国の言語であっても同時表示して文字化けしません.(一部文字化けすることがあります.)

多言語システムにより,ユーザがログインして,言語を指定してシステムの言語ファイルを選ぶことができます. 記事の内容が文字化けすることなく,同一画面で複数言語の表示が可能です.

各国の言語ファイルのうち,UTF-8コードで提供されている言語ファイルの中の「コピーライト説明」の表記を抜き出してみますと,以下のようになります.これらの言語が,Geeklogでは文字化けすることなく表示されます.

画面キャプチャ 拡大

多言語で活用するには,データベースがUTF-8に対応している必要があります.サーバの環境によってはUTF-8が利用できないので注意が必要です.

多言語システム

ログインして,設定のページで,30以上提供されている言語から選んで,システムの言語の表示を切り替えることができます.


日本語,中国語,ロシア語で表示した画面

多言語切り替え

多言語切り替え機能により,プルダウンメニューから言語をセレクトすることでシステムの言語を切り替えると同時に,話題名や記事もその言語でかかれた記事を表示され,完全なマルチリンガルサイトになります.この機能はGeeklog1.4.1からの標準機能になる予定です.

RSS配信機能

RSS配信は,Geeklog本体の記事だけでなく,プラグインで取得するフィード,たとえば掲示板や,ファイルダウンロードリスト,リンクも選択できます.

新規作成をクリックしてRSSファイルを登録
RSSファイルのタイプを選択

RSSによる情報発信は,発信サイトを見るまでも無く,情報の受け手に併せた環境で情報を受信できます.

各種フォーマット(Atom0.3 1.0 RDF1.0 RSS0.9x RSS2.0)に対応しています.

RSSのフィードのモード設定

なお,メニューブロックへは,次のようにポータルブロックとして設定すると,フィードを表示することができます.つまり,メニューブロックのポータルブロックで他のサイトのRSS配信のフィードを表示するだけではなく,自サイトから配信する記事を新着情報として,フォーラムを最新発言リストとして,ダウンロードファイルを最新ダウンロードファイル情報として,リンクを最新リンク情報として表示することができます.ブロックを参照してください.

グーグルサイトマップには,このRSSファイルが必要です.グーグルのクローラーが,あらかじめ登録されたRSSファイルを見て,ページをクロールします.頻繁で取りこぼしの無いクロールが期待されます.

静的ページ機能

毎回データベースやテンプレート等をプログラムを介して書き出されるページを動的ページと呼ぶのに対して,通常のHTMLをそのまま書き出す機能を静的ページと呼びます.

静的ページではすべてのHTMLタグを使うことができ,注目記事の上,下,通常記事の一番下に置くことができます.ブロックやヘッダ・フッタの有無の設定も選べます.

静的ページの応用範囲は広く,大変便利なものです.

センターブロックにチェックすると,トップページの指定の表示位置に表示されます.話題を選んでその話題のトップに表示させることができるので,話題ごとのタイトルもこれで作成できます.

ページをブロックで囲むのチェックを付けない場合には,タイトル部分を表示させません.

静的ページ編集

静的ページPHP

静的ページは,HTMLだけではなく,PHPで記述することができます.

静的ページPHPで機能する,お問合せフォーム,見積もりシステム等,各種プログラムをGeeklog JapanesのWikiドキュメントで公開しています.

トラックバック,ピングバック,ピング

トラックバック,ピングバック,ピングはブログコミュニティでよく利用されるもので,他のサイトやブログにブログの更新を知らせます.多くのブログやCMSでサポートされているのでGeeklogだけでなく,他のプログラムを使ったサイトにもトラックバックやピングバックを送ることができます.

トラックバック,ピングバック,ピング

トラックバックとは

トラックバックは自身のブログの記事と他のブログを結ぶ手段です.
たとえば,花子さんが自分のブログに記事Aを書いたとします.太郎さんがそれを読んで,自分のサイトに花子さんの記事について感想を記事Bとして書きます.

記事を保存したあとは,管理者の記事一覧の最後尾に「トラックバック・ピング送信」というオプションがあります.このリンクをクリックするとオプションのリストが表示されます.ピングバック送信,ピング送信,トラックバック送信メニューが表示されるので,花子さんのサイトにトラックバックを送ります.

リンク先の花子さんの記事Aでは,その記事のページで,トラックバックがあったことがURLとタイトル,冒頭部分,記事Bへのリンクが自動的に掲載されます.そのため,一般ユーザは,記事Aを読んだとき,トラックバックの欄に記事Bのタイトルと冒頭文の一部が表示されているので,記事Aについて書かれたと思われる記事Bを見に行くことができます.

このように,記事Bから記事Aへリンクを張った際に,リンクを張ったことを記事Aに通知します.このことをトラックバックを送ると言います.

これで飛躍的に情報の拡大と連携が可能になるわけです.

ピングバックとは

ピングバックはほとんどトラックバックとおなじで,プロトコルが違うだけです.

ピング送信とは

ピングを送信するのはブログの更新情報を管理しているサイトに記事を新たに作成したことを伝えるためです.このようなweblogディレクトリは通常更新情報を配信する仕組みがあるので,たくさんのサイトを訪問して新規投稿記事を個々に登録する必要はありません.

ピング送信により,自分の記事を更新した時,Geeklog Japaneseの標準パッケージでは初期設定で,あらかじめ以下の登録した ピング受信サイトへ自動的に通知します.

ピングサーバ:

  • BlogPeople
  • Myblog Japan
  • Ping-O-Matic
  • ping.bloggers.jp
  • Technorati Japan
  • gooブログ

これらのピングサーバは,初期設定のサーバであり,管理者画面のトラックバックで,ピングサーバは自由に追加等,設定できます.

受信先では,受信した記事の情報を新着情報として認識されます.

コメントシステム

コメント投稿

記事などコンテンツに対して誰でもコメントをつけることができます. ログインしている人だけ,または,ログインしていなくても投稿できるかどうかをコンフィギュレーションのログイン設定で設定できます.

コメントがあればメールで通知する設定は,コンフィギュレーションの投稿設定で設定できます.

記事と一連のコメントは,プラグインの掲示板により,掲示板の発言として移行することも可能です.


テーマシステム

テーマを複数用意すると,ユーザにレイアウトを選択する設定が可能です.テーマのファイルは,/layout/テーマ名/以下に,*.thtmlの形式で用意します.デフォルトテーマとして,professionalが提供されています.

推奨テーマ「IvySOHO」をベースにカスタマイズすると,XHTML CSSのテーマになります.


複数テーマを作成したら,デモサイトのように,テーマテスターをつけると,ログインすることなく,様々なテーマを試すことができます. 3カラム構成の他,2カラム構成1カラム構成も可能です.

ブロックシステム

ブロックの種類

ブロックには,3種類,1.ノーマルブロック 2.ポータルブロック 3.PHPブロック があります.

  1. ノーマルブロックでは,HTMLタグをそのまま指定してメニューを作成することができます.HTMLによるナビゲーションブロックやブログアクセサリ,バナーの設置など,通常のブロックはこのモードです.
  2. ポータルブロックでは,RSSファイルを指定してフィードをメニューとして表示させることができます.他のサイトのRSSを表示することもできますが,自サイトのRSSを表示させることで,新着記事や新着リンク集,新着フォーラム発言,これからのイベント,等をメニューに自動的に表示させることができるので便利です.
  3. PHPブロックは,PHPプログラムを指定するブロックです.新たにプログラミングすることでメニューの表記・活用がひろがります.

ブログパーツ

多くのサイトから,ブログに貼り付けられるブログパーツ(ブログアクセサリやブログツールとも呼ばれている)が公開されています.

Geeklogへの設置は,ブロック管理者メニューで新規作成し,「ノーマルモード」で編集します.HTMLを記述する,ブロックの内容に,提供されているHTMLタグをコピーペーストするだけで,簡単に設置できます.

ブログパーツは,ブログパーツリンク集などで多数紹介されています.


レイアウトの種類

ブロックは,左側,あるいは右側のエリアに配置が可能です.なお,中央エリアに表示させたい場合には,静的ページ機能を利用して配置します.

ブロックシステムによりコンテンツは自由な配置が可能で,レイアウトは以下の3種類から選べます.通常は,3カラム構成,あるいは2カラムの左サイドメニュー構成ですが,コンフィギュレーションファイルのモードを変更して右サイドメニュー構成も設定できます.テンプレートを修正して,ブロックをまったく表示させない1カラム構成も可能で,主に携帯サイト用,あるいは読み上げソフトへの対応を目的として利用されます.

3カラム構成 …両サイド:メニューブロック・中央:コンテンツ

3カラム構成はもっとも標準的な構成です.

3カラム構成

記事や静的ページは,右のサブブロックを表示することができますが,一般的にサブブロックはサブページの表示時には表示されず,2ブロック構成になります.

3カラム構成時のサブページ構成

2カラム構成 …左(または右):コンテンツ・右(または左):メニューブロック

2カラム構成
2カラム構成時のサブページ構成

1カラム構成 …ブロックなし.ヘッダ・フッタとコンテンツのみ.(携帯用向け等)

1カラム構成はもっとも単純な構成で,ページの容量を抑えることができます. 携帯での表示用には,この1カラム構成を利用します. 読み上げソフトの利用者にも便利です.

1カラム構成

メール記事投稿

メールに写真を何枚でも添付して,サイトごとに決まったメールアドレスに送信すると,メールの内容が記事に送られます.

大きなファイルを添付した場合,大きな画像は,ある程度小さく縮小されます.サムネイルが自動的に作成されて,サムネイルをクリックすると大きな画像が表示されます.

メール記事投稿機能を使えば,携帯からでも簡単に記事を投稿できます.何十枚も写真がある場合には,パソコンのメーラーから写真を何枚でも添付して送信することで作成できるので便利です.

メール記事投稿のしくみ

コンテンツのパーミッション

記事や静止ページ,イベント等,各コンテンツは,閲覧先,編集可能なグループを,個々に属性設定することが可能です. 作成した所有者・特定のユーザグループに対して閲覧(R:read)と編集(E:edit)の権限,ログインしている・ログインしていないグループへは,それぞれ以下のような閲覧権限の設定が可能です.

権限の設定例

所有者と特定のグループは編集権限をもち,すべての人が閲覧できる:
所有者(R・E) グループ(R・E) メンバー(R) ゲストユーザ(R)

所有者だけが編集権限をもち,すべての人が閲覧できる:
所有者(R・E) グループ(R) メンバー(R) ゲストユーザ(R)

所有者だけが編集権限をもち,ログインしていない人が閲覧できる:
所有者(R・E) グループ(R) メンバー() ゲストユーザ(R)

所有者だけが編集権限をもち,ログインした人が閲覧できる:
所有者(R・E) グループ(R) メンバー(R) ゲストユーザ()

所有者だけが編集権限をもち,特定のグループのみ閲覧できる:
所有者(R・E) グループ(R) メンバー() ゲストユーザ()

所有者と特定のグループは編集権限をもち,特定のグループのみ閲覧できる: 
所有者(R・E) グループ(R・E) メンバー() ゲストユーザ()

所有者のみが編集権限をもち,所有者のみ閲覧できる:
所有者(R・E) グループ() メンバー() ゲストユーザ()

ユーザをグルーピングすると,グループ毎に管理権限や閲覧権限を設定できるので,より便利なサイトを構築できます.グループは階層化できます.

パーミッション

自分が書いたコンテンツの読み書き権限は持っておいてください.所有者の"R"と"E"の権限のチェックを外すと,自分の記事であってもアクセスできなくなるからです.

グループの管理権限設定

管理者は,グループを自由に作成でき,ユーザを登録設定できます.このグループシステムをつかって,グループに応じたコンテンツを表示したり,メールマガジンをグループ別に送る,あるグループだけに特定の管理権限を持たせるといった細かな権限設定を行うことができます.

グループシステム

プラグインシステム

プラグインシステムがあるので、様々な配布サイトからダウンロードしてインストールすることで、すぐにシステムを拡張することが可能です。プラグインのインストール、アンインストール、無効化などを管理画面で操作できます。

プラグイン管理画面でプラグインを管理する

プラグインの他,各種アドオンは配布サイトからダウンロードしてインストールしてセットアップできます。開発環境が整っているので、開発して独自のカスタマイズを行うことも可能です.

アクセス統計情報

アクセス統計情報では,サイトで人気のあるエリアを表示することができます.

アクセス統計情報

サイトマップ機能

サイトマップ機能では,サイトの構成とリンクを表示します.

サイトマップ機能
個人用ツール