第6回 実務に役立った小ぶりなオープンソースの話

今からもう4~5年前の話になりますが、健康食品の製造と通信販売を手掛けている会社から、にショッピングサイトの移行の相談が舞い込んできました。

現在使用中のショッピングカートは5年前に知り合い経由で紹介されたウェブ制作会社に依頼して構築、サイトの商品更新を含む運用も、その会社が担当しているという状況で、相談内容は以下の通り。

サイトの更新内容は、毎月、月初めに行うキャンペーン商品の入れ替えと、年に3~4回リリースされる新商品の登録のみで、月間の運用費用が30万円。

開始後しばらくは売上/利益ともに順調だったという点と、作業ボリュームに対する費用の相場をしらなかったため社内で問題視されることはなかったが、売上も下がりはじめ、今回ITの担当者が社内に入社し、このショッピングサイトが見直しの対象に挙がったとのこと。

さらにその時点で伺った話によると、

・ショッピングサイトは制作会社がゼロから開発したもので、開発費用もそれなりにかかっているので移行するのはもったいないという気持ちもあった。

・サイトの更新依頼に運用会社の対応速度がだんだんと鈍くなってきて、迅速に対応してくれなくなった。

・サイトの移行を運営会社に相談しても、移行は難しく大きな費用がかかるという内容の返事しか返ってこず、話が前に進まないのでなんとかしたい。

ということでした。

現在、自社のホームページで使用しているレンタルサーバーの上位プランにショッピングカートのASP機能があり、できればそこに移行したいという要望も聞き、現状把握を開始。

依頼元のSEという立場で動き、制作会社から情報を収集し、稼働しているサーバーへのアカウント情報等も入手してサイトを見てわかったこと。

 

「ショッピングサイトは制作会社がゼロから開発したもので、開発費用もそれなりにかかっているので移行するのはもったいないという気持ちもあった。」

「実はショッピングサイトはゼロから開発したものではなく、OsCommerceというオープンソースのショッピングカートをカスタマイズしたもので、カスタマイズ規模も小。」

「サイトの更新依頼に運用会社の対応速度がだんだんと鈍くなってきて、迅速に対応してくれなくなった。」

「運用会社といっていたのは個人請負」

「その個人への支払いは知り合い経由で行われており、もちろん全額渡っているわけではなく紹介or販売手数料のウェイトが大きい。」

「運用費用がさらに減ったためサービスの質も低下。」

「サイトの移行を運営会社に相談しても、移行は難しく大きな費用がかかるという内容の返事しか返ってこず、話が前に進まないのでなんとかしたい。」

「移行にあたり最もネックになっていた登録情報のCSVエクスポートが可能、レンタルサーバーのショッピングカートにもCSVインポート機能がついているため、エクスポートしたデータを一部加工してインポートすれば実現可能。」

この結果を受け、無事、オープンソースを利用していたけどもクローズドだった運用から、ソースは公開してないけども自分たちでも更新できるレンタルサーバーのショッピングカートへサーバーの移行が実行されることになりました。

めでたしめでたし。(情報保護のため一部フィクション)

 

ここまでは一昔前のウェブ系の仕事ではよくある話で、ここからが今回の本題です。

カートの移行後、心機一転サイトのリニューアル通知に会員へメールマガジンを配信することに。

ちなみに前のシステム利用時には、もうかれこれ2年以上メルマガを配信していない状態。

いざ配信してみると、エラーメールの嵐、その数約五千件。
2年以上クリーニングされていないメールアドレスなのでしかたなし。

問題は、そのカートにはメールアドレスを個別で検索して削除するという機能はあるが、エラーメールなどを一括で取り込んで削除する機能がないこと。

1つのエラーメールアドレスを削除するのに約15秒かかるとして、

5000通×15秒=75000秒
≒20時間。

直接サーバーにログインしたりデータベースにアクセスができれば、一括削除のスクリプト等もつくれるのですが、レンタルサーバー独自のカートシステムなのでそういったことも全部不可能。

そこで役にたったのが、IEを自動運転するというオープンソース「ROBO-IE」
http://sourceforge.jp/projects/ieunit/releases/

■ ROBO-IEについて
ROBO-IEは、Internet Explorerをスクリプトに従って自動実行し、テストの省力化に貢献するツールです。

スクリプトコードのほとんどを画面上に見える文字列などに従って直感的に書くことができるのが特徴です。

添付の書き方説明とサンプルを元に、

1.メールアドレスを検索するURLに移動する。
2.メールアドレス欄に特定のアドレスを入力する。
3.検索ボタンを押す。
4.削除ボタンを押す。
5.本当に削除しますかで「OK」を押す。
6.また1.に戻る。

といスクリプトをつくることにより、無事、延々とエラーメールを消しつづけるだけの単純作業から解放されたのでした。
(めでたしめでたし)

XXXLinuxとかXXXサーバーとかXXX管理システムといったオープンソースではなく、こういったちょっとしたツール類でも実は便利なオープンソースがありますね、というお話でした。

オープンソース geek(変人)列伝 バックナンバー