[ Mautic ] Mautic consleで日本語サンプルデータを入れてみた

[ Mautic ] Mautic consleで日本語サンプルデータを入れてみた

はじめに

前回の記事 では Mautic consle からサンプルデータを投入しました。
ただ、ここは日本。
できれば、サンプルデータも日本用にしてみたくなりましたので、日本用のサンプルデータを作成してインポートしてみます。

注意事項

本記事は、検証環境下での手順内容となりますので万が一、事故やトラブル等があっても一切の責任を負いかねますので予めご了承下さい。
既存データがある場合はデータが消去されますので、お試しする場合はバックアップの上、実施ください。

日本向けサンプルデータを投入

さて、ここからが本題です。
前回の記事の方法では、サンプルデータが全て英語なので、英語が苦手な方には少しイメージがしづらいかもしれません。
以下はサンプルデータを一部、日本向けのデータに修正してからサンプルデータの投入をしてみます。

コンタクト情報の修正

コンタクト用サンプルデータはCSV形式で、以下場所にダミーデータとしてあります。
ついでにCSVの項目も確認しておきましょう。

# cd ${Mautic_Root}
# ls app/bundles/LeadBundle/DataFixtures/ORM/fakeleaddata.csv
# head -1 app/bundles/LeadBundle/DataFixtures/ORM/fakeleaddata.csv
"title","firstname","lastname","city","address1","state","zipcode","country","email","phone","company","website","facebook","twitter","ip"

デフォルトでは50件のサンプルデータがあります。
日本用のサンプルデータ作成は以下のサイトからダミーデータを生成し、CSVファイルに取り込みします。
生成するダミーデータは fakeleaddata.csv の項目に合わせて、適宜調整をお願いします。

なんちゃって個人情報
疑似個人情報データ生成サービス

日本用のサンプルデータ作成ができました。
1件しか記載しておりませんが、実際は同様のサンプルデータを50件程作成しております。

【修正ファイル】 app/bundles/LeadBundle/DataFixtures/ORM/fakeleaddata.csv

# head -2  app/bundles/LeadBundle/DataFixtures/ORM/fakeleaddata.csv
"title","firstname","lastname","city","address1","state","zipcode","country","email","phone","company","website","facebook","twitter","ip"
"様","太郎","サンプル","札幌市","中央区中央区0-0","北海道","064-0918","Japan","taro@example.com","01122223333","サンプル株式会社","http://example.com/","fb_example","tw_example","203.0.113.100"

ユーザ・ロールの修正

デフォルトでは、ロール・ユーザは以下のようになっております。

変更前

名前(名,姓) ロール名 ID
Admin,User Administrators admin
Sales,User Sales Team sales

上記のデータを日本語に修正し、マーケティングチーム(ロール)、
マーケティングチームに所属するメンバーを追加してみます。

変更後

名前(名,姓) ロール名 ID
マウティック,管理者 システム管理 担当 admin
一郎,山田 営業 担当 ichiro_yamada
二郎,山田 マーケティング 担当 jiro_yamada

ロールの修正

【修正ファイル】 app/bundles/UserBundle/DataFixtures/ORM/LoadRoleData.php

# diff -U0 \
> app/bundles/UserBundle/DataFixtures/ORM/.LoadRoleData.php.org \
> app/bundles/UserBundle/DataFixtures/ORM/LoadRoleData.php
--- app/bundles/UserBundle/DataFixtures/ORM/.LoadRoleData.php.org       2016-10-13 15:28:57.000000000 +0000
+++ app/bundles/UserBundle/DataFixtures/ORM/LoadRoleData.php    2016-11-24 02:58:38.369858234 +0000
@@ -44,2 +44,2 @@
-        $role->setName('Administrators');
-        $role->setDescription('Has access to everything.');
+        $role->setName('システム管理 担当');
+        $role->setDescription('すべてにアクセスアクセス権があります。');
@@ -51,0 +52,19 @@
+
+        $role = new Role();
+        $role->setName('マーケティング 担当');
+        $role->setDescription('マーケティングへのアクセス権があります。');
+        $role->setIsAdmin(0);
+
+        $permissions = [
+            'user:profile' => ['editname'],
+            'lead:leads'   => ['full'],
+        ];
+
+        $this->container->get('mautic.factory')->getModel('user.role')->setRolePermissions($role, $permissions);
+
+        $manager->persist($role);
+        $manager->flush();
+
+        $this->addReference('marketing-role', $role);
+
+
@@ -53,2 +72,2 @@
-        $role->setName('Sales Team');
-        $role->setDescription('Has access to sales');
+        $role->setName('営業 担当');
+        $role->setDescription('営業へのアクセス権があります。');

