WordPressのプラグイン(カスタムDBテーブル)を使って日報管理システム構築

業務要件

目的

社内管理用として日次報告書を作成するために利用できるシステムを構築したい。

概要

社外にいることが多い社員にスマートフォンから入力しやすく、管理者が日報にコメント入力できるような日報管理システムを構築する。

対応方針

  1. パソコンからもスマートフォンからの入力・参照可能とする。
  2. 報告者および管理者の入力後、メールによる通知を行う。
  3. 報告内容には画像ファイルなどの添付を可能とする。
  4. 報告者が増えた場合(社員の増員)、容易に追加できるようにする。

業務フロー図

構築環境

PHP+mysqlで構築するため、契約済みのレンタルサーバにWordpressを導入し、カスタムDBテーブルのプラグインをインストールして作成する。

カスタムDBテーブルとは・・・

WordPressにインストールできるプラグインで、DBのテーブルを構築するだけでショートコードを利用し、登録画面、一覧画面、編集画面を構築可能とするプラグイン。

ただし入力チェックなどは提供されていないため、フィルターやメソッドなどを利用して自分でPHPをカスタマイズすることでシステム構築を可能とする。

DBのテーブル設計が可能な場合はこのプラグインを使うことでインターフェースの構築工数が削減可能となる。

Custom DataBase Tablesプラグインでは、あなたのWordPressのデータベース上に新たなテーブルを簡単に作成できます。
作成したテーブルには管理画面からすぐにアクセスができ、データの追加や編集、削除も容易です。
さらに、テーブルの削除やデータ初期化、テーブル・データのエクスポートやインポート、すでにあるテーブルの複製など、多彩なテーブル管理機能を利用することができるようになります。

バージョン2からは、WordPressに組み込まれているコア・テーブルに対してもテーブルやデータの管理が行えるように機能強化されました。他のプラグイン等で作成されたテーブルもこのプラグインに取り込むことで管理可能であり、このプラグイン一つであなたのWordPressサイトのデータベース・テーブルを一元管理できるようになっています。

そして、ショートコードやプラグイン・メソッドを利用することで、あなたが作成したテーブルをWEBサイトに公開し、訪れた人たちにもテーブルへのアクセスを解放することができます。これによって、あなたの独自テーブルを利用したインタラクティブなサービスを提供することも可能になっています。

また、WebAPIの機能を使うことで、あなたのWEBサイト以外の外部からテーブルへアクセスさせることもできます。このWebAPIを利用すれば、独自のウィジェットを提供したり、スマートデバイスのアプリとあなたのサイトのデータをやり取りする事なども可能になります。

プラグインのカスタマイズ内容

画面

表示

  • 日付入力フォームの書式設定が「M/D/Y」となるため「Y/M/D」とする。
  • プルダウンはマスタから取得した値を設定する。
  • 添付済みファイルは削除ボタン押下で、ファイルを削除可能とする。

入力チェック

  • 管理者コメント欄は報告者が入力不可とし、参照のみとする。

登録チェック

  • 同一日付の報告書が登録済みの場合はエラーとする。

変更チェック

  • 同一日付の報告書が登録済みの場合はエラーとする。

削除チェック

  • 確認メッセージを表示してから削除処理を実行する。

メール送信

  • 入力者および管理者が入力した場合に関係者へメールで通知を行う。
  • メールアドレスは予め設定したアドレスへメールを送信する。
  • メール内容には更新した旨および参照URLを記載する。

カスタムDBテーブルを使用した感想

良い点と満足できない点をあげます。

良い点

  • DBを作成するだけで簡単に画面を作成し、登録・変更・削除・一覧表示が容易に行える。
  • カスタムDBテーブルの設定で行る範囲ではカスタマイズ性が高く容易に設定変更が可能。

満足できない点

  • レスポンスが悪く画面表示まで時間がかかる。(特にデータ量が増えると一覧表示は時間がかかる)
  • 画像ファイルをBLOBで保存した場合、一覧でのクリック表示が1カラムしか対応していない。