===============
このテキストは『public domain』で配布いたします。ご自分の責任において自由に使ってください。このテキストを元に書かれた文章のライセンスは、それぞれの著者に委ねております。
===============

NetCommons で作るメンバーズサイト

■そもそもNetCommons とは？
小中学校の公式サイトや大学の研究成果公開サイトなどの教育現場のために、国立情報学研究所が次世代情報共有基盤システムとして開発した、LMS（学習管理システム）とグループウェアを統合したCMSです。
（図 osc001）
（株式会社オープンソース・ワークショップのサンプル画像）

つまり NetCommons は『小中学校サイトのお手本』として作られたんです。NetCommonsを使うかどうか別にして、公共性の高いサイトに携われる方には是非とも一度は触っておいて欲しいCMSです。
NetCommons は全国で5,000校以上の小中学校などの教育機関で使われています。研究者情報や論文等へのリンクを公開している『リサーチマップ（http://researchmap.jp）』は、かなりカスタマイズされてはいますが、参考になると思います。

■充実したユーザー管理機能
NetCommons は教育機関のお手本として作られたシステムですので、デフォルトで５段階（システム管理者、主担、モデレーター、一般、ゲスト）、設定次第で100段階以上の細かいユーザーレベルが設定できます。
（図 osc004）
（ユーザー権限一覧：『権限の追加』で任意に権限を追加できます）

全ての登録ユーザーのマイページを作ったり、グループ毎のクローズドなページを追加したり、それぞれのユーザーとページに権限を設定できる機能をデフォルトで備えていますので、ユーザー別のサービス提供ができます。
（図 osc005）
（ルーム別のユーザー権限設定画面）

こういった機能を利用して、社内や共同作業で使えるグループウェア、顧客向けのソーシャルネット、各種バーチャルオフィスなどを構築して納品している業者さんもあります。

■デフォルトモジュール（基本機能）
NetCommons は『モジュール』を使って機能を拡張します。デフォルトモジュールだけでも、ファイルを配布する『キャビネット』、『チャット』、『回覧板』、『掲示板』などが準備されており、これだけでもサイト運営は十分可能です。
（図 osc006）
（モジュール選択リスト）

これらのモジュールを準備してクローズドなページに配置しておけば、登録したユーザーとの打ち合わせを行う事が可能です。ファイルから過去ログまで共有することができるので、作業がスムーズに進みます。
（図 osc003）
（株式会社オープンソース・ワークショップのサンプル画像）

多くのモジュールの中で、もっともカスタマイズされて利用されているのは『汎用データベース』です。汎用データベースは、サイト内に任意のデータベースを作成してデータを共有できるモジュールです。
（図 osc007）
（汎用データベースの入力画面）

■汎用データベース
カスタマイズして、メールデータベースとして利用できます。受信メールをテキスト形式でデータベースに保存し、ユーザーの処理チェック機能を追加するすれば、メールデータベースとして運用する事が可能です。
（図 osc013）
（企業向けメールアーカイブシステム）

受注メールを受信させて必要なデータを取得し加工しておけば、作業指示伝票を作成したり、製造工程表に組込んで工場に製造指示を送るワークフローとして利用することも可能です。
（図 osc011）
（小箱プリントワークフロー操作画面）

個人向け倉庫サービスなどでは、預ける品物の状態や引取日時などの品物別の情報を集計して従業員が必要な情報を共有し、円滑なサービスをお客様に提供するシステムを構築する事も可能です。
（図 osc012）
（タイヤ預りサービスの専用サイト）

これらは、しっかりとしたユーザー管理機能を持った NetCommons だからこそ提供できるサービスなのです。

■NetCommons の問題点 スマホ対応など
これだけの機能を持った NetCommons ですが、いくつかの問題点もあります。安定版の NetCommons2 から書き出されるソースは table タグが多用されているので、SEOを目的にしたサイトには向きません。

個人の主観ですが、テンプレートエンジンに Smarty を使っているので開発がかなり特殊です。いくつも納品しておりますが、いまだに Smarty が手に馴染みません。ちなみに、次期バージョンでは Smarty を使っていません。

NetCommons2 ではスマホ対応していませんが、株式会社オープンソース・ワークショップ（https://opensource-workshop.jp）が配布しているカスタマイズキットを使用すればレスポンシブ化できます。ちなみに次期バージョンでは対応しています。
（図 osc008）
（レシポンシブ対応したNetCommons2のサイト）

■次期バージョン NetCommons3 の進捗
すでにリリースはしているのですが、NetCommons3 はいささかバギーですので、すぐに導入するのはおススメできません。サーバーによってはインストール時にエラーが発生します。
（図 osc009）
（NetCommons3 デフォルト画面）

レスポンシブになったのはいいのですが、簡単にデザインが変更できるかと言えばそうでもありません。スマホでも挙動が怪しい部分がいくつか存在しています。そしてまだ動作が遅いようです。

『アンケート』や『問合せフォーム』などは使い勝手は悪い部分があります。なにより、一番使いたい『汎用データベース』が出来ていません。実際に導入できるまでにはもう少し時間が掛かりそうです。

■それでも NetCommons を使う意味
このように、NetCommons をとりまく状況は必ずしも万全とは言いきれません。しかし、日本の公的な機関が開発に関わっており、プログラムソースは Github 上で公開されていますので、開発メンバーが集まるユーザ会（コモンズネット：http://commonsnet.org）に参加して一緒に開発する事ができます。
（図 osc010）
（コモンズネット・サイト）

CMS を納品をする業者にとって、システムに関する情報はとても大事です。脆弱性の問題から、欲しい機能の追加など、開発メンバーに直接リクエストできる事はディベロッパーとしての義務ではないでしょうか？

多くの実績もあり、公的機関が開発に関わり、常に最新情報を手に入れることができる NetCommons は、クライアントに自信を持って提供する事ができるシステムです。

■既存サービスとの違い
ユーザー情報を扱うサイトはコストを考えると小さな団体で運営するのは簡単ではありません。ですので Googleや Facebook、Lineも含めて既存サービスを利用する事が多いようです。

しかし、既存のサービスに依存するのは好ましい事なのでしょうか？　必要なデータを再利用する時に何らかの制限やコストが掛かったり、データの流出や漏洩時に把握しにくいなどの問題点もあると思います。

それらを全て解消できるわけではありませんが、オープンソースの NetCommons を使ったサイトを自社のクライアントに提案してみてはいかがでしょう？　クライアントと新しい関係を築けるかもしれません。

※数字や進捗については、2017年３月時点の状況です。

■最後に・・・
今回こちらで紹介させていただいた内容を、2017年5月27日開催のOSC名古屋のセミナーで発表させていただきます。もう少し深い内容をお話させていただけるかと思いますので、是非おこしください。もし、なにかご質問等がございましたら、同日ブースでお伺いいたします。

※数字や進捗については、2017年３月時点の状況です。<div class="logger_block">
<div class="logger logger_notice">[PHP_Notice]: ob_flush(): failed to flush buffer. No buffer to flush in file /usr/home/aa164i4mtv/webapp/components/uploads/View.class.php line 321<br />
</div>
</div>