ユーザの修正

【修正ファイル】 app/bundles/UserBundle/DataFixtures/ORM/LoadUserData.php

# diff -U0 \
> app/bundles/UserBundle/DataFixtures/ORM/.LoadUserData.php.org \
> app/bundles/UserBundle/DataFixtures/ORM/LoadUserData.php
--- app/bundles/UserBundle/DataFixtures/ORM/.LoadUserData.php.org       2016-10-13 15:28:57.000000000 +0000
+++ app/bundles/UserBundle/DataFixtures/ORM/LoadUserData.php    2016-11-24 03:06:10.133880187 +0000
@@ -43,0 +44 @@
+
@@ -45,2 +46,2 @@
-        $user->setFirstName('Admin');
-        $user->setLastName('User');
+        $user->setFirstName('マウティック');
+        $user->setLastName('管理者');
@@ -59,0 +61 @@
+
@@ -61,3 +63,3 @@
-        $user->setFirstName('Sales');
-        $user->setLastName('User');
-        $user->setUsername('sales');
+        $user->setFirstName('二郎');
+        $user->setLastName('山田');
+        $user->setUsername('jiro_yamada');
@@ -74,0 +77,18 @@
+
+
+        $user = new User();
+        $user->setFirstName('一郎');
+        $user->setLastName('山田');
+        $user->setUsername('ichiro_yamada');
+        $user->setEmail('marketing@yoursite.com');
+        $encoder = $this->container
+            ->get('security.encoder_factory')
+            ->getEncoder($user)
+        ;
+        $user->setPassword($encoder->encodePassword('mautic', $user->getSalt()));
+        $user->setRole($this->getReference('marketing-role'));
+        $manager->persist($user);
+        $manager->flush();
+
+        $this->addReference('marketing-user', $user);
+

コンポーネント(アセット)の修正

【修正ファイル】 app/bundles/AssetBundle/DataFixtures/ORM/LoadAssetData.php

# diff -U0 \
> app/bundles/AssetBundle/DataFixtures/ORM/.LoadAssetData.php.org
> app/bundles/AssetBundle/DataFixtures/ORM/LoadAssetData.php
--- app/bundles/AssetBundle/DataFixtures/ORM/.LoadAssetData.php.org     2016-12-12 18:17:10.000000000 +0000
+++ app/bundles/AssetBundle/DataFixtures/ORM/LoadAssetData.php  2016-12-13 02:33:22.359194330 +0000
@@ -48,2 +48,2 @@
-            ->setTitle('@TOCHANGE: Asset1 Title')
-            ->setAlias('asset1')
+            ->setTitle('参考資料1')
+            ->setAlias('reference-asset1')
@@ -55 +55 @@
-            ->setLanguage('en');
+            ->setLanguage('ja');

コンポーネント(フォーム)の修正

フォーム一覧の修正

【修正ファイル】 app/bundles/FormBundle/DataFixtures/ORM/fakeformdata.csv

# diff -U0 \
> app/bundles/FormBundle/DataFixtures/ORM/.fakeformdata.csv.org \
> app/bundles/FormBundle/DataFixtures/ORM/fakeformdata.csv
--- app/bundles/FormBundle/DataFixtures/ORM/.fakeformdata.csv.org       2016-12-10 18:17:10.000000000 +0000
+++ app/bundles/FormBundle/DataFixtures/ORM/fakeformdata.csv    2016-12-11 04:08:29.563610693 +0000
@@ -2,2 +2,2 @@
-1,"2014-08-10 00:43:12","Kaleidoscope Registration","kaleidosco",NULL,"message","Thank you for registering!","Mauve","standalone"
-1,"2014-08-10 00:44:27","Kaleidoscope Registro (ES)","kaleidosco",NULL,"message","Gracias por registrarse!","Mauve","standalone"
+1,"2014-08-10 00:43:12","参考資料ダウンロードフォーム","reference",NULL,"message","資料のご請求ありがとうございました!","Mauve","standalone"
+1,"2014-08-10 00:44:27","お役立ち資料ダウンロード","useful",NULL,"message","資料のご請求ありがとうございました!","Mauve","standalone"

フォーム結果の修正

