SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
Novius OSの紹介
水野 史土
mizuno@rescuework.nagoya
1
開発の経緯
● コーポレイトサイト http://bioaster.org/
○ 制作の現場から生まれたプロジェクト
○ 多言語対応が必要だが Drupal だと大げさ、という規模
● 本体+標準アプリケーションで要件を満たす
○ プラグイン/モジュール/アドオンなどを前提としない
○ 長期的に安定して運用しやすい
2
開発主体・ライセンス
● フランスの会社 Novius Agency が中心
○ github.com で公開し、世界からコミットを受け付ける
● オープンソース
○ 互恵性の強いライセンス (AGPL ver.3 or later)
○ コアへの貢献を歓迎する (コードを分散させない)
3
動作要件
● 自分のサーバーにインストールする場合
○ PHP5.3以降
○ MySQL 5以降
○ サーバーに非公開領域ありを推奨
● 開発元提供のクラウドサービスがある
○ 申し込み画面がフランス語、決済がユーロ
4
コンテンツを管理する
5
コンテンツ毎に、管理画面を作成
● コンテンツに応じた項目、入力方法を提供
○ データの構造をきちんと作る
○ 入力ミス防止、役割分担
● 柔軟な出力方法、再利用性
○ 出力方法は別途設定する
○ JSONやXMLで出力可能
○ 外部システムと連携しやすい
6
デモ用に作ったサイト
飲食店を想定
- 飲食メニュー一覧
- ブログ (新メニューを紹介することもある)
- 問い合わせ
7
コンテンツ毎に、管理画面を作成
商品メニュー
8
コンテンツ毎に、管理画面を作成
問い合わせフォーム
9
コンテンツ毎に、管理画面を作成
メディア
10
コンテンツ管理に重点を置く
ウェブページ
コンテンツと見た目を分離しておくことで、
コンテンツの管理がしやすい
11
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
ウェブサイトを作った後、
更新作業がある
13
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
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
HTMLに出力するだけ?
16
様々なコンテンツの操作方法の例
● JSON で出力する
● XML で出力する
● コマンドラインで投稿、データ取得
● 外部サービス (チャットワーク) にデータを送る
17
JSON, XML の出力
社内のシステム
JSONやXML等で出力することで、
コンテンツを様々な場所で活用できる
ウェブページ
外部サービス
18
JSON で出力
19
XML で出力
20
コマンドラインでの操作
社内のシステム
社内のシステムが既にある場合に活用する
CMSの不具合は影響が大きいので、処理を少なくする
ウェブページ
外部サービス
21
コマンドラインでの操作
コンテンツを作成して保存
22
コマンドラインでの操作
データを取得して、JSON や XML で出力
23
外部サービス連携の例
社内のシステム
チャットワークと連携する例を紹介
ウェブページ
外部サービス
24
外部サービス連携: チャットワーク
25
外部サービス連携: チャットワーク
ログインアラート
問い合わせ受信通知
データを送信
26
見たまま編集できる
CMS が便利では?
27
「見たまま編集」ではない
「ウェブページの更新」だけを考えると手間
↓
再利用しやすい形でコンテンツを作成し、
様々な媒体を一括更新すれば、
全体の手間は軽減され、作業ミスも防げる
28
これらの機能は、
Novius OSだけでなく、
他のCMSでも可能では?
29
FuelPHPフレームワークを採用
● JSON/XML 出力
○ FuelPHP の Rest コントローラ機能
● コマンドライン操作
○ FuelPHP の oil 機能 + OR マッパー
● チャットワーク連携
○ FuelPHP のパッケージを利用
30
フレームワーク採用のメリット
● 開発の効率性
○ 車輪の再発明をしない(よくある機能はFuelPHPで実装)
○ FuelPHPの環境設定、デバッグ機能などを活用
● 学習・運用コスト
○ FuelPHPの他のプログラムとパッケージ共有
○ 別のシステムと連携
○ FuelPHPの書籍で学習できる
31
FuelPHPを学ぶ書籍
● 改訂 FuelPHP入門 (早川聖司)
● 初めてのフレームワークとしてのFuelPHP 改訂
版 (鈴木憲治)
● Learning FuelPHP for Effective PHP
Development (Ross Tweedie)
32
Novius OS が苦手なものは?
33
Novius OS が苦手なもの
ウェブページを単位とする検索
 コンテンツのまとまりごとに、別テーブルで管理
↓
 「メニュー」の中から検索は簡単だが、
 「ページ上の表示内容」の検索は面倒
