redmine plugin DMSFを入れてみた

文書管理をしたいという話があがり、redmineプラグインにDMSFってのがあるよ!
って事で、対象のredmineが3.3なので、DSMFは現時点の最新より一つ古い 1.5.9 を入れてみました。

redmine/pluginsにダウンロードしたソースを置き、redmineのルートディレクトリに移動。
最初
bundle install –without development test
とした後に
bundle execでインストールしようとしたが、redmineローカル内のGemとして入ってないと怒られた。
また、xapian-full-alaveteliというgemがどうも入らないので、こちらはGemfileの該当箇所をコメントアウト。

結果、
bundle install –without development test –path vendor/bundle
とした後に
bundle exec rake redmine:plugins:migrate NAME=redmine_dmsf RAILS_ENV=production
でとりあえず入った。

プラグイン設定画面はこんな感じ
一番下のテキスト検索の箇所が、入らなかったgemと関係している模様。文書検索できるならさらに素晴らしいが日本語は選択対象に無いので、とりあえずOFF。

利用対象とするプロジェクトの設定から、「文書管理」ってモジュールにチェックを入れて使用開始。

wikiの隣あたりから「文書管理」が開くようになり、ファイルをドラッグアンドドロップでアップロードできるようになりました。
同じファイル名はアップロードするごとに自動的にマイナーバージョン番号がアップされ、メジャーにするときはアップロード時に画面で指定します。

文書の更新履歴はこんな感じ。

他に承認ワークフロー機能があるようなので試したところ、承認ワークフローの設定で新規ステップと押しても反応しないのでログを見たら、DBエラーが出てました。
該当ソースのgithub履歴をみるとバグフィックスしたコミットがあったので、ステップが登録できるようになりました!承認者をORかANDで設定していく形です。

で、該当文書の右端チェックを押すとワークフローを適用できます。
今回試しに「ソフトウェア資料」というワークフローを作りレビュアー3名をOR設定、承認者1名をセットするとこんな感じで履歴が見れます。

とは言え、1.5.9は他にもバグがあるのでパッチをあてないとredmineの動きがちょっとおかしくなります。最新バージョンを入れてみれば良かったと後悔。。

DMSFによる文書管理をこれからどう運用していくかは、既存のファイルサーバ管理からの移行方針とか、プロジェクトの切り方といったredmine運用も考えた上でやらないといけませんね。

Windows10でHTAの画面フォントが崩れる

 少し前にHTAで作られたツールのWindows10対応をしていましたが、一部の画面で文字が巨大化したりで表示が崩れて目も当てられない状況。。

 でも全ての端末で起きる事象では無いらしく、特にパナのLet’s Note の場合に発生しているらしい。どうも、Win10のデスクトップ右クリックでディスプレイの設定を開き、「拡大縮小とレイアウト」が100%でないと崩れる模様。
 パナのLet’s Noteは、ディスプレイの解像度が高い為、文字を大きく表示したいと設定を変更する人が多いようです。

「拡大縮小とレイアウト」より設定を変更しながら対応結果の確認をしますが、HTAは「一部のアプリは、サインアウトするまで、拡大縮小の設定に応答しません」の対象なので、設定を変更してはサインアウトの繰り返しが必要。

 結局、HTAに書かれているCSSを確認したところ、%指定とかem指定とか結構適当になっていた事に起因している事が判明。
 フォントサイズを全てピクセル指定にして一件落着。

e-Taxで給与所得税の納付をしてみた

 小規模な法人では半期に一度、毎年1月・7月期限となっている給与所得税(社員的には源泉徴収)の納付を行う必要がありますが、これまでは銀行に行って支払っていたのを今回はe-Taxで納付してみました。
 納付書は「給与所得・退職所得等の所得税徴収計算書(納期特例分)」というもので、e-Taxに久しぶりにログインし、申告・申請・納税メニューに行き新規作成から該当の書類を選択し、必要事項を記入していきます。この辺りは紙に記入した経験があるし、入力項目も少ないので簡単です。
 次から次へと入力して最後に送信、その後、「受信通知の確認」というボタンを押すと、事前に金融機関を登録しておけばそこから納税が出来きます。
 で、納付オペレーションをした後暫くするともう「登録口座からの引き落としが完了しました」と表示されて終了。
 だいぶ楽になりました。住基カードの期限が切れて、まだマイナンバーカードが到着していないのですが、納付するだけなら電子証明書は要らないのですな。

今どきはXCOPYでなくROBOCOPY

