会社のグループウェア、いままでずっと自社開発のものを使っていたのだが、国産大手のものにリプレイスしてみた。世のみんながどんなものを使っているのかな、というのを知る意味もある。
いままで使っていたグループウェアは、irc botとも連携するようになっていて、内線番号の設定や参照、現在位置の登録や予定の参照もircからぐいぐい行えてなかなか便利だった。ここは自社開発のメリットだ。
会社はフリーアドレスなので、TPOに応じて好き勝手なところに座って仕事するから、座ったらircで「内線 123」とかつぶやけばグループウェアに反映される、これは快適だ。
市販品のグループウェアに乗り換えたらここはどうするかな、と思っていたが、マニュアルを読むと、データベースのバックアップ手順の解説にmysqldumpとかいうコマンドがでてきたりして、つまりそういうことだ。ふむふむと見てみるとなかなかきれいだ。というような話はどこまで書いていいのかわからないが。takesakoさんに聞いてみようか (わら
いままでのグループウェアと、新しいグループウェアと、それぞれデータ構造をいじるperl moduleを書いてコンバータを作ったあと、さらにちょっと軽めのpmも書いて、botも書いて、まあ同等にいけるようになった。
use POE; use POE::Component::IRC; use GaroonBoy; use utf8;
とか
POE::Session->;create( package_states => [ main => [ qw(_default _start irc_001 irc_public irc_invite) ], ], heap => { irc => $irc }); our $garoon = new GaroonBoy; $poe_kernel->run(); exit 0;
とか
if($msg =~ m/^(?:よてい|予定|yotei)(?:おしえて|教えて|oshiete|osiete)(.*)$/) { $res = $garoon->get_user_schedule($nick, $1); } if($msg =~ m/^(?:よやく|予約|yoyaku)(?:おしえて|教えて|oshiete|osiete)(.*)$/) { $res = $garoon->get_facility_schedule($nick, $1); } if($msg =~ m/^([a-zA-Z0-9-]+)\?$/) { $res = $garoon->get_current_user_schedule($nick, $1); } if($res) { for my $line (split("\n", $res)){ $poe_kernel->post($sender => privmsg => $channel => Encode::encode('iso-2022-jp', $line)); } }
こんな感じ。