内容 | 有名検索エンジンポータルサイトのコンテンツ管理システムの開発 |
---|---|
期間 | 2003年2月 − 2003年4月 |
OS | Linux, Windows NT サーバ |
言語 | Perl, JSP, シェルスクリプト, HTML/CSS |
アプリ | Apache, IIS, PostgreSQL |
某有名検索エンジンポータルサイトのトップページがリニューアルすることになり、そのトップページを運営スタッフが更新するためのコンテンツ管理システム(管理画面)を作って欲しいという依頼でした。
トップページはニュース・天気予報・占い・TV番組表・広告などたくさんのコンテンツから構成されており、それらのコンテンツはサイト内のコーナーとして独立したページ(ウェブサーバ)を持っています。
- 各コーナーのページ(ウェブサーバ)からトップページ用のデータを抜き出すバッチプログラムを作り、
- 集まったデータをトップページ担当スタッフが編集するための管理画面を作り、
- 編集後のコンテンツを本番のトップページ用サーバにアップロードするシステム
を作りました。
内容としては以上ですが、設計前の説明で以下の制約を課せられました。
- DBサーバを管理する人がいないから、PostgreSQLやMySQLなどのDBを使ってはいけない。
- コンテンツ管理システムはLinuxで、トップページ用サーバは複数台のWindowsで動かし、それらの通信はFTPのみ。
アップロードシステムは、スケジュール指定出来る仕様になっており、DBを使うのがプログラミングする上で楽なわけですが、NGとのこと。
スタッフが手動でFTPすることも考慮する必要がありました。
考えた末、アップロード予定の日時を年月日時分で分割し、年月日時分をディレクトリ名にして階層的なディレクトリを作成し、そのディレクトリに(バッチプログラム及び管理画面で作られる)アップロード対象のコンテンツファイルを置くようにしました。
CRONで実行されるFTPアップロードプログラムはディレクトリをスキャンし、アップロードすべきファイルが見つかれば、全ウェブサーバにFTPアップロードする仕組みでした。
知らない人が見れば変わったことしてるなって感じですが、他にも事情があって、そういう設計にしました。
もともと3ヶ月くらい制作期間があったんですが、リニューアル後のトップページのデザインがギリギリまで決まらなかったり、各コーナー担当者にお願いしたデータ生成の仕様が上がってこなかったりで、実質、リニューアル前2週間ぐらいで一気にシステムを作り上げました。
リニューアルの日、リリース作業でも予期せぬ問題が起きたりで、この仕事の後は本当にくたくたになりました。
こんな事もありました。
この会社は母体が伝統的な大企業なので、労働組合が強く、その日もプログラムを書いていたら、17時(その会社の定時終業時間)に知らない社員の人がやってきて、「春闘だから、今日はこれまでだよ!さあ帰ろう!」って言われて、(1週間後にリリースで全然間に合ってないんですが…)涙目になるという出来事がありました。
ウェブ業界には定時なんてあってないようなものという認識がありますが、やはり天下の●●●は違うなと感心しました。