/********************************************************************
 *
 *  PUBLOG抹茶イントロダクション(ver.0.03)
 *  $Id: introduction.html,v 1.3 2004/07/23 07:51:09 fukami Exp $
 *
 ********************************************************************/


■はじめに

┌─────────────────
│(ネットに流れるコピペより)
│
│アメリカのNASAは、宇宙飛行士を最初に宇宙に送り込んだとき、無重力状態で
│はボールペンが書けないことを発見した。これではボールペンを持って行って
│も役に立たない。NASAの科学者たちはこの問題に立ち向かうべく、10年の歳月
│と120億ドルの開発費をかけて研究を重ねた。
│その結果ついに、無重力でも上下逆にしても水の中でも氷点下でも摂氏300度で
│も、どんな状況下でもどんな表面にでも書けるボールペンを開発した!!
│
│一方ロシアは鉛筆を使った
│
└─────────────────

PUBLOG抹茶は、2ちゃんねらーによる2ちゃんねらーの為のツールです。
PUBLOG開発チームは、ネットで使える強力な筆記具を作りたいと考えています。
何億円もかけてつくるつもりはありませんけれども、できるだけ多くの人に
使ってもらえるようなツールでありたいと思ってます。まぁ、宇宙で書ける必要は
ないと思いますが、地球上ではそれなりの評価をもらえるようにがんばりたいなと。


■PUBLOG抹茶とは

PUBLOG抹茶は、個人サイトのコンテンツ管理をサポートする
「Personal Contents Management System(PCMS)」です。
ここでいう個人とは、「ひとり」という意味ではなく、
企業等エンタープライズレベルの大規模サイト用ツールの
カウンターとしての「個人」です。
ですんで、なにもひとりぼっちでサイトを作れと言っているわけではなく、
PUBLOG開発チームとしては、このシステムを使って仲間を募り、グループで
サイトを運営してもらうことを推奨しています。
どんな形態にせよ、私たちとしては、永くサイトを続けてもらい、
良質なコンテンツを発信してもらいたいですし、それをサポートできるような
ツールでありたいと考えています。


■ライセンス
PUBLOG抹茶のソースは GNU/GPL ライセンスで配布されています。
http://www.opensource.jp/gpl/gpl.ja.html


●おおまかに言うと
PUBLOG抹茶のプログラムソースは、自由に利用していただいて構いません。
但し、ソースを利用したシステムのプログラムソースは公開していただく必要があります。


●独自開発のモジュール、プラグイン、フィルター等
PUBLOGに組み込むモジュールやプラグイン、フィルター等は、必ずしも
ソースを公開する必要はありません(ライセンス違反がなければ)。
モジュール、プラグイン、フィルター等での機能拡張はご自由に。
モジュール、プラグイン、フィルター等のソースをオープンにするか
どうかの判断はお任せします。また、開発チームにご一報いただければ、
紹介させてもらいます。


■基本用語

・プロジェクト(Project)
PUBLOGでよく使う言葉に、プロジェクトというものがあります。

誰かがプロジェクトをつくり、スタッフを募集するところからすべてはスタートします。
もちろん、ひとりでプロジェクトを運営してもいいのですが、プロジェクトを運営する
という長い旅の仲間は多い方が楽しく永続きさせることができるでしょう。

読者から見ると、プロジェクトは、一つのテーマを持ったウェブサイトに見えます。
何をテーマにするかは、オーナーさんが決めちゃってください。
PUBLOG開発チームとしてのお願いは、プロジェクトを作る前に、あらかじめ、
どんなテーマで執筆をおこなうかということを練っておいて欲しい、ということです。
PUBLOGでは、扱うテーマに制限はありませんし、読者が少ないからといって
開発チームがいちゃもんをつけることもありませんが、スタートしてすぐに
終了してしまうプロジェクトが多いと、我々もちょっとばかしブルーはいって
しまうので、そこんところ、よろしくお願いいたします。

・スレッド(Thread)
プロジェクトに対して、さまざまな機能を付加するのが「スレッド」です。
2ちゃんねるに慣れ親しんだ人ならよく聞く「スレッド」と同じようなものです。
ただし、PUBLOGの場合は、スレッドにいくつかの種類があります(スレッドタイプ)。
つまり、スレッドは、ひとつのプロジェクトの下に、複数つくることができます。
プロジェクトを、2ちゃんねるで言うところの「板」みたいなものだと
考えると、理解しやすいかもしれません。

