« 2015年2月 | トップページ | 2015年4月 »

2015年3月

2015年3月27日 (金)

orca 4.8 に移行

monsiaj をアップデートした勢いで orca 4.7 から orca 4.8 に移行した(いずれも ubuntu 12.04)。 手順書どおりで特に問題なかった。
  1. まずは最新状態までアップデート
    $ sudo aptitude update
    $ sudo aptitude upgrade
    
  2. データベースのスキーマチェック
    $ sudo service jma-receipt stop
    $ wget http://ftp.orca.med.or.jp/pub/etc/jma-receipt-dbscmchk.tgz 
    $ tar xvzf jma-receipt-dbscmchk.tgz
    $ cd jma-receipt-dbscmchk
    $ sudo bash jma-receipt-dbscmchk.sh
    RCA Project Jma-Receipt Database Schema Check (1.1)
    == Operating System information ==
      Linux orca 3.2.0-79-generic #115-Ubuntu SMP Thu Mar 12 14:18:19 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
      DISTRIB_ID=Ubuntu
      DISTRIB_RELEASE=12.04
      DISTRIB_CODENAME=precise
      DISTRIB_DESCRIPTION="Ubuntu 12.04.5 LTS"
    == Database System information ==
      PostgreSQL version 9.1
    == Package information ==
      ii  jma-receipt                      1:4.7.0-u3jma1                      JMA Standard Receipt Computer Software
      version   4.7.0-1 (040700-1)
    == Schema Check information ==
      Jma-Receipt Schema Version (040700-1)
      チェックファイル:[ orcadbschema.ver470 : 2014-11-14 13:44:47 ]
    現在のスキーマバージョンは4.7.0です。
    スキーマの整合性をチェックします。
    --------------------------------------------------------
      データベースの整合性チェックは正常に終了しました。
    --------------------------------------------------------
    
  3. apt line の更新
    /etc/apt/sources.list.d/jma-receipt-precise47.list を jma-receipt-precise48.list にリネームし,precise4.7 を precise4.8 に書き換える。
    deb     http://ftp.orca.med.or.jp/pub/ubuntu precise4.8 jma
    deb-src http://ftp.orca.med.or.jp/pub/ubuntu precise4.8 jma
    deb     http://ftp.orca.med.or.jp/pub/ubuntu precise-common jma
    deb-src http://ftp.orca.med.or.jp/pub/ubuntu precise-common jma
    
  4. update and upgrade
    $ sudo aptitude update
    $ sudo aptitude upgrade
      :
    設定ファイル `/etc/jma-receipt/jppinfo.list'
     ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
     ==> パッケージ配布元が更新版を提供しています。
       どうしますか? 以下の選択肢があります:
        Y か I  : パッケージメンテナのバージョンをインストールする
        N か O  : 現在インストールされている自分のバージョンを残す
          D     : 両バージョンの差異を表示する
          Z     : 状況を調査するためにシェルを開始する
     デフォルトでは現在使っている自分のバージョンを残します。
    *** jppinfo.list (Y/I/N/O/D/Z) [デフォルト=N] ? y
      :
    現在の状態: 更新が 0 個 [-77]。
    $
    
  5. データベースセットアップ
    $ sudo jma-setup
    DBHOST:		OK (PostgreSQL:localhost)
    DBUSER:		OK (orca)
    DATABASE:	OK (orca)
    DBENCODING:	OK (EUC-JP)
    DBKANRI		OK (tbl_dbkanri)
    UPDATE CHECK:	OK (online)
    DBLIST:		OK (040800-1)
    LIST DOWNLOAD:	FILE (54)
    DOWNLOAD:	......................................................OK
    EXTRACT:	......................................................OK
    UPDATE:		......................................................OK
    DBVERSION:	OK (0408001)
    データベース構造変更処理は終了しました
    
  6. これまで user id と password の管理は,gluseradd を使って /etc/jma-receipt/passwd ファイルで行っていたが,ver 4.8.0 ではデータベースの tbl_password に入れて管理するようになったようだ。以下のコマンドで,/etc/jma-receipt/passwd ファイルから id,password を抜き出してテーブルに移し替えてくれる。orca 権限で実行できる。
    $ bash /usr/lib/jma-receipt/bin/passwd_store.sh
    パスワード設定処理 ... 終了しました。
    
  7. CLAIM モジュール不具合修正パッチ適用
    $ wget https://ftp.orca.med.or.jp/pub/data/receipt/outline/update/claim_update.tar.gz
    $ tar xvzf claim_update.tar.gz
    $ sudo bash claim_update.sh
    claim_update_.log.gzを作成しました。
    $ zcat claim_update_.log.gz
      :
    ii  jma-receipt                      1:4.8.0-u3jma1                      JMA Standard Receipt Computer Software
    ii  panda-dev                        1:1.4.9+p5-u3jma1                   Development files for panda
    ii  panda-libs                       1:1.4.9+p5-u3jma1                   Development files for panda
    ii  panda-server                     1:1.4.9+p5-u3jma1                   OLTP monitor and client server GUI(server)
    ii  libmondai1                       1:1.4.9+p0-u3jma1                   MON Data Access Interface library
    ii  monpe                            0.6.20+p12-u3jma1                   MON Printing Environment
    ii  monpe-common                     0.6.20+p12-u3jma1                   MON Printing Environment (common files)
    ii  monpe-libs                       0.6.20+p12-u3jma1                   MON Printing Environment (library)
    
  8. CLAIM サーバ起動設定
    $ sudo dpkg-reconfigure jma-receipt
    $ ps x | grep claim
    8169 ?        Sl     0:00 /usr/bin/ruby1.9.1 /usr/lib/jma-receipt/scripts/claim/rb/clm_rcv.rb 8210
    
  9. sky.sh 様帳票用のパッケージリストを追加
    $ sudo vi /etc/jma-receipt/jppinfo.list
    ---
    :root: /var/lib/jma-receipt/plugin
    :list:
     - http://ftp.orca.med.or.jp/pub/receipt/plugin/4.8.0/jpplist1.yml
     - http://ftp.orca.med.or.jp/pub/receipt/plugin/4.8.0/jpplist2.yml
     - http://www.sky.sh/orca/plugin/4.8.0/skysh.yml  ←追加します
    :linkprefix: /usr/local/site-jma-receipt
    :verify: true
    
  10. 再起動する
    $ sudo reboot
    
  11. monsiaj でログインして,プログラム更新,マスタ更新実行
  12. データベースのスキーマをチェック
    $ cd jma-receipt-dbscmchk
    $ sudo bash jma-receipt-dbscmchk.sh
    
    ORCA Project Jma-Receipt Database Schema Check (1.1)
    == Operating System information ==
      Linux orca 3.2.0-79-generic #115-Ubuntu SMP Thu Mar 12 14:18:19 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
      DISTRIB_ID=Ubuntu
      DISTRIB_RELEASE=12.04
      DISTRIB_CODENAME=precise
      DISTRIB_DESCRIPTION="Ubuntu 12.04.5 LTS"
    == Database System information ==
      PostgreSQL version 9.1
    == Package information ==
      ii  jma-receipt                      1:4.8.0-u3jma1                      JMA Standard Receipt Computer Software
      version   4.8.0-1 (040800-1)
    == Schema Check information ==
      Jma-Receipt Schema Version (040800-1)
      チェックファイル:[ orcadbschema.ver480 : 2015-02-24 17:36:51 ]
    現在のスキーマバージョンは4.8.0です。
    スキーマの整合性をチェックします。
    --------------------------------------------------------
      データベースの整合性チェックは正常に終了しました。
    --------------------------------------------------------
    
  13. 診療会計テーブルのデータ整合処理スクリプトの登録
    91 マスタ登録 > 101 システム管理マスタ > 3002 統計帳票出力情報(月次)と選択,区分コード 004 と入力してリターン,確定し,以下のプログラムを登録する。
    帳票番号    004
    帳票名     診療会計テーブルのデータ整合 
    プログラム名  ORCBNOMIACCT 
    帳票パラメタ1 処理区分  PSN1  必須
    
    パラメタ説明
    0:対象の受診履歴のチェックリストを作成します。 1:データベースの更新を行います。
    
  14. 「52 月次統計」より1で登録したバッチ処理を処理区分 "0" で実行,プレビューする。
    ##受信履歴連番4以上更新変換リスト##
    「同日4回の受診はありませんでした」
    
    と出たので,このままで OK らしい。
  15. プラグインの登録
    プラグインの登録は,「03 プログラム更新」の F4 に移動になった。北海道の地方公費と sky.sh 帳票を「組込」する。いきなり地方公費が ERROR になってあせったが,再トライしたら ○ が付いて,無事組み込めたようだ。
OpenDolphin の方でも orca 4.8 に合わせて何行か変更した。

2015年3月23日 (月)

ownCloud 8.0.2 にアップグレード

自分用のクラウドとして ownCloud を使用している。これまで ownCloud のアップデートは普通に aptitude update → upgrade で問題なかった。しかし,今回 7.0.4 → 8.0.2 のアップデートではひと手間必要だった。

PPA の導入

ownCloud 8.0.2 では php 5.4 以上が必須であるが,ubuntu 12.04 では,そのままでは使用できないので,PPA(personal package archive)を使う。
$ sudo aptitude install python-software-properties
$ sudo add-apt-repository ppa:ondrej/php5
$ sudo aptitude update
$ sudo aptitude upgrade
現時点では php 5.5.22,apache2 2.4.12,owncloud 8.0.2-5 がインストールされた。その後,ブラウザで ownCloud にアクセスするとアップデートが完了する。

追加の設定

apache2 のバージョンが 2.4 になり,owncloud.conf が conf.d ではなく conf-available / conf-enabled で管理されるようになった。これに合わせて,今まで使っていた owncloud.conf を移動した。
$ sudo cp /etc/apache2/conf.d/owncloud.conf /etc/apache2/conf-available/
$ sudo rm -rf /etc/apache2/conf.d
ブラウザでアクセスして admin を見ると,以下のワーニングが出ていて,設定が必要であった。
  • .htaccess
    PHP charset is not set to UTF-8. This can cause major issues with non-ASCII characters in file names. 
    We highly recommend to change the value of 'default_charset' php.ini to 'UTF-8'.
    
    owncloud/.htaccess に以下の1行を加える。
    <IfModule mod_php5.c>
    php_value upload_max_filesize 513M
    php_value post_max_size 513M
    php_value memory_limit 512M
    php_value mbstring.func_overload 0
    php_value always_populate_raw_post_data -1
    php_value default_charset UTF-8
    
  • config.php
    If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. 
    To avoid these problems, please set the "overwrite.cli.url" option in your config.php file to the webroot path of your installation (Suggested: "/owncloud")
    
    owncloud/config/config.php に以下の1行を加える。
    'overwrite.cli.url' => '/owncloud',
    

2015年3月17日 (火)

monsiaj を更新

ずっと monsiaj-20130418 をカスタマイズしたものを使っていたが,今年は 9月までに orca 4.8(monsiaj-20141010版以降の対応)へのアップデートもあるので,まずは monsiaj だけアップデートすることにした。ソースは bitbucket さんに上げた。
  • いつのまにか,monsiaj のソースは github からダウンロードするようになっていた。branch 1.4.9 の最終 commit 2015/3/4 のバージョンを Download ZIP でダウンロードして,以前と同じカスタマイズを加えた。
  • java 1.7 の時は ATOK との戦いに苦労したが,java 1.8 では何もしなくても大丈夫だった。
  • org.montsuqi.client.marshallers.PandaTableMarshaller
    (K02)診療行為入力画面で編集を行ってリターンキーを押すと,セルの選択が最後の行に飛んでしまうが,自分的には飛ばない方が良いと思うので,飛ばないようにした。
  • org.montsuqi.widgets.PandaCList
    テーブルに grid 表示する。
  • org.montsuqi.widgets.PandaFocusManager
    K03(請求確認) でショートカット処理を加えた。ctrl-0 で「領収書,明細書,処方発行無し」,ctrl-1 で「全て発行あり」,ctrl-2 で「処方だけ発行あり」に切り替える。
  • org.montsuqi.widgets.PandaTable
    (K02)診療行為入力画面の PandaTable の行数が常に 400行になっていて,データの後に大量の空白行がくっついた状態で表示されてしまうので,空白行は無視して,データがある行だけを表示するようにした。
  • org.montsuqi.widgets.Window
    (K10)診療行為入力-中途終了一覧などの Dialog が,表示の度に上に 21 ドットずつ移動してしまうのを修正した。
新しい monsiaj,何だかレスポンスが早くなったような感じがする。

2015年3月13日 (金)

Java 1.8 対応

java 1.7 がまもなくサポート終了になるらしいので,java 1.8 に移行した。

クライアント

今使っている monsiaj-20130418(改)は java 1.8 でも普通に動いた。
OpenDolphin の方は少し変更が必要であった。
  • java 1.7 では javafx を使うのに設定が必要であったが,java 1.8 では不要になった。
  • SchemaEditorImpl を javafx 8 に合わせて書き直した。
  • Platform.runLater で SchemaEditorImpl を呼び出す際に,Platform.setImplicitExit(false) にセットしておかないと,最初に SchemaEditorImpl を立ち上げて終了した後,JavaFX application thread も終了してしまって,以後 SchemaEditorImpl が立ち上がらなくなってしまう。SettingForMac で JFXPanel() しているところで設定するようにした。
    // necessary to initialize JavaFX Toolkit
    new JFXPanel();
    // JavaFX thread が SchemaEditor 終了後に shutdown してしまわないようにする
    Platform.setImplicitExit(false);
    
  • com.apple.eawt パッケージがビルド時に認識されない。
    open/dolphin/ui/SettingForMac.java:[3,30] エラー: パッケージcom.apple.eawt.AppEventは存在しません
    
    pom.xml の compilerArguments に -Dignore.symbol.file を付けるとビルドできるようになる。
    <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-compiler-plugin</artifactId>
       <version>2.3.2</version>
       <configuration>
         <source>1.8</source>
         <target>1.8</target>
         <compilerArgument>-XDignore.symbol.file</compilerArgument>
       </configuration>
     </plugin>
    

サーバ

ソースの変更は特に必要なかった。
  • dolphin サーバ (ubuntu 12.04) に java 8 をインストールする手順。
    $ sudo aptitude install python-software-properties
    以下の新規パッケージがインストールされます:
      python-pycurl{a} python-software-properties unattended-upgrades{a}
      :
    python-software-properties (0.82.7.7) を設定しています ...
    
    $ sudo add-apt-repository ppa:webupd8team/java
    You are about to add the following PPA to your system:
     Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK7 / JDK8 / JDK9). There are no ac
      :
    Press [ENTER] to continue or ctrl-c to cancel adding it
      :
    gpg:               読込み: 1  (RSA: 1)
    OK
    
    $ sudo aptitude update
      :
    $ sudo aptitude install oracle-java8-installer
      :
    $ ls -l /usr/lib/jvm
    lrwxrwxrwx  1 root root    20 10月 25  2012 java-1.6.0-openjdk-amd64 -> java-6-openjdk-amd64/
    lrwxrwxrwx  1 root root    20  1月 17  2013 java-1.7.0-openjdk-amd64 -> java-7-openjdk-amd64/
    drwxr-xr-x  7 root root  4096  2月 15 13:25 java-6-openjdk-amd64/
    drwxr-xr-x  3 root root  4096  1月 20  2013 java-6-openjdk-common/
    drwxr-xr-x  7 root root  4096  2月 15 13:24 java-7-openjdk-amd64/
    drwxr-xr-x  8 root root  4096  3月 12 20:32 java-8-oracle/
    
    $ sudo update-alternatives --config java
    alternative java (/usr/bin/java を提供) には 3 個の選択肢があります。
    
      選択肢    パス                                          優先度  状態
    ------------------------------------------------------------
      0            /usr/lib/jvm/java-8-oracle/jre/bin/java          1062      自動モード
      1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      手動モード
    * 2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      手動モード
      3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1062      手動モード
    
    現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 0
    update-alternatives: /usr/bin/java (java) を提供するために 自動モード で /usr/lib/jvm/java-8-oracle/jre/bin/java を使います。
    
    $ java -version
    java version "1.8.0_40"
    Java(TM) SE Runtime Environment (build 1.8.0_40-b25)
    Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
    
    $ sudo reboot
    
  • リブート後ログを見ると java 1.8 でサーバが立ち上がっていることが確認できる。
    2015-03-12 20:42:46,863 DEBUG [org.jboss.as.config] (MSC service thread 1-6) Configured system properties:
    	[Standalone] =
         :
    	java.ext.dirs = /usr/lib/jvm/java-8-oracle/jre/lib/ext:/usr/java/packages/lib/ext
    	java.home = /usr/lib/jvm/java-8-oracle/jre
         :
    	java.runtime.name = Java(TM) SE Runtime Environment
    	java.runtime.version = 1.8.0_40-b25
    	java.specification.name = Java Platform API Specification
    	java.specification.vendor = Oracle Corporation
    	java.specification.version = 1.8
         :
    	java.version = 1.8.0_40
    	java.vm.info = mixed mode
    	java.vm.name = Java HotSpot(TM) 64-Bit Server VM
    	java.vm.specification.name = Java Virtual Machine Specification
    	java.vm.specification.vendor = Oracle Corporation
    	java.vm.specification.version = 1.8
    	java.vm.vendor = Oracle Corporation
    

« 2015年2月 | トップページ | 2015年4月 »