ORCA

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月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年2月 5日 (木)

jma-receview が動かなくなった

レセプトチェックをしようと思って jma-receview を起動しようとしたら起動しなかった orz。そういえば,数日前にものすごく久しぶりに aptitude upgrade していたことを思い出した。jma-receview が update されて,当院の環境で動かなくなってしまったものと考えられた
jma-receview は ruby プログラムなので,以下のようにすると debug 情報が得られる。
$ ruby -d -w /usr/bin/jma-receview
Exception `NoMethodError' at /usr/lib/ruby/1.8/rational.rb:78 - undefined method `gcd' for Rational(1, 2):Rational
Exception `LoadError' at /usr/lib/ruby/vendor_ruby/1.8/glib2.rb:97 - no such file to load -- 1.8/glib2.so
Exception `LoadError' at /usr/lib/ruby/vendor_ruby/1.8/glib2.rb:220 - no such file to load -- gettext
Exception `LoadError' at /usr/lib/ruby/vendor_ruby/1.8/atk.rb:9 - no such file to load -- 1.8/atk.so
Exception `LoadError' at /usr/lib/ruby/vendor_ruby/1.8/cairo.rb:44 - no such file to load -- 1.8/cairo.so
Exception `LoadError' at /usr/lib/ruby/vendor_ruby/1.8/pango.rb:26 - no such file to load -- 1.8/pango.so
Exception `LoadError' at /usr/lib/ruby/vendor_ruby/1.8/gdk_pixbuf2.rb:9 - no such file to load -- 1.8/gdk_pixbuf2.so
Exception `LoadError' at /usr/lib/ruby/vendor_ruby/gtk2/base.rb:23 - no such file to load -- 1.8/gtk2.so
Exception `LoadError' at /usr/lib/ruby/1.8/jma/receview/gtk2_fix.rb:28 - no such file to load -- gtksourceview2
Exception `LoadError' at /usr/lib/ruby/1.8/jma/receview/gtk2_fix.rb:31 - no such file to load -- gtksourceview
Exception `RuntimeError' at /usr/lib/ruby/1.8/jma/receview/print.rb:10 -
Exception `LoadError' at /usr/lib/ruby/1.8/tmpdir.rb:14 - no such file to load -- Win32API
Exception `LoadError' at /usr/lib/ruby/vendor_ruby/1.8/poppler.rb:40 - no such file to load -- 1.8/poppler.so
Exception `LoadError' at /usr/lib/ruby/1.8/jma/receview/isoimage.rb:66 - no such file to load -- cdio
Exception `Errno::ENOENT' at /usr/lib/ruby/1.8/jma/receview/config.rb:335 - そのようなファイルやディレクトリはありません - receview.conf
Exception `NoMethodError' at /usr/lib/ruby/1.8/jma/receview/gui.rb:2941 - undefined method `+' for nil:NilClass
/usr/lib/ruby/1.8/jma/receview/gui.rb:2941:in `event': undefined method `+' for nil:NilClass (NoMethodError)
	from /usr/lib/ruby/1.8/jma/receview/gui.rb:2918:in `initialize'
	from /usr/lib/ruby/1.8/jma/receview/gui.rb:97:in `new'
	from /usr/lib/ruby/1.8/jma/receview/gui.rb:97:in `initialize'
	from /usr/bin/jma-receview:12291:in `new'
	from /usr/bin/jma-receview:12291
gui.rb の event で何かが nil になって止まっているらしい。puts を入れて調べてみたところ,@base.desktop_native と @base.doc_native が nil になっていた。
def event
 :
  else
    if Gtk::platform_support_os_linux(Gtk::GTK_SUPPORT_VERSION_AMD64)
      desktop = @base.desktop_native + @base.path_char
      @gtk_desk_button.signal_connect("clicked") do
        self.set_filename(desktop)
        self.dir_list.signal_emit("cursor-changed")
      end

      doc = @base.doc_native + @base.path_char
      @gtk_doc_button.signal_connect("clicked") do
        self.set_filename(doc)
        self.dir_list.signal_emit("cursor-changed")
      end
    end
  end
end
base.rb を読んでみると $HOME/.config/user-dirs.dirs ファイル内の XDG_DESKTOP_DIR, XDG_DOCUMENTS_DIR というプロパティーを読みに行っている。調べてみたら,これは xdg-user-dirs というシステムの仕組みらしい。いつの間にか,xdg-user-dirs の設定が必須になってしまっていたようだ。
当院の orca にデスクトップはインストールしていない(jma-receview は mac の x-window サーバで表示させている)ので,当然 xdg-user-dirs などというものも入っていない。
以下のように自分で ~/.config/user-dirs.dirs を作って無事動くようになった。
XDG_DESKTOP_DIR="$HOME"
XDG_DOCUMENTS_DIR="$HOME"

2013年11月 2日 (土)

java 1.7 に移行 - monsiaj 編

