CMNロゴ
CPSの作り方

CPSは、CMNで巡回できる掲示板システムの種類を拡張するエクステンションです。
CPSはキーワードを定義するだけのテキストファイルなので、どなたでも簡単に作成することが可能です。
(ある程度HTMLの知識が必要な場合があります。)

1.CPSで巡回可能かどうかを判断
CPSでは一般的な掲示板を巡回することができますが、どんな掲示板でもCPSで巡回できる訳ではありません。
まず、巡回したい掲示板がCPSで巡回可能かどうかを判断してください。

CPSで巡回できる掲示板 (概要)
CPSで巡回できる掲示板 (詳細)

2.CPSのファイルを作成
ファイル名は"cmn_"に続けて掲示板の種類を識別できる文字列を指定し、拡張子を".cps"とします。
例:Yahoo!掲示板の場合→cmn_YahooBBS.cps

3.エクステンション定義
以下は一般的なエクステンションの作り方の手順です。
必ずしも以下の手順である必要はありませんが参考としてください。
全ての項目について説明している訳ではありませんので、エクステンションで定義できる項目の詳細、 及び定義方法等につきましては「CPS仕様」を参照してください。

例ではKent WebAska BBS用のエクステンションを作成することを想定して書かれています。
Aska BBSのソースHTMLファイルを参照しながら例を見るとわかりやすいかと思います。

3−1.エクステンション情報を定義
まず最初にCPSの「エクステンション情報」を定義します。
定義する項目は以下の項目です。
・CAPTION
・CREATOR
・VERSION
・COMMENT

[Aska BBS用エクステンションの例]
CAPTION=ASKA BBS
CREATOR=作者の名前
VERSION=1.0
COMMENT=KENT-WEBの「ASKA BBS」用巡回エクステンションです。

3−2.掲示板情報(受信情報)を定義
続いて巡回する掲示板の「掲示板情報」の「受信情報」を定義します。
ここで定義する項目は以下の項目です。
・NEWMESID
・MIME
・URL

「URL」は、URLが固定であればそのURLを指定します。
フォルダプロパティでURLを指定させる場合には $1 等を指定します。

※BBSID、LOGINMETHOD、LOGINURL、LOGINPARAM は必要があれば定義します。
※投稿情報については後で定義します。
[Aska BBS用エクステンションの例]
Aska BBSは「年月日時分秒+発言番号」で新着を識別できますので、NEWMESIDは「0」を指定します。
Aska BBSの場合「発言番号のみ」でも新着を識別できるかと思いますので、NEWMESIDは「3」でも構いません。
発言本本はHTMLで記述されてますので、MIMEは「1」となります。
URLはフォルダプロパティでユーザーに入力させるのでURLは「$1」とします。
掲示板IDは固有の値を必要とせず自動設定させても構わないのでBBSIDには「AUTO」を指定します。
NEWMESID=0
MIME=1
URL=$1
BBSID=AUTO

3−3.掲示板定義情報を定義
フォルダプロパティでユーザーに入力させる項目を定義します。
よくあるケースは、掲示板のURLを入力させるケースです。
この場合は以下の項目を定義します。
・P1S
・P1W
[Aska BBS用エクステンションの例]
フォルダプロパティでユーザーにURLを入力させるので、P1Sには「URL」という文字列を指定します。
入力したURLを表示する幅をP1Wに指定します。
P1S=URL
P1W=150

3−4.巡回情報を定義
巡回時に各項目を切り出す文字列等を定義します。
最初に掲示板名の取得方法を定義します。
・BBSTITLEID
[Aska BBS用エクステンションの例]
掲示板名を<TITLE>タグから取得するのでBBSTITLEIDは「0」を指定します。
BBSTITLEID=0
次に各発言内に含まれる項目、及びその順番を定義します。
・K
[Aska BBS用エクステンションの例]
Aska BBSでは、各発言内の項目が「発言番号」「件名」「投稿者名」「投稿日時」「本文」の順に記述されていますので その順番で項目を指定します。
K=NUM
K=TITLE
K=NAME
K=DATE
K=BODY
1つの発言を切り出す際の、発言の直前と直後の文字列を定義します。
・T_MES_START
・T_MES_END

