EC-CUBE Ver2とVer3 どう違う? 構築と運用の実際

Preview:

Citation preview

事例とともにご紹介

Ver2 と Ver3 どう違う? 構築と運用の実際

株式会社システムフレンド朝山俊雄

名前:朝山俊雄

著書: EC-CUBE 公式完全ガイド(翔泳社)

所属:株式会社システムフレンド @ 東京    (本社は広島市)

おもな食べもの:お好み焼き

そろそろ 2 系から 3 系にバージョンアップしたい人向けの話

本日のテーマ

お引越し

事例:広島の老舗のケーキ屋さん

事例:広島の老舗のケーキ屋さん ケーキ宅配

<サイト名>西洋菓子 無花果(いちじく)

<バージョン>Ver2.4

<特長>焼き菓子通販と、ケーキの地域宅配の

2つの EC-CUBE を運営

クール便や営業日についてのカスタマイズあり

Ver3 リプレースプロジェクト進行中

そもそも、どうして Ver3 にお引越ししたいのか?

Ver3 系にバージョンアップしたい理由

PC

ケータイ

PC

スマフォ

ケータイ

レスポンシブ

Ver2.4 Ver2.13 Ver3.0

理由:スマフォやタブレットのアクセス増に対応したい。

Ver3 系にバージョンアップしたい理由

理由:使いたいプラグインがあるから。

プラグイン機能×

プラグイン機能〇

プラグイン機能◎

Ver2.11 以前 Ver2.12-2.13 Ver3.0

バッティングなど

問題がまだある

個別カスタマイズと併用

カスタマイズはプラグイン中心

本体の直接カスタマイズ

は推奨されない

バージョンアップが

容易に

個別にプログラムをカスタマイズ

する

Ver3 系にバージョンアップしたい理由

2011 2012 2013 2014 2015 2016 2017 2018

Ver2.0 ~ 2.4

Ver2.11 ~ 2.13

Ver3.0

▲2014 年 9 月 サポート終了

▲2017 年 7 月 サポート終了

EC-CUBE のサポートが終わる。 PHP のバージョンの問題など。

PHP のサポート5.2: 2011 年 1 月終了 → EC-CUBE2.4 以前は PHP5.2 で稼働しているサイトが多い5.4: 2015 年 9 月終了 → EC-CUBE2.12 以前は PHP5.4 で稼働しているサイトが多いPHP のバージョンをあげるためにいくらか手を入れる必要がある。理由: EC-CUBE や PHP のサポートが終了しているから。

バージョンアップは簡単?

EC-CUBE の各バージョンについて 

Ver2.0-2.4

Ver2.11-2.13

Ver3.0

壁(ごっつ目)

2.4 と 2.11 の間には結構大きな隔たりがあり、カスタマイズしている場合は作り直しが必要だった。

とはいえ、デザインとかカスタマイズした機能を多少は流用できた。

2.4→2.11  と  2.11→2.12  は移行ツールがあって、データを移行できた。

データは移行できそう。

アーキテクチャから変更されているので、カスタマイズした機能やプラグインは互換性なし。

壁(小さ目)

EC-CUBE のバージョンアップについての現実

テンプレート

カスタマイズコード

2 系の資産はそのままは使えない

商品データ

コストがかかりますのでせっかくなら未来を見据えたリニューアルにしたい

実際の手順について

本日のテーマ

お引越し

お引越しの手順

Ver3 での新サイト構築は簡単? 面倒?

Ver3 の運用方法は変わる? 担当者はとまどう?

データ移行ってできる?

新サイト準備

運用方法レクチャー データ移行 オープン

1・新サイトの構築

1-1 ・サーバの準備

1-2 ・デザインの移植

1-3 ・カスタマイズ内容の移植

1-1 ・サーバの準備

最新の OS でさくっと環境を準備

Git でチェックアウトすればバージョンアップ楽々

PHP の新しいバージョンは自動テストされていて安心

Ver3 で改善された EC-CUBE の開発への取り組みは

インフラ担当者の負担を軽くしていると思う

1-1 ・サーバの準備

ホスティングの場合

PHP のバージョンをチェックしましょう

Ver3 のシステム要件は PHP5.3.9 以上ですができればサポート中の 5.5系以上にしたい

データベースも新しいほうがパフォーマンスがよい(これ、重要)

1-2 ・デザインの移植