NetBeans 7.4 から,java 1.7 がインストールされていないと NetBeans がインストールできなくなってしまった。java 1.6 環境での開発ができなくなったという意味ではないのだが,どうせなのでこれを機会に java 1.7 に移行することにした。

 

mac での ATOK 対応

ATOK を ATOK8 の時代から使っているが,いつもトラブルの元になって苦しめられている気がする。今回も java 1.7 で monsiaj の最新版(monsiaj-20130418)を使ってみたところ,ATOK on でテキストフィールドにカーソルがある状態からファンクションキーを押すと,exception を出してフリーズするという問題が発生した。(java 6 では問題ない)

ATOK26[233]: Exception in proxy  -[IPMDServerClientWrapper selectedRange]
		name = NSPortTimeoutException
		reason = connection timeout: did not receive reply
		userInfo = (null)
	(
	0   CoreFoundation                      0x00007fff8a737b06 __exceptionPreprocess + 198
	1   libobjc.A.dylib                     0x00007fff863c43f0 objc_exception_throw + 43
	2   CoreFoundation                      0x00007fff8a7378dc +[NSException raise:format:] + 204
	3   Foundation                          0x00007fff85d68539 -[NSConnection sendInvocation:internal:] + 3209
	4   CoreFoundation                      0x00007fff8a726197 ___forwarding___ + 775
	5   CoreFoundation                      0x00007fff8a725e18 _CF_forwarding_prep_0 + 232
	6   InputMethodKit                      0x0000000100e26a99 -[IPMDServerClientWrapper selectedRange] + 207
	7   ATOK26                              0x00000001000b963d -[ATOKInputSessionWrapper selectedRangeWithClient:] + 77
	8   ATOK26                              0x00000001000aa994 -[ATOKIMController handleEvent:client:isInterruptedEvent:] + 476
	9   ATOK26                              0x00000001000aaac2 -[ATOKIMController handleEvent:client:] + 19
	10  InputMethodKit                      0x0000000100e31902 -[IMKServer handleEvent:characterIndex:edge:client:] + 2209
	11  CoreFoundation                      0x00007fff8a72b09c __invoking___ + 140
	12  CoreFoundation                      0x00007fff8a72af37 -[NSInvocation invoke] + 263
	13  CoreFoundation                      0x00007fff8a72b109 -[NSInvocation invokeWithTarget:] + 57
	14  CoreFoundation                      0x00007fff8a726197 ___forwarding___ + 775
	15  CoreFoundation                      0x00007fff8a725e18 _CF_forwarding_prep_0 + 232
	16  CoreFoundation                      0x00007fff8a72b09c __invoking___ + 140
	17  CoreFoundation                      0x00007fff8a72af37 -[NSInvocation invoke] + 263
	18  Foundation                          0x00007fff85d735f3 -[NSConnection dispatchInvocation:] + 331
	19  Foundation                          0x00007fff85d72651 -[NSConnection handleRequest:sequence:] + 1378
	20  Foundation                          0x00007fff85d6c7dd -[NSConnection handlePortCoder:] + 895
	21  Foundation                          0x00007fff85d6c00f -[NSConnection dispatchWithComponents:] + 53
	22  Foundation                          0x00007fff85d6bb15 __NSFireMachPort + 257
	23  CoreFoundation                      0x00007fff8a6a6e40 __CFMachPortPerform + 288
	24  CoreFoundation                      0x00007fff8a6a6d09 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 41
	25  CoreFoundation                      0x00007fff8a6a6a49 __CFRunLoopDoSource1 + 153
	26  CoreFoundation                      0x00007fff8a6d9c02 __CFRunLoopRun + 1826
	27  CoreFoundation                      0x00007fff8a6d90e2 CFRunLoopRunSpecific + 290
	28  HIToolbox                           0x00007fff89c3deb4 RunCurrentEventLoopInMode + 209
	29  HIToolbox                           0x00007fff89c3dc52 ReceiveNextEventCommon + 356
	30  HIToolbox                           0x00007fff89c3dae3 BlockUntilNextEventMatchingListInMode + 62
	31  AppKit                              0x00007fff88dac533 _DPSNextEvent + 685
	32  AppKit                              0x00007fff88dabdf2 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
	33  AppKit                              0x00007fff88da31a3 -[NSApplication run] + 517
	34  AppKit                              0x00007fff88d47bd6 NSApplicationMain + 869
	35  ATOK26                              0x00000001001002bc main + 913
	36  ATOK26                              0x00000001000017f4 start + 52
	)

ATOK on の状態だと,他の操作でもしばしば exception を出さずにフリーズしてしまい,実用にならない状態であった。いずれも ATOK を切って操作すればフリーズしない。しかたがないので,全ての Component で enableInputMethod(false) として,ATOK を切った。

WidgetBuilder.java