ファイルサーバからWindows端末にディレクトリ毎ファイルを同期させたいような話があり、昔ながらXCOPYのオプションなんだっけ?とググっていたところ、今はROBOCOPYなる便利なコマンドがある模様。

今回は、完全にディレクトリを同期させ、うざい出力も消したいので下記のコマンドで対応

robocopy \\fileserver\targetdir %USERPROFILE%\targetdir /mir /NDL /NFL /NJH

スタートアップにバッチを仕込んで、Windowsローカルアプリ更新時の同期とか簡単に出来ますね。

複数のWebサイトからpostgreSQLのテーブルを一部だけ分離する

 postgreSQLを使っているphpのWebアプリを2つのサイトにして、テーブルの一部を共有し、その他は分離したいという要件があったので、Oracle歴が長かった筆者にとっては、別ユーザー作って、シノニム作ればいいじゃんと思いきや、postgreSQLにはシノニムは無い模様。。

 既にpublicとしてテーブルが作成されている状態なので、別ユーザーとそのユーザーのスキーマを作成し、分離したいテーブルのみをそのスキーマに作成、既存のテーブルを別ユーザーに対しアクセス権を付与するという形で何とかなりました。

まず、別ユーザーを作成し、DBに対する権限を付与します
CREATE USER anotheruser WITH PASSWORD ‘******’;
GRANT CONNECT ON DATABASE 既存DB TO anotheruser;
GRANT CREATE ON DATABASE 既存DB TO anotheruser;

共有するテーブル全てにアクセス権を付与します
GRANT ALL ON TABLE common_table1 TO anotheruser;
GRANT ALL ON TABLE common_table2 TO anotheruser;
・・・

