開発方針

公開日 2020年10月27日

更新日 2020年11月12日

機能追加・改善の仕様決定

Joruri CMSの機能追加・改善は、下記の指針に基づき、優先度が高いものから順次実装しています。

プロポーザルの機能要件

自治体公式サイトの再構築プロポーザルは、多くの場合その要求仕様が公式サイトに公開されます。
「CMS機能要件一覧」にCMSの機能要件が数百項目記載されています。

この「CMS機能要件一覧」を分析し、要件を満たすように機能を追加・改善しています。
すでに類似の機能が実装されており、管理画面全体での操作性やデザインの統一性から実装済みの仕様が最適と判断した場合は、機能要件に完全に合致させるところまでは実装していません。
このため「CMS機能要件一覧」にて、「標準機能で対応」とならない項目もあります。

職員の方の操作性向上

Joruri CMSはサイト公開後に、職員の方が自分でサイトを改善していけることを目標としています。
自治体公式サイトの場合、サイトの初期構築は請け負ったベンダーが行います。
このためサイトをゼロから作成する場合の作業効率や操作性よりも、完成したサイトを運用期間中に自治体の担当の方がある程度自由に変更できることが重要となります。

自分で作成してサイトを公開し、運用中に自分で修正するのであればまだ簡単なのですが、ベンダーが作成した自治体公式サイトのように大きな規模のサイトを運用中に公開画面を崩さずに修正するのは容易ではありません。

Joruri CMSを開発している当社サイトブリッジ社では、この問題を次の方法で可能な限り解消できるように改善を進めています。

 1.運用保守契約の範囲で、サイトのHTML、CSS、JavaScriptのコードや管理画面の設定に関する些細な変更に対応いたします。

 2.サイト構築においてコードを記述して機能を実現する部分を可能な限りなくし、管理画面の設定で挙動を変えられるように設計しています。

 3.ベースとなるサンプルサイトの構造を工夫し、なるべく簡単でわかりやすい操作でサイトを変更できるように制作しています。

 4.操作をわかりやすくし、操作効率を高められるように、管理画面を改善します。

 5.大規模な修正に対応できるように、開発用CMSと本番CMSを密に連携できるステージングサーバーを開発する予定です。

上記の1,2については、以前からこの方針で取り組んでいます。
Joruri CMS 2020においては、特に3,4の件に注力し全面的な改善を行いました。
5のステージングサーバーについては、Joruri CMS 2024で対応するシステムを開発する予定です。

公開画面の情報表示の改善

自治体公式サイトにて、利用者が目的の情報を探しやすくするため、情報の一覧表示の形式を工夫してきています。

分野や組織別の記事一覧ページ(中間ページ、インデックスページ)については、初期型のJoruri CMSから実装されている2つの分類軸のネスト表示により、一般的な公式サイトよりはわかりやすい表示が行えています。
このネスト表示機能も改善の余地がまだありますが、現在は末端の記事ページの改善に注力しています。

利用者は公式サイトのトップからカテゴリ一覧をたどり目的のページを探すのではなく、Googleで検索して情報を探します。
Googleにヒットするのは末端の記事ページであることが多く、記事ページから関連するページへのナビゲーションが重要となってきます。
従来のトップと末端のページの役割が入れ替わった状況であり、記事ページにトップページと同様のランチャー機能が必要となってきています。

ベンダー(当社を含め)の操作効率の改善

サイトを制作する際は数え切れないくらいマウスを移動しクリックします。
このマウス移動とクリックの数を可能な限り減らすと、サイト制作の時間を短縮できます。
Joruri CMS 2017では、管理画面に「詳細」のタグが並んでいましたが、Joruri CMS 2020ではマウス移動を減らすためにオブジェクトタイトルと行のクリックに置き換えました。

管理画面のメニューを開けた際のデフォルトの設定や左側のツリーの状況などを最適なものとすることで、作業のための設定を減らすことができます。
Joruri CMS 2017では利用しない画面でも、コンセプトをツリーに表示していましたが、Joruri CMS 2020では画面に最適な情報をツリーに表示する仕様に変更しました。

画面を開けたときに表示されている情報を短時間で把握できるように、画面の視認性も重要です。
Joruri CMS 2020では、統一した形式の画面タイトルを設定し、ボタンの配置と名称を整理するなどして、画面全体の視認性を向上しています。

サイトの初期構築用の機能は自治体の方がほとんど利用しないことと、サイト制作者は操作に慣れていることから、改善の優先度は低かったのですが、今後のクラウド公開やPWMでのUIの統合などを見据えて大幅な改善に着手しています。
Joruri CMS 2020では内部構造に影響を与えない範囲で行える改善に取りかかりました。
今後もこのような改善を継続して行います。

個別カスタマイズは未対応