public static Component buildWidget(Interface xml, WidgetInfo info, Container parent) {
 :
  // ATOK causes freeze everywhere, so kill it unless necessary
  widget.enableInputMethods(false);
 :

しかし,これでは日本語入力ができない。そこで,「かな」キーを押すと,押した Component だけ enableInputMethod(true) になるようにした。

PandaFocusManager.java

public void processKeyEvent(Component focusedComponent, KeyEvent e) {
 :
  if (e.getKeyCode() == KeyEvent.VK_KATAKANA) {
    focusedComponent.enableInputMethods(true);
  }
  :

その他,AccelHandler.java,PandaTable.java にも ATOK を切るコードを入れた。この改造で,java 7 でも何とか1日フリーズなしで過ごせるようになった。こういう個人的な環境に合わせた改造ができるのは,オープンソースのよいところだと思う。

 

その他の改造

ついでに気になっていた部分をいくつか改造した。

  1. (K02)診療行為入力画面の PandaTable の行数が常に 400行になっていて,データの後に大量の空白行がくっついた状態で表示されてしまう。そこで,空白行は無視して,データがある行だけを表示するように改造した。

    PandaTable.java

    public void keyPressed(KeyEvent e) {
     :
      // 現在の selectedRow が実データの最終行なら,それ以上下へは移動しないようにする
      if (e.getKeyCode() != KeyEvent.VK_DOWN || getRealRowCount() != getSelectedRow()) {
          Component parent = ((Component) e.getSource()).getParent();
          KeyEvent pass = new KeyEvent(parent, e.getID(), e.getWhen(), e.getModifiers(), e.getKeyCode(), e.getKeyChar());
          parent.dispatchEvent(pass);
      }
     :
      public void changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend) {
        // 空行への changeSelection は拒否る
        if (getRealRowCount() < rowIndex) { return; }
     :
     /**
      * pns サーバから帰ってくるデータの行数が,実データの有無にかかわらず常に400行なので,
      * 実データのある必要行数だけ表示するようにする
      * @return 
      */
     @Override
     public Dimension getPreferredSize() {
         Dimension size = super.getPreferredSize();
         
         int realRowCount = getRealRowCount();
    
         // 実データを表示するのに必要な高さ
         size.height = (realRowCount + 1) * getRowHeight();
         
         // 親が Viewport であれば,その高さよりも小さくならないようにする
         Object parent = getParent();
         if (parent != null && (parent instanceof JViewport)) {
             JViewport view = (JViewport) parent;
             if (size.height < view.getHeight()) {
                 size.height = view.getHeight(); 
             }
         }
         
         return size;
     }
     /**
      * pns 実データの行数を返す
      * @return 
      */
     private int getRealRowCount() {
         int realRowCount = 0;
         // 最終行からスキャンして,実データを見つけた時点で行数とする
         for (int r=getRowCount()-1; r>=0; r--) {
             // columm 1 に何か入っていれば実データである
             Object value = model.getValueAt(r, 1);
             if (value != null && !"".equals(((String)value).trim())) {
                 realRowCount = r + 1;
                 break;
             }
         }        
         return realRowCount;       
     }
    
  2. (K02)診療行為入力画面で,表示されたデータ行で編集を行ってリターンキーを押すと,セルの選択が最後の行に飛んでしまう。自分的には飛ばない方が良いと思うので,飛ばないように改造した。

    PandaTableMarshaller.java

    public synchronized void receive(WidgetValueManager manager, Component widget) throws IOException {
     :
      //pns 現在編集中の行を保存
      editingRow = table.getSelectedRow();
     :
      if (trow >= 0 && tcolumn >= 0) {      
          //pns 編集中の行があれば選択を変えない begins
          if (editingRow != -1) {
              // ただし最後の行の編集であれば,selectedRow を1つ下に送る
              if (trow == editingRow + 1) { trow = editingRow + 1; }
              else if (trow > editingRow) { trow = editingRow; }
          }
          //pns ends
    
  3. PandaPreview で表示倍率を選択できるようになっているが,初期値をシステムプロパティーから設定できるようにした。

    PandaPreview.java

    //pns zoom 初期値を system property から取得 begins
    //pns zoom = SCALE_FIT_PAGE_WIDTH;
    int index = 1;
    if (System.getProperty("monsia.pandapreview.initialzoom") != null) {
        try {
            int n = Integer.parseInt(System.getProperty("monsia.pandapreview.initialzoom"));
            if (n >= 0 && n <=9) {
                index = n;
            } else {
                if (n == 50) { index = 2; }
                else if (n ==  75) { index = 3; }
                else if (n == 100) { index = 4; }
                else if (n == 125) { index = 5; }
                else if (n == 150) { index = 6; }
                else if (n == 175) { index = 7; }
                else if (n == 200) { index = 8; }
                else if (n == 300) { index = 9; }
            }
        } catch (NumberFormatException e) {}
    }
    zoom = SCALE_VALUE[index];
    combo.setSelectedIndex(index);
    
  4. これまで CListMarsheller.java にグリッド表示コードを入れていたが,コードを見ていたところ,PandaCList.java に,グリッド表示をシステムプロパティーで制御しようとした痕跡を見つけた。そこで,グリッド表示コードをこちらに移した。monsia.panadaclist.showgrid=true などと値を設定するとグリッドが表示される。

    PandaCList.java

     :
    // if (System.getProperty("monsia.widget.pandaclist.showgrid") == null) {
    if (System.getProperty("monsia.pandaclist.showgrid") == null) {
        this.setShowGrid(false);
    } 
    //pns show grid
    else {
        this.setShowGrid(true);
        this.setGridColor(new java.awt.Color(235,235,235));            
    }
     :
    

改造したコードは bitbucket さんに上げた。

2013年9月20日 (金)

precise に orca をインストール

dom-U 上の ubuntu 12.04 precise に orca をインストールした。これで当院の orca もついに最新版に追いついた。これで当院のサーバ os は全て precise に統一されることになった。
  1. uuid-runtime のインストール
    コマンドラインで uuidgen を入力して「コマンドが見つかりません」となる場合はインストールする必要がある。precise では既にインストールされていた。
    # aptitude install uuid-runtime
    
  2. keyring の追加
    # wget -q http://ftp.orca.med.or.jp/pub/ubuntu/archive.key
    # apt-key add archive.key
    
  3. apt-line の追加
    deb     http://ftp.orca.med.or.jp/pub/ubuntu precise4.7 jma
    deb-src http://ftp.orca.med.or.jp/pub/ubuntu precise4.7 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. パッケージ更新
    # aptitude update
    # aptitude upgrade
    
  5. orca インストール
    $ sudo aptitude install -y jma-receipt
     :
    $ sudo dpkg-reconfigure -p critical jma-receipt
     :
    Copying scripts files...done
    Copying lddef files...done
    Copying data files...done
    Copying etc files...done
    gpg: 鍵ED7FC485:“support (plugin) ”変更なし
    gpg: 処理数の合計: 1
    gpg:              変更なし: 1
    
    ****************************************************
    *                                                  *
    * Don't execute database schema change processing. *
    *                                                  *
    * Execute jma-setup manually.                      *
    * $ sudo jma-setup                                 *
    *                                                  *
    * Cancel {start} jma-receipt daemon.               *
    *                                                  *
    ****************************************************
    
    $ sudo jma-setup
    /usr/lib/jma-receipt/init/orca-db-create.sh ......
    CREATEDB (orca)
    /usr/lib/jma-receipt/init/orca-db-init.sh .....
    /usr/lib/jma-receipt/init/orca_dbkanri_orig.dump done.
    /usr/lib/jma-receipt/init/orca-db-install.sh .....
    ONLINE: センタからのDBレコード管理情報のダウンロードが終了しました
    更新用ダウンロードファイルの作成が終了しました
    dump/ORCADBS/ORCADBS-20120912-1.tar.gz
    dump/ORCADBS/ORCADBS-20120912-1.tar.gz ダウンロードが終了しました
     :
     :
    Very Good!
    データベース構造変更処理は終了しました
    
  6. user,password の追加
    # gluseradd -file /etc/jma-receipt/passwd -p passwd1 ormaster
    # gluseradd -file /etc/jma-receipt/passwd -p passwd2 doctor
    # gluseradd -file /etc/jma-receipt/passwd -p passwd3 jimu
     :
    

プリンタインストール

  1. 上記のインストールでは,cups のサーバーはインストールされない。当院では brother の非ポストスクリプトプリンタを使用しているので,cups サーバをインストールして,印刷できるように設定する。
    $ sudo aptitude install cups
    
    cupsd.conf の設定
    $ cat /etc/cups/cupsd.conf
    #
    # Sample configuration file for the CUPS scheduler.  See "man cupsd.conf" for a
    # complete description of this file.
     :
    Listen orca:631    # orca のホストアドレス
     :
    # Restrict access to the server...
    <Location />
      Order allow,deny
      Allow @Local
     </Location>
    
    # Restrict access to the admin pages...
    <Location /admin>
      Order allow,deny
      Allow @Local
    </Location>
    
    # Restrict access to configuration files...
    <Location /admin/conf>
      AuthType Default
      Require user @SYSTEM
      Order allow,deny
      Allow @Local
    </Location>
     :
    MaxJobs 0
    
  2. cupsd をリロードして,ブラウザから https://orca:631/admin にアクセス
    $ sudo service cups restart
    
  3. 「プリンターの追加」をクリック
  4. 認証は管理者 ID とパスワードを入力。自動発見されたプリンタが出てくるが,無視して手動で設定する。「その他のネットワークプリンタ」から選択(どれでもよい),次の画面でプリンタのアドレスを「socket://192.168.1.xxx」と入力する。プリンタの名前は ORCA の設定に合わせて登録(lp1,lp2 等)。メーカーは Brother,リストから「Brother HL-5250DN Foomatic/pxlmono」を選択(増田先生の twitter でこれで印刷できることを教えてもらった),「プリンタの追加」をクリックしてプリンタを登録。

postgres の設定

  1. /etc/postgresql/9.1/main/postgresql.conf
    listen_address = '*'
    
  2. /etc/postgresql/9.1/main/pg_hba.conf
    host  all  all 192.168.1.0/24  trust
    
  3. postgres の再起動と jma-receipt の起動
    $ sudo service postgresql restart
    $ sudo service jma-receipt start
    
  4. glclient でアクセスして,プログラム更新→マスタ更新

データベース移行

  1. lucid で pg_dump
    $ pg_dump -Fc -f orca_db.dump
    
  2. precise で pg_restore。この時,createdb にオプションが必要。
    $ sudo service jma-receipt stop
    $ dropdb orca
    $ createdb -lC -Ttemplate0 -EEUC-JP orca
    $ pg_restore -d orca orca_db.dump
    
  3. プログラム更新→マスタ更新
  4. スキーマチェックスクリプト
    $ 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
    現在のスキーマバージョンは4.7.0です。
    スキーマの整合性をチェックします。
    --------------------------------------------------------
      データベースの整合性チェックは正常に終了しました。
    --------------------------------------------------------
    

帳票のインストール

  1. 帳票,地方公費はプラグインからインストールできるようになった。「取込」をしてから「組込」することで使えるようになる。とても簡単になった。
  2. sky.sh 様のカスタマイズ帳票
    $ sudo bash chohyo_install.sh
    
  3. sky.sh 様のカスタマイズ帳票がプラグイン対応になった
    1. 帳票のアンインストール
      $ wget http://www.sky.sh/orca/plugin/uninstall_skysh.tar.gz
      $ tar zxvf uninstall_skysh.tar.gz
      $ cd uninstall_skysh/
      $ sudo perl uninstall_skysh.pl
      
    2. 公開鍵のインポート
      $ wget http://www.sky.sh/orca/plugin/skysh.pub
      $ gpg --import skysh.pub
      
    3. パッケージリスト追加
      $ cat /etc/jma-receipt/jppinfo.list
      ---
      :root: /var/lib/jma-receipt/plugin
      :list:
       - http://ftp.orca.med.or.jp/pub/receipt/plugin/4.7.0/jpplist1.yml
       - http://ftp.orca.med.or.jp/pub/receipt/plugin/4.7.0/jpplist2.yml
       - http://www.sky.sh/orca/plugin/4.7.0/skysh.yml
      :linkprefix: /usr/local/site-jma-receipt
      :verify: true
      
    4. プラグインから組込

その他

  • claim server の起動設定
    $ dpkg-reconfigure jma-receipt
    
  • jma-receview のインストール

2013年3月 7日 (木)

monsiaj-20130115 の改造

orca 4.7 移行にあたって,今まで使っていた monsiaj-20120806 が使えなくなってしまった。最新版の monsiaj-20130115 を使うことにしたが,例によってソースをダウンロードして改造して使用している。ソースは bitbucket さんにアップした。主な変更点は以下の通り。

 

build.xml

build.xml の javac のプロパティーに encoding="utf-8" を入れないとビルドできなかった。

<javac srcdir="${src.dir}" destdir="${build.dir}" source="1.6"
  target="1.6" encoding="utf-8"
  debug="${javac.debug}" debuglevel="${javac.debuglevel}">

JavaApplicationStub

最初の起動時,/System/Library/Frameworks/JavaVM.framework/Resources/MacOS/
JavaApplicationStub
を複製して,名前を JMAReceipt に変更して,オリジナルの resources/JMAReceipt と入れ替えないと動かなかったが,1回動いてしまうと,オリジナルの JMAReceipt に戻しても動くようになった。謎である。

 

CListMarshaller.java

罫線が出るように改造

 

PandaTable.java

診療行為画面に PandaTable が導入されたのに伴って,編集時の操作感覚が変わってしまっていた。4.6 に近い感覚になるように変更した。

  1. シングルクリックでセルを選択,選択されたセルは自動的に編集モードになる。
    addFocusListener(new FocusListener() {
    
      public void focusGained(FocusEvent e) {
        // do nothing
        //pns フォーカスを取ったら必ず編集する
        editCell();
      }
     :
     :
    //pns 選択が起きたら必ず編集する
    @Override
    public void changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend) {
      super.changeSelection(rowIndex, columnIndex, toggle, extend);
      if (isEditing()) {
        // selection が変わったので前の editor は消す
        getCellEditor().cancelCellEditing();
      } else {
        // 非編集状態なら editor を立ち上げる
        editCell();
      }
    }
        
    //pns セル編集時に CellEditor にフォーカスさせる editCell
    private void editCell() {
      editCellAt(getSelectedRow(), getSelectedColumn());
            
      final DefaultCellEditor ce = (DefaultCellEditor)getDefaultEditor(Object.class);        
      SwingUtilities.invokeLater(new Runnable(){
        @Override
        public void run() {
          ce.getComponent().requestFocusInWindow();
        }
      });
    }
    
    
  2. 親の PandaTable にキーイベントをそのまま送ると,上下の矢印キーで上下のセル移動,タブまたはシフト+タブで左右のセル移動となる。
    ce.getComponent().addKeyListener(new KeyListener() {
      public void keyPressed(KeyEvent e) {
        if (e.getKeyCode() == KeyEvent.VK_ENTER) {
          PandaTable.this.setEnterPressed(true);
    
        //pns 上下キーとタブの KeyEvent は,親の Table に伝える
        } else if (e.getKeyCode() == KeyEvent.VK_DOWN
            || e.getKeyCode() == KeyEvent.VK_UP
            || e.getKeyCode() == KeyEvent.VK_TAB) {
          Component parent = ((Component) e.getSource()).getParent();
          KeyEvent pass = new KeyEvent(parent, e.getID(), e.getWhen(), e.getModifiers(), e.getKeyCode(), e.getKeyChar());
          parent.dispatchEvent(pass);
          e.consume();
        }
      }
    
  3. セルの高さ調整。これは monsia.pandatable.rowheight でセットすることもできる。
    int rowheight = 20; //pns テーブルの高さをコンパクトに
    if (System.getProperty("monsia.pandatable.rowheight") != null) {
      rowheight = Integer.parseInt(System.getProperty("monsia.pandatable.rowheight"));
    }
    
  4. mac では isCompositionEnabled() はサポートされておらず,Exception を出してしまうので,mac の場合は途中で帰る。
    protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed) {
      boolean retValue = super.processKeyBinding(ks, e, condition, pressed);
            
      //pns "isCompositionEnabled()" で mac は止まる
      if (SystemEnvironment.isMacOSX()) { return retValue; } 
    

ダウンロード

lucid orca 4.7 にアップグレード

lucid orca 4.6 でしばらく運用して問題はないようだったので,ついに当院も orca 4.7 にアップグレードした。ただ,まだ precise ではなく lucid なので,周回遅れである。システムパッケージリリース情報にしたがってアップグレードした。

  1. xen dom-U の upgrade
    $ sudo aptitude update
    $ sudo aptitude upgrade
    
  2. orca 4.6 を最新の状態までプログラム更新する。
  3. マスタ更新で最新のマスタに更新する。
  4. スキーマチェックする。これでアップグレード準備は完了。
    $ wget http://ftp.orca.med.or.jp/pub/etc/jma-receipt-dbscmchk.tgz
    $ sudo bash jma-receipt-dbscmchk.sh
    現在のスキーマバージョンは4.6.0です。
     :
    --------------------------------------------------------
      データベースの整合性チェックは正常に終了しました。
    --------------------------------------------------------
    
  5. apt-line の更新。4.6 になっていたところを 4.7 に書き換える。
    deb http://ftp.orca.med.or.jp/pub/ubuntu lucid4.7 jma
    deb-src http://ftp.orca.med.or.jp/pub/ubuntu lucid4.7 jma
    deb http://ftp.orca.med.or.jp/pub/ubuntu lucid-common jma
    deb-src http://ftp.orca.med.or.jp/pub/ubuntu lucid-common jma
    
  6. apt-get でアップグレード
    # apt-get update 
    # apt-get dist-upgrade -dy
    # apt-get install jma-receipt
    # apt-get dist-upgrade
    # jma-setup
    # reboot
    
  7. クライアントから接続し,プログラム更新とマスタ更新。
  8. データベーススキーマチェック。
    $ sudo bash jma-receipt-dbscmchk.sh
    現在のスキーマバージョンは4.7.0です。
     :
    --------------------------------------------------------
      データベースの整合性チェックは正常に終了しました。
    --------------------------------------------------------
    
  9. 帳票の再インストール。
    • jma-std-kanjyasyukei-4.7.0-ver1.tgz
    • jma-std-checkhyo-syukeihyo-4.7.0-ver2.tgz
    $ for d in `ls` ; do cd $d ; sudo bash install.sh ; cd ../ ; done
    
  10. sky.sh 様の帳票。(いつも使わせて頂いてありがとうございます)
    tbl_jyurrk.db の削除が必須とのこと。
    $ sudo rm /usr/local/site-jma-receipt/record/tbl_jyurrk.db
    $ sudo rm /usr/lib/jma-receipt/site-lib/record/tbl_jyurrk.db
    $ wget http://www.sky.sh/orca/etc/chohyo-2.9.0.tar.gz
    $ tar xvzf chohyo-2.9.0.tar.gz
    $ cd chohyo-2.9.0
    $ sudo bash chohyo_install.sh
    スカイ・エス・エイッチカスタマイズ帳票コピー終了!!
    
  11. 地方公費
    wget http://ftp.orca.med.or.jp/pub/chihoukouhi/p01-hokkaido.4.7.0.ver02.tgz
    
  12. claim サーバの立ち上げ設定(dpkg-reconfigure)は,設定が引き継がれており不要だった。

4.6 のデータベースダンプを 4.7 で読み込む必要が生じた場合は,以下のようにする。

  • dump の読み込み
    $ dropdb orca
    $ createdb -lC -Ttemplate0 -EEUC-JP orca
    $ pg_restore -d orca orca_db.dump
    $ sudo jma-setup
    
  • jma-setup 終了後,orca を立ち上げてプログラム更新をしてから,スキーマチェックしてエラーのないことを確認。

当院の orca 歴。

  1. 2008年 2月 etch 4.2 (1年 6ヶ月使用)
  2. 2009年 8月 etch 4.4 (9ヶ月使用)
  3. 2010年 5月 hardy 4.4 (1ヶ月使用)
  4. 2010年 6月 hardy 4.5 (2年使用)
  5. 2012年 6月 hardy 4.6 (7ヶ月使用)
  6. 2013年 1月 lucid 4.6 (2ヶ月使用)
  7. 2013年 3月 lucid 4.7 (今ここ)

2013年1月19日 (土)

lucid orca 4.6 に移行

時代は既に ubuntu 12.04 precise orca 4.7 となっているが,当院ではずっと hardy orca 4.6 のままであった。昨年中に lucid にアップデート予定であったが,予想外の忙しさで予定が遅れて,やっと今月,実務機を ubuntu 10.04 lucid orca 4.6 にアップデートした(まだ2周遅れ)。あとは,今年の9月までに lucid orca 4.7 に移行する予定である。
 この機会に,ついでに xen サーバを debian squeeze から precise に変更し,さらにハードディスクを最新の Plextor M5 Pro 256 (firmware 1.02) にとりかえた(ツクモ電機の連休特価で買った)。
 precise は server バージョンの iso イメージを dd した usb メモリから起動してインストール。xen は xen-hypervisor,xenwatch,xen-tools をインストールして完了。しかし,/etc/network/interfaces で固定ドレスを設定して,さらに /etc/xen/xend-config.sxp(network-script network-bridge) を設定すると,なぜか eth0 が up しないという現象が発生。
server$ sudo /etc/init.d/networking restart
* Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces
* Reconfiguring network interfaces...
RTNETLINK answers: File exists
Failed to bring up eth0.
固定アドレスではなく dhcp を使うか,xend-config.sxp で network-bridge を設定しなければ普通に eth0 が up する。いろいろ調べた結果,/etc/xen/xend-config.sxp の network-biridge はコメントアウトしたままで,/etc/network/interfaces で bridge を設定するのが正解のようだった。
auto xenbr0
iface xenbr0 inet static
	address	192.168.1.100
	netmask	255.255.255.0
	network	192.168.1.0
	broadcast 192.168.1.255
	gateway	192.168.1.1
	dns-nameservers 192.168.1.1
	bridge_ports eth0

auto eth0
	iface eth0 inet manual
移行後初日は緊張したが,問題なく終了した。もとより orca のバージョンは変わってないので,クライアント操作では何も変わったところはないが,Plextor M5 Pro のおかげか,処方せん印刷開始までの待ち時間が少し減った印象がある。

2012年8月19日 (日)

lucid に orca をインストール

自宅サーバの dom-U に構築した lucid に,orca の インストールとデータ移行を行ってみた。これからしばらくヒマを見て運用テストを続ける予定。

orca のインストール

手順書通りにインストールを進める。

  1. uuid-runtime のインストール
    手順書にはないが,コマンドラインで uuidgen を入力して「コマンドが見つかりません」となる場合はインストールする必要がある。これをインストールしないと,claim 送信時に uuid が文字化けしてしまう。
    # aptitude install uuid-runtime
    
  2. language-support-ja のインストール
    # aptitude install language-support-ja
    
  3. keyring の追加
    # wget -q http://ftp.orca.med.or.jp/pub/ubuntu/archive.key
    # apt-key add archive.key
    
  4. apt-line の追加
    deb http://ftp.orca.med.or.jp/pub/ubuntu lucid4.6 jma
    deb-src http://ftp.orca.med.or.jp/pub/ubuntu lucid4.6 jma
    deb http://ftp.orca.med.or.jp/pub/ubuntu lucid-common jma
    deb-src http://ftp.orca.med.or.jp/pub/ubuntu lucid-common jma
    
  5. パッケージ更新
    # aptitude update
    # aptitude dist-upgrade
    
  6. ORCA インストール
    # aptitude install jma-receipt
    
  7. user,password の追加
    # gluseradd -file /etc/jma-receipt/passwd -p passwd1 ormaster
    # gluseradd -file /etc/jma-receipt/passwd -p passwd2 doctor
    # gluseradd -file /etc/jma-receipt/passwd -p passwd3 jimu
     :
    

プリンタインストール

  1. 上記のインストールでは,cups のサーバーはインストールされない。当院では brother の非ポストスクリプトプリンタを使用しているので,cups サーバをインストールして,印刷できるように設定する。
    なお,poppler-data をインストールしないと,cups で日本語フォントがプリントできない
    $ sudo aptitude install cups poppler-data
    
    cupsd.conf の設定
    $ cat /etc/cups/cupsd.conf
    #
    # Sample configuration file for the CUPS scheduler.  See "man cupsd.conf" for a
    # complete description of this file.
     :
    Listen orca:631    # orca のホストアドレス
     :
    # Restrict access to the server...
    <Location />
      Order allow,deny
      Allow @Local
     </Location>
    
    # Restrict access to the admin pages...
    <Location /admin>
      Order allow,deny
      Allow @Local
    </Location>
    
    # Restrict access to configuration files...
    <Location /admin/conf>
      AuthType Default
      Require user @SYSTEM
      Order allow,deny
      Allow @Local
    </Location>
     :
    MaxJobs 0
    
  2. ブラザーのホームページから,linux-brjprinter-installer をとってくる。説明にしたがってインストールする。
    $ gunzip linux-brjprinter-installer-x.x.x-x.gz
    $ sudo su
    # bash linux-brjprinter-installer-x.x.x-x HL-5250DN
     :
    インストールしますか? [y/N] ->y
     :
    上記使用許諾に同意しますか? [Y/n] ->y
     :
    Device URIを指定しますか? [y/N] ->y
     :
    0: socket
    1: http
    2: ipp
    3: lpd
    4: beh
    5: scsi
    6: lpd://BRN001XXX/BINARY_P1
    7 (I): IPアドレスの指定使用する
    Device URIの番号を選択してください。 ->7
    ご使用のプリンタ/MFCのIPアドレスを指定してください。->192.168.1.xxx
    テスト印刷を実行しますか? [y/N] ->y
    wait 5s.
    lpr -P HL5250DN /usr/share/cups/data/testprint
    
  3. cupsd をリロードして,ブラウザから https://orca:631/admin にアクセス
  4. 「プリンターの追加」をクリック
  5. 認証は root とパスワードを入力。「発見されたネットワークプリンター」にプリンタが出てくるが,これをつかうとうまくいかない(Unable to locate printer 'BRN001XXXX'! となる)。socket://192.168.1.xxx を指定して手動でプリンタ追加する。ORCA の設定に合わせた名前のプリンタを登録する。( lp1,lp2 等)

データベース移行

  1. hardy で pg_dump
    $ pg_dump -Fc -f orca_db.dump
    
  2. lucid で pg_restore。この時,createdb にオプションが必要。
    $ sudo /etc/init.d/jma-receipt stop
    $ dropdb orca
    $ createdb -lC -Ttemplate0 -EEUC-JP orca
    $ pg_restore -d orca orca_db.dump
    
  3. 構造変換スクリプト
    $ sudo bash /usr/lib/jma-receipt/bin/jma-receipt-db-setup.sh
     :
    Very Good!
    Done. Completed.
    
  4. スキーマチェックスクリプト
    $ 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
     :
     データベースの整合性チェックは正常に終了しました。    
    
  5. プログラム更新とマスタ更新

帳票のインストール

  1. 公開帳票のインストール
    $ for d in `ls` ; do cd $d ; sudo bash install.sh ; cd ../ ; done
    
  2. 地方公費
  3. sky.sh 様のカスタマイズ帳票

その他

  • claim server の起動設定
    $ dpkg-reconfigure jma-receipt
    
  • jma-receview のインストール
  • postgres の外部からのアクセス受け入れ
    /etc/postgres/8.4/postgres.conf
    listen_address = '*'
    
    /etc/postgres/8.4/pg_hba.conf
    host  all  all 192.168.1.0/24  trust
    

2012年6月22日 (金)

ORCA 4.6.0 にアップグレード

巷では ORCA 4.6 が安定して動いているようなので,当院でも 4.5(hardy) から 4.6 (hardy) にアップデートすることにした。今後は,年末頃に 4.6 (lucid) に移行して,その後,4.7 が落ちつくのを待って 4.7 (lucid) にアップデートする計画である。

  1. まずは xen dom-U を full-upgrade する。カーネルに応じて /etc/xen/orca.cfg の使用カーネルの書き直しをする。
  2. システムパッケージリリース情報にしたがってアップデートを進める。
    • スキーマチェック
    • apt line の書き換え
    • dist-upgrade
    • reboot
  3. glclient からプログラム更新を選択。最初はリストには何も表示されない。更新をクリックして,更新する。
  4. プログラム更新が終わったら,マスタ更新をする。
  5. 使用している帳票の再インストールをする
    • jma-std-kanjyasyukei-4.6.0-ver2.tgz
    • jma-std-checkhyo-syukeihyo-4.6.0-ver2.tgz
      一気にインストールするスクリプト
      for d in `ls` ; do cd $d ; sudo bash install.sh ; cd ../ ; done
      
  6. sky.sh さんの帳票を使わせて頂いていたので,これも再インストール
    wget http://www.sky.sh/orca/etc/chohyo-2.8.0.1.tar.gz
    
  7. 地方公費の再インストール
  8. 最後にスキーマチェック

特に問題なくアップデート完了した。
OpenDolphin  の方も dao を書き直したときに 4.6 対応済みだったので,今のところ問題なく動いている。

その他のカテゴリー