
[#59] バックオフイスの「自動化」について
初めに
前回は人事・労務、経理・財務関係についてのバックオフイスの重要性について書きました、今回は続編で仕事の自動化処理について。
皆さんの会社では情報共有に何を使っていますか、
・各種グループウェアー
・Notion
・LINEとかSlack
・Mattrmost
私は長年「AIPO 8」というグループウェアーを使っています、理由はOSSで無料で使えるからです、ほぼ必要な最低限の機能は入っています(スケジュール、施設予約、メール、簡単なワークフロー、掲示板、文書管理など)。ただ最近出てくる色々なバックオフイスとの連携にはついていけないのでそろそろ、新しく乗り換えようかと考えていますが、最近は無料のグループウェアーが少ないので残念です(グループセッションは無料)、個人的にはNotionを使っていますが、会社全体で運用するためには社員教育がかなり大変だと思っています。
次に使うグループウェアーはAPIとWebhook機能が標準で装備され、Offic365などの外部製品とシームレスに連携が出来ることが条件になります、何故なら個別のソフトを別々に動かすのではなく、グループウェアーに入るとそこで仕事が完結出来る仕組みが大事だと
・勤怠管理と連携
・ワークフロー
・文書管理
・Webメール
・Officeとの連嶺
・Slackなどとの連携
・AIとの連携
目に止まったのが、desknet's NEOでした、なんと言っても「オンプレ環境」「クラウド環境」で動作させる事、Appsuiteでアプリが作れる事が個人的には気にいっている要因です。つい最近、近所の6000人規模の会社が導入しました。
検証
せっかくなので、2ヶ月間のテストを始めたいと思います。
まず、サイトに入って必要なプログラムをDownloadします、私は少し古いLinux系パッケージをダウンロードしました。導入については、ネオ社のサイトに記載がありますので、参考にしていただければと思います。
環境は Centos8.4 X64環境
ダウンロードしたファイルを解凍する
[root@share1 ] tar zxvf dneo_7.XX_pgxx_linux_x64.tar.gz
自身の環境に合わせて cd /var/www/html/cgi-bin
[root@share1 cgi-bin]# chown -R apache:apache dneo dneosp
[root@share1 cgi-bin]# mv dneo/dneores /var/www/html/.
[root@share1 cgi-bin]# mv dneo/dneowmlroot /var/www/html/.
[root@share1 cgi-bin]# mv dneo/dneosvwrres /var/www/html/.
[root@share1 cgi-bin]# mv dneo/dneosvwrres /var/www/html/.
root@share1 cgi-bin]# mv dneosp/dneospres /var/www/html/.
次はpostgresの導入です
マニュアルではソースからmakeする方法が記載されていますが面倒なのでRPM形式の導入方法を
[root@share1 cgi-bin]# dnf install -y https://download.postgresql.org/pub/repos/ yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
メタデータの期限切れの最終確認: 1:27:17 時間前の 2024年12月16日 09時25分17秒 に 実施しました。
pgdg-redhat-repo-latest.noarch.rpm 12 kB/s | 15 kB 00:01 依存関係が解決しました。
インストール中 : pgdg-redhat-repo-42.0-45PGDG.noarch 1/1 検証 : pgdg-redhat-repo-42.0-45PGDG.noarch 1/1 Installed products updated.
インストール済み: pgdg-redhat-repo-42.0-45PGDG.noarch 完了しました! [root@share1 cgi-bin]# dnf -qy module disable postgresql
[root@share1 cgi-bin]# dnf install postgresql13-server
GPG 鍵 0x08B40D20 をインポート中:
インストール: postgresql13-server x86_64 13.18-1PGDG.rhel8 pgdg13 5.5 M 依存関係のインストール: postgresql13 x86_64 13.18-1PGDG.rhel8 pgdg13 1.5 M postgresql13-libs x86_64 13.18-1PGDG.rhel8 pgdg13 419 k
うまく導入できたか確認です
[fma@share1 ~]$ psql --version
psql (PostgreSQL) 13.18
[fma@share1 ~]
正しく入ったようです
[root@share1 pgsql-13]# dnf install -y postgresql13-contrib
これを実行しておかないと、後でデータを作るときにエラーになります、ただしソースからPostgresを構築している場合は必要ないと思います。
デーペスの初期化と自動起動
[root@share1 pgsql-13]# PGSETUP_INITDB_OPTIONS='--encoding=UTF-8 --no-locale' /u sr/pgsql-13/bin/postgresql-13-setup
initdb Initializing database ... OK
[root@share1 pgsql-13]# systemctl enable postgresql-13
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql-13.service → /usr/lib/systemd/system/postgresql-13.service.
[root@share1 pgsql-13]# systemctl start postgresql-13
[root@share1 pgsql-13]# su - postgres
[postgres@share1 ~]$ psql psql (13.18) "help"でヘルプを表示します。 postgres=#
次は、基本データの落とし込みです
基本データ
[postgres@share1 ~]$ pg_restore -C -Fc -d template1 /var/www/html/cgi-bin/dneo/dump/dneodb.pgdmp
[postgres@share1 ~]$ pg_restore -C -Fc -d template1 /var/www/html/cgi-bin/dneo/d ump/dneologdb.pgdmp
[postgres@share1 ~]$ psql -d template1 -c "CREATE USER dneofts WITH PASSWORD 'dneofts' CREATEROLE"
CREATE ROLE
[postgres@share1 ~]$ pg_restore -C -Fc -d template1 /var/www/html/cgi-bin/dneo/d ump/dneoftsdb.pgdmp
Apache ファイルの設定
httpd.conf に CGIが動作する設定
ScriptAlias /cgi-bin/ "/var/www/html/cgi-bin/"
LoadModule cgi_module modules/mod_cgi.so
<Directory "/var/www/html/cgi-bin">
AllowOverride None Options +ExecCGI
Require all granted
</Directory>
オンプレ環境で無事に起動できました。

