20151206 hamamatsu handson

Preview:

Citation preview

2015年12月6日シックス・アパート株式会社

長内 毅志

Movable Type クラウド版ハンズオンセミナー

•長内毅志

–2011年~ Movable Typeプロダクトマネージャー

–2014年~ ディベロッパーリレーションマネージャー

–ダンス、ジョギング、家族が大好きです。

まず最初に

–アカウント情報を元に、アクセスできるか確認しましょう

アジェンダ

• Movable Type の特徴

• 環境構築に関する参考情報

• 管理画面と基本操作

• Movable Type のテンプレート

• テーマを作成する

• クラウド版独自の機能を理解する

• プラグインとテーマ

Movable Type の特徴

Movable Typeとは

• 10年以上利用されているブログ・CMS(通称MT)

• MTタグ組み合わせでロジック生成

• テンプレートとDBが完全に分離している

(MVCライク)

• プラグインで拡張可能

• どんなコードも生成可能

最新10件のブログ記事をリンク付きで生成

<ul> <MT:Entries limit="10"> <li>

<a href="<MT:EntryPermalink>"><MT:EntryTitle>

</a></li>

</MT:Entries> </ul>

特徴1

•静的生成でhtmlを出力

(スタティックパブリッシング)

•動的生成も対応可能

(ダイナミックパブリッシング)

•動的、静的生成どちらも対応することで、様々なサー

バー構成に対して柔軟に対応できる

特徴2

•柔軟なテンプレートタグ

–四則計算なども可能

•Data API でデータを利用することが可能

–データはJSON形式で出力、RESTで取得可能

–独自アプリも開発可能

Data APIを利用したアプリ例:Movable Type Writer

Data API を利用したアプリ例:Movable Type for iOS

Data API を利用したサイト実装例:MAKEPO

特徴3

•中小企業から中-大規模企業、官公庁まで幅広い導

入実績

事例集

•http://www.sixapart.jp/business

Movable Type の環境構築に

関する参考情報

構造

OS

ウェブサーバー

Perlモジュール

PerlPHP

Movable Type

DB

公式ドキュメント

•http://www.movabletype.jp

インストールについて(専用サーバー)

• http://www.movabletype.jp/documentation/

専用サーバーへのインストール

•http://knowledge.sakura.ad.jp/

beginner/2074/

参考:CPANとは

•Perlのモジュール群

•ほとんどがGPL・Apache License

基本的な構成

公開サーバー兼CMSサーバー

管理者

閲覧者(サイト訪問者)

ステージング環境

ステージングサーバー兼

CMSサーバー

公開サーバー

管理者 閲覧者(サイト訪問者)

冗長構成

CMSサーバー

公開サーバー

(冗長構成)

ロードバランサ

クラウド環境

–CMSサーバーをVMイメージで構築(Amazon EC2など)

–公開ページはコンテンツサーバーで構築

–AmazonS3 (Azure Webサイト) など

VMサーバーAmazonEC2など

Amazon S3など

CDNを利用した構成

–CMSサーバーはVMイメージ n個で冗長構成

–公開コンテンツをストレージサーバーへ出力

–CDNを利用して世界各地にキャッシュ

DBサーバー

CDNサーバー

Movable Typeの管理画面と

基本操作

管理画面

ウェブサイトとブログの違い

• ウェブサイト…

「サイト」「ホームページ」全体を管理する仕組み

• ブログ…

ウェブサイトの中にある、更新頻度の高いコンテンツを管理する仕組み

「ブログ」「ニュースリリース」「IR情報」

「新製品紹介」など

参考リンク3:http://www.movabletype.jp/documentation/mt6/websites/

1つのWebサイトを構成する例

複数のWebサイトを構成する例

ダッシュボード

記事の作成

記事 => 新規、もしくは新規作成

ハンズオン

•最初の記事を投稿してみましょう

ハンズオン

•以下のデータをMTにインポートしてみましょう