フォーム一覧CSVには2つのフォームが設定されている為、結果用CSVも2つ存在します。
以下2つの結果用CSVファイルも適宜変更しておきます。

【修正ファイル】 app/bundles/FormBundle/DataFixtures/ORM/fakeresultdata.csv

# diff -y \
> app/bundles/FormBundle/DataFixtures/ORM/.fakeresultdata.csv.org
> app/bundles/FormBundle/DataFixtures/ORM/fakeresultdata.csv | head -2
form,page,ipAddress,name,email,numberofattendees              | "form","page","ipAddress","name","email","numberofattendees"
1,1,1,P**ny,P*********e@d****p.com,1                          | 1,1,1,"大和田",y******34@l**u.wm,1

【修正ファイル】 app/bundles/FormBundle/DataFixtures/ORM/fakeresult2data.csv

# diff -y \
> app/bundles/FormBundle/DataFixtures/ORM/.fakeresult2data.csv.org \
> app/bundles/FormBundle/DataFixtures/ORM/fakeresult2data.csv | head -2
form,page,ipAddress,nombre,email,nmerodeasistentes            | form,page,ipAddress,nombre,email,nmerodeasistentes
2,2,1,P**ny,P*********e@d****p.com,1                          | 2,2,1,"大和田",y******34@l**u.wm,1

コンポーネント(ランディングページ)の修正

【修正ファイル】 app/bundles/PageBundle/DataFixtures/ORM/fakepagedata.csv

