Netcommons
OSC 2017 名古屋 『ネットコモンズで作るメンバーサイト』
OSC2017名古屋において『ネットコモンズで作るメンバーサイト』のセミナーを行いました。
2017-05-27 (土) 13時00分 名古屋市中小企業振興会館(吹上ホール) 4F 第7会議室(2)
OSC2017名古屋の公式サイト
『クライアントに会員サイトを提案しませんか? Netcommons3がお手伝いします』
■そもそもNetCommons とは?
小中学校の公式サイトや大学の研究成果公開サイトなどの教育現場のために、国立情報学研究所が次世代情報共有基盤システムとして開発した、LMS(学習管理システム)とグループウェアを統合したCMSです。
(株式会社オープンソース・ワークショップのサンプル画像)
つまり NetCommons は『小中学校サイトのお手本』として作られたんです。NetCommonsを使うかどうか別にして、公共性の高いサイトに携われる方には是非とも一度は触っておいて欲しいCMSです。
NetCommons は全国で5,000校以上の小中学校などの教育機関で使われています。研究者情報や論文等へのリンクを公開している『リサーチマップ』は、かなりカスタマイズされてはいますが、参考になると思います。
■充実したユーザー管理機能
NetCommons は教育機関のお手本として作られたシステムですので、デフォルトで5段階(システム管理者、主担、モデレーター、一般、ゲスト)、設定次第で100段階以上の細かいユーザーレベルが設定できます。
(ユーザー権限一覧:『権限の追加』で任意に権限を追加できます)
全ての登録ユーザーのマイページを作ったり、グループ毎のクローズドなページを追加したり、それぞれのユーザーとページに権限を設定できる機能をデフォルトで備えていますので、ユーザー別のサービス提供ができます。
(ルーム別のユーザー権限設定画面)
こういった機能を利用して、社内や共同作業で使えるグループウェア、顧客向けのソーシャルネット、各種バーチャルオフィスなどを構築して納品している業者さんもあります。
■デフォルトモジュール(基本機能)
NetCommons は『モジュール』を使って機能を拡張します。デフォルトモジュールだけでも、ファイルを配布する『キャビネット』、『チャット』、『回覧板』、『掲示板』などが準備されており、これだけでもサイト運営は十分可能です。
(モジュール選択リスト)
これらのモジュールを準備してクローズドなページに配置しておけば、登録したユーザーとの打ち合わせを行う事が可能です。ファイルから過去ログまで共有することができるので、作業がスムーズに進みます。
(株式会社オープンソース・ワークショップのサンプル画像)
多くのモジュールの中で、もっともカスタマイズされて利用されているのは『汎用データベース』です。汎用データベースは、サイト内に任意のデータベースを作成してデータを共有できるモジュールです。
(汎用データベースの入力画面)
■汎用データベース
カスタマイズして、メールデータベースとして利用できます。受信メールをテキスト形式でデータベースに保存し、ユーザーの処理チェック機能を追加するすれば、メールデータベースとして運用する事が可能です。
(企業向けメールアーカイブシステム)
受注メールを受信させて必要なデータを取得し加工しておけば、作業指示伝票を作成したり、製造工程表に組込んで工場に製造指示を送るワークフローとして利用することも可能です。
(小箱プリントワークフロー操作画面)
個人向け倉庫サービスなどでは、預ける品物の状態や引取日時などの品物別の情報を集計して従業員が必要な情報を共有し、円滑なサービスをお客様に提供するシステムを構築する事も可能です。
(タイヤ預りサービスの専用サイト)
これらは、しっかりとしたユーザー管理機能を持った NetCommons だからこそ提供できるサービスなのです。
■NetCommons の問題点 スマホ対応など
これだけの機能を持った NetCommons ですが、いくつかの問題点もあります。安定版の NetCommons2 から書き出されるソースは table タグが多用されているので、SEOを目的にしたサイトには向きません。
個人の主観ですが、テンプレートエンジンに Smarty を使っているので開発がかなり特殊です。いくつも納品しておりますが、いまだに Smarty が手に馴染みません。ちなみに、次期バージョンでは Smarty を使っていません。
NetCommons2 ではスマホ対応していませんが、株式会社オープンソース・ワークショップ が配布しているカスタマイズキットを使用すればレスポンシブ化できます。ちなみに次期バージョンでは対応しています。
(レシポンシブ対応したNetCommons2のサイト)
■次期バージョン NetCommons3 の進捗
すでにリリースはしているのですが、NetCommons3 はいささかバギーですので、すぐに導入するのはおススメできません。サーバーによってはインストール時にエラーが発生します。
(NetCommons3 デフォルト画面)
レスポンシブになったのはいいのですが、簡単にデザインが変更できるかと言えばそうでもありません。スマホでも挙動が怪しい部分がいくつか存在しています。そしてまだ動作が遅いようです。
『アンケート』や『問合せフォーム』などは使い勝手は悪い部分があります。なにより、一番使いたい『汎用データベース』が出来ていません。実際に導入できるまでにはもう少し時間が掛かりそうです。
■それでも NetCommons を使う意味
このように、NetCommons をとりまく状況は必ずしも万全とは言いきれません。しかし、日本の公的な機関が開発に関わっており、プログラムソースは Github 上で公開されていますので、開発メンバーが集まるユーザ会(コモンズネット)に参加して一緒に開発する事ができます。
(コモンズネット・サイト)
CMS を納品をする業者にとって、システムに関する情報はとても大事です。脆弱性の問題から、欲しい機能の追加など、開発メンバーに直接リクエストできる事はディベロッパーとしての義務ではないでしょうか?
多くの実績もあり、公的機関が開発に関わり、常に最新情報を手に入れることができる NetCommons は、クライアントに自信を持って提供する事ができるシステムです。
■既存サービスとの違い
ユーザー情報を扱うサイトはコストを考えると小さな団体で運営するのは簡単ではありません。ですので Googleや Facebook、Lineも含めて既存サービスを利用する事が多いようです。
しかし、既存のサービスに依存するのは好ましい事なのでしょうか? 必要なデータを再利用する時に何らかの制限やコストが掛かったり、データの流出や漏洩時に把握しにくいなどの問題点もあると思います。
それらを全て解消できるわけではありませんが、オープンソースの NetCommons を使ったサイトを自社のクライアントに提案してみてはいかがでしょう? クライアントと新しい関係を築けるかもしれません。
※数字や進捗については、2017年3月時点の状況です。
Netcommons 名古屋ユーザー会
全国の公立小中学校でシェアNo1のCMSなのに、名古屋ではマイナーな『Netcommons』をもっと使って貰うために2017年3月1日に立ち上げました。
学校で使えるCMSとして設計されたNetcommonsですけど、会員サイト運営でも十二分に威力を発揮します。SEOを気にしないならある意味最強かもしれません。
是非Netcommonsの使い勝手を体験してください。
ユーザー会といっても、まだまだ会員が少ないので会員大募集中です。
入会の基準は、Netcommonsを導入してる人、導入したい人、興味のある人、仕事で使って儲けたい人。そして、名古屋、愛知で活動されている方ならば大歓迎です。
セミナーなどで『はなまちや:長澤』に声をかけてください。
一緒に愛知でNetcommonsを大いに盛り上げて行きましょう。
ロリポップでのインストール方法
この記事はcakePHPで開発された『Netcommons3』のインストール方法を各レンタルサーバー毎にまとめた個人的な覚書です。
各レンタルサーバーの設定変更や、Netcommons3の開発状況によっては対応方法が変わっていく事がありますのでご了承ください。
1)PHPのパスを通すために変更します。
app/Console/cake 40行目
exec php -q "$CONSOLE"/cake.php -working "$APP" "$@"
↓
exec /usr/local/php/5.6/bin/php -q "$CONSOLE"/cake.php -working "$APP" "$@"
※モジュール版PHPの場合はパスが違う可能性があります。
2)データベースの設定
ホスト名:mysql000.phy.lolipop.lan
※公開サーバーとDBサーバーが別なのでlocalhostでは接続できません。
データベース名:XXX0000000-name
※'-'が対象外なので、下記ファイルを変更して'-'を使えるようにします。
app/Plugin/Install/Utility/InstallValidatorUtil.php 111行目
'rule' => array('custom', '/^[\w]+$/'),
↓
'rule' => array('custom', '/^[\w|\-]+$/'),
KDDI CPI ACE01 でのインストール方法
この記事はcakePHPで開発された『Netcommons3』のインストール方法を各レンタルサーバー毎にまとめた個人的な覚書です。
各レンタルサーバーの設定変更や、Netcommons3の開発状況によっては対応方法が変わっていく事がありますのでご了承ください。
1)PHPのパスを通すために変更します。
app/Console/cake 40行目
exec php -q "$CONSOLE"/cake.php -working "$APP" "$@"
↓
exec /usr/local/bin/<b>php-5.6.19</b> -q "$CONSOLE"/cake.php -working "$APP" "$@"
※PHPのバージョンに合わせて変更してください。
2)データベースの設定
ホスト名:127.0.0.1
※CPIのサイトポリシーでlocalhostでは接続できません。
3)2011サーバーの場合
CONSOLE=$(dirname -- "$(canonicalize "$0")")
↓
CONSOLE=/usr/xxxxxxxxx/html/app/Console //フルパスを記入する
APP=$(dirname "$CONSOLE")
↓
APP=/usr/xxxxxxxxx/html/app //フルパスを記入する
レスポンシブデザインについて
このサイトは『株式会社オープンソース・ワークショップ』さんが配布されている『NetCommons2レスポンシブ対応カスタマイズ』を使ってスマホやタブレットに対応させてデザインしました。
Netcommonsをレスポンシブ対応させたい方は、ダウンロードして組込んでみてください。
使いたいモジュールがレスポンシブに対応していない場合や、AppleのRetinaディスプレイに対応させるには若干の修正が必要になる場合もあります。
派手さはありませんがコーポレートサイトに使えるように、テンプレートをカスタマイズしましたので、これから納品するNetcommonsのサイトに積極的に使ってまいります。
(レシポンシブ対応したNetCommons2のサイト)