•https://goo.gl/VRErKo

•ブラウザからローカルに保存して、インストールを行

います

•もしくはテキストデータをエディタにコピーして保存し

ます

データのインポート

ツール => 記事のインポート

Movable Type の

テンプレート

テンプレートとは

•Movable Typeのデータベースに保存されている各種

のデータを、htmlとして出力するための仕組み

DBのオブジェクトをタグで出力

<MTEntryTitle>

<MTEntryBody>

<MTEntryMore>

MTタグの実際

ハンズオン

•Movable Type のテンプレートを確認しましょう

デザイン => テンプレート

テンプレートの説明

• インデックステンプレート

–自由にどこでも単一ページを出力

• アーカイブテンプレート

–特定のルールに従い複数ページを出力

• テンプレートモジュール

–パーツ化して様々な形で共有使用

• システムテンプレート

–付属システムの出力部分を調整

インデックステンプレート

•ブログ・ウェブサイト全体に関わるファイルを扱うテン

プレート

•サイトに一つしか存在しないファイルを扱う事が多い

例:CSS, JavaScript, トップページなど

アーカイブテンプレート

•更新ごとに増加するデータページをまとめるテンプレート。

•出力ルールを設定できる(カテゴリ一覧ページを作る、月別

ページを作る、など)

• 1テンプレートで複数の種類のファイルを出力できる

テンプレートモジュール

•様々なテンプレートで共通して使う、部品のためのテ

ンプレート

•ヘッダーやフッターなど、全ページ共通で使用する場

合に使う

システムテンプレート

•コメントのプレビューや検索画面など、特定の画面の

デザインを設定するためのテンプレート。

•MTのインタラクティブページを管理する

•「ブログ」構築以外の場面では、使用頻度は高くない

かも

ウィジェット

• サイドバーなどで利用するコンテンツを細かく部品化し、管理画面

上でドラッグ・アンド・ドロップして管理できるもの。

• テンプレートモジュール以上に、細かいパーツを管理

• 昔はブログパーツなどによく使われていました

ハンズオン

•トップページの記事件数を、5件に変更してみましょう

•設定 => 投稿 => 表示される記事数

• デザイン => テンプレート =>

インデックステンプレート => メインページ

• <mt:Entries limit="5" search_results="1">

–値を5に変更

タグの書き方

•下記のどれでもOK

–<$MTEntryTitle$>

–<MTEntryTitle>

–<mt:entrytitle>

–<MT:EntryTitle />

ハンズオン

• テンプレートモジュール => 記事の詳細 3行目付近

<$mt:EntryTitle$>を、以下のように書き換えてみましょう

– <$MTEntryTitle$>

– <mt:EntryTitle>

• 書き換えたら、保存=>再構築を行い、出力データを確認してみまし

ょう

ハンズオン

• トップページの記事一覧を、タイトルだけの表示に変えてみましょう

• 成功したら、元に戻しておきましょう

解説

• デザイン => テンプレート =>

モジュールテンプレート => 記事の概要

<MTIgnore><div class="asset-content entry-content" itemprop="articleBody">

<$mt:EntryBody$></div><div class="entry-more-link"><a href="<$mt:EntryPermalink encode_html="1"$>"

itemprop="url">ブログ記事を読む</a></div>

</MTIgnore>

ハンズオン

•記事数を合計して

–10以上ある場合は「記事数:10件以上」

–10未満の場合は「記事数:10件未満」

と表示してみましょう

(条件分岐)

• <div id="index-main" class="main" role="main">

<MTSetVarBlock name=“num”>

<MTBlogEntryCount></MTSetVarBlock>

<MTIf name=“num” ge=“10”>

記事数:10件以上

<MTElse>

記事数:10件未満

</MTIf>

リファレンス

•タグリファレンス

–http://goo.gl/CDlmDI

•変数の定義

–http://goo.gl/crKTYI

•条件分岐

–http://goo.gl/2hU5Ux