・スレッドタイプ(Thread Type)
スレッドにはそれぞれ機能を割り当てることができます。その機能にはいくつかの
種類があり、その種類のことを「スレッドタイプ」と呼びます。
例えば、ブログスレッドのスレッドタイプは「blog」です。

・スレッドアプリケーション(Thread Application)
スレッドに対して機能を提供するモジュール群。
スレッドアプリケーションを追加すると、スレッドタイプがひとつ増えます。
スレッドモジュールと同義。

・スレッドモジュール(Thread Module)
スレッドに対する機能は、スレッドモジュールで提供されます。
スレッドアプリケーションと同義。


・エントリー(Entry)
ブログスレッドモジュールの中でのデータの単位。
エントリー = 記事 と考えてもらえればOKです。

・コメント(Comment)
ブログスレッドモジュールの中でのデータの単位。
エントリーの下に複数ぶら下がります。
要するに、記事に対する読者のコメントとかいちゃもんとか。

・ノードパス(Node Path)

・ベース(Base)
ほとんどベース = サーバーと思ってもらって構いません。
ただし、サーバー上で複数の名前を使い、
ひとつのサーバー上に複数のベースを存在させることが可能です。
ベースは、複数のプロジェクトを管理しているノードです。


・言語(Lang)
言語の種類です。言語のバリエーション(方言等)はドットで区切って記述してください。
例)
jp : 日本語(標準語)
jp.kagoshima : 薩摩弁
jp.2ch : 2ちゃん語

・コア(Core)
便宜上存在する、ノードの根幹です。


■ツリー構造

PUBLOGシステム全体は、すべてツリー構造でデータを管理しています。
プロジェクトの下には、このような形でデータがツリー状に
ぶら下がっています。

プロジェクト┐
      ├─スレッドA┐
      │      ├エントリーa┐
      │      │      ├コメント1
      │      │      ├コメント2
      │      │      └コメント3
      │      ├エントリーb
      │      └エントリーc
      ├─スレッドB
      └─スレッドC



さらに、PUBLOGには、「パブログコア(CORE)」という
仮想の中心があり(実体はありません)、すべての
情報はそこからたどることができるようになっています。

パブログコア┐
      ├─言 語 A┐
      │      ├ ベース a┐
      │      │      ├プロジェクト1─…
      │      │      ├プロジェクト2
      │      │      └プロジェクト3
      │      ├ ベース b
      │      └ ベース c
      ├─言 語 B
      └─言 語 C

■PUBLOGノードパス(node path)
上記パブログコアからの道のりを記号的に示すのがノードパスです。
例えば、www.example.com というサーバー上に、
hogeproject という名前のプロジェクトを作り、日本語で
執筆をおこなう場合は、

/core/jp/www.example.com/hogeproject

というパスになります。

さらにこのプロジェクトの下に、
sekizou というIDのスレッドをつくれば、

/core/jp/www.example.com/hogeproject/sekizou

というパスでその場所を表現できます。


■バーチャルディレクトリー(VirtualDirectory,VD)

PUBLOGノード上のそれぞれのデータがどのカテゴリーに属するかを知っているのが
バーチャルディレクトリーです(VirtualDirectory,VD)。

VDは、ノードパス等とはまったく別にツリー構造を形成します。
そのツリーは、それぞれのデータをカテゴライズするカテゴリーキーワードの
ツリーです。
すごく似ているのが、Yahoo! さん等の、ディレクトリ検索機能です。
Yahoo! さんの場合は、多くのウェブサイトに対して、カテゴリ分けを
施し、それぞれのカテゴリの中から、それに属するウェブサイトに
ジャンプすることができます。
VDも同様に、VDのツリーから、それぞれのデータへ
ジャンプすることができます。
例えば、ブログスレッドにエントリーを追加した場合、
そのタイミングで、そのエントリーがVDの中のどこに属するかを
VDシステムへ通知します。同時にVDシステムは、そのエントリー
のパーマネントリンクに対してリンクをおこないます。

これは、執筆者のための機能というよりも、読者のための機能です。
読者は、自分のお気に入りのディレクトリをチェックすることで、
好みの記事を探しやすくなります。
執筆者にとっても、読者を集めるという点で
役に立つと言えます。


■publog.php の引数について

publog.php 呼び出し時の引数について

lv: 呼び出しレベル. base,project,thread
mod: 呼び出しモジュール. モジュールコードがここに入ります。
cmd: コマンド. それぞれのモジュールに対して準備されたコマンドをここに書いて、呼び出します。
trans: 遷移. 複数画面にわたる画面遷移がある場合、この値で指示します。
その他オプション: lv,mod,cmd,trans 以外の引数はオプションとなります。