Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Chihiro Adachi
1,105 views
EC-CUBEユーザカンファレンス2016
EC-CUBEユーザカンファレンスの発表資料です。これまでのリリース振り返りと、3.0.9で実装されるプラグイン機構や、APIなど今後の開発についてかいてます。
Technology
◦
Read more
2
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 49
2
/ 49
3
/ 49
4
/ 49
5
/ 49
6
/ 49
7
/ 49
8
/ 49
9
/ 49
10
/ 49
11
/ 49
12
/ 49
13
/ 49
14
/ 49
15
/ 49
16
/ 49
17
/ 49
18
/ 49
19
/ 49
20
/ 49
21
/ 49
22
/ 49
23
/ 49
24
/ 49
25
/ 49
26
/ 49
27
/ 49
28
/ 49
29
/ 49
30
/ 49
31
/ 49
32
/ 49
33
/ 49
34
/ 49
35
/ 49
36
/ 49
37
/ 49
38
/ 49
39
/ 49
40
/ 49
41
/ 49
42
/ 49
43
/ 49
44
/ 49
45
/ 49
46
/ 49
47
/ 49
48
/ 49
49
/ 49
More Related Content
PPTX
EC-CUBE3プラグイン仕様
by
Shinichi Takahashi
PPTX
Sphinxはじめの一歩
by
株式会社 システムヨシイ
PPTX
Openwhisk と chatbot
by
幹夫 賀谷
PDF
Open whisk slackinvite - public
by
Takehiko Amano
PDF
Redmineを快適に使うためのおすすめ初期設定
by
Go Maeda
PDF
Sphinx HTML Theme Hacks
by
Shoji KUMAGAI
PDF
Spring Boot概要
by
af not found
PDF
Djangoフレームワークの紹介
by
Shinya Okano
EC-CUBE3プラグイン仕様
by
Shinichi Takahashi
Sphinxはじめの一歩
by
株式会社 システムヨシイ
Openwhisk と chatbot
by
幹夫 賀谷
Open whisk slackinvite - public
by
Takehiko Amano
Redmineを快適に使うためのおすすめ初期設定
by
Go Maeda
Sphinx HTML Theme Hacks
by
Shoji KUMAGAI
Spring Boot概要
by
af not found
Djangoフレームワークの紹介
by
Shinya Okano
Similar to EC-CUBEユーザカンファレンス2016
PPTX
EC-CUBE3系より新しい EC-CUBE2系の開発事例紹介
by
Kentaro Ohkouchi
PPTX
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 02_機能カスタマイズのためのアーキテクチャ
by
EC-CUBE
PPTX
Symfonyコンポーネントで生まれ変わるEC-CUBE
by
Shinichi Takahashi
PDF
2016 07-16 PHPカンファレンス関西2016(EC-CUBE)
by
EC-CUBE
PDF
201803_EC-CUBE開発進捗説明会_1_3.n概要説明
by
EC-CUBE
PDF
201803_EC-CUBE開発進捗説明会_4_カスタマイズデモ
by
EC-CUBE
PPTX
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 02_デザインカスタマイズ
by
EC-CUBE
PPT
EC-CUBEの設計思想について
by
Kentaro Ohkouchi
PPTX
EC-CUBE次期バージョンから、しっかり学ぶ Symfony
by
Kentaro Ohkouchi
KEY
EC-CUBEプラグイン講義
by
ria1201
PDF
201803_EC-CUBE開発進捗説明会_2_フレームワーク変更
by
EC-CUBE
PDF
Hyper → Highspeed → Development
by
aktsk
PPTX
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 01_全体方針
by
EC-CUBE
PDF
ADRという考えを取り入れてみて
by
infinite_loop
PDF
Ymbal expart.php.2ndtermstudent.finalpresentation
by
yoshitaro yoyo
PPTX
PHPから離れて感じるPHPの良さ
by
Shinichi Takahashi
PPTX
201710_EC-CUBE 開発進捗説明会:開発背景・今後のスケジュール
by
EC-CUBE
PDF
202101 EC-CUBE 4.1 開発進捗説明会
by
EC-CUBE
PDF
Ec cube開発合宿 プラグインセミナー
by
Ayumu Kawaguchi
PPTX
Fuel php活用事例
by
Toshiyuki Maeda
EC-CUBE3系より新しい EC-CUBE2系の開発事例紹介
by
Kentaro Ohkouchi
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 02_機能カスタマイズのためのアーキテクチャ
by
EC-CUBE
Symfonyコンポーネントで生まれ変わるEC-CUBE
by
Shinichi Takahashi
2016 07-16 PHPカンファレンス関西2016(EC-CUBE)
by
EC-CUBE
201803_EC-CUBE開発進捗説明会_1_3.n概要説明
by
EC-CUBE
201803_EC-CUBE開発進捗説明会_4_カスタマイズデモ
by
EC-CUBE
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 02_デザインカスタマイズ
by
EC-CUBE
EC-CUBEの設計思想について
by
Kentaro Ohkouchi
EC-CUBE次期バージョンから、しっかり学ぶ Symfony
by
Kentaro Ohkouchi
EC-CUBEプラグイン講義
by
ria1201
201803_EC-CUBE開発進捗説明会_2_フレームワーク変更
by
EC-CUBE
Hyper → Highspeed → Development
by
aktsk
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 01_全体方針
by
EC-CUBE
ADRという考えを取り入れてみて
by
infinite_loop
Ymbal expart.php.2ndtermstudent.finalpresentation
by
yoshitaro yoyo
PHPから離れて感じるPHPの良さ
by
Shinichi Takahashi
201710_EC-CUBE 開発進捗説明会:開発背景・今後のスケジュール
by
EC-CUBE
202101 EC-CUBE 4.1 開発進捗説明会
by
EC-CUBE
Ec cube開発合宿 プラグインセミナー
by
Ayumu Kawaguchi
Fuel php活用事例
by
Toshiyuki Maeda
Recently uploaded
PDF
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
by
Evolve LLC.
PDF
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
PDF
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
by
Tasuku Takahashi
PPTX
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
by
Evolve LLC.
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
by
Tasuku Takahashi
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
EC-CUBEユーザカンファレンス2016
2.
# 自己紹介 ● 名前 ○
足立智広 ● 所属 ○ 株式会社ロックオン ● お仕事 ○ EC-CUBE3の開発をしてます ● Facebook ○ https://www.facebook.com/chihiro.adachi.3 ● GitHub ○ @chihiro-adachi
3.
# 目次 ● EC-CUBE3.0のリリース後の振り返り ●
次期バージョン3.0.9について ● 今後の注目 ● 開発・コミュニティに参加するには
4.
# ここ半年のリリースを振り返る
5.
# ここ半年のリリースを振り返る ● 2015-07-01
3.0.0 正式版リリース ○ 2系から内部構造を見直し ○ Silex(WebAppフレームワーク) ○ DoctrineOrm(O/Rマッパー) ○ Symfonyコンポーネント(ライブラリ) ○ PSR(コーディング規約) ○ bootstrap, レスポンシブWebデザイン ○ Travis/Appvayor(CI環境) ○ ...etc モダンPHPなプロダクトに進化
6.
# ここ半年のリリースを振り返る ● 2015-07-08
3.0.1 リリース ○ プラグイン拡張機構改善 ○ バグFix ● 2015-07-29 3.0.2 リリース ○ CSV入出力機能追加 ■ 受注CSVは明細単位での出力に対応 ○ バグFix ● 2015-08-19 3.0.3 リリース ○ プラグインのオーナーズストア接続対応
7.
# ここ半年のリリースを振り返る ● 2015-10-09
3.0.4 リリース ○ セキュリティFix ● 2015-10-28 3.0.5 リリース ○ 複数配送機能 ○ 多くのバグFix ● 2015-11-17 3.0.6 リリース ○ お気に入り機能 ○ 再注文機能 ○ バグFix
8.
# ここ半年のリリースを振り返る ● 2015-12-08
3.0.7 リリース ○ 権限管理 ○ マスタデータ管理 ○ ログ管理 ● 2015-12-22 3.0.8 リリース ○ twigキャッシュ削除機能
9.
# ここ半年のリリースを振り返る ● 3.0.0リリース後、半年で合計8回のバージョンアップ ●
以下の課題に対応するため ○ 品質面の安定化 ○ 2系と同等レベルの機能搭載 ● 構築事例の申請や、開発コミュニティの投稿も増え、 実際にご利用いただけるようになってきました
10.
# Issue対応数の推移 3.0.5 3.0.5で、100件超のissueを対応。ク リティカルな不具合は減少傾向。
11.
# テストケース数の推移 ユニットテストのテストケース数は 300→1000弱と大幅に向上。現在も 継続的に作成しています。
12.
# テストカバレッジ テストカバレッジも、 20%→60%と大 幅に向上しました。
13.
# 品質面の担保について ● Travis-CI,
AppVayor ○ Pull Requestごとにテストが自動実行されます ○ テストにパスしないコードは取り込まれません ● テストの実行環境 ○ PHP5.3~PHP5.6+PostgreSQL/MySQL ○ 上記のマトリクスで実行されます ○ Windows環境でも実行してます ○ 最近はSQLiteでも動くようになりました
14.
# テスト書いてくれた人(ありがとうございます
15.
# 次期バージョン3.0.9について
16.
# 次期バージョン3.0.9について ● プラグインの拡張性向上
17.
# 現状の課題 ● フックポイントの粒度が大きく競合しやすい ●
フックポイントの実行順序が直感的でない ● テンプレートへの介入がしづらい ● 例外・ログ出力等のエラーハンドリングが不足 ● 以下のIssueにまとめています ○ https://github.com/EC-CUBE/ec- cube/issues/1381
18.
# 現状のフックポイントの実行タイミング Responseオブ ジェクトの生成
19.
# 現状のフックポイントの実行タイミング html/index.php $app =
new Application() $app->run() 以降の内部的な動き Requestオブ ジェクトの生成 ルーティングの 解決 Controllerオブ ジェクトの生成 Controllerの実 行 Responseオブ ジェクトの生成
20.
# 現状のフックポイントの実行タイミング html/index.php $app =
new Application() $app->run() 以降の内部的な動き Requestオブ ジェクトの生成 ルーティングの 解決 Controllerオブ ジェクトの生成 Controllerの実 行 Responseオブ ジェクトの生成 before after/render
21.
# 共通フックポイント ● Symfony2
eventべースのフックポイントを新設 ○ http://symfony. com/doc/current/components/http_kernel/introd uction.html ○ 例外発生時やアプリケーション終了時の介入も可 能に ● 既存のフックポイントは維持(互換性維持のため) ● 管理画面/フロント画面/ルーティングの単位で定義
22.
# 共通フックポイントの実行タイミング index.php $app =
new Application() $app->run() 以降の内部的な動き Requestオブ ジェクトの生成 ルーティングの 解決 Controllerオブ ジェクトの生成 Controllerの実 行 Responseオブ ジェクトの生成 Request Response Controller Exception Terminate
23.
# フックポイント一覧(抜粋 ● 全体・フロント・管理画面・ルーティング単位で定義しています ●
https://github.com/EC-CUBE/ec-cube/issues/1410 画面種別 フックポイント名 Symfony2 event名 実行タイミング フロント eccube.event.front.request KernelEvents::REQUEST リクエスト生成時。既存の Beforeフックポイントに相 当。 フロント eccube.event.front.controller KernelEvents:: CONTROLLER コントローラ実行前。 フロント eccube.event.front.response KernelEvents:: RESPONSE レスポンス生成時。既存の After/Renderフックポイント に相当。 フロント eccube.event.front.exception KernelEvents:: EXCEPTION 例外発生時。 フロント eccube.event.front.terminate KernelEvents:: TERMINATE アプリケーション終了時。既 存のFinishフックポイントに 相当。
24.
# 個別フックポイント ● コントローラ内でのフックポイントを新設 ○
フォーム初期化後 ○ データ登録処理完了後 ○ テンプレートのレンダリングタイミング ● フォームのエラー制御や、エンティティのID取得が出 来なかった問題に対応 ● 細かい粒度で介入できるため、競合しにくい ● Symfony2-FOSUserBundleの実装や、wordpress のアクションフック・フィルターフックを参考にしてます
25.
# 個別フックポイントの実行タイミング index.php $app =
new Application() $app->run() 以降の内部的な動き Requestオブ ジェクトの生成 ルーティングの 解決 Controllerオブ ジェクトの生成 Controllerの実 行 Responseオブ ジェクトの生成 Controller内部でのフックポイント - フォーム初期化後 - 登録処理完了後 - テンプレートのレンダリング
26.
# 1. フォーム初期化後フックポイント ●
フォーム初期化後に実行されるフックポイント ● 入力項目の追加を行う ○ 追加した項目は自動で出力される ○ renderイベントでの差し込みは不要になります
27.
# コードイメージ(本体側)
28.
# コードイメージ(プラグイン側)
29.
# 2.登録処理完了後フックポイント ● コントローラの登録処理完了後のイベント ●
プラグインで定義したエンティティのデータ登録等を 行う ○ 本体側のエンティティが取得できる ○ 関連したエンティティのデータ登録が可能に
30.
# コードイメージ(本体側)
31.
# コードイメージ(プラグイン側)
32.
# 個別フックポイント ● コントローラ内にフックポイントが定義されている ○
実行される箇所がわかりやすい ○ どんな引数が渡ってくるかもわかる ● プラグインのコードも完結になる ○ renderフックポイントで差し込みする必要がない ○ バリデーションも定義だけでよい ● フックポイントは全コントローラに追加予定 ○ 複雑な画面は、フックポイントが複数されるかも ○ 検索画面は、引数としてqueryBuilderを渡す
33.
# その他の情報 ● フックポイント互換性について ○
既存のものはそのまま動作します ● TwigのID対応 ○ BEMベースの規約策定 ○ 全テンプレートに埋め込み ○ jQueryやCrowrerでの操作が容易に
34.
# その他の情報 ● 開発者向けツール ○
コンソールコマンド ■ プラグインのinstallがコマンドベースで可能に ○ SQLite対応 ■ データベースを用意しなくても動かせる ● プラグインの例外・ログ出力を強化 ● リリース時期 ○ 2016/2中旬を予定しています
35.
# 今後の注目
36.
# 今後の注目 ● 結合試験/受入試験の自動化 ●
API開発スタート
37.
# 結合試験/受入試験の自動化 ● Travis-CI/Appvayorの課題 ○
プログラムの関数レベルでのテストを自動実行 ○ 低いレイヤでの動作を担保 ○ 画面上での動作までは確認できない ● codeception + PhantomJS ○ seleniumみなたいなもの ○ webブラウザの動作を再現 ○ 高いレイヤでの動作を担保
38.
# 結合試験/受入試験の自動化 ● テストコードは書きやすいのでメンテナンスも容易 ○
htmlの要素指定が結構ざっくりでかける
39.
# 結合試験/受入試験の自動化 ● EC-CUBEの試験項目書のシナリオを自動実行 ○
https://github.com/EC-CUBE/eccube3-doc ○ EC-CUBEリリース前に実施してます(人力 ○ UTで見つけにくい不具合も検知できる ● レポジトリ ○ https://github.com/EC-CUBE/eccube- codeception ○ EC-CUBEリリース前に実施していきます(自動化 ○ 2人/日→数時間へテスト工数削減
40.
# 案件への活用 ● 案件でもテスト自動化を活用できる ○
試験コード、だいぶ全体をカバーできるようになっ てきてます ○ 機能カスタマイズしたらテストも修正 ○ 開発中 ■ Travis-CIでの自動テスト ○ 納品前 ■ codecepitonでの自動テスト ● 本来集中すべきミッションに専念できる
41.
# 作ってくれた人(ありがとうございます
42.
# API開発スタート
43.
# API開発スタート ● 機能要件 ○
I/F策定 ■ ユースケースの洗い出し ■ 概念モデル精査 ● 技術検証 ○ 認証・認可の技術検証 ■ OAuth2, OpenID Connect ○ rest api実装方法の検討 ■ Symfony2バンドル調査 ■ 実装方法検討
44.
# API開発スタート ● 機能要件 ○
I/F策定 ■ ユースケースの洗い出し ■ 概念モデル精査 ● 技術検証 ○ 認証・認可の技術検証 ■ OAuth2, OpenID Connect ○ rest api実装方法の検討 ■ Symfony2バンドル調査 ■ 実装方法検討
45.
# API開発スタート ● ユースケースの洗い出し ○
こんなAPIがほしい ○ このシステム・サービスと連携したい ○ ...etc 業務にマッチするものを作りたいです ○ ぜひご要望をきかせてください(パーティで
46.
# 開発・コミュニティに参加するには
47.
# 開発・コミュニティに参加するには ● GitHubでPull
Request ○ https://github.com/EC-CUBE/ec-cube ○ Qiitaにも使い方の記事を書いてます ● ドキュメント ○ 公式ドキュメント ■ http://ec-cube.github.io ○ こちらもGitHubで管理しています ■ https://github.com/EC-CUBE/ec-cube. github.io ○ まだまだ足りていないのでぜひご協力ください
48.
# 開発・コミュニティに参加するには ● 東京ユーザグループ ○
https://www.facebook. com/groups/283598911686452/ ○ 1/29 勉強会やります ■ ロックオン東京オフィス ■ 満員ですごめんなさい ○ 今後も随時開催します(東京行くときは ■ 開催してくれる方も大募集です
Download