ハンズオン

•テンプレートを利用して以下の計算をしてみましょう

–10+3

–10-3

–10x3

–10÷3

<MTSetVar name="first" value="10">

<MTGetVar name="first" value="3" op="+">

<MTGetVar name="first" value="3" op="-">

<MTGetVar name="first" value="3" op="*">

<MTGetVar name="first" value="3" op="/">

リファレンス

•変数の初期値に対して、valueモディファイアとopモデ

ィファイアで計算

•MTタグで利用できる演算関数

–http://www.movabletype.jp/documentation/mt6/design/templat

es/calculation.html

ハンズオン

•記事データ内にある「宝石」という単語を、すべて「ほ

うせき」とひらがなに置換しましょう

•記事編集画面の右上にある検索ボタンから「宝石」を

検索

検索・置換画面から文字を置換

•検索、置換は様々なデータに対応

–(記事、ウェブページ、テンプレート、コメントなど)

Movable Typeのテーマを

作成する

テーマについての説明

•テーマとは

–デザインなどをワンクリックで変更する仕組み

–カスタムフィールドなどもまとめて設定できる

画面

•デザイン => テーマ

ハンズオン

•テーマを変えてみましょう

–「Eiger」を選んで適用してみましょう

–再構築後、デザインを確認してみましょう

–確認後、テーマ「Rainier」を選んでデザインを変えましょう

ハンズオン

•ハンズオン用テーマをインストールしてみましょう

• デザイン => テーマ から

ハンズオン用テーマを適用する

テーマ画像

ハンズオン

•トップページの記事一覧を、最新5件表示するように

変更してみましょう。

解説

タイトル

• テンプレート => インデックス => メインページ

<article>

<h2>Introduction to respo </h2>

=>

<article>

<h2><MTEntryTitle></h2>

日付と著者名

<div class="article-info">Posted on 2013/05/14 by Joe Bloggs</div>

<div class=“article-info”>Posted on <MTEntryDate format=“%Y/%m/%d”> by <MTAuthorName></div>

参考情報

•日付に関するテンプレートのモディファイヤ• http://www.movabletype.jp/documentation/appendices/date-formats.html

本文

<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod ……</p>

=>

<p><MTEntryBody></p>

続きを見る(Read More)

<a href="#" class="button">Read more</a>

=>

<a href=“<MTEntryPermaLink>" class="button">Read more</a>

ループ処理

<section id="content">

<MTEntries limit=“5”>

<article>

先ほど修正したコード

</article>

</MTEntries>

</section>

ハンズオン

•ブログの記事詳細を見れるようにしましょう。

変更場所

タイトル

• テンプレート => アーカイブテンプレート

=> 記事

<article>

<h2>Introduction to respo </h2>

=>

<article>

<h2><MTEntryTitle></h2>

日付と著者名

<div class="article-info">Posted on 2013/05/14 by Joe Bloggs</div>

<div class="article-info">Posted on <MTEntryDate format=“%Y/%m/%d”> by <MTAuthorName></div>

本文

<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod ……</p>

=>

<p><MTEntryBody>

<MTEntryMore>

</p>

ハンズオン

•ブログのタイトル名を変更しましょう

• テンプレート => インデックス => メインページ

• テンプレート => アーカイブテンプレート

=> 記事

<h1><a href="<mt:BlogURL>">CompanyName</a></h1>=><h1><a href="<mt:BlogURL>“><MTBlogName></a></h1>

ハンズオン

•<head>内の<title>を修正しておきましょう。

• テンプレート => インデックス => メインページ

<title>respo - Free CSS Template by ZyPOP</title>

=>

<title><MTBlogName></title>

• テンプレート => アーカイブテンプレート

=> 記事

<title>respo - Free CSS Template by ZyPOP</title>=><title><MTEntryTitle> - <MTBlogName></title>

ハンズオン

•すべての修正が終わったら、全体を再構築してみま