ロゴやメインビジュアルは流用しましたが基本的には Ver3 のデフォデザインのまま

1-2 ・デザインの移植デフォ画面の違い

Ver3 はデフォのままでも悪くない

Ver2 は、デフォだとコテコテしすぎ

1-2 ・デザインの移植

素材準備

PC& スマフォ デザイン作成

PC& スマフォ コーディング

テンプレート作成

ページ・ブロック設定

素材準備

ページ・ブロック設定

Ver2 系 Ver3 系

psd でデザイン起こしてその後コーディン

グ・・・などはしなかった。

商品写真とかバナーとかの

準備に集中する。

事例はこうなりました

ロゴやビジュアルをそのまま配置するだけで結構いい感じ!

レスポンシブなのでスマフォ版の別途対応は不要

1-2 ・デザインの移植

・背景やボタンの色の変更が簡単 ( CSS化)

・変更したテンプレートファイルの置場がまとまっていてよい。

・ PC もスマフォも一度にできるから楽。

・レイアウト編集やブロック設定も Ver2 とほぼ同じ・ twig もそれほど難しくない

 →だが、レスポンシブであることを意識する必要はある。   float の width設定など。

1-3 ・カスタマイズ内容の移植

Ver2.4 サイトでカスタマイズしていた機能をプラグインとして作成するため手間がかかった

・クール便対応  (生菓子もありますので)・営業日カレンダー  (イベントの日は実店舗の都合で出荷できない)・旧バージョンログイン互換 (移植ではないのですが、プラグインが必要になった)

1-3 ・カスタマイズ内容の移植

プラグインを作るのはめんどくさい?

EC-CUBE 本体 EC-CUBE 本体

本体を直接変更するイメージ プラグインをつくるイメージ

改造

改造

改造部分に加えてプラグインとしてのお約束部分も作らないといけない。

1-3 ・カスタマイズ内容の移植

旧バージョンログイン互換プラグインの場合本体直接変更の場合 →合計 10 行くらい \src\Eccube\Controller\Admin\Customer\CustomerEditController.php\src\Eccube\Controller\Mypage\ChangeController.php2 ファイルそれぞれに 5 行ずつ追加するだけ

プラグインの場合 →合計 200 行くらい

\PluginName\config.yml\PluginName\event.yml\PluginName\PluginManager.php\PluginName\Event.phpの 4 ファイルを新規に追加+ Event.php に主な処理を書く

全く新しい機能ではここまで作業量に差は出ないですが、本体の挙動をちょっと変更したいという場面で差が出やすい。

プラグインジェネレータというプラグインもあります!

キュールさん

1-3 ・カスタマイズ内容の移植

プラグインを手作りする前にオーナーズストアをチェック!

クール便とか営業日カレンダーとかはプラグインはそのうち出ると思う

作る場合は、再利用する前提で汎用的なものを作るべし

営業日管理はオーナーズストアにアップして

あります

Ver3 のフレームワークを知るべし

Silex+Symphony (全体)Doctrin ( DB)

Bootstrap (画面)Twig ( smarty から変更)

・・・

メジャーなフレームワークなので勉強して損はなし

プラグイン作りたい人は・・

コアのサービスの上書きしない 

プラグインを作る際にかぶりそうな名前をつけない

プラグインを競合させないために

2 ・運用方法レクチャー

2-1 ・商品登録

2-2 ・受注管理

2-3 ・会員管理

2-1 ・商品登録

Ver2 を使ってる人にとっては、フリーエリアの使い方などを事前に検討する必要がある

項目が整理され、画像がドラッグ&ドロップでき、Ver2より明らかに操作しやすい

2-1 ・商品登録Ver2.4 Ver3.0

商品名 商品名詳細 -一覧メインコメント 一覧コメント(隠し項目)一覧 -メインコメント 商品説明価格 数量 規格 価格 数量 規格 カテゴリ カテゴリ(隠し項目)公開・非公開 公開・非公開(登録ボタン上に移動)メイン画像大中小 サブ画像 画像は一か所で管理。大中小はない。サブタイトル、サブコメント フリーエリアで HTMLで記述する商品コード、販売制限数、検索ワード、お届け可能日

商品コード、販売制限数、検索ワード、お届け可能日(詳細な設定ゾーンに移動)

ポイント付与率 いまのところないサブ画像やサブ情報が整理されたあたりが一番大きい変更

