37
Novius OSの紹介 水野 史土 [email protected] 1

Novius OSの紹介 at CMS fun

Embed Size (px)

Citation preview

Page 1: Novius OSの紹介 at CMS fun

Novius OSの紹介

水野 史土[email protected]

1

Page 2: Novius OSの紹介 at CMS fun

開発の経緯

● コーポレイトサイト http://bioaster.org/ ○ 制作の現場から生まれたプロジェクト○ 多言語対応が必要だが Drupal だと大げさ、という規模

● 本体+標準アプリケーションで要件を満たす○ プラグイン/モジュール/アドオンなどを前提としない○ 長期的に安定して運用しやすい

2

Page 3: Novius OSの紹介 at CMS fun

開発主体・ライセンス

● フランスの会社 Novius Agency が中心○ github.com で公開し、世界からコミットを受け付ける

● オープンソース○ 互恵性の強いライセンス (AGPL ver.3 or later)○ コアへの貢献を歓迎する (コードを分散させない)

3

Page 4: Novius OSの紹介 at CMS fun

動作要件

● 自分のサーバーにインストールする場合○ PHP5.3以降

○ MySQL 5以降

○ サーバーに非公開領域ありを推奨

● 開発元提供のクラウドサービスがある○ 申し込み画面がフランス語、決済がユーロ

4

Page 5: Novius OSの紹介 at CMS fun

コンテンツを管理する

5

Page 6: Novius OSの紹介 at CMS fun

コンテンツ毎に、管理画面を作成

● コンテンツに応じた項目、入力方法を提供○ データの構造をきちんと作る○ 入力ミス防止、役割分担

● 柔軟な出力方法、再利用性○ 出力方法は別途設定する○ JSONやXMLで出力可能○ 外部システムと連携しやすい

6

Page 7: Novius OSの紹介 at CMS fun

デモ用に作ったサイト

飲食店を想定

- 飲食メニュー一覧

- ブログ (新メニューを紹介することもある) - 問い合わせ

7

Page 8: Novius OSの紹介 at CMS fun

コンテンツ毎に、管理画面を作成

商品メニュー8

Page 9: Novius OSの紹介 at CMS fun

コンテンツ毎に、管理画面を作成

問い合わせフォーム9

Page 10: Novius OSの紹介 at CMS fun

コンテンツ毎に、管理画面を作成

メディア

10

Page 11: Novius OSの紹介 at CMS fun

コンテンツ管理に重点を置く

ウェブページ

コンテンツと見た目を分離しておくことで、コンテンツの管理がしやすい

11

Page 12: Novius OSの紹介 at CMS fun

HTMLで出力

メニュー一覧: 全て表示 ブログ記事: 新メニューのみ

カレーの画像はwikipedia から。 cc-by-sa http://ja.

wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%

AB:Curry_and_rice.jpg

12

Page 13: Novius OSの紹介 at CMS fun

ウェブサイトを作った後、更新作業がある

13

Page 14: Novius OSの紹介 at CMS fun

HTMLで出力

メニュー一覧: 全て表示 ブログ記事: 新メニューのみ

カレーの画像はwikipedia から。 cc-by-sa http://ja.

wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%

AB:Curry_and_rice.jpg

14

Page 15: Novius OSの紹介 at CMS fun

HTMLで出力

メニュー一覧: 全て表示 ブログ記事: 新メニューのみ

カレーの画像はwikipedia から。 cc-by-sa http://ja.

wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%

AB:Curry_and_rice.jpg

「価格の改定」「販売中止や終了」など運用途中で変更する場合

↓一箇所変えれば全部に反映

作業の工数減少、変更漏れを防ぐ

15

Page 16: Novius OSの紹介 at CMS fun

HTMLに出力するだけ?

16

Page 17: Novius OSの紹介 at CMS fun

様々なコンテンツの操作方法の例

● JSON で出力する

● XML で出力する

● コマンドラインで投稿、データ取得

● 外部サービス (チャットワーク) にデータを送る

17