次は、APIを使ってAppsuiteで作ったテープルへのデータ投入など
最初はデータを表示してみましょう
fujii@fujiiMacBook-Air ~ % curl 'https://XXXXX.dncloudtrial.com/cgi-bin/4kmyxk/dneo/appsr.cgi' \
-H 'X-Desknets-Auth: iPORcDnJfJvQQUXXXXXXXXXXXXXXXXX' \
-d action=get_data \
--data-urlencode app_id=26 \
-d data_id=1
{"status":"ok","record":{"\\permissions":{"allow_write":"on","allow_delete":"on"},"\u30ec\u30b3\u30fc\u30c9ID":{"val":"1","deny_write":"on"},"\u767b\u9332\u65e5\u6642":{"val":"2024-09-06T12:05:46","deny_write":"on"},"\u767b\u9332\u8005":{"val":{"users":{"item":[{"id":"1","Name":"\u8cac\u4efb\u8005","summary":"\u003cspan class=\"co-busyo-def\"\u003e\u60c5\u5831\u30b7\u30b9\u30c6\u30e0\u5ba4\u003c\/span\u003e","description":{"assign":"\u003cspan class=\"co-busyo-def\"\u003e\u60c5\u5831\u30b7\u30b9\u30c6\u30e0\u5ba4\u003c\/span\u003e"},"Group":{"id":"1","Name":"\u60c5\u5831\u30b7\u30b9\u30c6\u30e0\u5ba4","description":""}}]}},"deny_write":"on"},"\u66f4\u65b0\u65e5\u6642":{"val":"2024-09-06T12:05:46","deny_write":"on"},"\u66f4\u65b0\u8005":{"val":{"users":{"item":[{"id":"1","Name":"\u8cac\u4efb\u8005","summary":"\u003cspan class=\"co-busyo-def\"\u003e\u60c5\u5831\u30b7\u30b9\u30c6\u30e0\u5ba4\u003c\/span\u003e","description":{"assign":"\u003cspan class=\"co-busyo-def\"\u003e\u60c5\u5831\u30b7\u30b9\u30c6\u30e0\u5ba4\u003c\/span\u003e"},"Group":{"id":"1","Name":"\u60c5\u5831\u30b7\u30b9\u30c6\u30e0\u5ba4","description":""}}]}},"deny_write":"on"},"revision":{"val":"1","deny_write":"on"},"\u88fd\u54c1\u540d":{"val":"\u6a5f\u5668F"},"\u5b9a\u4fa1":{"val":"298000"},"\u30e1\u30fc\u30ab\u30fc\u578b\u756a":{"val":"ABCDEFG006"},"\u5099\u8003":{"val":""},"\u88fd\u54c1\u533a\u5206":{"val":"\u88fd\u54c1"}},"servertime":"20250120164116"}% fujii@fujiiMacBook-Air ~ %
ローカルでも
http://172.20.11.39/cgi-bin/dneo/appsuite.cgi?cmd=cdbbrowse&app_id=1#view_id=1&parent_view_id=3&id=1
app_id と data_id は、urlで確認できます。
無事にJsonデータの取り出しができました。
次は、勤怠管理、プリザンター、Difyなどとの連携です。

サイト画面の中に売り上げ実績などが個別に組み込める。(Appsuite)

AIとの連携も大丈夫そうです。(Dify)

思った通りの動きが出来そうなら乗り換えを考えたいと思っています。