qcon 201610 ランチセッション drupalについて · drupalの特徴2...

29
オープンソースCMS Drupalの紹介 株式会社メノックス Druapl事業部 井村 邦博 20161024

Upload: others

Post on 04-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

オープンソースCMS Drupalの紹介

株式会社メノックス  Druapl事業部   井村 邦博 2016年10月24日

Page 2: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

自己紹介名前:井村邦博

会社:株式会社メノックス (豆蔵ホールディングスグループ)

所属:Drupal事業部

経歴:28年間、IT業界で技術者として従事   さくらインターネット公式ブログ

「さくらのナレッジ」でDrupalの記事を連載中。

2

Page 3: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

株式会社メノックスの紹介会社:株式会社メノックス(豆蔵ホールディングスグループ)

設立:1983年12月

従業員数:約150名

事業内容:

 Android技術、クラウド技術の強みを活かしたシステム開発

 技術支援サービス

 Drupalを利用したWebシステムのソリューション

3

Page 4: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

Drupalとは

4

Page 5: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

Drupalとは

Drupalは、ベルギー人のDriesが開発したオープンソフトウェアのCMS(コンテンツ・マネジメント・システム)です。

PHP言語で記述され、各種データ格納にはデータベースを利用しています。(MySQL, PostgreSQL, SQLite, MongoDBなど)

現在、2015年11月にリリースされたDrupal 8が最新バージョンとなります。

5

Page 6: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

Drupalの特徴

1. 高いセキュリティ、高いパフォーマンス

2. 多機能によるマルチサイト基盤

3. コミニティ活動が活発

6

Page 7: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

Drupalの特徴1❖ 高いセキュリティ、高いパフォーマンス

❖ ホワイトハウスのサイトを初め、NASAで利用されています。

❖ ドイツ共和国・フランス共和国の公式サイト、ポーランド内閣府で利用されています。

❖ オーストラリア政府では、2014年に電子政府対応として政府機関のサイトはすべてDrupalで進める方針を打ち出しました。

7

Page 8: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

Drupalの特徴1❖ 2016年10月 NasdaqがDrupal 8を採用

8

Page 9: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

Drupalの特徴2❖ 多機能によるマルチサイト基盤

❖ 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための業務機能まで)を利用して、コーポレートサイト、ポータルサイト、eコマースサイト、キャンペーンサイトなど、さまざまサイトに利用できます。

❖ 多言語対応、マルチサイトにも対応しています。

❖ ディストリビューションという形で特定サイト向けのテンプレートを作成してデリバリーできます。

❖ グローバル企業のJonson & Jonsonでは、約7,000サイトをDrupalで運用。Pfizer製薬では、約1,000サイトを運用しています。

9

Page 10: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

Drupalの特徴3❖ コミニティ活動が活発

❖ 230の国、181言語で利用されています。

❖ オープンソースを支える多数の開発者がいます。

❖ 基本機能(core)の開発者だけで2000人以上

❖ 年2回、アメリカとヨーロッパでカンファレンス開催。アメリカでは3000人以上が参加します。

❖ 運営母体としてDrupal Associationの存在

❖ 年間約450万ドルの収入があり、Drupalの普及や技術者の育成に使われている

10

Page 11: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

CMSのリーダ2016年9月のGartner

によるCMSランキングでは、唯一オープンソフトウェアでリーダーとして位置づけられています。

Acquiaは、DriesがCTOを勤める米国企業です。

11

Page 12: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

DrupalはCMS?Drupalは、Webページ作成するCMSという枠を超えた、多数の機能を実現する仕組みがあり、業務システム構築のWebシステムフレームワークと言えます。

例えるなら、Ruby On Railsのようなイメージです。しかも、Drupalは、すでに多数あるモジュールを組み合わせることで、プログラミングなしで構築が可能です。

12

Page 13: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

日本の状況❖ 日本語情報が少なく、「知っている人が少ない」

❖ Drupalの洋書は数百冊あるが、日本語の書籍は1,2冊(しかも古い)

❖ 2016.6 NTTデータ先端技術株式会社がDrupalの日本語翻訳サイトを立ち上げ

❖ 日本での大規模サイトの事例

❖ 国立国会図書館による東日本大震災データベース「ひなぎく」のサイト

❖ 毎日新聞社の毎日.jpのサイト

❖ 日本政府では2015年にCIOポータル(IT総合戦略室)のサイトを公開

13

Page 14: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

Drupalのシステム

14

Page 15: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

❖ Drupalは、Coreとモジュールが完全に分離(Coreをハックするな!)

❖ Coreは小さく、機能を実現するにはモジュールを利用

Drupalの構造

Drupal Core(基本コンテンツ機能、ユーザ管理、セッション管理、URL、ローカライズ、ログ、テンプレート、データベース)

テーマ

Drupalシステム関数、Hook関数