Page 18: Novius OSの紹介 at CMS fun

JSON, XML の出力

社内のシステム

JSONやXML等で出力することで、コンテンツを様々な場所で活用できる

ウェブページ

外部サービス

18

Page 19: Novius OSの紹介 at CMS fun

JSON で出力

19

Page 20: Novius OSの紹介 at CMS fun

XML で出力

20

Page 21: Novius OSの紹介 at CMS fun

コマンドラインでの操作

社内のシステム

社内のシステムが既にある場合に活用するCMSの不具合は影響が大きいので、処理を少なくする

ウェブページ

外部サービス

21

Page 22: Novius OSの紹介 at CMS fun

コマンドラインでの操作

コンテンツを作成して保存22

Page 23: Novius OSの紹介 at CMS fun

コマンドラインでの操作

データを取得して、JSON や XML で出力

23

Page 24: Novius OSの紹介 at CMS fun

外部サービス連携の例

社内のシステム

チャットワークと連携する例を紹介

ウェブページ

外部サービス

24

Page 25: Novius OSの紹介 at CMS fun

外部サービス連携: チャットワーク

25

Page 26: Novius OSの紹介 at CMS fun

外部サービス連携: チャットワーク

ログインアラート

問い合わせ受信通知

データを送信

26

Page 27: Novius OSの紹介 at CMS fun

見たまま編集できる

CMS が便利では?

27

Page 28: Novius OSの紹介 at CMS fun

「見たまま編集」ではない

「ウェブページの更新」だけを考えると手間

↓再利用しやすい形でコンテンツを作成し、

様々な媒体を一括更新すれば、

全体の手間は軽減され、作業ミスも防げる

28

Page 29: Novius OSの紹介 at CMS fun

これらの機能は、

Novius OSだけでなく、

他のCMSでも可能では?

29

Page 30: Novius OSの紹介 at CMS fun

FuelPHPフレームワークを採用

● JSON/XML 出力○ FuelPHP の Rest コントローラ機能

● コマンドライン操作○ FuelPHP の oil 機能 + OR マッパー

● チャットワーク連携○ FuelPHP のパッケージを利用

30

Page 31: Novius OSの紹介 at CMS fun

フレームワーク採用のメリット

● 開発の効率性○ 車輪の再発明をしない(よくある機能はFuelPHPで実装)○ FuelPHPの環境設定、デバッグ機能などを活用

● 学習・運用コスト○ FuelPHPの他のプログラムとパッケージ共有

○ 別のシステムと連携

○ FuelPHPの書籍で学習できる

31

Page 32: Novius OSの紹介 at CMS fun

FuelPHPを学ぶ書籍

● 改訂 FuelPHP入門 (早川聖司)● 初めてのフレームワークとしてのFuelPHP 改訂

版 (鈴木憲治)● Learning FuelPHP for Effective PHP

Development (Ross Tweedie)

32

Page 33: Novius OSの紹介 at CMS fun

Novius OS が苦手なものは?

33

Page 34: Novius OSの紹介 at CMS fun

Novius OS が苦手なもの

ウェブページを単位とする検索

 コンテンツのまとまりごとに、別テーブルで管理

↓ 「メニュー」の中から検索は簡単だが、

 「ページ上の表示内容」の検索は面倒

34

Page 35: Novius OSの紹介 at CMS fun

ページ

ブログ

商品メニュー

35

Page 36: Novius OSの紹介 at CMS fun

ページ

ブログ

商品メニュー

全体を検索しようとすると、「ページ」「ブログ」「商品メニュー」のデータを検索しなければならない

36

Page 37: Novius OSの紹介 at CMS fun

まとめ Novius OS

● コーポレイトサイト向け○ 実案件からスタートした、実用的なシステム

● コンテンツの再利用性○ コンテンツごとの情報設計○ JSON, XMLなどの汎用的なフォーマット

● 標準的な機能を利用する○ CMS本体の充実、コードの共有○ ベースとなるフレームワークFuelPHPの機能を活用

37