2015年03月05日

ソフト公開の流れの半自動化

フリーソフトの作成の究極目的は、『自分のため』のソフト作りということに尽きるかと思います。
「自分のため」というのは、例えば、

[1]自分用に作ったソフトを自分で使って、もっと大きな作業の流れを円滑にする
[2]ソフト作りを通して、より大きな望みをかなえる(心の満足を得る/他者に使わせて世の中が発展するのを見る/副収入を得る/etc...)

とかですね。そういった意味で、今回は究極に、「自分のため」のものが作れたかもしれない。


過去15年間、ソフト更新後にWebへ公開する流れは、すべて手動でHTMLをガリガリ編集することにより行っていました。
当初は、単一の圧縮ファイルをアップロードし、単一のページを更新するだけで済んでいたのですが、最近では、

(1)公開バージョンの作成(実行ファイル等の生成、テキストドキュメント編集、HTMLヘルプ編集、圧縮ファイル作成、セットアップ版作成)
(2)圧縮ファイルとセットアップ版のアップロード(各3箇所)
(3)トップページの更新
(4)更新履歴ページの更新
(5)更新履歴RSSの更新
(6)ダウンロードページの更新(場合によっては、個別ダウンロードページの更新)
(7)ミラーへのリンクの更新
(8)アップデート通知支援ソフト用の情報(2種)の更新
(9)Web版ヘルプの更新
(10)Web上のテキストドキュメントの更新
(11)提携転載サイトへの登録・連絡(3種)
(12)TwitterやFacebookページへのお知らせの送信

を行う必要があって、結構な手間になっていました。
1つの更新を行うときに、(2)〜(12)の手順で30分くらいかかることもあったかな。

特に大変なのは、いくつかのソフトをまとめて更新するときですね。
「一斉更新」と呼んでいますが、これの時は各ソフトの更新情報を書くときに混乱したりとか、他の作業が割り込んできたりとかがあって、ミスが複数のページに及んだり、手戻りがあったりしているうちに、30分×ソフト数どころか、半日作業になってしまうことがあったりします。

ところがこの中で、(3)〜(8)は、時間がかかる割には、書く内容はほぼ一緒で、アウトプットのフォーマットだけが違うものだったりします。
具体的には、同じソフト名、同じバージョン番号、同じ更新内容説明を延々と書き、これらの間の相互リンクを形成します。

やっていることが単純な割には、同じことを違うフォーマットで書き続ける不毛な作業をしていると言えるわけで、企業なら真っ先にIT化したがる部分ですね。ところが、「医者の不養生」「紺屋の白袴」の例に漏れず、ここのところの効率化がおざなりとなってしまっておりました。


今回は、その部分をプログラム化し、自分向けの「サービス」として構築しました。
いうなれば自分だけが使い、自分の(ソフト公開の手順の)効率を高めるための手段を、自分のためのフリーソフトとして作った、といったところでしょうかね。これこそがフリーソフトの出発点であり、あるべき姿の究極系であり、大切にすべき事柄かなぁと思います。

ouchidekosokoso.png

今のところ、他者向けへの公開は考えていません。というかそもそも、フリーソフトを制作して自サイトで公開しようという需要自体、(一般のPCユーザ含めた広い裾野を考えたとき)幅広く行われていることでもないですし。そういったところのIT化と一般作者への普及(一般的なサービス化)は、VectorやAnyware+等が行っていますから。



仕組みとしては単純なもので、ソフトウェアの一般情報(ID・全般的な説明・個別ダウンロードページの有無等)を含んだ「ソフトウェアマ スタ」と、更新情報(ID・バージョン番号・β版か否か・更新日付・URL・ファイル名・更新項目等)を記録する「更新リストテーブル」がリレーション (連携)して動きます。
(IDとソフト名・アイコン画像を紐付ける情報は、「ソフトウェアアーカイブ」を構築した時に作った仕組みがあるので、それを流用しています)

ソフトウェアマスタは滅多に変更されることはありませんから、特に編集ソフトは作っていません。テーブルがどーんとDB内に鎮座しています。編集したいときはSQL文を打ち込みます。

更新リストテーブルは頻繁に変わりますので、更新のためのサービスをWebシステムにて構築しています。
更新リストテーブルを見て、ソフトウェアマスタと連携し、(3)〜(8)の情報を自動生成する仕掛けです。

更新のための情報入力にかかる時間は30秒ほど。これにより、(3)〜(8)の情報を更新するの効率が最大で60倍程度向上した計算になります。
((3)〜(8)以外を除いた場合の効率です。が、(3)〜(8)の更新に最も手間がかかることから、この工程が最も重要)
い くつかのソフトをまとめて更新して、混乱してミスが発生する場合や手戻りが発生する場合も、同じ修正をあちこちにしなくて済む分、もっと効率は上がってい るかもしれません。特に、時間がかからないことから、割り込み作業が入ってくることもなくなり、ミス自体が発生しにくくなっているともいえるかと思いま す。


「自分のため」のモノづくりを行っていると、改めて、フリーソフトづくりの楽しさを思い出します。これが趣味としての、本来の日曜大工のあり方ですね。

posted by ayacy at 00:00 | Comment(0) | TrackBack(0) | フリーソフト
この記事へのコメント

この記事へのトラックバック