ZOMEKI Ver.3について

はじめに

2016年10月27日に、ZOMEKI Ver.3を公開しました。
Ver.2のリリースからまだ半年しか経過していませんが、稼働環境を全面的に変更し、Ruby on Railsの最新版であるバージョン5に対応したため、メジャーバージョンのアップとしました。
Railsのメジャーバージョンアップに合わせて、ZOMEKIのメジャーバージョンを上げる予定ですので、大規模な構造変更がなければ、今後3年間くらいはVer.3としてリリースする見込みです。

Ver.3の開発目標

ZOMEKI Ver.1、Ver.2の課題・問題をすべて完全に解消することを目標に開発を進めます。
10月27日のVer.3.0.0リリース時点では、記事登録画面および記事一覧画面について改善を行ったところまでですが、今後も大幅な管理画面の改善を継続します。
今このタイミングでZOMEKI Ver.3を公開したのは、完全に理想的なZOMEKIが完成したからではなく、従来とは異なる新しい設計・製造思想で開発を進めていくことを宣言するためです。

Ver.3の機能改善の考え方

今までの機能開発は、自治体サイト再構築のプロポーザルにて提示されている機能要件を実現していくというものでした。
このため機能開発の内容が散発的、部分的な機能改善にとどまることとなり、本来あるべき姿を十分追求できていませんでした。
Ver.3の開発では、実際の自治体サイトで取り扱っているデータの内容や数を処理するのに最適な管理画面UIはどうあるべきかを分析しながら、ZOMEKIとして理想近いUIの姿を模索したいと考えています。

「ぞめき市」サイトに実践的なデータを登録

実際の自治体サイトとほとんど変わらないデータを操作し、ZOMEKIの操作性を評価できるように、デモサイトの「ぞめき市」にリアルなデータを登録していきます。
人口10万人くらいの自治体の組織データを登録し、実際に自治体サイトに登録されている記事とほとんど同じ記事を作成して登録していきます。
ZOMEKIを開発すると並行して、「ぞめき市」のサイトを”運用”することにより、開発に関わるメンバーが自治体サイトの運用を擬似的に体験できるようにします。

デモサイト・デモデータも随時改善

ZOMEKI Ver.1,2のソースコードには、デモサイトのデータ(Seedファイル)を添付していませんでした。
またデモサイトは公開画面のみで、管理画面へのログインしての操作を提供していませんでした。
Ver.3からはデモサイトの管理画面を公開し、デモデータをソースコードに同梱して配布します。

毎週の更新版リリース

Ver.3では、毎週水曜日に1週間分の開発成果を新しいバージョンとして公開します。
この週次リリースは、ソース公開前の2016年9月7日から開始しており、この日のビルド番号を1としています。
オープンソース公開時のソースは、2016年10月26日(水)に、ビルド番号(Build-8)として作成したものです。

バージョン番号の採番

Ver.3のバージョン番号は、<メジャーバージョン><マイナーバージョン><リビジョン>で構成します。
毎週のビルドでリビジョンを1つずつ上げます。比較的大きな変更を行った場合は、マイナーバージョンを上げることとします。
バージョン番号にはビルド番号を並記し、Ver.3.1.23 build-38 のように、通しで何番目のビルドかがわかるようにします。

開発時の設計書の公開

新規に追加したり、変更した機能の仕様を把握できるように、機能開発の設計時に作成したパワーポイントをPDFとして公開します。
設計書には、なぜそのような機能追加、変更を行うかを可能な限り記載していますので、設計思想を読み取っていただくことができます。
なおプログラムを開発する前段階の設計書であるため、実装段階で変更した部分は反映されていません。
設計書と異なる実装を行った部分については、再度その部分に機能を追加する際に現状仕様の確認として既存の仕様を記述するようにします。

仕様書の管理番号

