見積管理システムの引き継ぎと改善
社内ツールのため画面は出せない。書けるのは、業務の中身に踏み込まずに語れる部分だけになる。
開発環境を作るところから
引き継いだ時点で、動作を確かめる手段が本番サーバーを直接編集することしかなかった。
- ローカルで動く開発環境を構築した
- ハードコーディングされていた絶対パスを環境に依存しない実装へ置き換え、同じコードがローカルでも本番でも動くようにした
- 本番を止めずに移行できるよう、別のデータベースを用意して並行環境を作った
全員が同じアカウントを使っていた
利用者全員が1つのアカウントを共有していた運用を、1人1アカウントへ変更した。
サーバーが保持する認証ユーザー名を PHP から取得して見積の作成者欄に自動で入れる。退職者のアカウントを削除するだけで利用を止められる。
特定の案件だけPDFが壊れる
一部の案件で、PDFが .php ファイルとして保存されてしまう不具合があった。
原因は文字コードだった。工事名に含まれる漢字が Shift_JIS へ変換される際に 0x5C を生成し、HTTPヘッダーのファイル名指定を壊していた。UTF-8 のまま RFC 5987 形式で送出する実装に変えて解消した。
引き継げる状態にする
環境構成・作業手順・変更履歴をドキュメント化した。担当者が替わっても保守を続けられるようにするため。
現在も機能追加と保守を続けている。