こんにちは。いつも便利に使っています。表題の件で悩んでおります。つまり、メイン画面の掲示板に特定のフォーラムの更新情報があると邪魔。しかし、そのフォーラムの中身は必要なので、プラグインでそのフォーラムへのショートカットが欲しい。と言うわけなのですが……何か方法をご存知ないでしょうか?「メイン画面の投稿一覧に既読投稿を表示する」を【表示】にすると、掲示板の全フォーラムが対象になりますよね?特定のフォーラムだけ対象から外すことは出来るのでしょうか。DB設計書を見てもそれらしいものが見あたらず、困っております。また、特定フォーラムへ飛ぶプラグインは、作れるものなのでしょうか。プラグインの作成方法のページを見ても、何か違うような……要望としては、・特定のフォーラムが更新されても、メイン画面に反映させない・プラグインで、そのフォーラムの情報が見られるようにしたい・他のフォーラムは更新結果をメイン画面に反映させたい・情報掲示に掲示板以外の機能は使わないとなります。GSのバージョンは3.5.4です。しばらくバージョンアップをする予定はありません。何か良い方法をご存知でしたら、ご教授下さい。よろしくお願いいたします。
調べてご存知のように、既存機能だけでの実現は難しいでしょう。メイン画面通知の変更、新規プラグインの作成を含めてjava/jsp等に対してある程度の知識が必要になりますが、対応は可能ですか?ソースコンパイルから再配置については「GroupSessionのコンパイルを行う」を参照してください。http://www.gs.sjts.co.jp/v4/tec/about_compile.htmlプラグインの新設については「hello worldを作成」を参考にしてください。http://www.gs.sjts.co.jp/v4/tec/about_hello_plugin.html上記前提に対応可能ならソースを見て、まずは現在動作の流れをご確認ください。($Tomcat)\webapps\gsession3\WEB-INF\pluginをベースフォルダとして・メイン画面における掲示板情報の表示処理bulletin\src\jp\groupsession\v2\bbs\main\BbsMainBiz.java・掲示板ユーザデータの取得bulletin\src\jp\groupsession\v2\bbs\dao\BbsUserDao.javaこれをベースにメイン画面に必要フォーラムのみ表示する改造、不要フォーラムの新着表示プラグインの作成を行うことになります。ひょっとしたら別の手段があるかもしれません。他の方のご意見を待ちましょう。
kon様、お返事ありがとうございます。確認が遅れて申し訳ありません。設定ではどうこう出来ず、メイン画面の改造が必要になってしまうのですね、了解です。Javaは恥ずかしながら不得手なもので、どうするか社内で対応を検討してみます。改造以外の方法もあれば嬉しいのですが……他にも何かありましたらご教授下さい。よろしくお願いします。
こんにちは。kon様のお返事を参考にplugin.xmlの記述を行い、特定フォーラムへ飛ぶプラグインの作成が出来ました。あとはメイン画面への反映を何とか出来れば……【plugin.xml】<?xml version="1.0" encoding="Shift_jis" ?><plugin><!-- プラグインID --><id>test</id><!-- 名称 --><name>テスト</name><!-- 説明 --><description>特定フォーラムへ飛ぶプラグインです</description><!-- トップメニューの情報を記述する 記述しない場合はメニューに表示しない --><topmenu-info><!-- メニューへの表示/非表示 --><!-- プラグインをメニューへ表示する場合は「true」と記述します --><view>true</view><!-- メニューアイコンクリック時にフレーム内に表示するURLを記述します --><!-- テストに使ったフォーラムSIDが5だったのでSid=5となっております --><url>../bulletin/bbs060.do?bbs010forumSid=5</url></topmenu-info></plugin>
メイン画面の表示は「新規プラグインで指定したフォーラムを除外」したいんですよね…特定フォーラムの表示は比較的簡単に行えるのですが、特定フォーラムの除外は既存ソースに含まれないので、一部改編して追加する必要があります。 BulletinDao.javaのLine1838 getThreadListを参考にします。変更点1.getThreadListのコピーをgetThreadList直下に貼り付け2.貼り付けた方のメソッド名をgetExclThreadListに変更(除外リストの取得という意味)3.直下に張り付けた場合Line2096辺りに if (bfiSid != null) { sql.addSql(" and"); sql.addSql(" BBS_FOR_INF.BFI_SID = ?"); sql.addIntValue(bfiSid.intValue()); }という表記があるので、 if (bfiSid != null) { sql.addSql(" and"); sql.addSql(" BBS_FOR_INF.BFI_SID <> ?"); sql.addIntValue(bfiSid.intValue()); }に変更します。(以下に続く)
(上記の続き)BbsMainBiz.javaのLine41に form.setThreadList(bbsDao.getThreadList(buMdl.getUsrsid(),// buMdl.getAdminFlg(), false, bbsUsrMdl.getBurThreMainCnt(), bbsUsrMdl.getBurNewCnt(), bbsUsrMdl.getBurMainChkedDsp() ));の記載があるので form.setThreadList(bbsDao.getExclThreadList(buMdl.getUsrsid(),// buMdl.getAdminFlg(), false, bbsUsrMdl.getBurThreMainCnt(), bbsUsrMdl.getBurNewCnt(), {除外フォーラムSID}, bbsUsrMdl.getBurMainChkedDsp() ));に変更します。 {除外フォーラムSID}は実際のSID値(レスを見た感じでは5?)を記述してください。この処理を反映させるためには、gsessionのコンパイルとtomcatの再起動が必要になりますので、試用環境でお試しの上、本番にご採用ください。こちらでは責任が取れませんので^^;
kon様、何度もお返事ありがとうございます。返事が遅れて申し訳ありません。詳しい説明ありがとうございます。これなら私でも何とか出来そうな気がします。さっそく試してみますね。
こんにちは。kon様に教えて頂いた方法で、思い通りの表示をさせることが出来ましたのでご報告させて頂きます。詳しく教えて頂き、ありがとうございました。【最終結果】・特定のフォーラムが更新されても、メイン画面に反映させない・他のフォーラムは更新結果をメイン画面に反映させたい >メイン画面「インフォメーション」内の新着投稿件数に、特定フォーラムの件数が反映されない >メイン画面「掲示板」内の新規投稿覧に、特定フォーラムのみ表示されない・プラグインで、そのフォーラムの情報が見られるようにしたい >作成したプラグインから特定フォーラムへ飛ぶことが出来る・情報掲示に掲示板以外の機能は使わない >代替機能は使わずに済みました
vertical_align_top