Joruri CMS 2020は自治体公式サイトのプロポーザル向けには個別の機能カスタマイズは行いません。
自治体公式サイトへの導入の場合は、下記に示すように標準のJoruri CMS 2020をそのままご利用いただくのが、費用対効果の面で適切と考えているためです。
なおJoruri CMS 2020をベースに特別なシステムを開発する、特定のクラウド環境で動作するように修正するなどの場合は、開発を承りますのでご相談ください。

当社が自費で独自に開発しているCMSを利用していながら、サイト制作および運用保守のサービスを比較的低価格でご提供できるのは、CMSの個別カスタマイズを行わないためです。
カスタマイズ版を作成するのは一般的なホームページ向けのCMSとしてではなく、在庫管理機能を備えた通販システムの開発とか、特定のクラウド環境で動作させるなどの特殊なケースのみと考えています。

1.著作物の管理にコストがかかる

自治体様の費用で個別のカスタマイズを行うと、その部分のソースコードの著作権が自治体様に帰属することとなります。
MITライセンスのオープンソースのコードの中に、再配布が禁止されているソースコードが混在することとなり、標準版として再配布しないように管理するためにはコンテンツやCMS全体という大きな単位で別に管理しなければなりません。
ソースコードを別に管理するために、GitHubのリポジトリを標準版とは別に設けます。

2.著作物に影響を与えないように開発するのが困難

Joruri CMS 2020は毎日いろいろな追加・変更の開発を行っており、自治体様の著作物であるソースコードに影響を与えないように配慮して作業を行わなければならなくなります。
著作権の件以外に、実作業の面でもソースコードを完全に分けて管理しないと、標準版の開発が困難になります。

3.標準版のバージョンアップの反映が困難

標準版で行った改善をお客様のカスタマイズ版に反映する場合、基本的にすべてお客様の費用で行うこととなります。
マイナーバージョンアップでの複数の改良点のうち、当該のお客様に役に立つ機能はその一部であるため、費用を負担して標準版に合わせる意味はあまりありません。
しかしその後のバージョンアップで利用したい機能が実装された場合、その機能のみを反映するのが困難な場合があります。
それぞれの機能改善はそれ以外の機能改善が反映されている前提でプログラミングされており、特定の機能改善のみを適用すると正常に動作しなかったり、将来動作しなくなる可能性があります。

当社がCMSの開発にかけている費用は売価換算で数千万円になるため、もう一つのバージョンを完全に同じ状態に保つとなると、年間数百万円程度の費用となります。
すでに安定的に運用中のCMSにおいて、ほとんど使わない機能を追加するために、このような費用を負担するのは費用対効果が悪いです。

4.信頼性の確保が困難

以上の理由から、標準版での追加・変更をカスタマイズ版に反映できないため、標準版とカスタマイズ版の機能がどんどん乖離していきます。
カスタマイズ版で問題が発生した場合、標準版ではその条件で問題が起こらないといった状況となり、原因の追及に時間がかかります。
また多数のシステムでその機能を利用しているため、その機能で問題が起こる可能性が低いという判断もできなくなります。

標準版と同等の品質を確保するには、部分的には標準版以上の動作試験を実施する必要がでてきます。

標準機能の改善は無償対応

要求仕様に合致しない場合の対応

プロポーザルの機能要件に標準の機能が合致せず、その機能要件が必須の場合、次のいずれかの対応としています。

1.そのプロポーザルに参加するのをやめる。

2.標準の機能は要求仕様と異なるが、類似の機能が存在し、その機能で代替できることを記載する。

3.そのサイトの公開に間に合うように、標準版に機能を追加して対応する。

標準版への機能追加は無償対応

上記の3の場合、開発費はすべて当社の負担とし、当社が適切と考える仕様で実装します。
自治体様および当社に開発を委託したベンダー様には開発費を請求しません。

CMSの機能開発においては、機能を開発しその機能を利用してサイトを構築するため、開発期間に余裕がないと適切な実装ができません。
開発した機能は標準版の機能とし、マニュアルの改版などドキュメント類の変更を行います。
次回のマイナーバージョンアップで、既存のユーザー様にその機能を提供することとなるため、データの互換や操作性の維持には配慮しなければなりません。

このような背景から納期内に開発できる機能は限られているため、案件ごとに細かい判断を行っています。
ひとつの案件であまりに多くの新規開発の機能が含まれる場合は、プロポーザルへの参加を断念することもあります。

プラグイン開発での個別対応

プラグインでのカスタマイズ対応

特定のお客様のみが利用する専用の機能を実現する方法として、プラグインを開発して実装する方法があります。
プラグインはJoruri CMSのコンテンツの形態で、管理画面の操作で組み込むことができます。

適切な配慮を行いプラグインを開発すると、Joruri CMS本体をマイナーバージョンアップしても、プラグインはそのまま使えます。
メジャーバージョンアップの場合は、Railsのバージョンが上がるので、プラグイン自身も対応が必要となり、そのままでは動作しない可能性が高いです。