34
ページ
ブログ
商品メ
ニュー
35
ページ
ブログ
商品メ
ニュー
全体を検索しようとすると、「ページ」「ブログ」
「商品メニュー」のデータを検索しなければならない
36
まとめ Novius OS
● コーポレイトサイト向け
○ 実案件からスタートした、実用的なシステム
● コンテンツの再利用性
○ コンテンツごとの情報設計
○ JSON, XMLなどの汎用的なフォーマット
● 標準的な機能を利用する
○ CMS本体の充実、コードの共有
○ ベースとなるフレームワークFuelPHPの機能を活用
37

Más contenido relacionado

La actualidad más candente

Git extensions ws外部公開用
Git extensions ws外部公開用Git extensions ws外部公開用
Git extensions ws外部公開用CROOZ, inc.
 
20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)
20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)
20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)Wataru NOGUCHI
 
台湾MOPCON2015に初参加してみた I tried the first time participate in the Taiwan MOPCON2...
台湾MOPCON2015に初参加してみた I tried the first time participate in the Taiwan MOPCON2...台湾MOPCON2015に初参加してみた I tried the first time participate in the Taiwan MOPCON2...
台湾MOPCON2015に初参加してみた I tried the first time participate in the Taiwan MOPCON2...Netwalker lab kapper
 
Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)
Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)
Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)Fuminobu Takeyama
 
Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―
Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―
Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―Fuminobu Takeyama
 
Idea+groovy on ubuntu
Idea+groovy on ubuntuIdea+groovy on ubuntu
Idea+groovy on ubuntukyon mm
 
Open Source と Azure CLI と、便利な仲間たち
Open Source と Azure CLI と、便利な仲間たちOpen Source と Azure CLI と、便利な仲間たち
Open Source と Azure CLI と、便利な仲間たちKazumi IWANAGA
 
Introduce Toaster (Toasterのご紹介)
Introduce Toaster (Toasterのご紹介)Introduce Toaster (Toasterのご紹介)
Introduce Toaster (Toasterのご紹介)Hiroshi Sakate
 
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSERuby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSEFuminobu Takeyama
 
楽しいGit外部公開用
楽しいGit外部公開用楽しいGit外部公開用
楽しいGit外部公開用CROOZ, inc.
 
Dockerコミュニティ近況
Dockerコミュニティ近況Dockerコミュニティ近況
Dockerコミュニティ近況Akihiro Suda
 
Moby Project (May 25, 2017, Tokyo)
Moby Project (May 25, 2017, Tokyo)Moby Project (May 25, 2017, Tokyo)
Moby Project (May 25, 2017, Tokyo)Akihiro Suda
 
初めてのAndroid-x86インストール #東海道らぐ
初めてのAndroid-x86インストール #東海道らぐ初めてのAndroid-x86インストール #東海道らぐ
初めてのAndroid-x86インストール #東海道らぐNetwalker lab kapper
 
せっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜせっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜNaruto TAKAHASHI
 
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAMmmer547
 
Tizen の未来と可能性
Tizen の未来と可能性Tizen の未来と可能性
Tizen の未来と可能性Naruto TAKAHASHI
 

La actualidad más candente (20)

Git extensions ws外部公開用
Git extensions ws外部公開用Git extensions ws外部公開用
Git extensions ws外部公開用
 
20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)
20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)
20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)
 
Moby Project
Moby ProjectMoby Project
Moby Project
 
台湾MOPCON2015に初参加してみた I tried the first time participate in the Taiwan MOPCON2...
台湾MOPCON2015に初参加してみた I tried the first time participate in the Taiwan MOPCON2...台湾MOPCON2015に初参加してみた I tried the first time participate in the Taiwan MOPCON2...
台湾MOPCON2015に初参加してみた I tried the first time participate in the Taiwan MOPCON2...
 
Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)
Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)
Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)
 
Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―
Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―
Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―
 
真Drone入門
真Drone入門真Drone入門
真Drone入門
 
Idea+groovy on ubuntu
Idea+groovy on ubuntuIdea+groovy on ubuntu
Idea+groovy on ubuntu
 
Open Source と Azure CLI と、便利な仲間たち
Open Source と Azure CLI と、便利な仲間たちOpen Source と Azure CLI と、便利な仲間たち
Open Source と Azure CLI と、便利な仲間たち
 
Introduce Toaster (Toasterのご紹介)
Introduce Toaster (Toasterのご紹介)Introduce Toaster (Toasterのご紹介)
Introduce Toaster (Toasterのご紹介)
 
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSERuby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
 
楽しいGit外部公開用
楽しいGit外部公開用楽しいGit外部公開用
楽しいGit外部公開用
 
