Division By Zero

ゼロで割る

Aipo6のSchedule Portletをコンパイルしてみた

とある理由から、会社ではAipoとExchange Serverの両方でスケジュールを管理している。完全な同期は無理でも、新規スケジュールを双方で入れるのは面倒。Aipoでは他人が入れたスケジュールはメールで送られてくるので、OutlookでVBAを書けばExchangeに登録はできる。だが、自分で入れたスケジュールは送られないのだ。

何かオプションがあるのではないかと、ソースコードを見てみると、aipo/portlets/schedule/src/main/java/com/aimluck/eip/schedule/ScheduleFormData.javaにそれらしい記述を発見。

          // パソコンへメールを送信
          List<ALEipUserAddr> destMemberList =
            ALMailUtils.getALEipUserAddrs(memberList, ALEipUtils
              .getUserId(rundata), false);

aipo/portlets/schedule/src/main/java/com/aimluck/eip/schedule/ScheduleWeeklyJSONFormData.javaにも同様の記述がある。

aipo/lib/mail/src/main/java/com/aimluck/eip/mail/util/ALMailUtils.javaのgetALEipUserAddrsを見ると、

  public static List<ALEipUserAddr> getALEipUserAddrs(
      List<ALEipUser> memberList, int loginUserId, boolean includeLoginUser) {

やはりgetALEipUserAddrsの最後の引数をtrueに変えればよさそうだ。ということでAipo6をコンパイルしてみる。

スタートガイドに従えばコンパイルできるはずだけど、

  1. すでにAipo6をバイナリでインストールした検証環境がある
  2. JDKMavenだけインストール
  3. Schedule Portletの上記2ソースを修正
  4. コンパイル(mvn install)
  5. 生成されたaipo-portlet-schedule-6.0.3.jarを/usr/local/aipo/tomcat/webapps/aipo/WEB-INF/libのものと入れ替える
  6. aipoを再起動(service aipo stop; service aipo start)

うまく動いたので終了!