Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Novius OSの紹介 at CMS fun

950 views

Published on

Published in: Internet
  • スライドの補足: チャットワーク連携の詳細です > Novius OSを題材に、FuelPHPでチャットワークAPIを使ってみよう #PHP #FuelPHP https://codeiq.jp/magazine/2014/03/6585/
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Novius OSの紹介 at CMS fun

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

×