LoginSignup
3
3

More than 3 years have passed since last update.

GroupSession カスタマイズ

Last updated at Posted at 2019-11-15

概要

仕事のスケジュール管理で使っていたAipoCommunicationエディションがサポート終了になり、無料で移行先を探していたところ「GroupSession」にした。無償かつオンプレかつ国産で使えるものを、の条件に当てはまった唯一の製品だった(2019/04時点)
実務にあてはまるようにいくつかカスタマイズしたのでメモっておく。
基本的なセットアップは本家に書いてある通りなので書きません。

Webメール機能のIMAP化

GroupSessionで実装されているものはIMAPに対応していないので、IMAPに対応した別プロダクトを埋め込むことにした。
選んだのは「Rainloop」、セットアップも簡単でおそらくデファクトスタンダード。
セットアップはこちらのサイトを参考にさせていただきました。ありがとうございました。

リッチなUIのPHP製のWEBメーラー「RainLoop Webmail」をレンタルサーバーに入れてみた

連絡先のセットアップはサイトを参考にさせていただきました。ありがとうございました。

RainLoopでアドレス帳を使えるようにする。

埋め込みは余白などを取って自然にしたiframeで行った。

/usr/local/java/apache-tomcat-8.5.42/webapps/gsession/WEB-INF/plugin/webmail/jsp/wml010.js
+<html>
+<body style="margin:1px 0 0 0; overflow-x:hidden;">
+<iframe id="inline-frame" src="https://xxxxxxx/rainloop/" style="width:100%; height:99%;" frameborder="0" sandbox="allow-same-origin allow-scripts allow-top-navigation">
+</iframe>
+</body>
+</html>

元の~の中身を書き換え
必要に応じてセキュリティを施す。

メイン画面のWebメール新着メッセージリンクが押されると元の画面が見えてしまうので表示されないように。

/usr/local/java/apache-tomcat-8.5.42/webapps/gsession/WEB-INF/plugin/main/jsp/man001_information.jsp

<logic:iterate id="msg" name="man001Form" property="infoMsgs" scope="request" indexId="idx">
+    <logic:notMatch name="msg" property="linkUrl" value="../webmail/wml010.do" location="start">
    <tr>
    <td class="td_type1">
      <logic:notEmpty name="msg" property="icon">
      <img src="<bean:write name="msg" property="icon" />" class="img_bottom" alt="<bean:write name="msg" property="message" />">
      </logic:notEmpty>

      <logic:equal name="msg" property="popupDsp" value="false">
      <logic:equal name="msg" property="htmlEscape" value="true">
      <a href="<bean:write name="msg" property="linkUrl" />"><span class="text_r2"><bean:write name="msg" property="message" /></span></a>
      </logic:equal>
      <logic:notEqual name="msg" property="htmlEscape" value="true">
      <a href="<bean:write name="msg" property="linkUrl" />"><span class="text_r2"><bean:write name="msg" property="message" filter="false" /></span></a>
      </logic:notEqual>
      </logic:equal>

      <logic:notEqual name="msg" property="popupDsp" value="false">
      <logic:equal name="msg" property="htmlEscape" value="true">
      <a href="javascript:void(0);" onClick="<bean:write name="msg" property="linkUrl" />"><span class="text_r2"><bean:write name="msg" property="message" /></span></a>      </logic:equal>
      <logic:notEqual name="msg" property="htmlEscape" value="true">
      <a href="javascript:void(0);" onClick="<bean:write name="msg" property="linkUrl" />"><span class="text_r2"><bean:write name="msg" property="message" filter="false" /></span></a>
      </logic:notEqual>
      </logic:notEqual>

    </td>
    </tr>
+    </logic:notMatch>
    </logic:iterate>

notMatchの判定でWebメール新着項目レンダリングをスキップさせる。

注意点としてSafariからだとiframe内が真っ白で見えないのでおまじないを入れる。

/etc/nginx/nginx.conf
location ^~ /rainloop/ {    #"/gsession/"で前方一致する場合
    proxy_pass http://xxxxx:81/rainloop/;
+    proxy_hide_header Upgrade;
}

Rainloopのdataフォルダ隠し

難しいことではないがネットに出てくる情報がApache2.4以前のものなので一応メモっておく。

nginx側

/etc/nginx/nginx.conf
+location ^~ /rainloop/data {
+   deny all;
+}

ログイン画面にお知らせ

/usr/local/java/apache-tomcat-8.5.42/webapps/gsession/WEB-INF/plugin/common/jsp/cmn001.jsp
<div id="login_box"  style="top:80px !important;">
    <div style="border: solid 1px green; background:#90ee90; margin:10px; color:#343434; padding:10px; font-size:1rem;">
+      <span>・・・</span>
    </div>
    <div align="left">

上記でロゴマークの上に出せる。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3