しょう

•ブログデザイン、記事共に正常に見えていますか?

ハンズオン

•ブログの記事を数件、適当に入力してみましょう

•意図通りにトップページ、記事ページが作成されてい

ますか?

ハンズオン

•今回作成したテーマを、名前をつけて保存しておきま

しょう。

•ツール => テーマのエクスポート

解説

•出力方式を「テーマディレクトリのインストール」として

保存してみましょう

•テーマが新しく選択できるようになっていますか?

解説

•「zip形式アーカイブでダウンロード」を選び、ローカル

にダウンロードしてみましょう

•ダウンロードしたテーマは、他のMovable Type でも

使えます。

クラウド版独自の機能を理解する

Movable Type クラウド版とは

•シックス・アパートがサーバー管理

•管理画面の動作が速く快適

•常に最新版を使用可能

•テクニカルサポート付き

•独自機能

MTクラウド版の構成

•nginx+PSGI

–管理画面、再構築ともに最適化されている

•各種機能を実装

–後述します

nginxとは

• ロシアで開発されたウェブサーバー

• Apacheに続く第二位のシェア(netcraft社、2012/03)

• 軽量、高速。メモリ使用量が少ない

• デメリットもある(.htaccessが使えないなど)

Movable Typeクラウド版

オリジナル機能の説明

MTクラウドのドキュメント

•http://www.movabletype.jp/documentation/cloud

php、cgi

•phpは一部利用可能

–phpinfoは制限

–MySQLへのアクセスは不可能

•CGI,plファイルは利用不可能

cronの実行間隔

•5分おきに実行します

サーバー配信機能

サーバー配信機能とは

•MTクラウドで生成したコンテンツを外部のサーバー

へ配信して公開する機能

•MTクラウドをステージング環境として利用可能

•FTP(S)で配信

サーバー配信機能

•設定=>サーバー配信

Basic認証

Basic認証でできること

•公開しているウェブサイト・ブログに対してBasic認証

の設定ができます

•ファイルに対しても設定できます

•複数設定が可能です

Basic認証

•システム=>クラウドサービス=>Basic認証

ハンズオン

•ウェブサイト・ブログにBasic認証をかけてみましょう

•サイトパスはMTクラウドで利用しているドメインを基

点として

「/」から相対パスで指定します

設定例

設定例 認証設定したいURL 設定内容

サイト全体に Basic 認証を設定したい

http://www.example.com/ /

一部のディレクトリにBasic 認証を設定したい

http://www.example.com/secret/ /secret/

一部のファイルにBasic 認証を設定したい

http://www.example.com/secret/file.html

/secret/file.html

利用しているMTクラウドのドメインが「www.example.com」の場合

HTTPリダイレクト

HTTPリダイレクトとは

•あるディレクトリやファイルへのアクセスを

、自動的に他のURLに転送する仕組み

HTTPリダイレクト

•システム =>

クラウドサービス => HTTPリダイレクト

ハンズオン

•ウェブサイトのindex.htmlをtest.htmlへリダイレクトし

てみましょう。

•例 www.example.com/inde.html

=>www.example.com/test.html

環境のリストア

環境のリストアでできること

•MTクラウドおよび公開済みのWebサイトのデータをす

べて任意の時点の状態に戻す機能

環境のリストア

•システム => クラウドサービス =>

環境のリストア

ハンズオン

•ウェブサイト・ブログで記事を書いた後、バックアップ

データからデータリストアを行ってみましょう

•直前に書いた記事が消え、以前の状態に戻っている

ことが確認できますか?

管理画面のセキュリティ設定

管理画面のセキュリティ設定とは

•管理画面のURLを任意に変更することができます。

•システム => クラウドサービス =>

セキュリティ

ハンズオン

•管理画面のURLを任意に変更してみましょう

•変更後、一度ログアウトして再ログインしましょう

ハンズオン

•管理画面にBasic認証を設定してみましょう