# diff -U0 \
> app/bundles/PageBundle/DataFixtures/ORM/.fakepagedata.csv.org \
> app/bundles/PageBundle/DataFixtures/ORM/fakepagedata.csv
--- app/bundles/PageBundle/DataFixtures/ORM/.fakepagedata.csv.org       2016-12-10 18:17:10.000000000 +0000
+++ app/bundles/PageBundle/DataFixtures/ORM/fakepagedata.csv    2016-12-11 06:07:50.915598948 +0000
@@ -2,3 +2,3 @@
-NULL,NULL,1,8/9/14 0:00,Kaleidoscope Conference 2014,kaleidoscope-conference-2014,Mauve,en,"a:5:{s:4:\"top2\";s:151:\"<div><h1><span style=\"font-family:comic sans\"><span style=\"color:#0000FF\"><span dir=\"auto\">Kaleidoscope Conference 2014</span></span></span></h1></div>\";s:4:\"main\";s:44:\"<div>Sign up today!</div><div>{form=1}</div>\";s:6:\"footer\";s:0:\"\";s:6:\"right1\";s:0:\"\";s:7:\"bottom3\";s:0:\"\";}",31,28,28,8,"Join your fellow kaleidoscopians at the 2014 Kaleidoscope Conference.  Learn new techniques, attend workshops, share ideas with others, or just hang out!",a:0:{},8/9/14 0:00
-NULL,1,1,8/9/14 0:12,Kaleidoscope Conference 2014 v2,kaleidoscope-conference-2014,Mauve,en,"a:5:{s:4:\"top2\";s:151:\"<div><h1><span style=\"font-family:comic sans\"><span style=\"color:#0000FF\"><span dir=\"auto\">Kaleidoscope Conference 2014</span></span></span></h1></div>\";s:4:\"main\";s:153:\"<div>Don't be afraid to reach out to your inner kid once again! Let your creativity roll at the annual Kaleidoscope Conference. Register today!</div>\";s:6:\"footer\";s:0:\"\";s:6:\"right1\";s:55:\"<div><div>Sign up today!</div><div>{form=1}</div></div>\";s:7:\"bottom3\";s:0:\"\";}",95,85,85,4,"Join your fellow kaleidoscopians at the 2014 Kaleidoscope Conference.  Learn new techniques, attend workshops, share ideas with others, or just hang out!","a:2:{s:6:\"weight\";i:50;s:14:\"winnerCriteria\";s:14:\"page.dwelltime\";}",8/9/14 0:00
-1,NULL,1,8/9/14 1:07,Kaleidoscope Conferencia 2014,kaleidoscope-conference-2014,Mauve,es_MX,"a:5:{s:4:\"top2\";s:151:\"<div><h1><span style=\"font-family:comic sans\"><span style=\"color:#0000FF\"><span dir=\"auto\">Kaleidoscope Conference 2014</span></span></span></h1></div>\";s:4:\"main\";s:44:\"<div>Sign up today!</div><div>{form=2}</div>\";s:6:\"footer\";s:0:\"\";s:6:\"right1\";s:0:\"\";s:7:\"bottom3\";s:0:\"\";}",1,1,1,9,"Únete a tus compañeros kaleidoscopians en la Conferencia de 2014 Kaleidoscope. Aprenda nuevas técnicas, asistir a talleres, compartir ideas con los demás, o simplemente pasar el rato!",a:0:{},NULL
+NULL,NULL,1,8/9/14 0:00,"サービスランディングページ1",service-lp-1,Mauve,ja,"a:5:{s:4:\"top2\";s:151:\"<div><h1><span style=\"font-family:comic sans\"><span style=\"color:#0000FF\"><span dir=\"auto\">"サービスランディングページ1"</span></span></span></h1></div>\";s:4:\"main\";s:44:\"<div>Sign up today!</div><div>{form=1}</div>\";s:6:\"footer\";s:0:\"\";s:6:\"right1\";s:0:\"\";s:7:\"bottom3\";s:0:\"\";}",31,28,28,8,"Mauticサービスのランディングページ",a:0:{},8/9/14 0:00
+NULL,1,1,8/9/14 0:12,"サービスランディングページ1" v2,service-lp-1,Mauve,ja,"a:5:{s:4:\"top2\";s:151:\"<div><h1><span style=\"font-family:comic sans\"><span style=\"color:#0000FF\"><span dir=\"auto\">"サービスランディングページ1"</span></span></span></h1></div>\";s:4:\"main\";s:153:\"<div>Don't be afraid to reach out to your inner kid once again! Let your creativity roll at the annual Kaleidoscope Conference. Register today!</div>\";s:6:\"footer\";s:0:\"\";s:6:\"right1\";s:55:\"<div><div>Sign up today!</div><div>{form=1}</div></div>\";s:7:\"bottom3\";s:0:\"\";}",95,85,85,4,"Mauticサービスのランディングページ","a:2:{s:6:\"weight\";i:50;s:14:\"winnerCriteria\";s:14:\"page.dwelltime\";}",8/9/14 0:00
+1,NULL,1,8/9/14 1:07,"サービスランディングページ1" v3,service-lp-1,Mauve,ja,"a:5:{s:4:\"top2\";s:151:\"<div><h1><span style=\"font-family:comic sans\"><span style=\"color:#0000FF\"><span dir=\"auto\">"サービスランディングページ1"</span></span></span></h1></div>\";s:4:\"main\";s:44:\"<div>Sign up today!</div><div>{form=2}</div>\";s:6:\"footer\";s:0:\"\";s:6:\"right1\";s:0:\"\";s:7:\"bottom3\";s:0:\"\";}",1,1,1,9,"Únete a tus compañeros kaleidoscopians en la Conferencia de 2014 Kaleidoscope. Aprenda nuevas técnicas, asistir a talleres, compartir ideas con los demás, o simplemente pasar el rato!",a:0:{},NULL

チャンネル(メール)の修正

【修正ファイル】 app/bundles/EmailBundle/DataFixtures/ORM/fakeemaildata.csv