※もしT_MES_STARTに定義した文字列が最初の発言より前にも存在する場合には、 T_MESS_STARTで発言切り出し範囲の開始位置を定義します。
※もしT_MES_STARTに定義した文字列が最後の発言より後ろにも存在する場合には、 T_MESS_ENDで発言切り出し範囲の終了位置を定義します。
[Aska BBS用エクステンションの例]
Aska BBSの場合、各発言は「[<b>」という文字列と「<hr>」という文字列により切り出すことができます。
T_MES_START=[<b>
T_MES_END=<hr>
各発言に含まる項目を切り出す際の、項目の直前と直後の文字列を定義します。
・T_NUM_*
・T_PARENT_*
・T_TITLE_*
・T_NAME_*
・T_MAIL_*
・T_HP_*
・T_ID_*
・T_BODY_*
・T_MESKEY_*
・T_IMAGEURL_*
・T_DATEFORMATID
・T_DATEFORMAT
・T_DATE_*
[Aska BBS用エクステンションの例]
Aska BBSの場合、最初の項目である「発言番号」はT_MES_STARTで指定した文字列の直後にある為、 T_NUM_STARTには何も指定せず、「発言番号」直後の文字列をT_NUM_ENDに指定します。
「件名」と「投稿者名」はそれぞれその直前と直後の文字列を指定します。
「投稿日時」は「年月日時分」の形式なのでT_DATEFORMATIDは「1」を指定し、T_DATE_STARTとT_DATE_ENDに「投稿日時」の直前と直後の文字列を指定します。
本文の直前と直後の文字列をT_BODY_STARTとT_BODY_ENDに指定します。
T_NUM_START=
T_NUM_END=</b>]
T_TITLE_START="><b>
T_TITLE_END=</b>
T_NAME_START=投稿者:<b>
T_NAME_END=</b>
T_DATEFORMATID=1
T_DATE_START=投稿日:
T_DATE_END=</small>
T_BODY_START=<blockquote>
T_BODY_END=</blockquote>
次ページのURLを切り出す方法を定義します。
・T_NEXTURLID
・T_NEXTURL_*
[Aska BBS用エクステンションの例]
Aska BBSでは次ページへのリンクが「次の10件」というボタンになっているので、 T_NEXTURLIDには「2」を指定し、T_NEXTURL_STARTには「次の10件」を指定します。
T_NEXTURLID=2
T_NEXTURL_START=次の10件
これで「受信」に関する定義は完了です。
[Aska BBS用エクステンションの例]
受信にのみ対応したAska BBS用エクステンションです。
CAPTION=ASKA BBS
CREATOR=作者の名前
VERSION=1.0
COMMENT=KENT-WEBの「ASKA BBS」用巡回エクステンションです。

NEWMESID=0
MIME=1
URL=$1
BBSID=AUTO

P1S=URL
P1W=150

BBSTITLEID=0

K=NUM
K=TITLE
K=NAME
K=DATE
K=BODY

T_MES_START=[<b>
T_MES_END=<hr>

T_NUM_START=
T_NUM_END=</b>]
T_TITLE_START="><b>
T_TITLE_END=</b>
T_NAME_START=投稿者:<b>
T_NAME_END=</b>
T_DATEFORMATID=1
T_DATE_START=投稿日:
T_DATE_END=</small>
T_BODY_START=<blockquote>
T_BODY_END=</blockquote>

T_NEXTURLID=2
T_NEXTURL_START=次の10件
実際に巡回フォルダを作成して巡回してみましょう。

3−5.掲示板情報(投稿情報)を定義
続いて「投稿」に関する定義を行ないます。
投稿に必要な定義は以下の項目です。
・CODE
・UPMETHOD
・UPURL
・UPPARAM

※新規投稿と返信でパラメーターが違う場合は、返信用にREMETHOD、REURL、REPARAMを定義します。
※必要に応じて POSTINTERVAL、AFTERPOSTDELAY、POSTNGSTR1、POSTOKSTR 等の項目を定義します。
[Aska BBS用エクステンションの例]
Aska BBSの文字コードは通常Shift-JISなのでCODEには「SJIS」を指定します。
投稿用フォームの<FORM>で指定されているmethodは「POST」なので、UPMETHODには「POST」を指定します。
投稿用のURLは受信用のURLと同じなので、UPURLにはURLと同じく「$1」を指定します。
投稿用パラメータは、表示されていない mode という項目と、表示されている「名前」「Eメール」「題名」「メッセージ」「URL」「削除キー」があるので、 それらを「&」で連結してUPPARAMに指定します。
CODE=SJIS
UPMETHOD=POST
UPURL=$1
UPPARAM=mode=regist&name=$N&email=$E&sub=$T&comment=$B&url=$P&pwd=$K
これで発言を投稿できるようになりましたので投稿テストをしてみましょう。
[Aska BBS用エクステンションの例]
投稿に対応したAska BBS用エクステンションです。
CAPTION=ASKA BBS
CREATOR=作者の名前
VERSION=1.0
COMMENT=KENT-WEBの「ASKA BBS」用巡回エクステンションです。

NEWMESID=0
MIME=1
URL=$1
BBSID=AUTO

CODE=SJIS
UPMETHOD=POST
UPURL=$1
UPPARAM=mode=regist&name=$N&email=$E&sub=$T&comment=$B&url=$P&pwd=$K

P1S=URL
P1W=150

BBSTITLEID=0

K=NUM
K=TITLE
K=NAME
K=DATE
K=BODY

T_MES_START=[<b>
T_MES_END=<hr>

T_NUM_START=
T_NUM_END=</b>]
T_TITLE_START="><b>
T_TITLE_END=</b>
T_NAME_START=投稿者:<b>
T_NAME_END=</b>
T_DATEFORMATID=1
T_DATE_START=投稿日:
T_DATE_END=</small>
T_BODY_START=<blockquote>
T_BODY_END=</blockquote>

T_NEXTURLID=2
T_NEXTURL_START=次の10件
4.フォームエディタ対応
「件名」と「本文」以外の入力項目がある掲示板の場合には、フォームエディタに対応しましょう。



戻る