•管理画面のURLを元に戻しておきましょう

MT環境変数

MT環境変数とは

•MTの環境変数を管理画面から設定するこ

とができます。

–http://www.movabletype.jp/documentation/append

ices/config-directives/

•設定不可能な環境変数もあります

–http://www.movabletype.jp/documentation/cloud/specific

ations/config-directives.html

•システム => クラウドサービス =>

MT環境変数

ハンズオン

•環境変数

「AssetFileExtensions」にjpgと設定し、.jpg

ファイル以外のアップロードを禁止してみ

ましょう

• .jpgファイル以外がアップロードできるか試

してみましょう

参考

•AssetFileExtensions

–http://www.movabletype.jp/documentation/appendices/config-

directives/assetfileextensions.html

その他の機能

ディスクの使用量

•現在利用しているディスク容量が一目でわ

かるサービス

•システム =>

クラウドサービス =>

ディスクの使用量

自動アップデート

•MTを自動的に最新版にアップデートする

機能。無効にすることも可能。

2つの新機能

• IP制限

–管理画面、公開サイトへのアクセス制限が可能

•マルチドメイン対応

–S4i、S4g以上、10ドメインまで利用可能

サンドボックスサービス

サンドボックスサービスとは

•MTクラウドで構築した仮想マシンデータを

複製して使えるサービス

サービス利用料金ご契約中のプランの月額料金1カ月分(+消費税)

サンドボックス利用可能期間

お申し込み月の翌月末日まで

申し込み期限

毎月25日まで(25日が休業の場合は直前の前の営業日)※ 26日以降のお申し込みは翌月1日のお申し込み扱いとなります。

作成可能なサンドボックスの数

Movable Type クラウド版 1契約につき1つまで

お申し込み・お支払い方法

•http://www.sixapart.jp/movabletype/cloud/sandbox.

html

Movable Type

ソフトウェア版との違い

クラウド版でできて、ソフトウェア版でできないこと

•サーバー配信機能

•Basic認証

•HTTPリダイレクト

•環境リストア(定期バックアップ)

•自動バージョンアップ、他

ソフトウェア版でできて、クラウド版でできないこと

•ブログの公開パスに制限があります

–クラウド版は「/data/file/static」以下のみ

–FTPからアクセスすると「/static」ディレクトリのみ確

認できます

.htacessが使えない

• .htaccessの設定はできない

•各種の代替機能を実装

–リダイレクト

–Basic認証

•Movable Type のプログラムファイルの改変はできま

せん。

–alt-search、alt-tmpl などの設定は可能

•サーバーへのSSH接続は不許可

–クラウド版は許可していません

•一部環境変数は使用できない

–StaticWebPathなどのファイルシステム関連

–SQLSetNamesなど、DB関連

その他の制限事項

•http://www.sixapart.jp/movabletype/cloud/specifica

tion.html

ソフトウェア版からの

移行時のポイント

留意点

•DBデータレベルの移行はできない

–MTの標準機能「バックアップと復元」を基本とした移行を

–移行後は「blogId」の変更に注意

•MT5のサイトデータ移行

1. MT5のバックアップデータをMT5でバージョンを合わせて復元

1. バージョンに注意(5.13=>5.13など)

2. MT5からMT6へバージョンアップ

3. MTクラウドへ投入

コメントやトラックバックがない場合

•MTのテーマ機能+データのエクスポートによる移行も

選択肢

移行用のテンプレート

•「バックアップと復元」や「エクスポート」が使えない場

合、テンプレートを利用したデータ作成という手があ

–https://github.com/movabletype/mt-

recipes/blob/master/Export%20entry%20data%20in%20MT%20for

mat.md

留意点

•nginx+PSGIという環境

–Apacheの機能を多用したサイトの移行には注意が必要

–MTクラウドのリダイレクト・ベーシック認証をうまく活用

価格

IDCフロンティアプラン

GMOプラン

購入方法(仕入方法)