ノード ブロック メニュー タクソノミー

組み込みモジュール

各機能モジュール

15

Page 16: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

RDBMSとDrupalの機能比較

RDBMS Drupalデータベース Drupalサイト

マルチサイト対応も可能

テーブル(表)コンテンツタイプ自由な項目定義

レコード(データ)ノード

ノードにはユニークなIDが付与

表結合 リレーションモジュールで対応

マスタデータ タクソノミー

SQLの問い合わせ(select) Viewsモジュールで対応

16

Page 17: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

Drupalサイト❖ 1サイトは、Drupalシステムと1つのデータベースに対応

❖ 複数サイトを構築する場合は、Drupalシステム1に対して、複数のデータベースに対応させたマルチサイト構成も可能

❖ DrupalシステムN個でデータベースは1という対応も可能(Webリクエストの分散対応)

17

Page 18: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

コンテンツタイプ❖ リレーショナルデータベースのテーブル(表)

❖ 複数のテーブルの登録が可能

❖ 自由な項目定義が可能

❖ 追加モジュールをインストールすることでコンテンツタイプ間でのリレーション対応も可能

❖ モジュールを開発することで、独自のテーブルを作成し業務モジュールのような開発も可能

18

Page 19: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

フィールド管理❖ 自由なフィールド定義

❖ モジュールを追加することで新しいフィールドの型を追加

❖ 例えば、日付型、URL型、YouTube型…

❖ フィールド単位に多言語が可能(URLは多言語不要、テキストは多言語化)

❖ コンテンツタイプ間でフィールドを共通化可能

❖ コンテンツマネジメントシステムではなく、フィールドベースマネジメントシステムとも言えます。

19

Page 20: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

タクソノミー❖ 統一した語彙を登録して管理する機能(表示順番も指定可能)

❖ タクソノミーは階層化が可能

❖ 引用した語彙でまとめて集計することが容易

❖ タクソノミー自体も自由にフィールドを追加することが可能

20

Page 21: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

タクソノミーの例❖ iOS ← スマートフォンのOSでの分類

❖ iPhone 6 ← 機種毎の分類

❖ iPhone 6s

❖ iPhone SE

❖ Android

❖ Galaxy ← 会社毎の分類

❖ Note

❖ S7

❖ Xperia

❖ X

21

Page 22: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

ブロック❖ 表示領域を複数の「ブロック」による、ブロックにコンテンツを配置します

❖ ブロックは、ヘッダ・フッタ・メニュー・左サイドバー、コンテンツ表示領域、右サイドバー、バナー表示など

❖ 表示するページによりブロックの表示・非表示、表示する内容の変更が可能(コンテンツの再利用が容易)

ヘッダ

フッタ

メニュー

左サイドバー

右サイドバー

コンテンツ

バナー

22

Page 23: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

Drupalの運用

23

Page 24: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

アップデート

❖ Coreのアップデートは2,3ヶ月に1回のペースでリリースされている

❖ Coreの脆弱性は発表と同時にリリースされます

❖ 半年ごとに新規機能が追加されたマイナーバージョンアップが実施されます

24

Page 25: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

運用ツール❖ drushというコマンドラインからDrupalを操作できるコマンドラインツールがあります

❖ 事前に手順が作れ、ミスや漏れが少なく操作ができます

❖ ブラウザの画面から管理画面を操作するのではなく、ほとんどのコマンドが利用可能

❖ 例 システムバックアップ、データベースバックアップ、モジュールのインストール、メンテナンスモードの移行、キャッシュのクリア、ノード間での同期などなど

25

Page 26: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

Drushでのアップデート作業の例

#バックアップ (Drupalシステム、データベース)drush archive-dump drush sql-dump --result-file=$HOME/backup/dump.sql

#メンテナンスモードをON (サイトがメンテナンス中と表示される)drush vset maintenance_mode 1 --yes

#アップデート (通常、1、2分)drush up ( —security-only)

#メンテナンスモードをOFFdrush vset maintenance_mode 0 --yes

26

Page 27: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

Drupalの今後

27

Page 28: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

ヘッドレスCMS

❖ デカップルド・アーキテクチャを採用して、バックエンドにDrupalを利用

❖ Drupalのテーマで対応しているHTML+CSS(ヘッド)を使わず、コンテンツ管理に特化して、APIによるコンテンツ配信(ヘッドレスCMSと呼ばれる)

❖ マルチデバイス対応、IoTなどに利用

28

Page 29: QCon 201610 ランチセッション Drupalについて · Drupalの特徴2 多機能によるマルチサイト基盤 10,000を超える追加モジュール(基本機能の拡張から、部屋予約するための

今後のイベント予定

❖ 日本でのイベント

❖ 2017年1月14日 Drupal Camp in Japan (東京開催)

❖ 2017年2月 ビジネス向けのイベント企画中

29