★ INCM Plug-in開発掲示板 ★ TinyGrass Ver0.32a [戻る]
[0312] 01/01/18 08:56 ナカタ(ZFOFzWJZHKQ): Re:311)RE: プラグインの配布に付いて
cassimさん こんにちは
同感です。後、オリジナルを作成して公開する面で
PLのメンバー名の付け方をどのようにすればいいのか気になってます。
わたしなどのマイナーな作者では、問題がないとは思いますが。
同名のプラグインを作成してしまっては、利用者に不便ですからね。
この点についても、併せて考えていただけないでしょうか?
http://homepage2.nifty.com/v-nakata/
[0311] 01/01/18 01:35 cassim(r/SdhWJy7wU): Re:308)RE: プラグインの配布に付いて
プラグイン作者の方々には大変感謝しております。
私も公開していただいているプラグインを元に特定の
掲示板用にカスタマイズしております。
カスタマイズといっても、2、3行多くても20行程度
一部書き換えたり、コメントにしたりの修正ですので、
ほとんどオリジナルのプラグインのままですが。
自分がカスタマイズ対象にした掲示板に関する質問を
質問掲示板で見かけることもあり、「このプラグインを
使ってもらってもいいのだけれど」と思うのですが、
元のプラグインの作者の方に申し訳がない気がして
躊躇してしまいます。
私としてはプラグイン作者の方々にカスタマイズした
プラグインを公開する条件を出していただいた方が気が
楽になるのですが。
例えば
・元にしたプラグイン名、バージョン、作者はプラグイン中に明記する
・修正個所は明記する
・公開後に元のプラグイン作者に通知する
プラグイン作者の方々はどのようにお考えでしょうか。
[0310] 01/01/17 10:29 ナカタ(zvDOHEd.pbc): Re:308)RE: プラグインの配布に付いて
私も、一 五明さんやGETWILD'74さんのプラグインを改造して使っております。
かつ、すでにHPにて公開しております。
一 五明さん、GETWILD'74さん、事後報告で申し訳ありません。
早々に許可いただかなければと思いつつ、きっかけがつかめず、
この掲示板、ロムばかりしておりました。お許し下さい。
一 五明さんの作られたプラグインが、非常に参考なってます。
最初は試行錯誤で改造しておりましたが、最近ようやっと修正すべき
箇所がスグに理解できるようになってきました。
しかし、改造版を含めて掲示板の種類って多いですよね。
一般的なところ以外の掲示板だと、ほとんどプラグインに手を加えないと
うまく巡回、投稿出来ませんよね。
みなさん、今後もよろしく お願いいたします。
http://homepage2.nifty.com/v-nakata/
[0309] 01/01/17 07:29 一 五明(YMjHyfzdazU): Re:308)RE: プラグインの配布に付いて
>差し上げてもよろしいでしょうか?
私が作ったやつに関しては問題ありません。
どうせなら掲示板管理者に頼んで、掲示板上のリンクからDL出来るように
すれば便利かも(^^;
http://kt.sakura.ne.jp/~timeflow/M/
[0308] 01/01/16 12:51 ぽんた(Vv6lxIE65r6): プラグインの配布に付いて
ある掲示板を読むためにminiBBSのプラグインを改造したのですが、
それを欲しいと欲しいという方からメールを頂きました。
差し上げてもよろしいでしょうか?
何か注意点などあれば教えて下さい。
[0307] 00/12/26 13:45 ぽんた(Vv6lxIE65r6): Re:305)タイプミスしてしまいました
下の投稿ですが、タイプミスしてしまいました。
GETWILD'74さん、ごめんなさい。
[0306] 00/12/26 13:29 ぽんた(6ZPvY4jf50c): Re:305)できました
ありがとうございました。
おかげで思い通りのプラグインが出来ました。
URLを取得するときに「</a>」まで正規表現に入れてしまえば良かったんですね。
そういうアイデアは出てきませんでした。
一 五明さん、GERWILD'74さん、お世話になりました。(^^)
[0305] 00/12/26 11:23 GETWILD'74(Qk25uvB38zc): Re:303)RE: うまくいかない例
>うまくいかない例ですが、”www”で始まらないホームページ、
>たとえば、http://homepage1.nifty.com等の場合は取得できません。
>それと、もしwwwで始まるHNで投稿してききた人がいたら、
>取得できないような気がします。
言われて見ればそうですね。
私がテストした時は「www」が含まれてるのしかなかったので
気付きませんでした。
となるとやはりタグで判定したほうが良いと思います。
メールの抽出は
if($head=~s/<a href=\"http:\/\/[^\?]+\?email=([^\&]+)\&[^\"]+">//){
URLは
if($head=~s/<a href=\"(http:\/\/[^\"]+)\"[^\>]+>[^<]+<\/a>//){
として、抽出できたら削除すれば投稿者と余分なタグだけ残ります。
>>この部分なんですが、スラッシュが必要じゃないですか?
>>「http:\/\/」って感じで。
>おっしゃる通りです。昨日気づいて直しました。
上のやり方なら「http://」も含んで取得できます。
その他、細かい部分で修正が必要ですのでチャレンジしてみて下さい。
[0304] 00/12/26 10:27 一 五明(YMjHyfzdazU): Re:301)掲示板のソースは見てませんが
><A href="http://www.nc-net.or.jp/emidas/re.php3?email=koji@pfk.em.nttpnet.ne.jp&uri=ngbbs.php">
>となっているため、
>/<a href=\"(http:\/\/[^\"]+)\"/i
>で抽出すると、メールアドレスがひっかかります。しかも、
if(s/<a href=\"http:\/\/[^\?]+\?email=([^\&]+)\&[^\"]+\">//){
($1をメールアドレスとして処理)
}
のようにすれば、メールアドレスだけ引っ掛かって、かつ消滅しますよね?
その処理の後に <a href=\"http 〜 を調べればホームページURLだけ抽出
出来ると思います。
http://kt.sakura.ne.jp/~timeflow/M/
[0303] 00/12/26 08:57 ぽんた(Vv6lxIE65r6): Re:302)うまくいかない例
>パッと見では分からないんですが、何が問題なんでしょう?
>おおよそ上手く行ってる感じですよ。
うまくいかない例ですが、”www”で始まらないホームページ、
たとえば、http://homepage1.nifty.com等の場合は取得できません。
それと、もしwwwで始まるHNで投稿してききた人がいたら、
取得できないような気がします。
また、メルアドとURLを間違えて記入しても、おかしくなりますが、
これはしょうがないかな、と思ってます。
>この部分なんですが、スラッシュが必要じゃないですか?
>「http:\/\/」って感じで。
おっしゃる通りです。昨日気づいて直しました。
[0302] 00/12/25 17:58 GETWILD'74(Qk25uvB38zc): Re:301)RE: 大半は取得できます
>このHPのソースを見ていただくと分かるのですが、メールアドレスが、
><A href="http://www.nc-net.or.jp/emidas/re.php3?email=koji@pfk.em.nttpnet.ne.jp&uri=ngbbs.php">
>となっているため、
>/<a href=\"(http:\/\/[^\"]+)\"/i
>で抽出すると、メールアドレスがひっかかります。
なるほど、了解しました。
私のほうでも同じ修正をして試してみました。
パッと見では分からないんですが、何が問題なんでしょう?
おおよそ上手く行ってる感じですよ。
私の気付いた一点だけ、
$mailhd.="H:http:$a\n"; $mail.=" http:$a\n";
この部分なんですが、スラッシュが必要じゃないですか?
「http:\/\/」って感じで。
>メールアドレスも、ホームページアドレスも省略可なので、
>それに応じて違う処理をさせる必要があるのでしょうが、
>どのように条件分岐させれば、良いか分かりません。
現在のやり方でいいような気もしますけど。
[0301] 00/12/25 16:18 ぽんた(Vv6lxIE65r6): Re:300)大半は取得できます
このHPのソースを見ていただくと分かるのですが、メールアドレスが、
<A href="mailto:koji@pfk.em.nttpnet.ne.jp">
ではなく、
<A href="http://www.nc-net.or.jp/emidas/re.php3?email=koji@pfk.em.nttpnet.ne.jp&uri=ngbbs.php">
となっているため、
/<a href=\"(http:\/\/[^\"]+)\"/i
で抽出すると、メールアドレスがひっかかります。しかも、
mailto:koji@pfk.em.nttpnet.ne.jp
ではなく、
http://www.nc-net.or.jp/emidas/re.php3?email=koji@pfk.em.nttpnet.ne.jp&uri=ngbbs.php
と表示されます。
一見ホームページへのリンクのように見えてしまうし、
メーラーといっしょにブラウザも起動してしまいます。
メールアドレスも、ホームページアドレスも省略可なので、
それに応じて違う処理をさせる必要があるのでしょうが、
どのように条件分岐させれば、良いか分かりません。
[0300] 00/12/25 13:56 GETWILD'74(Qk25uvB38zc): Re:299)RE: プラグインを改造したんですが・・・
>ただ、メールアドレスとURLがうまく取得できない場合があります。
全くアドレスが入って来ないということでしょうか?
素直に
/<a href=\"(http:\/\/[^\"]+)\"/i
で抽出したほうが分かりやすい気はします。
[0299] 00/12/25 11:03 ぽんた(6ZPvY4jf50c): プラグインを改造したんですが・・・
ぽんたと申します。こんにちは。
NCネットワークというサイトの掲示板を読みたくて、
MiniBBSのプラグインを改造してみました。
http://black.nc-net.or.jp/forum/ngbbs.php?bbs_type=3
とりあえず、読めればいいや、というつもりでやり始め、
279行目から296行目までを、以下のように変更し、
それなりに読めるようになりました。
ただ、メールアドレスとURLがうまく取得できない場合があります。
”#投稿者とURLとメールアドレス”のブロックに問題があるとは思うんですが、
Perlの事もプログラムの事もまったくの初心者ですので、
どこが悪いのかどう直せば良いのか、わかりやすく教えてください。
お願いします。
$_=~s/\n//g;
$_=~s/ //g;
$head=substr($_,index($_,"曜日")+5); #ヘッダ取得
chop($head);
$mail=""; $mailhd="";
if(/email=([^>\"\n]+)&/){ #メールアドレス
$mailhd ="E:$1\n"; $mail=" mailto:$1\n";
}
($mes,$h)=split("</pre>",$mes);
$head=~s/<.*?>//g; #投稿者とURLとメールアドレス
if($head=~/www/){
$a=substr($head,index($head,"www"));
$mailhd.="H:http:$a\n"; $mail.=" http:$a\n";
$head=substr($head,0,index($head,"www"));
}
$a="N:$head\n";
$num="S:*,"; #記事No.
if($_=~/No\.(\d+)/){
$num="S:$1,";
}
$_=~s/No\.\d+//;
~ /> *([^ <\r\n][^<\r\n]*)/; $title=$1; # タイトル
$title=~s/\($//;
[0298] 00/12/22 09:38 Buckeye(UnTUYw5MC2c): Re:296)Re: 「記事属性」の「巡回指定」ってなに?
あ、テンプレートは便利でしょうね。
どの程度までやるかという問題はありますけど。
今のヘッダの#P、#F、P、Fのような形でテンプレートを埋め込めるようにすると、
プラグインで作ることが可能になりますね。ただその場合、ユーザが作ることが
難しくなっちゃうか……
プラグインを工夫すると、INCMの仕様内でも、かなりいろいろとできますね。デ
ータライブラリは、データ一覧のページからデータ名とファイル名を拾って、発
言形式に仕立て上げ、その中に、データダウンロードのやりかた(どこを残した
返信記事にするか)も書いています。掲示板のように「記事を落とす」でなくて、
ほとんど、「記事を作ってる」状態です。
というわけで、私が作っているプラグインは、「使いやすい」ことを目標に、か
なりメチャなことをしています。ダイアログもめちゃめちゃに書き換えてるし。
複数起動されたプラグイン間でアクセスのタイミングを計らせたりもしてるし。
しろーとがこんなにガリゴリやっていいのか?(爆)
あ、とりあえず、データのダウンロード自体は成功しました。巡回フォルダの下
にダウンロードファイルを入れておくフォルダを作り、そこに落とします。まだ、
ファイル名がおかしくなっちゃう不具合があるのですが、あと一息です。
おー、忘れるところだった。
巡回フォルダの下にあるフォルダに〜.cm$を書き出したら、そちらもインポート
されるのですか?
いや〜、データライブラリからデータファイルを落としたら、そのまま、「過去
ログフォルダ」にインポートできないかと思いまして……。巡回フォルダに書き
出しちゃうと、数が膨大になっちゃうので(1フォーラムで、会議室20、ライブ
ラリ10、掲示板が1、お知らせ的な部分が4と、最大、35ものファイルができるも
ので^^;)、過去ログは、その下にフォルダを作ってインポートするようにして
あるんです。
Best Regards,
Buckeye
[0297] 00/12/22 09:38 Buckeye(UnTUYw5MC2c): Re:295)Re: 拡張パラメータの読み込みがおかしい?
はい、読み込みというか、パラメータによって動作が違うという点は未解決です。
私自身のプラグインについては、そのプラグイン専用のiniファイルを作ってご
まかしたりしました。どうしてもユーザに見せたい情報の部分は、幸い、ダイア
ログを書き換えてもうまく動作しているので、あぶない(^^;) とは思いつつ、そ
のままで使っています。
Best Regards,
Buckeye
[0296] 00/12/20 17:31 GAE(3nxWzOCXjo.): Re:294)Re: 「記事属性」の「巡回指定」ってなに?
現在の巡回指定の動作は、巡回指定属性の記事を巡回時に
ReadList.tmpかなにか(すでに忘れた…)に出力するというものです。
ちょっと…かなり中途半端な機能です。
とりあえず、巡回指定の機能はあまりにも貧弱なので
今回のパターンには使えそうにありません。
(想像のとおり1.と2.を判別する方法が無いからです)
Buckeye さんの書き込みをよんで思ったのですが、
.cmw のファイルはいろいろ使い道がありそうですね(笑)
返信を作成するテンプレートの機能とかあると良いかもしれないですね。
安っぽい機能ですが、巡回指定に比べればいろいろできそうです。
#Template:メニューの文字列1
S:...
M:ふつーの書き込み
.
#Template:メニューの文字列2
S:...
P:LIB,...
M:cmwに出力される書き込み
.
実際使う場合は
#Template:このトピックをダウンロード
S:*,$Sn,,,
P:LIB,
T:トピック $Sn をダウンロード
M:ダウンロードを取り消す場合はこの記事を削除してください
Topic:$Sn
[0295] 00/12/20 17:31 GAE(3nxWzOCXjo.): Re:293)Re: 拡張パラメータの読み込みがおかしい?
すみません。返信し忘れでした。
この件ってまだ未解決ですよね?
[0294] 00/12/20 12:44 Buckeye(UnTUYw5MC2c): 「記事属性」の「巡回指定」ってなに?
記事メニューから、表記の「記事属性」→「巡回指定」というのが選べますが、
これってなんでしょうか。
例の@niftyインターウェイ用プラグイン、ようやく公開まじかとなりました。今、
最後のデータライブラリ関係にかかっているんですが……もしかすると、上記の
指定が利用できるのかもしれないと思うんです。やりたいことは、以下のように
なります。
巡回指定しておくと、データのリストだけを落としてきます(ここは完成)。次
に、このリストでユーザが指定したデータについて、
1. 補足説明ファイルだけ落とす
2. 補足説明ファイルとデータを落とす
3. 過去に補足説明ファイルを落としていたら、データだけ落とす
という操作ができたらいいなと思っています。
当初は、返信記事を作るという形でユーザに指定してもらおうかと思っていたん
ですが、この「巡回指定」というものの動作次第では、上記の目的に利用できそ
うだと思うのです。
指定されたファイルをcmwファイルに書き出してもらえれば、あとは、プラグイ
ン側で必要な情報を拾って処理します。とはいっても、1.と2.をどうやって判別
するかって問題があるので、けっきょくは、返信記事形式で指定してもらうかも
しれませんが……
Best Regards,
Buckeye
P.S.
ちなみに、機能は、以下のようになりました。
★ フォーラム関係のサービス
・ 会議室の読み書き
・ 掲示板の読み込み(書き込み不可)
・ お知らせの読み込み
・ フォーラム、会議室、掲示板、それぞれのオープニング自動取得
・ オプション設定(ハンドルとコメント通知メール)の変更
・ データライブラリのリスト取得
★ パティオサービス
・ 会議室の読み書き
・ オープニング自動取得
・ ハンドル設定の変更
ライブラリが落とせるようになれば、@niftyコミュニティサービスのほとんどす
べてが利用できるようになります。掲示板の書き込みは……実装方法も面倒なん
ですが、それだけでなく、ウェブのcgi画面を見ないで、それぞれの掲示板に定
められているルールに合わせてユーザが指定できるかどうかが怪しいので、実装
を見合わせています。
[0293] 00/11/27 14:13 Buckeye(UnTUYw5MC2c): 拡張パラメータの読み込みがおかしい?
あいかわらず、@nifty用プラグインの作成を続けています。今作っている部分が
できたら、とりあえず、公開するつもりです。
ところで、表題の件ですが……
ダイアログの初期化などでincm_BBS.iniファイルを読み込みます。ふつうは
[BASIC]セクションのみをいじりますが、今回は、[DIALOG]セクションも書き換
えています。巡回先から取り込んだ情報などを書き出したり、設定変更を行った
場合に現在の設定内容を書き出したりしているものです。
ある処理ルーチンができたので、その処理ルーチンにあわせてダイアログを書き
換える処理を書いています。コード的には間違っていないはずだと思うのに、こ
れがどうもうまくいかないのです。そこで、読み込んだincm_BBS.iniファイルの
内容を書き出してみると……まず、L000の行がおかしくなっています。
L000=.
となぜか、その後、あるべき内容がないのです。ダイアログを見ると、ちゃんと
文章が表示されるのですが……
この行を書き換えようとしていたので正規マッチができなかったわけです。です
からともかく逃げることとして、L000の行をダミー行としてみました。これでも
うまくありません。incm_BBS.iniファイルで情報を書き足しておいても、なぜか、
プラグインの頭にある内容に戻ってしまいます。
具体的には、現在、プラグインの頭でL000とL001を以下のように設定しています。
#L000=L,,掲示板、会議室などの巡回に関する詳細設定
#L001=L,,コメント通知メールの設定。現在の設定内容:
このL001の行の末尾に、1〜3の数字を入れようとしているのです。
incm_BBS.iniファイルで
L001=L,,コメント通知メールの設定。現在の設定内容:3
としておいても、ダイアログ初期化ルーチンでincm_BBS.iniファイルを読み込む
と、
L001=L,,コメント通知メールの設定。現在の設定内容:
で終わっています。
そこで、読み込みルーチンの部分を取り出してみると……ちゃんと3まで読んで
くれるのです。(L000の行も全部読んでくれる)
ちなみに、この読み込みルーチンは、↓のようになっています。単純に読み込ん
でprint CHECK $_;で書き出しているだけなんですが……なぜか上記のような現
象が発生します。
while(<INI>){
print CHECK $_;
$section = $_ if(/^\[/);
if($section ne "[DIALOG]\n"){ #【DIALOG】セクション以外をまとめる
$BasicSect .= $_;
}else{ #-----【DIALOG】セクションの書き戻すパラメーターを抽出
# -----【DIALOG】セクションの内、会議室巡回設定行に会議室名称がある
# ものをまとめる
if(/read,MES.+:.+/){
$MesTitleList .= $_;
}elsif (/^_NAME=.+\Q現在:\E(.*)\n$/){ # 登録済みハンドル
$handle{'prev'} = $1;
}elsif (/^L\d\d\d=.+\Qコメント\E.*\Q設定内容:\E/){
# コメント通知メール
$cmail{'prev'} = $1;
print CHECK $_;
}elsif (/^L.+\Qお知らせ\E.+\Q最終更新年月日:\E(.*)\n$/){
# お知らせ更新日
$AnnRenDate = $1;
}
}
}
同じような処理は、Lで始まる拡張パラメータだけでなく、_で始まるパラメータ
でも行っており、全部で20個所以上で行っています。でも、おかしいのはここだ
けです。
うーん、何が悪いんでしょう。
Best Regards,
Buckeye
[0292] 00/11/15 08:03 Buckeye(UnTUYw5MC2c): Re:285)RE: INCM1.21m
cmwファイルに書き出された発言のうち、一部は投稿成功、一部は投稿失敗とい
うケースがありました。送信に失敗した発言には、ちゃんと元に戻っていました。
書き込み関係の機能は、これでなんとかなりそうですね。
Best Regards,
Buckeye
[0291] 00/11/10 08:51 GAE(3nxWzOCXjo.): Re:289)msvcp60.dll
>Office2000のコンポーネントを前提にモノを考えられるようになるには、あと、
>少なくとも1年くらいは必要なんじゃないでしょうか。私は、だいたい、マシン
>サイクルは一般に3年くらいと考えているんですが、それからすると、あと2年っ
>てことになりますが。
確かに一般的にはそうかもしれません...。
僕は Office も OS も新しい物を入れて、古い物はどんどん捨ててしまうので(笑)
>ちなみに私の95マシンに入っていた理由は……なんのソフトについていたのかわ
>かりませんが、なにかのソフトをインストールしたときに入ったんでしょう。
VC++で作られたアプリケーションでインストーラが付属しているものだと
インストールされるんじゃないでしょうか。
そんなに大きいサイズでもないですし。
>このレベルのdllを使うとなると、同梱しておいて、インストーラで適切なフォ
>ルダにコピーしてやるって形にしないとアプリケーションを使っているだけのフ
>ツーのユーザにはハードルが高すぎると思います。
msvcp60.dll や msvcrt.dll は単純に関数をエクスポートしているだけのDLLなので、
パスが通ったディレクトリか、INCM.exeと同じディレクトリにあるだけで
ちゃんとロードされるので、この点はそんなに気にしなくても大丈夫だと思います。
[0290] 00/11/10 06:56 Buckeye(UnTUYw5MC2c): Re:288)RE: INCM 1.21n
おー、すばやい。落としてきました。仲間内でテストしてみますね。
ありがとうございましたm(._.)m
Best Regards,
Buckeye
[0289] 00/11/10 06:52 Buckeye(UnTUYw5MC2c): Re:287)RE: INCM1.21m
うーん、Office2000からなんですね>msvcp60.dll
私の回りだと、Office2000を入れてる人は少ないです。仕事で使うので、マイク
ロソフト製品は、どうしても必要にならない限りバージョンアップしないって人
が多いものですから(バージョンアップしないマイクロソフト製品に祟りなし…
…とは限らないのがつらいところですが^^;)。あと、クライアントとなる企業
では、Office2000を使っているところが少なく、互換性の問題で、Office98あた
りを使ってるって人も多いです。
Office2000のコンポーネントを前提にモノを考えられるようになるには、あと、
少なくとも1年くらいは必要なんじゃないでしょうか。私は、だいたい、マシン
サイクルは一般に3年くらいと考えているんですが、それからすると、あと2年っ
てことになりますが。
ちなみに私の95マシンに入っていた理由は……なんのソフトについていたのかわ
かりませんが、なにかのソフトをインストールしたときに入ったんでしょう。
このレベルのdllを使うとなると、同梱しておいて、インストーラで適切なフォ
ルダにコピーしてやるって形にしないとアプリケーションを使っているだけのフ
ツーのユーザにはハードルが高すぎると思います。
Windowsのシステムフォルダをいじるなんて、フツーの人には恐怖の操作で
すよ。
>>MFC42.dll については、Windows 95 OSR 2.5 から入っているようなので、ほ
>>とんどの環境に入っています。
この段階から入っているdllなら、問題はないでしょうね。いずれにせよ、IEが
必要なんですから、そうそう古いマシンでINCMを動かす人もいないでしょう
(^^;)
Best Regards,
Buckeye
[0288] 00/11/09 23:15 GAE(vbbj25HUgnk): Re:274)INCM 1.21n
http://www.gld.mmtr.or.jp/~naofumi/incm/beta/
あんまりすんなりとはいかなかったですが(笑)
とりあえず msvcrt.dll と msvcp60.dll が無くても動くようになりました。
http://www.gld.mmtr.or.jp/~naofumi/incm/
[次のページ]