リリース通知(http://zomeki.jp/release/2016102700012/)に記載している[zomekiv3-spec00003]といった仕様書の管理番号は、仕様書専用の社内メーリングリストの番号です。
このメーリングリストでは、仕様についてのやりとりも行うため、仕様書が添付されていないメールに対しても番号が割り当てられます。
このため管理番号の数だけ仕様書が存在するわけではありません。
リリース通知に記載する仕様書の管理番号は、該当する仕様書に関するメーリングリストでのやりとりの最後のメールの番号を記載することとしています。

稼働環境の刷新

Ver.3ではWebサーバーの動作を軽量化するため、ApacheからNginxに変更しました。
それに伴い、Ruby用のアプリケーションサーバーをPassgengerからUnicornに変えました。
またデータベースについては、MySQLからPostgreSQLに変更しました。
これはJoruri Mapsの機能をコンテンツとしてZOMEKIに実装することを見据えて、この機会にGISデータを格納できるPostgreSQLに切り換えることとしました。
アプリケーションのコアとなるデータベースは、RDBであるべきと考えていますので、今後ともNoSQLのデータベースを利用する構想はありません。

ライセンスをMITに変更

オープンソースのライセンスを従来のGNU GPL v3から、MITライセンスに変更しました。
以前のGPL v3ライセンスでは、組織内利用の範囲を超えると、ソースコードの公開義務がありました。
MITライセンスではこの規約が無く、ITベンダー様が機能追加したバージョンを複数の自治体様に導入する際に、ソースコードを公開する必要がなくなりました。

著作者へのライセンス変更の許可

ZOMEKIはJoruri CMS Ver.1(GPL v3)のソースコードを流用して開発をスタートしたため、このライセンス変更にはJoruri CMS の著作者の許可が必要です。
今回のライセンス変更について、Joruri CMS Ver.1の著作者(COPYINGファイルに掲載)として記載されている、当社と共同の著作者である、徳島県経営戦略部情報戦略課様の許可を得ています。

安定版としてのJoruri CMS 2017のリリース

少なくとも今年度末ごろまでは、ZOMEKI Ver.3は毎週のリリースで機能が追加・変更され、網羅的な試験が不十分な状態でのリリースになります。
このスタイルでのリリースが来年度も続く場合、自治体サイトへの導入が行いにくいことが予想されます。

このためZOMEKIの安定版として、Joruri CMS 2017という名称のCMSをリリースすることを予定しています。
既存のJoruri CMS は現在Ver.3ですが、既存のJoruri CMS とは別のプロダクトとして、年号をバージョン番号とする新世代のJoruri CMSをプロダクトラインに加えます。
年後をバージョン番号とするため、毎年新しいバージョンをリリースすることを想定したCMSです。

年度末に、ZOMEKIの開発で切りがよいタイミングを見計らい、ZOMEKIからソースを分岐し、Joruri CMS 20XXとして毎年リリースします。
ZOMEKIからのソース分岐後に、仕様の整合性の調整、網羅的な試験を行い、当社が動作保証したプロダクトとします。
公開後にセキュリティ対策や不具合対応で修正を行った場合は、Joruri CMS 2017 Release2のようにリリース番号をつけて改版をリリースします。

Joruri CMS 20XXはカスタマイズ対応しません

Joruri CMS 20XXにつきましては、お客様ごとに個別に機能を追加する業務は当社としては承りません。
Joruri CMS 20XXは、バージョンが同じであれば、完全に同じ機能を備える標準化されたプロダクトとします。
プロポーザルなどでの要件により、個別のカスタマイズが発生する場合は、ZOMEKIをご利用ください。
ZOMEKIについては、個別のカスタマイズ等の追加開発を承ります。

現Joruri シリーズの機能の組み込み

現Joruri シリーズのうち、Joruri Mapsについては、ZOMEKIにコンテンツとして組み込み、Joruri CMS 2017にて利用できるようにする構想です。
ZOMEKIへの現Joruri シリーズの組み込みはこのJoruri MapsのGIS機能のみと考えています。
Joruri Gw(グループウェア)、Joruri Plus+などのイントラ向けアプリケーションの機能をCMSであるZOMEKI(Joruri CMS 2017)に組み込むのは適切ではないと判断しています。
ZOMEKI(Joruri CMS 2017)はCMSであるため、管理画面を操作して公開画面を生成するシステムです。
それに対して、グループウェアなどのイントラ向けのアプリケーションは、公開画面を生成する必要がなく、すべて管理画面側で完結するアプリケーションです。
これら特質が異なる2系統のアプリケーションを統合することは、プロダクトが複雑になり開発管理が複雑になるデメリットがあまりに大きいと考えています。