# diff -U0 \
> app/bundles/EmailBundle/DataFixtures/ORM/.fakeemaildata.csv.org
> app/bundles/EmailBundle/DataFixtures/ORM/fakeemaildata.csv
--- app/bundles/EmailBundle/DataFixtures/ORM/.fakeemaildata.csv.org     2016-12-10 18:17:10.000000000 +0000
+++ app/bundles/EmailBundle/DataFixtures/ORM/fakeemaildata.csv  2016-12-11 05:00:13.575533994 +0000
@@ -2,2 +2,2 @@
-"Kaleidoscope Conf List","list","Join us at the 2014  Kaleidoscope Conference!","Mauve","en","a:2:{s:4:\"body\";s:113:\"<div>Dear {contactfield=firstname},</div><div> </div><div>Join us at the 2014 Kaleidoscope Conference!</div>\";s:6:\"footer\";s:71:\"<div>{webview_text}</div><div> </div><div>{unsubscribe_text}</div>\";}","Join us at the 2014  Kaleidoscope Conference!",NULL,NULL,0,0,1,"a:0:{}",NULL,0,0
-"Kaleidoscope Conf Campaign","template","Join us at the 2014  Kaleidoscope Conference!","Mauve","en","a:2:{s:4:\"body\";s:113:\"<div>Dear {contactfield=firstname},</div><div> </div><div>Join us at the 2014 Kaleidoscope Conference!</div>\";s:6:\"footer\";s:71:\"<div>{webview_text}</div><div> </div><div>{unsubscribe_text}</div>\";}","Join us at the 2014  Kaleidoscope Conference!",NULL,NULL,0,0,1,"a:0:{}",NULL,0,0
+"資料請求フォローメール(3日後)","list","ホームページから資料請求3日後へのフォローメール","Mauve","en","a:2:{s:4:\"body\";s:113:\"<div>Dear {contactfield=firstname},</div><div> </div><div>Join us at the 2014 Kaleidoscope Conference!</div>\";s:6:\"footer\";s:71:\"<div>{webview_text}</div><div> </div><div>{unsubscribe_text}</div>\";}","Join us at the 2014  Kaleidoscope Conference!",NULL,NULL,0,0,1,"a:0:{}",NULL,0,0
+"ご紹介キャンペーン","template","ご紹介キャンペーンメール","Mauve","en","a:2:{s:4:\"body\";s:113:\"<div>Dear {contactfield=firstname},</div><div> </div><div>Join us at the 2014 Kaleidoscope Conference!</div>\";s:6:\"footer\";s:71:\"<div>{webview_text}</div><div> </div><div>{unsubscribe_text}</div>\";}","Join us at the 2014  Kaleidoscope Conference!",NULL,NULL,0,0,1,"a:0:{}",NULL,0,0

レポートの修正

【修正ファイル】 app/bundles/ReportBundle/DataFixtures/ORM/fakereportdata.csv

# diff -y \
> <(awk -F, '{print $1}' app/bundles/ReportBundle/DataFixtures/ORM/.fakereportdata.csv.org) \
> <(awk -F, '{print $1}' app/bundles/ReportBundle/DataFixtures/ORM/fakereportdata.csv)
"name"                                                          "name"
"Visits published Pages"                                      | "公開された訪問ページ"
"Downloads of all Assets"                                     | "すべての資産のダウンロード"
"Submissions of published Forms"                              | "公開帳票の提出"
"All Emails"                                                  | "すべてのメール"
"Leads and Points"                                            | "リードとポイント"

セグメントの修正

【修正ファイル】 app/bundles/LeadBundle/DataFixtures/ORM/LoadLeadListData.php

# diff -U0  \
> app/bundles/LeadBundle/DataFixtures/ORM/.LoadLeadListData.php.org \
> app/bundles/LeadBundle/DataFixtures/ORM/LoadLeadListData.php
--- app/bundles/LeadBundle/DataFixtures/ORM/.LoadLeadListData.php.org   2016-12-10 18:17:10.000000000 +0000
+++ app/bundles/LeadBundle/DataFixtures/ORM/LoadLeadListData.php        2016-12-11 05:34:07.491583203 +0000
@@ -47,2 +47,2 @@
-        $list->setName('United States');
-        $list->setAlias('us');
+        $list->setName('日本');
+        $list->setAlias('jp');
@@ -57 +57 @@
-                'filter'   => 'United States',
+                'filter'   => 'Japan',

修正した日本語サンプルデータの投入

それでは実際に日本語サンプルデータを投入し、結果を見てみましょう。

# php app/console mautic:install:data
これによりMauticテーブルの現在のデータが入れ替えられます。このまま続けますか?
  [0] いいえ
  [1] はい
> 1
成功しました! Mauticのデフォルトデータがインストールされました。デフォルトのログインは admin/mautic です。

コンタクト

mautic-sampledata-jp-1

セグメント

mautic-sampledata-jp-2

コンポーネント(アセット)

mautic-sampledata-jp-3

コンポーネント(フォーム)

mautic-sampledata-jp-4

コンポーネント(ランディングページ)

mautic-sampledata-jp-5

チャンネル(メール)

mautic-sampledata-jp-6

レポート

mautic-sampledata-jp-7

システム設定(ロール)

mautic-sampledata-jp-8

システム設定(ユーザ)

mautic-sampledata-jp-9

日本語化サンプルデータがインストールできました!

まとめ

簡単にですが、日本語サンプルデータを Mautic Console 上からインストールできました。
上記以外にも、企業情報などのサンプルデータ等があるといいと思いますが、またどこか別の機会にでも触れようと思います。

それでは素敵なMauticライフを!
明日は が担当します。よろしくお願いします!!