自治体サイト向け国産オープンソースCMS
Joruri
のご紹介
2012年9月20日版
サイトブリッジ株式会社
作成 貴田秀資
1.Joruri(ジョールリ)のゆらい
Joruri CMSは徳島県と地元のWeb開発会社である株式会社アイ・ディ・エスが共同で開発しました。
Joruriの名前の由来は、 Japan Originated Ruby-based RESTful and Integrated CMSの頭文字からです。 「日本で開発され、Ruby言語を使い、RESTの考えに従った、統合的なCMS」という意味となります。
徳島県は人形浄瑠璃が盛んな地域で、人形浄瑠璃の三人遣いのように、ホームページを後ろで支えるという意味が込められています。 Joruri CMSの開発後、Joruri Gw(グループウェア)、Joruri Mail(Webメールシステム)、Joruri Plus+(コミュニティシステム) など、Joruri CMSをベースとして各種プロダクトが開発されました。Joruriはこれらのプロダクトの総称であるため、各プロダクトを 意味する場合、Joruri CMSといった形でJoruriのうしろにプロダクト名を付けています。
2.Joruri CMSの特徴
Joruri CMSには次のような特徴があります。
■
自治体ホームページの開発・運用に必要な機能を搭載
徳島県ホームページを再構築するために開発されたCMSであるため、Joruri CMSには自治体サ イトを作成するための基本的な機能が備わっています。 自治体のWebサイトの場合、日々の運用を職員の方が行いますので、運用操作がわかりやすさ、 使いやすさが非常に重要です。 Joruri CMSは制作と運用で利用するメニューを完全に分離し、運用関連の画面は専用システム 並みの操作性を実現しています。■
オープンソース・ソフトウェア(GPL v3)として公開し開発を継続
Joruri CMSはオープンソース・ソフトウェアとして、ソースコードが公開されています。この ためソフトウェアのライセンス費が無料であり、ソースコードの改変が自由に行えます。 オープンソース・ソフトウェアであることは、事前に動作評価を行ったり、複数のWebサイト に導入する際、利用者の自由度が極めて高いと言えます。 一般にオープンソース・ソフトウェアは責任の所在が不明瞭と言われていますが、Joruri CMS はコミュニティでの開発ではなく、商用製品と同じレベルの開発体制により、すべてのプログラ ム開発を開発元の会社社員が担当しています。■
国産プログラミング言語Rubyを採用、Ruby on Rails上で稼働
海外製のオープンソースCMSの多くは、PHP言語により開発されていますが、Joruri CMSは国 産プログラミング言語であるRuby(注1)を利用し、高機能なMVCフレームワークであるRuby on Rails(注2)上に構築しています。 このため、Ruby on Railsでの開発に慣れているプログラマであれば、比較的容易にJoruri CMSの構造を理解することができ、プログラムの追加開発を行うことができます。 (注1)Ruby(ルビー)は、まつ もとゆきひろ(島根県松江市在 住)により開発されたオブジェク ト指向スクリプト言語である。 2011年3月22日にJIS規格(JIS X 3017)に制定され、その後2012 年4月1日に日本発のプログラム言 語初の「ISO/IEC 30170」として 承認された。 (注2)Ruby on Rails(ルビーオ ンレイルズ)はRubyで記述された オープンソースのWebアプリケー ションフレームワークである。 Model View Controller(MVC)アー キテクチャに基づいて構築されて いる。「同じことを繰り返さな い」(DRY:Don't Repeat Yourself)と「設定より規約」 (CoC:Convention over Configuration)という理念により、 効率的な開発が行えるようになっ ている。 Ruby on Railsはデンマークのプロ グラマであるDavid Heinemeier Hanssonにより開発され、現在は シカゴの37Signal社のメンバーを 中心としたグループで開発が進め られている。3.Joruri CMSで構築した徳島県ホームページ
■徳島県向けにJoruri CMSを開発
Joruri CMSは徳島県ホームページを再構築する ために開発されたため、徳島県ホームページは Joruri CMSで最初に作成したサイトとなります。 ■各種最新のUIを導入
2008年にサイトのデザイン・レイアウトを検討 した際、自治体サイトとして当時はまだ少なかっ たグローバルメニューを採用し、新着記事のタブ 切り替えといった新しいUIも合わせて導入しま した。 ■PCと携帯サイトの運用管理を統合
再構築前は携帯向けサイトは、PC向けとは完全 に別のシステムにより運用されていましたが、 Joruri CMSの導入により、PCと携帯のサイトを 一元的に運用管理できるようになりました。 ■すべての記事を携帯で閲覧可能
PC向けに掲載している記事をすべて携帯で閲覧 できることは、公開当時としては先進的な取り組 みです。 ■リキッドデザイン
サイトの横幅は最小800ピクセル、最大1200ピ クセルの可変(リキッドデザイン)となっており、 現在の高解像度のディスプレイにおいても、違和 感なく見やすい幅で表示されます。6.Joruri公式サイト (http://joruri.org/)
■
Joruriプロダクトの総合情報サイト
Joruri公式サイト(http://joruri.org/)は、Joruriプロダクトすべての総
合的な情報サイトです。公開しているソースコードファイル以外にプロダ クトの操作マニュアル、オンラインデモなど各種の情報が掲載されていま す。 ■
ダウンロード
Joruri CMSのソースコードをダウンロードできます。Joruri CMSは1 ~2カ月に一度の頻度で新しい機能を追加したバージョンが提供されてい ます。このページでは過去のバージョンのファイルもダウンロードできま す。なおGithubなどの開発リポジトリは公開されていません。 ■デモサイト
デモサイトでは最新版のJoruri CMSを操作して動作を確認することがで きます。「ジョールリ市」というサンプルサイトが実装されているため、 ほぼ実際の自治体サイトの運用操作を体験することができます。 デモサイトのデータは2時間間隔で初期化されます。また[ユーザ]や[サ イト]といったメニューの操作は禁止されています。 ■導入事例
Joruri CMSが利用されているWebサイトの一覧が掲載されています。 Joruri CMSはインストールを検知するしくみを持たないため、これらの一 覧はJoruri CMSが生成する典型的なテキストを検索して見つけたものです。 このためユーザ導入事例については、この一覧に記載されていないWebサ イトも存在すると思われます。 ■FAQ
よくある質問の一覧が掲載されています。FAQは一部が有償での利用と なっており、開発元のIDS社と有償のサポート契約を結ぶと、有償部分の 項目が閲覧できるようになります。7.デモサイト「ジョールリ市」
■リアルな自治体ホームページのデモサイト
Joruri公式サイトで利用できるデモサイトは、実際の自治体ホームページとほぼ同じ 構成となっており、ユーザの利便性や管理者(職員)の操作性を評価することができま す。実際に管理画面から記事を登録し、その記事を承認・公開する操作を行ってみると、 日々の運用が簡単に行えることを体感できます。 ■新規開発の機能の組み込み
デモサイトには新規に開発されたJoruri CMSの機能が、新規機能のリリースと同時に 組み込まれます。デモサイトを調べると、新規機能の使い方やサイトへの組み込み方が わかり、たいへん便利です。実践的な動くドキュメントとして、デモサイトは機能して います。 ■動作検証の標準環境
Joruri CMSをダウンロードしてインストールした際、動作に疑問点がある場合は、デ モサイトでの動作を確認し、インストール環境の問題かどうかの切り分けを行えます。 デモサイトでも同様の現象となる場合は、Joruri CMS共通の現象と考えられるため、 開発元のIDS社にご連絡ください。8.サンプルサイトとしての「ジョールリ市」
■サンプルサイト・データの配布
デモサイトのサイト構築データは、Joruri CMSのソースコードと共に、サンプルサイト のデータとして配布されています。 インストール手順書ではこのサンプルサイ トのデータを最後に読み込んでいます。イン ストール後、Joruri CMSをアクセスすると、 サンプルサイトが表示されます。 ■サンプルサイトのカスタマイズによる構築
全国各地の自治体にJoruri CMSが導入され ていますが、基本的には添付されているサン プルデータをカスタマイズして構築している と思われます。9.「ジョールリ市」トップページの構成
バリアフリー関連 サイトマップ 問い合わせフォーム イベントカレンダー 広告バナー キービジュアル (写真) グローバル・ナビゲーション 市長室 (固定ページ) メールマガジン FAQ 行事カレンダー 掲示板 新着記事タブ ライブイベント 記事の分野一覧 ■グローバル・ナビゲーション
グローバル・ナビゲーションの利用方法はいろいろあり ますが、ジョールリ市のサンプルサイトでは、記事分野の 大分類を割り振っています。 ■新着記事のタブ
新着記事をタブ切り替えで分類します。タブには分野、 組織、属性、地域での分類を自由に割り振れます。複数の 分類をANDまたはOR条件で組み合わせることもできます。 ■固定ページへのリンク
市長室、ジョールリ市の紹介、基本情報、お役立ち情報、 注目情報などのページは一般的に記事ページではなく、固 定ページで作成します。このためトップページでのこれら のリンクは固定ページへのリンクを個別に設定します。 ■ライフイベント
人生の大きな出来事をライフイベントと呼び、関連する 情報をリンク集としてまとめて表示します。 アーカイブ的な情報を見つけやすいように整理する方法 です。10.サンプルサイトのページツリー
新着記事のタブ 目的別メニュー トップページ 市長ページ 分野一覧 大分野ページ 小分野ページ 組織一覧 部局ページ 課ページ 属性一覧 属性ページ 地域一覧 エリア イベント カレンダー FAQ一覧 詳細ページ 記事ページ ライフイベント 新着記事タブ グローバルメニュー グローバルメニューで大分野 ページを切り替える 新着記事のタブは、分野 または属性で分類 目的別メニューでは関連する記事 ページまたは固定ページをリンク イベント情報の詳細ページ は記事ページとなる 各種固定ページ 問い合わせ メールマガジン 入力フォーム 登録フォーム ■ページを構成する機能
サイト全体は、記事コンテンツ、 固定ページ、FAQなどの特定用途 向け機能が生成するページを組み 合わせて構成されている。 ■コアは記事コンテンツ
ページツリーのコアは記事コン テンツにより管理され、各ページ のリンクが自動的に生成される。 左の赤い枠で囲った部分が記事コ ンテンツによる管理範囲となる。 ■トップページのナビゲーション
トップページには、グローバル メニュー以外に、新着記事のタブ 分類、ライフイベントなど、多数 の記事の中から目的の記事を探す ためのナビゲーション機能を備え ている。 記事コンテンツの管理範囲 町ページ 掲示板 年間行事11.記事ページのカテゴリ分類
■記事ページの分類方法
・記事ページを4種類のカテゴリ(分野、組織、 属性、地域)で分類します。 ・記事コンテンツの機能で、分野、組織、属性、 地域の索引ページ(インデックスページ)が自 動的に生成されます。 ・属性以外は大分野・小分野(分野の場合)のよ うに、複数階層での分類となっています。 ・分野については、ひとつの記事に3つまで設定 できます。 ・分野、属性、地域の設定は必須ではありません。 組織は記事作成者が所属する組織が設定されま す。 地域ページ 組織ページ 分野ページトップページ
分野ページ
組織ページ
属性ページ
地域ページ
記事ページ
4種類のカテゴリで記事ペー ジを分類 各カテゴリの項目登録のメニュー (システム管理者としてログインした場合のみ表示されます。) ■各カテゴリの項目登録
・システム管理者のユーザでログインすると、記 事コンテンツの画面に各カテゴリの項目登録の メニューが表示されます。 ・カテゴリの登録は記事コンテンツごとに独立し て行えますので、複数の記事コンテンツを利用 した場合はそれぞれの記事コンテンツごとにカ テゴリを設定します。インデックスページ
12.記事ページのパンくずリスト
■パンくずリスト
・各記事ページの左上隅に、設定されているカテゴリ をパンくずリストとして自動的に表示します。 ・パンくずリストは上から組織、分野、属性、地域の 順番が固定で表示されます。設定されていないカテ ゴリは表示されません。 ・記事の分野を複数設定した場合、パンくずリストに もカンマ区切りで複数表示されます。 ・パンくずリストに表示されるカテゴリ項目はすべて リンクとなっています。組織、分野、属性、地域は それぞれのカテゴリの項目一覧ページへのリンクで す。分野と属性についてはパンくずリストからのみ 項目一覧ページに移動できます。 ・Joruri CMSのパンくずリストはアクセスしたルート を表示するといった動的な処理を行っていません。 このため記事ページをJoruri CMSと異なるWebサー バで表示しても問題なく動作します。 徳島県ホームページのパンくずリスト ・分野が複数表示されている。 ・地域は表示されていない。 ・トップページと表示されている。13.分野による記事ページの分類
■分野による分類
住民の生活視点から記事 ページを分類したのが分野に よる分類です。大分類・小分 類の2階層の分類体系として います。グローバルメニュー には分野の大分類を表示して います。 ■最大3つまで指定可
記事登録の画面ではひとつ の記事に対して、最大3つま で分野を設定できます。 ■62の小分野で分類
大分野は7つ、小分野は6 2です。大分野と小分野を合 わせると、全部で69のイン デックスページが作成されま す。14.組織による記事ページの分類
■組織による分類
記事コンテンツの組織での分類は、記事コンテンツにおいて登録するのでは なく、ユーザのグループが組織として利用されます。このため記事コンテンツ の組織の設定においては、新規作成の機能はありません。組織の設定画面では、 組織ページのレイアウトの設定と、メールアドレス、電話番号、業務概要URL の設定を行います。 ■組織の階層
組織は部局と課の2階層を標準としています。15.属性による記事ページの分類
■属性による分類
分野での分類に対して、分野を横断的に分類するのが属性です。 属性による分類を提供することにより、サイトの閲覧者に分類とは異なる視点を提供することができます。 ■新着タブへの設定
新着記事のタブには分野での絞り込みだけでなく、属性など分野以外の分類での絞り込みを設定することができます。 分野と属性での分類を組み合わせると、よく利用される条件で絞り込みを行うことができ便利です。16.地域による記事ページの分類
■
地域による分類
17.分野/組織/属性/地域のインデックスページの事例
地域
属性
組織
■
記事ページのURLは数字13桁
電話でのやり取りや紙媒体への掲載の際に、わかりやすく便利です。http://demo.joruri.org/
docs
/ 2012052900014/
記事ページ全体を格納するディレクトリ 該当する
記事ページのID
記事ページのID
は次の規則で生成
YYYYMMDDSSSSC 西暦,月,日,日ごとの連番(4桁),
最後の桁Cはチェックデジット (モジュラス10 ウェイト3・1(M10W31))
18.インデックスページ、記事ページのURL構造
■各インデックスページ
ローマ字表記のため、ページの内容を類推しやすいURLとしています。 これらのローマ字表記は記事コンテンツの設定メニューで設定することができます。・トップページ
http://demo.joruri.org/
・分野ページ
くらし
http://demo.joruri.org/
bunya
/
kurashi
/
くらし - 子育て
http://demo.joruri.org/
bunya
/
kosodate
/
・組織ページ 企画総務部
http://demo.joruri.org/
soshiki
/
kikakusoumubu
/
・属性ページ 入札・調達・売却・契約
http://demo.joruri.org/
zokusei
/
nyuusatsu
/
・地域ページ 横目町
http://demo.joruri.org/
chiiki
/
yokomecho
/
URLを簡素化するため、