作成したユーザーでログインし、ユーザー名と同名のスキーマを作成します
create schema anotheruser AUTHORIZATION anotheruser;
分離するテーブルをこのスキーマ上に作成します
create table anotheruser.devide_table
(id serial, ~

で、片方のWebサイト側DB設定を別ユーザーに変えて、要件通りの動きになりました。
postgreSQLにはサーチパス指定等があるようですが、スキーマ名とユーザー名が同一であれば、勝手に優先してくれるみたいでした。
という事はアクセス権付与はテーブル個別でなくALLでもよかったかも?

VisualStudio2017でビルドしたDLLが動かない

ちょっと前に作られたBeckyPluginDLLの追加開発をしていましたが、それまでVisualStudio2012で開発されていたものを、今回 VisualStudioCommunity2017に変えたところ、Pluginが動作する端末と動かない端末が出てきて困ったことに。。
動かない端末環境との相違点がパッと解らないので、下記ツールでDLL依存を確認。
http://www.dependencywalker.com/

元のDLLがこれで

VS2017でビルドしたのがこれ

確かにだいぶ変わってしまったようです。

 しょうがないので過去のVisualStudioをインストールしたところ、VS2017のデバッグ→プロジェクトのプロパティで「プラットフォームツールセット」を変える事が出来るようになり、それでビルドしたところ、依存しているDLLが変わり動くようになりました。

 結果的にVS2017にした影響で、再配布可能パッケージが必要になってしまっていたようです。
再配布可能パッケージを各端末に導入してもらうのも厄介な話なので、この形でビルドして配布する事にしました。
 久しぶりにVisualStudioを使いましたが、こういう環境依存箇所は昔から相変わらず厄介なままですが、それ以外は使い込めば結構使えそうな感じですね。

AI・業務自動化展を見てきた

 今やってる仕事のテーマ的に、業務自動化みたいな開発案件が多いので、何かいいものがあればという事で、幕張でやってるAI・業務自動化展に行ってきました。

 メッセの会場は、他テーマの展示とかも含まれているので結構な人でしたが、対象の展示範囲は狭く、今話題?のRPAから自動梱包マシーンまであり、対象は様々。AIというテーマではチャットとかボット、自動化というテーマではRPA系が多かったでしょうか。RPA系の中でも操作手順(シナリオ)の登録UIがいい感じの展示もありましたが、画面操作を自動化するという機能があればRPAって事になっているような感じなので、各展示の違いは解りませんでした。
 ちゃんと見たのは、昔DBツールとしてよく使ったObjectBrowserが、これからはAIを活用して画面イメージから設計書を自動作成するみたいなプレゼンくらい。これだと使用者がシステム開発関係者に限定されるので、何にAIが活用されどんなアウトプットが期待出来るか使用ケースが解りやすい感じです。

 結局、AI活用として今のところ実用性があるのは、画像認識と音声認識くらいですかね。それもGoogleとかMicroSoftとかが用意しているAPIを使用して何かするレベル以上にはまだまだな感じ。AIとかRPAとか言葉だけが先行して、その定義も曖昧なまま。。
 RPAとされているものが実現できるものって、ネイティブアプリを対象にさえしなければ、これまでエクセルマクロとかでちょいと1時間で作ったものと特に変わらないような。。

ZendFramework1でREST APIを試してみた

既存の業務アプリ内にある機能を外部から利用出来たらなあ・・・のような要件があり、RestAPIで実装を検討しました。対象のアプリは、今となっては・・・ですが、ZendFramework1が使われています。

こちらにいろいろ書いていますが、Zend_Rest_Controllerを使えばいいっぽい。

開発環境はEclipse + php + XAMPP
XAMPP内のphp/pearの中に、ダウンロードしたZendFramework1.12.20のZIPからlibrary内のZendを配置、XAMPP内のapache/conf/extra/httpd-xammp.confに該当プロジェクトのAliasをセットして環境ができました。

テスト用のEclipceプロジェクトはこんな感じで最少構成。

.htaccess でindex.phpに仕向けます。

index.phpでdispatchします。

ControllerにZend_Rest_Controllerとして必要なメソッドを追加していきます。

で、ブラウザから動作確認

URLをいろいろ意識すると難しそうですが、これなら簡単ですね。

Windows10でHTAがエラーになる

 HTA&VBSの構成で社内利用向けに作ったツール(社内端末はwin7)について、今後のWindows10導入へ向けて稼働確認をしたところ、エラーメッセージが出て動作しませんでした。

で、ネットでいろいろ調べたところ、
https://msdn.microsoft.com/ja-jp/library/cc817574.aspx
等を見ながら、

を入れてみたところ、エラーは無くなったのですが、画面レイアウトが崩れる結果に・・・
 社内ではこれからの新しい端末はWin10に、既存は当面Win7という方針なので、ツールとしてはどちらも同じように動作して欲しいところです。

 で、上記metaタグを外して結局何がエラーなの?と調べていくと、WMIのExecQueryを使った箇所がWin10ではエラーとなる事が判明。どうもセキュリティがらみの変更っぽいですが、詳細はよくわかりませんでした。。

 今回は別命令で置き換えが可能だったので、それに置き換えて問題無く動作するようになりましたが、画面だけは、フォントサイズの影響があったので微調整しておきました。
 そろそろHTAを止めたいのですが、Windowsマシン前提で簡易な画面ツールを作るとなると、まだ代替え手段が見つかりません。。

2期目の法人確定申告をしてきた

 今月末が法人2期目の確定申告期限になっていたので、徐々に決算申告の用意をしてました。
 既に1回は確定申告の経験があるので、前回を思い出しながら国税・県税・市民税と3か所から届いていた書類に順次記入していきます。
 2期目となって1期目と違うのは、前回の決算申告結果が反映する事でしょうか。特に、「別表4 所得の金額の計算に関する明細書(簡易方式)」の中にある「納税充当金から支出した事業税当の金額」という欄に前回の事業税等を損金として減算するところが2期目のキモっぽいです。
 あと今期は、10万以上のPCを購入していたので「別表16 少額減価償却資産の取得価額の損金算入特例に関する明細書」が加わり、難解な別表5辺りも含めて何とか書類の用意が終わり、本日やっとオフライン申告=税務署周りをしてきました。

 途中、銀行で現金を引き落としてから、管轄の松戸税務署へ行ってハンコを貰い、すぐ近くの県税事務所へ。こんな事もありましたが、さらっと提出してハンコとその場で納税して、あっという間に終了!
 時間を見たらまだ11時を回ったばかり。

 このタイミングは、二郎チャレンジか!と勇んで向かい、開店から2ロット目2番手となり、しばし店内で待ちます。回転は早くすぐに着座。野菜・にんにく注文し着丼

 筆者はジロリアンでは無く一般ピープルですが、都内の数店舗に行った事があり、松戸店は今回初。
 いつもの通り、最初はおいしく、途中で苦しく、終盤の達成感と食べ過ぎの後悔が入り混じった感覚が胃の中から逆流しそうなところで店を後にして、、次に市役所へ向かいます。

 こちらも瞬殺で同時に納税を済まして、帰宅後、e-Taxで国税のダイレクト納付をして本日のミッションは終了です。って、何かあれば後で連絡来るのでしょうけど。

 ところでe-Taxでは、どうやら申告書の作成もe-TaxのソフトをPCにインストールすれば出来そうな雰囲気。これまで筆者はwebのe-Taxしか使ってなかったので、次回はソフトも使ってやってみよう。