2-1 ・商品登録

在庫数の扱い2.13 系→受注管理のキャンセルや数量変更が在庫数に反映される3.0 系→受注管理のキャンセルや数量変更では反映されない。

ダウンロード&アップロード2 系はアップロードとダウンロードの CSV形式が一致。3 系は一致していない。項目のみ修正してアップロードは変更。

微妙な仕様の違いに注意

2-2 ・受注管理

シンプルで操作性がよい

タブレットやスマフォで扱いやすい

Ver2 との違いはけっこうある

2-2 ・受注管理

が、ロックオン純正の帳票プラグインがあるので使う。

納品書印刷がなくなった

3.0.8 だと動かない動かない・・・・・・・でもすぐ直るはず

2-2 ・受注管理決済プラグインも進化している

CSV で出荷済み受注を一括で売上確定ができる機能があるなど

上記はベリトランスの例(決済モジュールは近日公開)LinePayへの対応や、トークン決済の対応なども対応してると

のこと。Ver3 用の決済モジュールは各社とも進化してるので見極めて選択したい。

2-2 ・受注管理

一括変更プラグインもすでに出てます!(アクティブフュージョンさん)

ステータス一括変更がない

こういった機能は、運用フローに関わるので下調べして、十分検討しておきたいところ

2-3 ・会員管理

会員管理といえば、メルマガ発行やポイント管理だが、Ver3 にはその機能がない!

3.0.8 でポイント機能がまだない。ポイントはロックオンにてプラグインの開発が予定されている。

メルマガはロックオンのプラグインで対応可能。

3 ・データ移行

3-1 ・商品データ移行

3-2 ・受注データ移行

3-3 ・会員データ移行

3-1 ・商品データ移行

・ select で抜いて、マクロなどで加工して insert 。 ・商品名とか金額とかは割とそのまま。

・サブタイトル+サブコメントがないので、 一定のルールで変換してフリーエリアに投入した。 その後、手修正。

・ URL類は変わるので注意が必要

・画像はディレクトリまるまるコピーで OK

・ポイント付与率は・・・今はない。

3-1 ・商品データ移行

サブ情報で凝ったことをしていると、自動的なデータ移行は厳しいかもしれない。

サブコメントをコピーして個別に整備

3-2 ・受注データ移行

・ PHP で新旧両 DB に接続してデータ移行した。 ・ 2.4 には複数配送先対応がないためかなりテーブルが異なる。

・決済系の情報がメモ1とかにあるが、それらは移行しなかった。

・ 2.11-2.13 の場合は複数配送先に関わる問題はない。 多少カラム名が違っていたりする。

・ポイント情報は失われる。

※リピート購入が少ない場合は過去の購入履歴は移行しないという選択もあり

3-3 ・会員データ移行

・ select で抜いて、結果からマクロで insert文を作って移植。 ・パスワードは暗号化アルゴリズムが変わるのでちょっと注意。

  Ver2.4 はソルトキーがない SHA1ハッシュ化で暗号化している。  Ver3 は移行データを考慮してログイン時にソルトキーがない場合は  SHA1 でパスワード照合する仕様になっている。 ただし、パスワード変更時には SHA2 で暗号化されるが、 ソルトキーはなしのままなので、ログイン時にエラーが発生するようになる。

 プラグインを作って対応したが、本体の修正してコミットしてもよさそう

・ポイントが移行できず

・メルマガフラグは採用するメルマガプラグインによって異なる

まとめ

Ver2 から Ver3への引っ越しについて

・独自カスタマイズを移植するのは大変 ストアのプラグインの組み合わせの対応するのがおすすめ。

・運用者にとっての使い勝手はそれほど変わらない トータルでは使い勝手がよくなっているが、 Ver2 と多少は変わるので確認が必要。 

・商品データは再整理したほうがよい 説明文や写真のサイズなどは、新しいサイトに合わせて作ったほうがよい。

協力してくださった洋菓子店 無花果(いちじく)さん

今年で 30周年の老舗のケーキ屋さんです。新商品「またきて四角」が新しい広島のお土産として注目されています。広島県瀬戸田産のレモンをたっぷりつかった焼き菓子です。

広島 無花果http://www.ichijiku.com/

「またきて四角」1,404円(税込)

システムフレンドもどうぞよろしく

「 EC-CUBE工房」http://ec-cube.systemfriend.co.jp/