投稿者: kunihikokato

  • WordPressで「google analytics by yoast」と「Contact Form7」を使ってGAのイベントトラッキングを利用する場合の注意点

    WordPressで「google analytics by yoast」と「Contact Form7」を使ってGAのイベントトラッキングを利用する場合の注意点

    WordPressでGoogle Analyticsのイベントトラッキングを利用しようとして少しハマったので記録しておきます。

    発端はメールフォームを設置するプラグイン「Contact Form7」の送信完了イベントをGAに送信しようとして、うまくいかなかったことでした。

    イベントが送信されないだけでなく、「Contact Form7」の送信完了メッセージも出ていなかったので、最初は「Contact Form7」のスクリプトでコンフリクトが起きていると思っていました。
    (以前他のブログでコンフリクトが起きたことがあったので)

    そこでJavascriptを使用しているプラグインを全て止めてみたりしましたが、解決しません。

    ちょっと困ってしまいましたが、ブラウザのコンソールをよく見てみると

    Reference Error: ga is not found

    というエラーが出ています。

    これはどうもGAのタグの埋め込み等に使っているプラグイン「google analytics by yoast」の方に問題がありそうだということで、今度は「wordpress yoast ga イベント」等で検索をかけてみると、下記のブログ記事が見つかりました。

    WordPress SEO by Yoastでイベントトラッキングが使えない時
    http://15g.jp/wordpress-seo-by-yoast%E3%81%A7%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%83%88%E3%83%A9%E3%83%83%E3%82%AD%E3%83%B3%E3%82%B0ga%E3%81%8C%E4%BD%BF%E3%81%88%E3%81%AA%E3%81%84%E6%99%82/

    Contact Form7の問い合わせをGoogle Analyticsでトラックできなかった原因と解決法
    http://locatimefree.com/contact-form7-google-analytics-event-tracking-problem-solution/

     

    上記の記事に全て書いてありますが、結論としてはプラグイン「google analytics by yoast」を使っていて、GAにイベントを送信したい場合には、GoogleAnalyticsのリファレンスにあるように

    ga('send', 'event', 'category', 'action');

    と書くのではなく

    __gaTracker('send', 'event', 'category', 'action');

    と書く必要があるようです。

     

    上記のブログ記事に辿り着くまでに少し時間がかかったので、備忘録として残しておきます。

  • 子ども向けプログラミング講座の講師を担当しました

    子ども向けプログラミング講座の講師を担当しました

    2015年9月~10月の間、愛知県瀬戸市のデジタルタワーの足元にある瀬戸デジタルリサーチパークセンターさんで、小学生向けプログラミング講座(全8回)の講師を担当させてもらいました。

    講座を振りかえって苦労した点や気付いたことを、備忘録も兼ねて書いておきます。

    DSC_1269_re

     

    講座の内容について

    講座の目的を「プログラミングに使える論理的思考を身につけること」と設定して、教材はCode Studio のコース2を使用しました。

    カリキュラムについては「初日はイントロダクション」「最終日は作品発表」など、おおまかな流れは決めましたが、基本的には各生徒のペースで進行してもらって、わからない時やつまづいた時に随時質問してもらう自習スタイルで進めていくことにしました。

     

    開講までの準備など

    Code Studioの各ステージのスクリーンショットにヒントをつけて、30ページほどのテキストを制作しました。また、テキストとは別に最終日の作品発表用に「アイデアシート」や「発表シート」を制作して、その都度配布しました。

    Code Studioはまだ日本語化されていない部分が多いので、日本語化プロジェクトを少し手伝ってできるだけ日本語訳をつけるようにしました。

    その他にも、小学生との接し方や講座の進め方について、元小学校教師の親戚に相談をしてアドバイスをもらいました。

     

    苦労した点、今後の課題

    言語の問題

    上にも書きましたが、Code Studioはまだ日本語化されていない部分が多く、各ステージのイントロ動画など日本語化したくてもできない部分や、おかしな日本語訳についての対応に悩みました。

    日本語についても、生徒によってはまだ学校で習っていない漢字があったりするので、テキストについては漢字に全てルビを振るようにしました。

    小学生特有(?)の問題

    大人向けの講座ではなかなか考えられないですが、テキストを家に忘れてきたり、反対に会場に忘れて帰る生徒がよくいました。

    講義中、プログラミングに飽きた子たちが走り回って、収集がつかなくなることがありました。

    進行スピードの問題

    生徒によって進行スピードが大きく違うのと、家でもコースを進めてくる子・進めてこない子がいたので、途中で進行具合に大きな差が出てしまいました。

    スピードが速い子には他のコースをやってもらったりしましたが、正直間延びした感は否めません。一方で、想定していたカリキュラム通りの進行スピードの生徒もいたので、今後どうするかは悩ましいところです。

     

    気付き

    これは想定をしていましたが、子どもたちは好きなことに対する集中力・吸収力は半端ないです。先述の「家でもコースを進めてくる子」も宿題を出したわけではなく、「家でもやっていい?」と生徒の方から聞いてきました。

    自習スタイルとはいえ「何も言ってこないから」とほったらかしにしてしまうと、講座に取り組む熱意が下がったり、信頼関係が作りにくくなったりしました。
    それに気づいてからは、こちらから積極的に声をかけるようにして、ひとりずつしっかりと時間をとってあげることで、集中して講座やプログラミングに取り組んでくれるようになりました。

    進行スピードについては、週イチの講座ではなく、Tech Kids Campのイベントのように「2~3日間で一気に」というスタイルにした方が調整しやすいかもしれません。
    (Tech Kids Campへのリンクを貼って気付きましたが、名古屋校のスクールが開講されるようですね)

    最終日にはみんなの前でひとりずつ作品発表をしてもらいました。
    もちろん大人のように上手に発表はできませんが、みんな緊張しながらも頑張って発表してくれて、こちらとしてはとても嬉しかったです。
    発表前に書いてもらった「発表シート」の記入項目や書き方の指導については改善の余地がありそうです。
    なお、この日はちょうどハロウィンだったので、お菓子を配ったところ大変盛り上がりました。

     

    生徒たちの作品

    生徒たちが作った作品の一部です。
    クリックすると実際にゲームをプレイすることができます。
    作中に「ばか」だの「しね」だのといった言葉が出てきたりしますが、男子小学生が作ったものですので、笑ってご容赦を。

    123575274

    123574417

    123574452

    123575156

    123575140

  • concrete5のインストールに失敗した話

    concrete5のインストールに失敗した話

    WCAN 2014 Winterの懇親会でconcrete5の公式活用ガイドブックを貰ったので、インストールしようとして失敗したという話です。

    00

    conrete5は、サーバー上でWEBサイトの運営管理が出来るCMS(コンテンツ・マネージメント・システム)のひとつで、最大の特徴はWebページ上の編集したい部分をクリックするだけで、そのまま編集できるという点にあるそうです。

     

    インストール準備

    まずはconcrete5インストールまでの準備を参考に、データベースの準備をします。

    次にダウンロードページから本体をダウンロードするのですが、5.6系と5.7系の2種類があります。

    01

    5.6が安定版、5.7が最新版とのことですが、5.6 から5.7への自動アップグレードは、仕様上行われない方針となっているようなので、そのあたりが不安な方は5.7をインストールするといいと思います。

     

    データのアップロード

    ダウンロードしたデータ(ZIPファイル)を解凍し、FTPソフトでサーバーにアップロードします。
    ただ、ファイルが8000個以上あるのでアップロードが大変でした。
    サーバー上で解凍できる環境があるのであれば、その方がいいかもしれません。

    02

    アップロードが終わったら、各ディレクトリのパーミッションを確認し、
    php.ini(もしくは.htaccess)でエンコードの設定します。
    ※これらは「念のため」の作業のようで、スキップしても問題なく動くようならそれでも良さそうです。

     

    インストール

    ブラウザからconcrete5をアップロードしたアドレスにアクセスをすると、言語の選択画面になりますので、日本語を選択して動作条件のチェックに進みます。

    03

    システムチェックがすべて緑色で表示されているのを確認したら「インストールを続ける」をクリックします。

    04

    必要な情報を入力したら「concrete5をインストール!」ボタンをクリックしてインストールが始まります。

     

    エラー発生!

    インストールボタンを押したところ下記のようなエラーが発生しました。

    05

    An exception occurred while executing 'SELECT SUPPORT FROM INFORMATION_SCHEMA.ENGINES WHERE ENGINE = 'InnoDB'': SQLSTATE[42S02]: Base table or view not found: 1109 Unknown table 'ENGINES' in information_schema

    エラーメッセージで検索をすると、どうやらMySQLのバージョンが低いと、このエラーが発生するようです。

    サーバー(エックスサーバー)のMySQLのバージョンを確認すると、5.0.95でした。
    下記のフォーラムを見ても、5.0.95でエラー、5.5.32ならOKという結果が出ているようです。

    Re: 5.7.2 sixcore インストール不可な場合あり

     

    エックスサーバーのコントロールパネルではMySQLのアップデートができなさそうだったので、concrete5の5.6系を試してみることにしました。

    再びインストール準備→ダウンロード→アップロードと進んで、インストールボタンを押してみました。

     

    再びエラー発生!

    06

    今度は「データベースに接続できません」というエラーが発生しました。
    下記のフォーラムでも同じようにインストールできない事例があり、原因もよくわからなそうな感じです。

    データベースに接続できない XServer

     

    と、ここまでやったところで心が折れましたorz

    使ってるサーバーのMySQLがバージョンアップするか、concrete5がバージョンアップするか、
    サーバーを切り替えた時にでも再チャレンジしてみたいと思います。

Top