Dockerコミュニティ近況
Dockerコミュニティ近況Dockerコミュニティ近況
Dockerコミュニティ近況
 
Tizenについて
TizenについてTizenについて
Tizenについて
 
Moby Project (May 25, 2017, Tokyo)
Moby Project (May 25, 2017, Tokyo)Moby Project (May 25, 2017, Tokyo)
Moby Project (May 25, 2017, Tokyo)
 
Tizen & Crosswalk
Tizen & CrosswalkTizen & Crosswalk
Tizen & Crosswalk
 
初めてのAndroid-x86インストール #東海道らぐ
初めてのAndroid-x86インストール #東海道らぐ初めてのAndroid-x86インストール #東海道らぐ
初めてのAndroid-x86インストール #東海道らぐ
 
せっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜせっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜ
 
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
 
Tizen の未来と可能性
Tizen の未来と可能性Tizen の未来と可能性
Tizen の未来と可能性
 

Similar a Novius OSの紹介 at CMS fun

JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話Yahoo!デベロッパーネットワーク
 
たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界Yutaka Kachi
 
オープンソースカンファレンス2015 Tokyo/Fall
オープンソースカンファレンス2015 Tokyo/Fallオープンソースカンファレンス2015 Tokyo/Fall
オープンソースカンファレンス2015 Tokyo/FallGennai3
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!Masaki Muranaka
 
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望Tetsuo Yamabe
 
エンタープライズソフトウェア開発とOSS
エンタープライズソフトウェア開発とOSSエンタープライズソフトウェア開発とOSS
エンタープライズソフトウェア開発とOSSHiroshi Nakamura
 
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境Kazumi IWANAGA
 
Ride on Azure! 詳細編
Ride on Azure! 詳細編Ride on Azure! 詳細編
Ride on Azure! 詳細編Keiji Kamebuchi
 
より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化Yusuke Goto
 
ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべKaoru NAKAMURA
 
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Hiroyuki Wada
 
たまにはライセンスの話をしよう 20110211
たまにはライセンスの話をしよう 20110211たまにはライセンスの話をしよう 20110211
たまにはライセンスの話をしよう 20110211Yutaka Kachi
 
オルターブースが実践する .NET Core “ガチ” 開発
オルターブースが実践する .NET Core “ガチ” 開発オルターブースが実践する .NET Core “ガチ” 開発
オルターブースが実践する .NET Core “ガチ” 開発Yuta Matsumura
 
Windows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたTakashi Kanai
 
FirefoxとMozillaでのSVGの取り組み
FirefoxとMozillaでのSVGの取り組みFirefoxとMozillaでのSVGの取り組み
FirefoxとMozillaでのSVGの取り組みMakoto Kato
 
エンジニアという職業について
エンジニアという職業についてエンジニアという職業について
エンジニアという職業についてHisatoshi Kikumoto
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンスKaoru NAKAMURA
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理Tadashi Miyazato
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今Yuki Igarashi
 

Similar a Novius OSの紹介 at CMS fun (20)

JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
 
たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界
 
オープンソースカンファレンス2015 Tokyo/Fall
オープンソースカンファレンス2015 Tokyo/Fallオープンソースカンファレンス2015 Tokyo/Fall
オープンソースカンファレンス2015 Tokyo/Fall
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
 
エンタープライズソフトウェア開発とOSS
エンタープライズソフトウェア開発とOSSエンタープライズソフトウェア開発とOSS
エンタープライズソフトウェア開発とOSS
 
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
 
Ride on Azure! 詳細編
Ride on Azure! 詳細編Ride on Azure! 詳細編
Ride on Azure! 詳細編
 
より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化
 
ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべ
 
20230128.pptx
20230128.pptx20230128.pptx
20230128.pptx
 
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
 
たまにはライセンスの話をしよう 20110211
たまにはライセンスの話をしよう 20110211たまにはライセンスの話をしよう 20110211
たまにはライセンスの話をしよう 20110211
 
オルターブースが実践する .NET Core “ガチ” 開発
オルターブースが実践する .NET Core “ガチ” 開発オルターブースが実践する .NET Core “ガチ” 開発
オルターブースが実践する .NET Core “ガチ” 開発
 
Windows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみた
 
FirefoxとMozillaでのSVGの取り組み
FirefoxとMozillaでのSVGの取り組みFirefoxとMozillaでのSVGの取り組み
FirefoxとMozillaでのSVGの取り組み
 
エンジニアという職業について
エンジニアという職業についてエンジニアという職業について
エンジニアという職業について
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 

Novius OSの紹介 at CMS fun