購入経路

エンドユーザー様

UNIBaaSECバイヤーズ

ソフトバンクC&S

Movable Type クラウド版

制作・開発会社

購入方法

1. ECバイヤーズ(ECサイト)からの購入

2. 既存の取引先からの購入

3. UNIBaaS参加企業からの購入

ECバイヤーズ(ECサイト)からの購入

• http://www.ecbuyers.com/sixapart/catalog/?cPath=6_91&prmcd=mt6_

cl_sa_20131017

ECバイヤーズとは

•ソフトバンク・テクノロジー(株)が運営するECサイト

•個人でも企業でも購入可能

•標準価格での販売

既存の取引先からの購入

• MTクラウドは、ソフトバンク コマース&サービス株式会社を経由し

て、一般に流通していますので、ソフトバンク コマース&サービス

株式会社と取引口座を持つ販売会社から購入可能

• 販売価格は各販売会社へご確認ください

ソフトバンク コマース&サービス社様からの仕入れ

• http://bbwebmarketing.jp/

UNIBaaS参加企業からの購入

• http://www.sixapart.jp/pronet/unibaas.html

UNIBaaSとは

• UNIBaaSは、シックス・アパートが提供する販売支援プラットフ

ォームです(CRM+MTクラウドのセットアップ機能)。

• UNIBaaSは、シックス・アパートのパートナープログラム「

ProNet」にご参加いただいている企業様であれば、参加可能

です。

UNIBaaSの特徴

• 利用中のバージョンを継続して利用可能

(バージョンアップの回避)

• サンドボックス機能を12時間に限り何度でも無料で使用可能

プラグインとテーマサイト

• http://plugins.movabletype.jp

事業会社による各種のソリューション

• http://www.sixapart.jp/movabletype/solutions/

GitHub

•mt-theme-XXXX

•mt-plugins-XXXX

プラグインの開発方法

• https://github.com/movabletype/Documentation/wiki/Japanese-

developer-guide

テーマの開発

• http://www.movabletype.jp/documentation/#designer-guide

人気のあるプラグイン(Movable Type プラデミー賞)

• http://www.movabletype.jp/blog/pludemy-goes-to.html

Data APIの概要

Data APIとは

•Movable Type のデータをREST形式で取得

•言語問わずデータ表示、更新、追加などの操作が可

Data APIのドキュメント

•https://github.com/movabletype/mt-data-api-sdk-

js/wiki

リファレンス

ハンズオン

•最新の記事リストをREST URI 経由で取得してみまし

ょう

–https://github.com/movabletype/Documentation/wiki/data-

api-entries-list

• http://(your_domain)/mt/mt-data-

api.cgi/v2/sites/(blog_id)/entries

ハンズオン

•取得した最新記事のJSONデータを、<ul><li>タグをつ

かって、タイトルだけリスト表示してみましょう

–今回はJavaScript(SDK)を使います

DataAPI

• 以下のファイルを取得、保存

–https://goo.gl/BPwjBe

–デザイン => テンプレート => インデックステンプレート => datalist (新

しくテンプレートを作る)

• 「datalist.html」などの名前をつけ、保存・再構築

Data APIの操作

• ヘッダー内でJSライブラリを読み込み

<script type=“text/javascript”

src=“MTのスタティックパス/data-api/v2/js/mt-data-api.js">

</script>

• DataAPIのオブジェクトを生成

• エンドポイントをつかってデータを取得、加工

•7. 質疑応答

MTコミュニティとイベント

•MT蝦夷

•MT東北

•MT東京

•MTなごや

•MT愛媛

•MT鹿児島

•MT関西

•MT広島

•MT福岡

•MT長野

• MT ∗/ NIIGATA(新潟)

MTDDC Meetup TOHOKU 2015

•6月6日(日) 仙台で開催

MTDDC Meetup TOKYO 2015 開催!

•2015年11月28日(土)東京・品川

Any Questions?