チーム応援ライセンス開始記念セミナーに登壇しました


5月16日にサイボウズ社27階で開かれた
「チーム応援ライセンス開始記念セミナー」(https://npo.cybozu.co.jp/blog/post/53/)
に弊社代表が登壇者として参加させて頂きました。

今回は、どちらかといえば自治会の元総務部長としての肩書きが主です。

直前に開かれた自治会の役員会で自治会名の実名を出すことが否決されました。
なので、実際の活用事例を写真や具体例で示しませんでした。
そのかわり、サイボウズLiveをサイボウズOfficeに切り替えるにあたり、
どういういきさつで選考を行い、どういう基準で採用したかの観点でお話ししました。
また、予算の限られた任意団体において、どれだけチーム応援ライセンスが重要かということも。

もちろん、最後にはkintoneエバンジェリストとして、
kintoneが自治会や他の組織にこれだけ効きますよ、ということも交え。
スライドはこちら(http://slides.com/yoshikazunagai/for_residents_association)

私は話し終わった後には、隣に座っていた方からお褒めの言葉も頂き、
懇親会でも様々な方からご挨拶や好意的な反応も戴きました。
サイボウズOfficeとkintoneのどちらを採用すればよいか、
との質問も数名の方から頂きました。
また、参加されていた当の自治会の方からも好意的なコメントを頂きました。

逆に反省点もあります。

・スライドに一切具体例を出せず、聞き手の皆様に抽象的な印象を与えたかもしれないこと。
・話の途中で質問してみたところ、自治会の役員経験者が聞き手の1割もいらっしゃらず、
 自治会を経験していない方には、私の話の意図が伝わらなかった可能性があること。
・質問の時間を取れなかったこと。
・kintoneを勧めておきながら、アプリのデモの時間をとらなかったこと。

実際、サイボウズ社より聞き手の皆様から頂いたアンケート結果(個人情報は省いたもの)を見せて頂きましたが、
反応がわかれています。
他の講演者より私の講演に高評価をつけて下さったかたもいれば、逆の評価をした方もいました。
サイボウズLiveの代替をOfficeにする決意がついたと仰って下さった方もいましたし、
懇親会でもそのような評価も頂きました。

そこも含め、どうすればうまく伝えられるか、私の方でも自治会や町内会、任意団体の方々に提案を行う上で、
とてもよい勉強になりました。

最後になりますが、ご出席くださったかた、サイボウズ社のみなさま、ありがとうございました。


弁論の力


先日、一人で相模原の旧津久井町にある尾崎咢堂記念館に行ってきました。

尾崎咢堂翁は、またの名を尾崎行雄ともいい、明治から昭和にかけ政界で重きをなした方です。「憲政の神様」の異名も持ち、憲政記念館の中庭には銅像も立っています。憲政記念館自体、もともと尾崎咢堂を記念して建てられた建物。国家議事堂のそばに建つ憲政記念館を訪れるとすぐに翁の銅像に出会えます。私は昨年、二度ほどセミナーで憲政記念館を訪れました。そして中庭に立つ咢堂翁の銅像と対峙し、手前にある碑に刻まれた翁の言葉を心に刻みました。その言葉とは、
「人生の本舞台は常に将来にあり」
これは、私が常々思っていることです。



尾崎咢堂記念館は、私が結婚して町田に住みはじめてすぐの頃に一度行ったことがあります。自転車で寄り道しながら十数キロ走って記念館にたどり着いたのは夕方。すでに記念館は閉まっていました。以来、18年の月日が流れました。記念館の付近は橋本から相模湖や道志へ向かう交通の要です。18年の間には何度も通りかかる機会もありました。それなのに行く機会を逸し続けていました。しかし、憲政記念館で尾崎翁のまなざしに接したことがきっかけで、私の中で記念館を一度訪れなければとの思いが再燃。この度、良い機会があったので訪れました。

翁の生涯については近代史が好きな私はある程度知っていました。憲政記念館の展示でも振り返りましたし。少しの知識を持っていても、翁の生誕地でもある記念館に訪れて良かったです。なぜなら、生涯をたどったビデオと、展示室で館長さんから説明いただきながら振り返った翁の生涯は、私い新しい知識を教えてくれたからです。翁の生涯には幾度もの起伏があり、その度に翁はそれらを乗り越えました。その中で学んだことは、翁が憲政の神様と呼ばれるようになった理由です。その理由とは、弁論の力。

尾崎咢堂翁の生涯を追うと、幾度かのターニングポイントと呼べる時期があります。そこで翁の人生を変えたのは、文章の力です。若き日に慶應義塾で学んだ翁が福沢諭吉に認められたのも論文なら、福沢諭吉の紹介で入社した新潟新報でも論説の力で台頭します。

ただ、そこからが違う。翁が神様と呼ばれるまでになったゆえん。そこには弁論の力がありました。まず、翁が認められ、新潟から東京に官僚に取り立てられたきっかけは講演です。政治の世界に入ってからも、桂首相弾劾演説や、普通選挙法の決議を訴える翁の遊説は全国に尾崎行雄の名を轟かせました。国が右傾化する中、翁は議会の壇上で弁論によって軍に反抗し、議会制民主主義の良心を訴え続けます。


世界に類をみない63年もの議員生活。それを支えたのは文章力に加え、弁論の力だった。特に後者の力が翁を世界的な影響力を持たせた。その影響力は、戦争中に米軍が巻いたビラの中で翁は日本における自由人の代表として挙げられています。私は、記念館でそのことを教えられました。そしてその気づきを心にしっかりと刻みました。

ひるがえって今、です。

いまは誰もがライター、誰もがジャーナリスト、誰もがインフルエンサーの時代です。しかもほとんどが志望者。バズれば当たるが、ライバルは無数。いつでもどこでも誰もが世界に向けて文章を発信でき、匿名と実名を問わず意見を問えます。ですが、誰もが意見を発信するため、情報の奔流の中に埋もれてしまうのがオチ。あまりの情報量の多さに、私はSNSからの情報収集をやめてしまいました。最近は論壇メディア(左右を問わず)や書籍から情報を絞って取り込むようにしています。

そんな今、無数の発信者の中で一頭地を抜く方々がいます。それらの方々に共通するのは、弁論の力、です。

例えば、経営者がプレゼンの達人である会社。いわゆるトップ営業を得意とする企業には活気が漲っている印象を受けます。代表的な人物は米アップル社の故スティーヴ・ジョブズ氏でしょう。また、いわゆるインフルエンサーと呼ばれる方々は、ブログやツイートだけでなく、イベントでのトークがもてはやされます。また、文章での表現に秀でた方は、講演にも秀でている方が多い。そんな印象を受けます。

実際、彼らのトークを聞くと、何かしら心が高揚します。そして、高揚した気持ちとトーク内容が積極的に記憶されます。正直なところ、トーク自体に含まれる情報量は、文章よりも少ないことがほとんどです。しかし、記憶に残っているのは文章よりもトークの内容。そんな経験をされた方もいるのではないでしょうか。

なぜか。考えてみました。

多分、感情と理性がうまく脳内で混ざり合った時にこそ、情報は記憶されるから、というのが私の素人なりの考えです。文章を読む時、人の脳は理性が勝る。そこには感情の関わりが薄い。その一方、手練れの講演者は間に笑いを挟み、聴衆の注意を引きつける。笑うことは感情を刺激し、聞いた内容を脳内に刻む。そのため、講演内容が記憶され、肚に落ちる。私はそんな風に考えています。また、講演をじかに聞く時、私たちは視覚と聴覚を使います。文章を読むときは視覚だけ。その差もあると思います。

つまり、今や文章をアップするだけではだめなのです。もちろん発信することは大切です。ただそれだけでは無数のネット上の文章に埋もれます。文章に加え、人前で弁論をふるい、視覚と聴覚で訴えるスキルが求められると思うのです。それは私のように普段から商談に臨む者にとってみればスキルの延長です。もちろん、提案書だけで一度も会わずに受注いただくこともあります。でもそれはレアケース。一対一の商談に加え、一対多でも表現して、発信するスキル。人前でしゃべる機会を持ち、スキルを磨くことで受注ばかりか、引き合いの機会も増えてゆく。その取り組みが大切なのだと思います。それは私のように経営者だけに限りません。勤め人の方だって同じです。日々の業務とは自己発信のよい機会なのですから。

私は三年前に法人化しました。それからというもの、文章でアピールするだけでは今の時代、生き延びられないと考えていました。それでおととしはしゃべる機会を増やしました。人前でしゃべる技術。それは一朝一夕には得られません。とくに私のようにプログラミングをしていたらプログラマーに、システムの構成を考えていたらシステムエンジニアに、文章を書いていたらライターになってしまう要領の悪い脳を持っている人にとっては切実に欲しいスキルです。

ところが昨年の私は年末に総括した通り、開発やブログを書くことに集中してしまいました。人前で発信する機会は一、二度とほど。サッパリでした。失敗しました。売り上げこそかろうじて前年比増を達成したとはいえ、それでは今後、生き残れません。去年の失敗を挽回するため、今年は人前で話す機会を増やしています。ここ数日も人前で二、三度しゃべりました。その一度目の成果として、明日5/16にサイボウズ社本社で行われるセミナーに登壇します。リンク

明日に向けてリハーサルも何回か行い、内容は練りつつあります。が、まだまだ私のトークスキルには向上の余地があるはず。少なくとも尾崎咢堂翁のように人に影響を与えるには、さらなる研鑽が必要です。そのためにも今回に限らず、今年は積極的にお話しする機会に手を挙げるつもりです。私の知己にも、紙芝居形式のプレゼンを行う方や人前で話すことに長けた方がいます。そういった方の教えを請いつつ、少しでも尾崎翁に追いつきたいと決意を新たにしました。

弁論の力こそ、ポストA.I.時代を生きるすべではないか。そんな風に思った尾崎咢堂記念館でのひと時でした。


【IT導入補助金】IT導入支援事業者に採択されました。


この度弊社は、

経済産業省が運営する「平成29年度補正サービス等生産性向上IT導入支援事業」において、

【IT導入補助金】IT導入支援事業者に採択されました。

以下に採択通知を掲載いたします。

また、IT導入支援事業者一覧のページにも弊社の情報を掲載して頂けました。

これを励みに適正な企業活動・社会活動を行っていきます。
採択はあくまでも入り口。これからが大切なのですから。

引き続きご指導ならびにご支援を賜りたく、よろしくお願い申し上げます。


第三期を終えて


3月が終わり、4月になりました。その切り替えは、弊社にとって三期目の締めと四期目のスタートに重なります。

第三期の売り上げを仮で締めましたが、売上で対前年比100.09%になりそうです。まさにぎりぎり。
でも、第三期の下半期は一切の常駐業務に頼らず、全て営業努力で売上を立てました。それを考えると上々だと思っています。

第三期の反省の一つは「リモートワークマネジメントの欠如」です。第三期は返金が1件、請求放棄が1件、未収案件が2件も発生してしまいました。
未収案件の1件を除く残りの3件は、全てリモートワークのトラブルでした。あまり報告を求めず、作業方法を縛らずに任せた案件がことごとく失敗したのです。

結論としてリモートワークのマネジメントの手法として自由参画をベースとした放任マネジメントは時期尚早だったと思っています。
一方で私がきちんとFace to Faceで外注先と協業した案件は、ほとんどを検収まで持ち込めています。なのでなおさらリモートワークマネジメントの失敗が響きます。
それらがきちんと検収できればもう少し売上達成度に余裕があったものを。これは大いに反省すべき点だと思っています。第四期はリモートワークによる外注を止めます。

もう一つの第三期の反省は、提案する案件の幅を広げすぎたことです。今後の展開に結び付かないような枯れつつあるソフトウエア案件を受注したことで、作業コストが増大してしまいました。これも大いに反省しなければ。新規技術の習得は投資となりえますが、レガシーソフトウエアに今更取り組むことは長い目でみるとリスクになりかねません。

今の技術者不足、案件過多の景況は、2020年までだと思っています。そして今、技術者に求められるスキルの質は人工知能やハードウエアとソフトウエアの融合など大きく変わろうとしています。私も去年はマネジメントに軸を移さねばと自分の技術者のあり方に迷いが生じていました。しかし、今年は新規まき直しです。私自身が開発に携わる割合を増やそうと思っています。そして提案する案件の幅を少し狭めることで私自身のスキルをパートナー企業にきちんと伝えられる体制を築きます。今、確実な案件を増やして足場を固めなければ未来はありません。

それを踏まえて、今年の私はマネージャーではなく、プレーイングコーチでありたいと思います。海の向こうでは私と同学年のイチロー選手が現役で雄姿を見せてくれています。しかも4/1から2安打と超美技で米国を感動させたニュースまで飛び込んできました。私はかねがねイチロー選手が現役でいる間は自分も現役であろうと思っています。私もまだ、プログラミングの速さやロジック構築の勘所は衰えていないと思っているので。

プレーイングコーチでありながら、全試合出場を行うように日に夜をついでのモーレツ作業ではなく、コーチングできるだけのゆとりを持ちながら、着実に売り上げを立てていかなければ。

第四期は全期間、常駐なしで売上を立てていかねばならないのですから。


サイボウズのクラウドサービスが2018年6月10日より一部利用できなくなる件の対応


このような案内をサイボウズ社から頂きました。

さて、本稿はこのような案内をサイボウズ社からいただいたけれど、どうすればよいかお困りの方へ向けて書いています。

実は弊社にも数カ月前、同様の内容が書かれたメールがサイボウズ社から届いていました。
その時は私はまだ先のことと思い、後回しにしました。
ところが今回、このような内容の案内を郵送で受け取るに至り、さすがにまずいと思って調べてみました。

この案内の中で対処法として書かれている通り、ウェブブラウザーやOSが古い場合は簡単です。
サイボウズのサービスを、新しいパソコンでしか使わないようにすればよいのです。

ところが問題は、ウェブブラウザーやOSが最新版なのにこのような案内が来る場合です。
それはリンクに記載されているチェックツールで問題なしと出る場合です。
問題なしと表示されるのに、なぜこのような案内が来るのか不安になりませんか。
もしかしたら、どうすればよいのか分からない方がいらっしゃるのではないでしょうか。
本稿はそういう方のために書かせていただきます。

実は私は最初にメールを受け取った時点でほぼ見当はついていました。
それはウェブブラウザー以外の場所から、サイボウズのクラウドサービスに接続している場合です。
ウェブブラウザー以外の場所とは、たとえばExcel、Word、Access、PowerPointなどのソフトウエアのことです。

弊社の場合、Excelからkintoneへデータを参照しているプログラムが問題でした。

    Set objweb = CreateObject("MSXML2.ServerXMLHTTP.6.0")
    If Err.Number = 0 Then
        Set CreateHttpObject = objweb
        Exit Function
    Else
        MsgBox "MSXML2.ServerXMLHTTP.6.0エラー"
    End If

    Err.Clear
        
    Set objweb = CreateObject("MSXML2.ServerXMLHTTP")
    If Err.Number = 0 Then
        Set CreateHttpObject = objweb
        Exit Function
    Else
        MsgBox "MSXML2.ServerXMLHTTPエラー"
    End If

上のプログラムは、Excelのマクロからkintoneに接続するライブラリの設定箇所を抜粋しています。
上で設定したライブラリを、以下のコードでkintoneに接続していました。

    Set objweb = CreateHttpObject()
    
    If objweb Is Nothing Then
        GetData = ""
        Exit Function
    End If
    
    Call objweb.Open("GET", "kintoneのURL", , "basic認証ID", "basic認証PW")

ここで最初に挙げた、

    Set objweb = CreateObject("MSXML2.ServerXMLHTTP.6.0")

または

    Set objweb = CreateObject("MSXML2.ServerXMLHTTP")

が問題です。

要するにこの二つのライブラリが古いのです。古いライブラリですがWindows 10でもサポートされているため、
エラーは特に起きません。

ところがこのライブラリは、kintoneへの接続の際にTLS 1.0という通信プロトコルを使うのです。
これがサイボウズ社のクラウド基盤側で検知されたため、メールや郵送でご案内を出されたのでしょう。
いつもながら、早め早めを見越したサイボウズ社の対応には感謝です。

弊社の場合、上記の処理を2社様にのみ使っていました。
とくに最初のお客様への導入が2012年の春でした。
それはkintoneがリリースされる前、つまりプレリリースの段階でした。
その時点でMSXML2.ServerXMLHTTP.6.0を採用したことが誤りでした。

それを受けて、

    Set objweb = CreateObject("WinHTTP.WinHTTPRequest.5.1")
    If Err.Number = 0 Then
        Set CreateHttpObject = objweb
        Exit Function
    Else
        MsgBox "WinHTTP.WinHTTPRequest.5.1エラー"
    End If

と改修しました。WinHTTP.WinHTTPRequest.5.1であればTLS1.0は使いません。
3月の初めに改修を行いましたが、今のところエラーもなく動いています。
(サイボウズ社側でまだTLS1.0として検知されていたら問題ですが)

なお、

    Set objweb = CreateObject("MSXML2.ServerXMLHTTP.6.0")

を使っている場合は、

    Call objweb.Open("GET", "kintoneのURL", , "basic認証ID", "basic認証PW")

でエラーなく通ります。
ですが、

    Set objweb = CreateObject("WinHTTP.WinHTTPRequest.5.1")

に変えた場合、

    Call objweb.Open("GET", "kintoneのURL", , "basic認証ID", "basic認証PW")

ではエラーが発生します。

    objweb.Open "GET", "kintoneのURL", False

と変えるとよいでしょう。
ちなみにベーシック認証の指定は、

    Call objweb.setrequestheader("Authorization", "Basic " & encode64("basic認証ID:basic認証PW"))

とopenの後のコードで行っているので、その変更はありません。

というわけで、同様の案内をサイボウズ社からいただいていて、ウェブブラウザーやOSのチェックでは問題ないと表示される方、
は本稿を参考にしてもらえれば幸いです。

もし必要であれば弊社宛にご連絡を頂戴できれば、ご相談にものらせていただきますよ。


本音採用にブログを連載しています


なんどかFacebookやTwitterでは告知していますが、
昨年八月よりCarry Meさんの運用されている「本音採用」というWebメディアにおいて、ブログを連載しています。

「アクアビット航海記「ある起業物語」」と題して。

連載も長期にわたると、そろそろ一覧で記事を管理したいと思います。

本日4/19、第三十七回をアップしました。

第三十七回 新たな会社からのお誘い
第三十六回 仕事のピークとその後の反動
第三十五回 正社員として得た経験
第三十四回 家の処分に本腰を入れ始める
第三十三回 途方に暮れる家の処分
第三十二回 家の重荷
第三十一回 はじめて作ったホームぺージ
第三十回 子を持つ責任の芽生え
第二十九回 流れにまかせ正社員へ
第二十八回 Excelマクロ使いから正社員へ
第二十七回 僕が僕であるために
第二十六回 機会を逃さず飛び込む
第二十五回 自立の願いに暗雲が
第二十四回 自立した自分を悟る
第二十三回 スーパーバイザーとして働く
第二十二回 上京してまもなく
第二十一回 前半生のまとめ
第二十回 単身上京に踏み切る
第十九回 ブラック企業でしごかれる
第十八回 社会に出るために足掛かりをつかもうとする
第十七回 社会に出て自らの無力さを感じる
第十六回 社会に出て、プログラミングに触れる
第十五回 大学を出た後
第十四回 大学での生活が私の起業に与えた影響(後編)
第十三回 大学での生活が私の起業に与えた影響(前編)
第十二回 航海記
第十一回 起業のデメリットを考える その5
第十回 起業のデメリットを考える その4
第九回 起業のデメリットを考える その3
第八回 起業のデメリットを考える その2
第七回 起業のデメリットを考える その1
第六回 起業のメリットを考える その5
第五回 起業のメリットを考える その4
第四回 起業のメリットを考える その3
第三回 起業のメリットを考える その2
第二回 起業のメリットを考える その1
第一回 まずはじめのご挨拶

これからも連載はつづく予定ですが、連載の度に追加していきます。


今年はエバンジェリスト活動を活発に


年始の抱負にも書きましたが、

今年はkintoneエバンジェリスト活動に力を入れます。

 

まずは、今年度もkintoneエバンジェリストとして無事に更新頂きました。

こちらはバレンタインデーに合わせてサイボウズさんよりいただいたプレゼントです。
ハッピーエバレンタイン♫ ありがとうございます!
ハッピーエバレンタイン

昨年はほとんどエバンジェリスト活動が出来ませんでした。今年はその反省を踏まえなければ。

サイボウズさんからも昨年の弊社代表のエバンジェリスト活動の低調さには、苦言をいただきました。

少なくとも一昨年並みの活動レベルに戻し、その上に行くことが求められます。

 

その反省から、今年はkintone案件を複数提案し、準備に動いています。その中にはkintoneを使った新規サービスも含んでいます。

先日は久し振りにプラグイン開発も行いました。お客様専用のプラグインなので、公開の予定はありませんが。

また、来週にはkintoneに関するインタビューも受ける予定です。

 

去年の反省を踏まえた上で、弊社代表が何を武器とするか。技術力がある程度あるのは前提で、そこに何を加えられるか。何を武器としてエバンジェリストとしての存在感を出して行くか。弊社代表が至った結論。それは書く力です。文章力。そこに活路を見出そうと思います。そして、去年に比べて一味違った活動を展開できればと思っています。


2018年の抱負


新年明けましておめでとうございます。

大晦日にアップした投稿にも書きましたが、昨年度は皆さま、いろいろと有難うございました。
今年も引き続き、よろしくお願いいたします。昨年の流れをさらに加速し、なおかつ、あらわになった課題を解決する努力を惜しまず進みたいと思っております。

今年の抱負としては、今までは胸の中で徐々に温めたり、個人的な抱負は家族の前のみに披露していました。ですが、今年はこの場で具体的に書いてしまおうと思います。自分を追い込むためにも、自分という器の容積を広げるためにも、目標は高く持ちたいと考えております。

1.法人化4年目にあたって
3年目の決算は、下半期に常駐収入がなくなったにも関わらず、前年度と同じぐらいの収入が実現できそう。しかし、常駐という安定収入のない中、売り上げ確保を成し遂げるには、私の余裕を犠牲としました。今年1年、常駐に戻る予定はありません。安定収入のない中、継続的に新規案件の受注と検収を繰り返していかねばなりません。今年1年は法人化した弊社にとって正念場だと思っています。

1年を乗り越えるには、昨年度の課題として挙がったパートナー企業や技術者との業務分担が鍵です。協業の基盤となる契約回りの整備は昨年めどをつけました。続いてはお客様の要件をどこまで定型化できるかです。今まではお客様からの多少の仕様変更も、私自身が作業に当たっていれば即座に対応できましたし、その柔軟性が弊社の売りでもありました。しかし今後の協業にあたってはそれだとうまくいかないでしょう。実際、昨年はスキルトランスファーの工数によって生産性が低下する壁にぶち当たっています。それをいかに防ぐか。また、お客様と弊社、弊社とパートナー。その間でどこまで工数をかけず、なおかつ確実に仕様情報を伝達するか。そして仕様変更の際にどうやって工数をかけずにお客様のご要望を実現するか。この工夫に時間を掛けるつもりです。

もう一つやるべきこと。それは経営の軸がぶれないような事業計画の策定です。こちらも昨年、ヒントをもらっています。しかも、2020年という壁が待っています。私が再三口にしているように、2020年が過ぎればシステム案件は減っていくはずです。それは人工知能の進展や大型開発案件の終了による技術者の余剰によって確実だと思います。それを見据えた体制作りが必要です。

具体的には売上額は、2017年度の1.25倍を目指します。事業計画は自己流であってもよいので、3月までに今年と5年後の計画が書かれたものを一本。あと、新規のkintone案件を8本受注することを目指します。そのためにはkintoneの案件で実績を作り、それをブログなどでアピールするしかないです。実は昨年、四つ五つほど、種を撒いています。これらを実のある実績にすることが前半のミッションだと思っています。これらのうち、どれかの成果を年末のkintone Advent Calendarの場でご披露できれば。

2.主催するイベントを作る
昨年は結局kintone Café 神奈川の主催、そしてたかなみ乗艦会の共催(?)しかイベントを企画していません。それらのイベントは今年もやりたいですね。それ以外になにか。カラオケイベントもやりたいところですが、読書会などよいのではないかと思っています。
全てあわせて3回は催したいですね。あと発起人としても、いくつか中断したままのイベントがあるので、それらの口火を切るのはいいかも。玉川上水歩きの残り半分と、飯田線秘境駅ツアーの残り下半分とか。

あと、昨年の後半は交流がさっぱりでした。さすがにあれもこれも参加というのは不可能なのですが、なるべくFacebookでの反応はしたいと思います。

3.話す技術、書く技術、システムの技術
昨年に引き続き、この3つは精進していきたいです。去年、書くほうは成果を挙げられたのですが、しゃべる方はさっぱりでした。今年は上記のイベントなどもからめて、しゃべる機会を増やしたいと思っています。私、どうもしゃべらないとしゃべるスキルが衰えてしまうのですよね。ただ、書くほうも、そろそろ目に見える成果として世に問わねば。ブログは読む読ブログだけで100本アップすることを目標とします。また、昨年は普通のBlogがほとんど書けませんでした。こちらも書いていかないと。

またシステムの技術ですが、去年は目標としていたpythonの勉強が全くできませんでした。それも含めて、今年はgoにもチャレンジしつつ、kintoneと他アプリの連携を複数行ってみようと思います。cybozu Liveとkintoneの連携にもめどがついたことですし、すでに案件としてcybozu Liveのデータを移行させるミッションがあるので。

4.ブログ
去年、実はInstagramを結構投稿していました。投稿によってはFacebookの何倍もの反応があったり。まだ私の中ではInstagramとFacebookの使い分けがうまくできません。今年はもう少し使い分けを続けようと思っています。またTwitterも140文字が撤廃されるという話もきいています。それらを使い分けつつ、個人的な日記に近い形の投稿を毎日欠かさず続けるつもりです。一年のまとめを書くにあたっては、Facebookで毎日書いたこと、Dropboxに格納する写真、FourSquareの投稿が役に立ちました。それらも含めて2018年の締めにあたり、書評、劇評、映画評、時評や旅行紀、そしてもう少しパブリックな内容のブログを増やしていきたいと思います。もちろん、かつてのプライベートの私を描く本音採用のブログも続けつつ。それと同時に、技術的な記事はもう少し増やしていかねば、と考えています。昨年に引き続いて、私にしか書けないブログにしていきたいと思っています。ブログのスタンスは昨年と変わりません。実名で責任から逃げないもの。また、押し付けにならぬよう私から友だち申請をしないことも同じです。
これらを成し遂げつつ、質を落とさずに仕事でも成果を上げる。かなりの難関です。どこまで生産性を上げられるかにかかっています。去年、実は音声入力にも何度もチャレンジしていました。これらを駆使してブログ執筆の生産性を上げていこうと思います。

5.体力と魅力増強
昨年は山や滝めぐり、自転車での遠距離旅などで体力維持に努めました。ただ、下半期はイベントに参加できなくなりました。でも、多分娘たちも受験を控え、家族で出かけるタイミングは減るはず。私だけで動けるタイミングは増えるはずです。まず、日本の滝百選に選ばれた滝は8カ所を目指します。具体的には、ニッカ宮城峡蒸留所に行きたいので、秋保大滝と三階の滝を。岡山蒸留所に行きたいので、神庭の滝を。維新150年の山口を旅したいので寂地峡五竜の滝を。阿波の土柱をみに行きたいので雨乞の滝と大釜の滝を。JR三江線が3/31で廃止になるので常清の滝を。それと娘たちから家族で長野のカムループスさんに伺いたいとのリクエストをもらっており、近くの惣滝を。他はどこか一カ所、九州の滝には行きたいですね。無理そうなら阿寺の七滝か養老の滝、または吹割の滝か霧降の滝、早戸大滝のどれかを。それと、去年は日本百名山に一峰も登れませんでした。どこか一峰は登りたいと思っています。まず2月の山登りですかね。

私は結構自分の目標は何度も読み返していますが、これを黙読だけでなく、音読することで一層実現に近づけたいと思います。

引き続き本年度もよろしくお願いいたします。


2017年のまとめ


一昨年、昨年に続き、今年もevernoteで下書きをこしらえ、弊社ページにて一年のまとめを書きます。

総括すると、2017年は仕事の面で成長を成し遂げました。ですが、それに伴う課題があらわになりました。プライベートな面でも充実と反省があります。公私ともにムラのある一年になったと反省しています。達成度3割。達成感6割。満足感6割というのが自己採点です。2017年の私とご縁をいただいたすべての方々に感謝します。ありがとうございました。

公私の「公」

●弊社の業績
§ 総括 2015年4月に法人化し、2016年4月からは常駐業務を月半分に減らしたのですが、今年の9月をもって5年半に渡るプロジェクトから離任しました。その意味では2006年2月に個人事業主となってから11年7カ月目にしてようやく自立できたと評価できます。ただ、常駐がなくなったため、全てを営業努力で稼がねばなりません。安定収入がなくなった分、かなりの余裕が喪われました。もちろん、常駐先からの離任を予感していた年明けから、いつ常駐先がなくなってもよいように精力的に動いていました。そのため、私が大きな軸としていた方策は二つ。一つは信頼して業務を任せられるパートナーを作ること。もう一つは業務基盤を堅めることです。

§ 業務パートナー 前者については、二つのパターンを試しました。一つは、パートナー各社にかなりの自由裁量で参画してもらい、私がそれを緩く取りまとめるパターン。もう一つは私がそのパートナー会社に入り込み、システム開発のスキル伝授から関与するパターンです。ところが、自由裁量のパターンはものの見事に失敗しました。自由裁量のパターンで取り組んだ案件は3つ。そのうち1つは着手金を頂いたにも関わらず返金、つまり失注という無念の事態に陥りました。もう1つの案件も、責任の所在をきめていなかったため、最後は私自身が10日ほどろくに寝られないほど実装にあたらざるを得なくなりました。3つ目の案件はお客様とのフロントエンドの役割が混乱しかけたため、プロジェクトを進めるためにも私自身がプロジェクトから離脱する決断を下しました。結局、自由意思でゆるいプロジェクト体を構築する手法は、契約を含めた最初から見直す必要があると見切りを付けました。もう一つ、私がパートナー会社に入り込むパターンは、複数の案件で無事検収をいただけました。ただ、スキル伝授への時間も含めて納品までの時間がかなりかかってしまいました。パートナー会社さんに完全常駐するには私自身のリソースも食われるので避けたい。ところがそうしないと生産性が悪くなる。そういった生産性を向上させるための工夫が求められています。結局、私個人が全て一人で切り回した案件が、利益率も生産性も最も高いという結果に終わってしまいました。これでは個人事業主とそう変わりません。しかし、私自身が実装に携わればその分余裕がなくなります。これは引き続き大きな2018年の課題です。結局この壁を超えるのは来年に持ち越しとなりました。

§ 業務基盤の堅牢化 後者については、個人事業主時代からずるずると続けていた家計と法人の財布の混在を完全に分けました。具体的には法人側の金銭管理は私一人が完全に担うことにしたのです。これによって法人側の財務管理はまだ課題が残っているとはいえ、だいぶまともになりました。今年は税理士の先生のご協力も頂き、経営計画や事業計画書の策定にも取り掛かっています。同様に 中小企業管理士兼弁護士の先生からセミナーとコンサルティングを受ける機会を頂き、同様に経営計画や事業計画の大切さを学んでいます。

§ 2017年度売上見込み 上記の通り、複数の課題が明らかになったにも関わらず、今のペースを続けられれば来年3月末が締めの2017年度の決算は、2016年と同じ、または上回れる見込みがつきました。下半期の売上をまるまる非常駐のみで立てねばならない割にはまずまずだと思います。ただ、残り三カ月の努力が重要なのは言うまでもありません。

§ 人脈の構築 今年はこういう状態だったので、人脈作りにはとてもムラがありました。交流会もポツポツと参加した程度。Facebookに至っては、下半期は一日に5分も見ていれば多いくらい。限られた時間の中でどの時間を削らなければならないかを考えたとき、私に残された選択肢はSNSをみる時間を削ることのみでした。そのため、この秋以降、他の人の投稿はほぼ見ていません。すみません。来年もSNSについては付き合い方も含めて見直そうと思っています。また、いくつか散発で参加した交流会では、ある程度人脈は広がりました。ただ、新規案件については2016年以前の人脈から頂くことがほとんど。来期は既存のお客様も大切にしつつ、新たなお客様とのご縁もどうつくるか。引き続き模索を続けます。そのためには、先に書いた通り業務上の生産性向上が求められるわけですが。

§ 対外活動 2016年度は各地にセミナー講師で呼ばれたりしたのですが、今年は逆です。上に書いたとおり自社の業務に集中せねばならず、講師を務める暇など取れません。不発でした。3月に主催したkintone Café 神奈川 Vol.5でしゃべったくらいです。他にも勉強会はいろいろと出席しましたが、私が壇上に上がることはついにありませんでした。kintone Café 埼玉や経済セミナー、gusuku Meetup、G Suiteユーザー会、IoT分科会やRESAS勉強会勉強会、事業計画書セミナー、JTBアクセラレータ、Eiffle MeetUp、kintone DevCamp、 eBay Connect Japan 2017 、Questetraセミナー、などなど様々な勉強会に顔を出していたにも関わらず。来年は売り上げと生産性を確保しつつ、壇上にも立てるようにしなければと思っています。また、今年は横須賀の海上自衛隊でたかなみを観る会で今までお仕事でお世話になった横浜周りの方にお声がけさせて頂きました。思ったより来てくださってありがとうございます。私が今年、kintone Café以外に何か幹事めいたことをしたとすればこれくらいでしょうか。

§ 開発案件 今年も色々とバラエティに富んだ開発案件を頂きました。新たにアイミツのサービスに加入し、そこからの案件が結構大きかったのです。一方、kintoneが絡む案件については完全にスランプの一年でした。正直、今年のkintoneがらみの案件の総失注額は、1千万を超えています。なぜなのか。かなり力をいれて見積もりを作ったのに、とかなり悩みました。kintoneエバンジェリストはまだ続けさせてもらっていますが、その自信を失わせるほどに。ですが、11月のcybozu Days 2017と続いて行われたkintone Café Japanに出たことで気を取り直しました。年末にはkintone Advent Calendarに三年続けて参加し、cybozu Liveからkintoneへのデータ移行の記事を書きました。来年、kintoneの新規受注を少しでも増やし、安定的な案件を増やすこと。これは必ず達成すべき課題だと思っています。

§ 執筆活動 しゃべる方はさっぱりだった今年ですが、書くほうではある程度の成果は挙げられたと思っています。特筆すべきはCarry Meさんの運用する本音採用でブログを連載したことです。8月から初めて年末までで21回。自らの起業への考えと、自らの起業までの経緯を書くことは、自分自身が何になりたいのか、どういうワークスタイルで仕事し、どういうライフスタイルで悔いなく生きたいのかを再確認するのに役立ちました。とくに、忘れかけていた20台前半の出来事を思い出せたこと。これは、これからの生き方にとって必ずやプラスになると思います。あと、本や観劇のレビューは110本アップできました。また、12月には上に書いた通りkintone Advent Calendarに参加しています。2017年は書くことへの情熱が尽きることなく可能な限り書けた一年となりました。こちらは来年、何らかの成果として世に問いたいと思っています。

§ 妻のココデンタルクリニック 妻のココデンタルクリニックは、新患さんも増えてはいるようです。が、2017年度は妻自身が別のお仕事に忙殺されてしまい、傍から見ていてもとても診療室経営に専念できているとはいえませんでした。それは、2017年度の私の気分を大きく乱しました。残念ながら2018年もその状態は続くでしょう。妻には妻の人生があるので、やりたいことはさせてやりたいとは思っているのですが・・・私が患者さんを紹介するなどして、診療所経営に専念させるようにしなければ、と思っています。

§ 年表

  ・1月お仕事
  パートナー企業で新年会、四谷図書館でお仕事、両国の国際ファッションセンター入居者の新年会、山王日枝神社に参拝
  Yahoo Lodgeで仕事、夜遅くまでお客様の家で打ち合わせ、gusuku Meetup Vol.1、kintone Café 埼玉 Vol.4
  新神戸オリエンタルホテルで打ち合わせ、明石海峡大橋でシステム実証実験
 ・2月お仕事
  半常駐先新年会、IoT分科会、両国のお客様へ、新宿の交流会で学生の起業家さんとご縁を結ぶ、月島で商談
 ・3月お仕事
  kintone DevCamp、kintone Café 神奈川 Vol.5、確定申告、平塚で商談、憲政記念館で経済セミナー参加
 ・4月お仕事
  鷺沼さくらパソコン教室へ3度訪問、都庁で仕事、バーチャル花見交流会、IoT分科会、下谷、与野、川崎、関内で商談
  アトリエMさんへ打ち合わせ
 ・5月お仕事
  大井ふ頭、渋谷、目黒、与野、浜松町で商談、パートナー企業同士を結び付ける、Twitter Japan活用セミナー参加
  gusuku Meetup Vol.2参加、IoT分科会、明大前で打ち合わせ、Yahoo Lodge、神保町で商談、SYNQAで仕事
  横浜で商談、デザイナーさんと数年ぶりに再会
 ・6月お仕事
  六本木で商談、半常駐先の皆さんで飲み、パートナー企業さんと下北沢で飲み、お客様と伊豆視察、渋谷商談
  渋谷打ち合わせ、学生起業家さんたちと飲み、新川で商談、渋谷で打ち合わせ、hanare ひばりが丘5周年に駆け付け
  両国で商談、ココデンタルクリニック5週年、お客様と伊豆視察2回目、湘南台で商談×2、渋谷で商談/打ち合わせ
  王子で商談、渋谷でパートナー企業さんたちと飲み会、半常駐先で送別会
 ・7月お仕事
  餃子投資の会、高知からのお客差を迎えて打ち合わせ&飲み会、大井ふ頭で商談、渋谷で商談、半蔵門で商談
  Yahoo Lodgeで仕事、下北沢でパートナー企業さんと打ち合わせ、パートナー技術者さんと新宿で打ち合わせ
  下北沢で打ち合わせ、東松原で打ち合わせ、IoT分科会、渋谷で商談、ホルモン投資の会
  渋谷でパートナー企業さんと打ち合わせ/飲み会、半常駐先送別会、株式投資セミナー参加、
 ・8月お仕事
  工学院大学で打ち合わせ、工学院大学で仕事、下北沢でパートナー企業と打ち合わせ/飲み会、経営事業計画セミナー
  RESAS勉強会、本音採用連載開始、
 ・9月お仕事
  明大前でパートナー企業と打ち合わせ、妻と一緒にコンサルティング受講、虎ノ門で商談、Yahoo Lodgeで仕事、関内で商談
  パートナーさんたちをお誘いして三笠/たかなみ見学、新宿で商談、四谷三丁目で商談
  G Siuteユーザー会/ユーザー同士飲み会、eBay Connect Japan 2017、四谷三丁目で商談、最後の技術者ランチ
  私の送別会、さしのみ
 ・10月お仕事
  東戸塚で打ち合わせ、岩本町で商談、両国で商談、CoBa墨田亀沢でEiffle Meetup、代々木商談、Questetraセミナー
  Co-ba隅田亀沢で商談、大森で商談
 ・11月お仕事
  関内で商談、cybozu Days 2017、新橋で商談、新横浜で商談、kintone Café Japan/二次会/三次会
  渋谷のお客様で作業、技術者交流会/二次会下北沢で
 ・12月お仕事
  新横浜で商談、関内で商談、弊社サテライトオフィス初利用、G Suiteユーザー会、ガラケーをスマホに切り替え
  プリンタ買い替え、JTBアクセラレーター説明会/交流会、半常駐先の忘年会、紀尾井町で商談、Yahoo Lodgeで仕事
  四谷三丁目で商談、PC液晶破壊、PC液晶修理、kintone Advent Calendar投稿、パートナー企業の忘年会

 

公私の「私」

●家族との一年
§ 総括 昨年にもまして、家族で行動する頻度は減りました。それぞれの生活があり、それぞれのタスクがある以上は仕方ありません。何度かバトルが勃発しては、その度に家族のきずなを見直した一年でした。今年は夫婦間だけでなく、父と娘、母と娘でもバトルが勃発しました。少しずつ大人になってゆく娘たちとの関係をどうするか。甘いだけでは親として失格なのはもちろんです。娘たちにとって親とは壁であるべきです。守る壁でもありつつ、乗り越えさせる壁にもならなければ。とはいえ、私もまだ娘たちとは幾度か外出しました。サシで外出できるだけ世間の同世代の娘を持つ親よりもましなのでしょう。そんな日々にあって、17歳の風花が老衰でなくなってしまいました。

§ 娘たちにしてやれたこと ここ2,3年、私が仕事でお世話になっている方のもとへ、娘を連れて行ってなにがしか体験させてもらっていました。今までもとても感謝しています。今年は4月、アトリエmさんに次女を連れて伺わせて頂きました。そこにあったギターに触らせてもらったこと。それは吹奏楽部で楽器演奏に興味を持つ娘には貴重な機会だったようです。室井さん本当にありがとうございました。

§ 長女の一年 長女は絵が好きで芸術系の学科に進学したのですが、周りの人々の絵の巧さに自信を失った時期もあったようです。4月にクラス替えがあったことで友達関係にも悩みが生じたようです。それもあって順風満帆なだけの高校生活ではなかったようです。ただ、私が幾度か見に行った展示会では、絵はかなり上達しているようです。高校生活は無駄にはなっていないと思っています。個人事業主としても複数の仕事を頂けていたようで、私も少しずつ仕事を振っていきたいと思っています。また、上にも書いたとおり長女とは何度もバトルが勃発しました。親としては甘やかすだけでは能がありません。緊張と緩和を切り替えしながら、これからの厳しい未来へむけ、どうやって自立に導いていくか。引き続き来年もケンカと仲直りを繰り返していきながらの日々が続くことでしょう。勝気なところは独立に向いているので、私は長女にはかなり期待しています。

§ 次女の一年 三年前と昨年、長女が獲ったチアコンペティションのグランプリ。次女にもチアを続けさせ、グランプリを獲らせたかった。ところが、中学の吹奏楽部との両立が次女にはかなりの負担になったようで、泣きながらチアを辞めてしまいました。そしたら次女がいたチームがチアコンペティションでグランプリを獲りまして。次女にとって絶好の機会だったのに残念でなりません。バレエの発表会については娘たち二人とも演技を頑張っていましたが、次女にとって達成感を何で得られるのか。これからの人生にとって悩み多い一年だったようです。年末になって学校での友人関係はようやく安定したようですが。引き続き娘たちの人生をどう切り開かせるか。スマホ以外にもある、人生の可能性をどう気付かせるか。少しずつ自立の意向を漏らしているので、親の操り人形ではなく、自分自身で生きるための意識を確立して欲しいとおもっています。この年末、私の実家への帰省には次女だけがついて来たのですが、色々と話すいい機会だと思っています。

§ 家族の一年 ケンカもあったり、浮き沈みの多い一年でしたが、家族とはなんだかんだと色んな場所に出かけています。詳しくは書きませんが、それぞれの場所で良い想い出作りができました。ただ、1月と8月の帰省を除けば、とうとう目標としていた家族との泊り旅行ができませんでした。これが残念です。私も妻も仕事で余裕のある時間が取れず、娘たちにも部活や学業の用事が続いたので。あと、2000年から家族の一員だった風花との忘れがたいお別れがありました。風花がなくなって少し後には、数年ぶりにツバメを保護しました。前回は無事巣立てさせたのですが、今回は数日のちに亡くしてしまいました。残念でしたが、実は風花にしてもツバメにしても、その死が我が家のケンカを収めてくれたのです。不思議というほかありません。

§ 年表

 ・1月帰省(泊まり)
  ノボテル甲子園えべっさん初詣大阪南港ATC嵐山渡月橋
 ・1月お出かけ
  明治記念館で新年会海賊と呼ばれた男観劇クランベリーモール、ラ・タベルナ、自転車で狛江へ
  山王日枝神社参拝、三宮のBar Alcohol
 ・2月お出かけ
  芹が谷公園、地元友人たちと飲み、みなとみらいへ町田駅前散歩憲政記念館、八景の棚、Bar Hermit
  乃木坂で倒れた妻を助けに江間いちご狩り
 ・3月お出かけ
  鶴見川源流の泉、尾崎豊歌碑、次女吹奏楽部定期演奏会Brass Festa多摩SING観劇、Bar Scotch Cat、玉川上水歩き
  観音崎/三崎港、バタープレッツェル、ちゃんこ霧島で飲み会
 ・4月お出かけ
  北翔海莉・宇崎竜童さんコンサートららぽーとお彼岸墓参り、東郷元帥記念公園、井之頭公園花見、みなとみらい
  モアナ観劇、蒙古ラーメン中本、高尾山ハイキング、Stardust Revueコンサート、ねぎし三平堂、鶯谷散策
  自転車で府中競馬場へ、アトリエMさんへ横浜へ
 ・5月お出かけ
  東京・埼玉西部を一人旅(瑞穂町散策、宿谷の滝、明覚駅)、高校定期演奏会
  箱根散策(富士屋ホテル、大涌谷、星の王子さまミュージアム)、府中、ディズニーランドへ買い物、明治記念館など東京周遊
  パートナーさん宅へプライベート訪問、自動車免許更新、方南町街歩き、クール&ハート、四谷荒木町
 ・6月お出かけ
  奥静岡を一人旅(藤代の滝、相渕橋、安倍の大滝)、Brewdog Pub 六本木、スカーレット・ピンパーネル観劇
  STINGコンサート、妻子にカミナリ風花死す、小学校からの友人とサシ飲み、二子玉ライズ
  沖縄を一人旅(那覇空港、安次嶺の御嶽、くぅーすの杜 忠孝蔵、名嘉地そば、旧海軍司令部壕、平和祈念資料館、国際通り
  ヘリオスパブ、斎場御嶽、知念岬、ひめゆりの塔、道の駅、那覇空港)
 ・7月お出かけ
  沼津港ツバメを保護宮ケ瀬へ星を観に、江戸東京博物館、両国界隈散策、神保町散策、自転車購入小田原城見学
  多摩水道橋、東松原WAHBで飲み、よみうりランドWAOでビアガーデンららぽーと、同い年三人で飲み、薬師池公園
  靖国神社、懐食みちば沖縄わしたショップ深大寺
 ・8月帰省(泊まり)
  清水寺Bar Harbour inn北野異人館街布引の滝新神戸オリエンタルホテルエクシブ有馬離宮USJ大和郡山散策
 ・8月お出かけ
  吉乃家、八王子へ一人旅(金剛の滝、湯の花とんねる)、ウクレレ、バレエ発表会、栗木御嶽神社、bar beige
 ・9月(泊まり)
  関ケ原観劇長女とサシで寿司赤坂散策keyaki beer festival、珍獣屋、軍艦三笠乗艦たかなみ乗艦高校文化祭
  十字架は眩しく笑う観劇画狂人北斎観劇恵林寺笛吹川フルーツパークほうとう不動、銀座へ妻に車の鍵を渡しに
  小樽食堂、地元友人とワインバーへ、Rum Bar K24、地元飲み会
 ・10月お出かけ
  いこいの湯、日本橋で火事目撃、次女誕生日、カズオ・イシグロ氏ノーベル賞受賞、多摩聖蹟記念館入籍記念日
  最強のバターコーヒー、小足立八幡神社例大祭の神輿担ぎ、中学校音楽祭、免許再交付で府中へ
  北海道旅行(余市蒸留所、小樽運河散策、すすきの散策、滝野すずらん丘陵公園、アシリベツの滝、白帆の滝、鱒見の滝
  由仁駅、居酒屋日本一別邸)、馬込文士村、多摩川
 ・11月お出かけ
  クラフトビールパブムーンライト、早戸大滝偵察、開高健記念館、Touch is Loveジーンズストア、富岡製糸場
  こんにゃくパーク、横浜スタジアム、愛宕神社参拝、鯨の胃袋、柏屋シズラー妻誕生日、バリーシール観劇
  中学からの友人と東京駅で飲み、Bar Origin、ディズニーシー結婚記念日にNikka Blenders Bar
  ブレードランナー 2049観劇、東京外国語大学学祭訪問、多摩川で乗馬撮影シーン見学
 ・12月お出かけ
  驚異の超絶技巧展鑑賞、Bar The Gintonicx、薬師池公園、湘南平、Touch is Loveジーンズストア
  クール&ハートのサヴァラン、極上コントLIVE観劇新大久保で韓国料理、高校学外展、しもまゆ会、小山田緑地散策
  バーミヤンへ牛角でクリスマス長女の誕生日、阪急西宮ガーデンズ

§ 家族のお出かけ 家族で出かけたのは、上の年表で黄地に太字にしているイベントです。遠出こそしませんでしたが、それなりにバラエティに富んでいますね。でも、どうもうちの皆はアウトドアのイベントが好きじゃないらしく、それが残念です。家族で一度ぐらい富士山に登るぐらいのことはしたいのですが。

§ 妻とのお出かけ 妻と出かけたのは、上の年表で桃地に太字にしているイベントです。なんかかんだといって、結構節目節目には二人で過ごせているようです。北海道に一緒に行ったのも思い出深いし。あとは音楽と舞台と映画は結構一緒に観て体験していますね。夫婦ともにこれだけ忙しくても、時間をやりくりしてこれだけ出来ていれば、来年もやれそうな気がします。

§ 娘たちとのお出かけ 娘たちと3人で出かけたのは、上の年表で緑字に太字にしているイベントです。娘たちもそれぞれ友達と出かけたり家にこもったり、昔に比べると正直私と出かけることに億劫さを感じる年ごろ。でも、私としてはワンパターンなお出かけよりも、めずらしい経験をさせてやりたい、と。来年も断られることを覚悟で、誘ってみようと思います。

§ 妻とどちらか娘とのお出かけ 妻とどちらかの娘の3人で出かけたのは、上の年表で水色地に太字にしているイベントです。娘たちのどちらかが用事だったりで、家族がそろわないことも何度もありました。こういう形でもどこかに行けるのはありがたいですね。

§ 長女とのお出かけ 長女と二人で出かけたのは、上の年表で紫地で太字にしているイベントです。こうやって見ると何度か訪れていたようです。二人で寿司を食いに行ったり、たかなみ乗艦の際にも一人で来てくれました。はやく一緒にBarに行ってみたいと思っています。

§ 次女とのお出かけ 次女と二人で出かけたのは、上の年表で橙地に太字にしているイベントです。部活に忙しく、なかなか一緒にはいかれませんでしたが、それでもいくつかの場所を父娘二人で訪れています。小田原城も、今回の帰省もそうですが、実はそれ以外にも結構次女とは二人で会話を持ちました。年末の帰省では娘から私の腕をつかんでくれたのもうれしい。

●私自身の一年(交友関係)
§ 関西の交流関係 今年は、1月に仕事で明石海峡大橋を訪れ、8月の帰省以外には関西にはいきませんでした。8月の帰省では高校時代の友人を訪ねて彼の職場(エクシブ有馬離宮)で語らいました。妻も連れて行ったのですが、格の高い場所で、友人が仕事を指揮している姿を観て受けた刺激は大きかったです。11月には30年来の姫路の友人が上京してくれたので二人で飲んでいました。億単位のプロジェクトを切り回している彼との話は、一千万単位のプロジェクトにも届いていない私にとって目標です。他にも夏には高校時代の同窓会のお誘いがあり、懐かしい人とlineで会話したのも懐かしい。僅かのタイミングの差で参加できませんでしたが、機会があれば参加したいものです。それと小学校の同窓生とのお付き合いを密にすることができたのはうれしいです。サシ飲みも含めて三度ほど飲みました。年末になって年賀状を書きながら、SNSをやっていない友人たちとのご縁をまた復活させたいと思いました。

§ YKGの交流 今年もまた、鉄道や城巡りといった旅を愛する友人二人と、両国界隈をめぐりました。あと、玉川上水の取水口から19キロ歩いて下るというイベントも。今年はとても悲しいこともありましたが、来年はともに旅ができればうれしいです。

§ 一年の交流 今年は、山登りのイベントにもお誘い頂きました。まずはガイドさんと一緒に高尾山へ登るイベントへ。たくさんの草花を知ることができました。さらにゴールデンウィークには大岳山に登り、奥多摩でクラフトビールを飲み、青梅でお風呂に入った濃い一日が楽しかった。井之頭公園での花見も思い出深い会でした。この後、バーチャル花見なるイベントにも御呼ばれしましたね。それと珍獣屋でサソリやオオグソクムシ、ヤモリなどを食べた経験も今年屈指の後年に残る経験です。素晴らしかった。秋になって狛江の小足立八幡神社の例大祭で神輿を担がせてもらったのも思い出に残ります。わざわざ小学校の友人を誘ったら来てくれましたし。また、仕事関係の方々をお呼びした「たかなみ」と「三笠」の乗船体験は、去年に引き続きでしたが、皆さんに喜んでもらえてよかった。それと餃子投資の会とホルモン投資の会に御呼ばれし、素晴らしい料理を楽しませてもらいました。私とは畑違いの業界の方々と語らえたのも糧となった出来事でした。

§ 地元の交流 一方、今住んでいる地元の友人との時間はほとんどなかったのですが、2月と10月に地元の飲み会にお誘いして頂きまして。仕事を完全に離れ、地元なので気兼ねなく。かなり飲みまくってめちゃくちゃ楽しい飲み会ができました。それと今年は自治会からご縁があり、少しは地元に貢献できたかもしれません。まだこれからいろいろとありますが。12月には1月に参加させて頂いた両国での新年会が、地元町田で実りましたし。

●私自身の一年(文化活動)
§ 読書・観劇レビュー 読んだ本のレビューを記す読ん読ブログの執筆は、主に2016年に読んだ97冊分となりました。レビュー執筆は、私の中では大切なライフワークとして位置付けています。ただ、仕事を優先する関係上、どうしてもアップは後回しになっています。読んでからアップにいたるまでの日数も1年かかっており、この期間を質を落とさずに早めるのが去年に引き続いての課題です。舞台観劇と映画鑑賞のレビューについては、遅れずに書けているのですが。書くという行為への熱意は衰えていませんので、引き続き続けていくつもりです。

§ 今年の読書 読書については、今年は93冊読みました。また、ジャンルを問わずの乱読傾向は相変わらずです。93冊についてそれぞれに思い入れは深く、その中のベストを選ぶといったおこがましいことはしません。

§ 今年の映画 映画鑑賞については、今年は6本しか見られていません。「海賊とよばれた男」「SING シング」「モアナと伝説の海」「関ケ原」「バリー・シール アメリカをはめた男」「ブレードランナー 2049」。観たかったのに見れなかった映画もたくさんあります。この年末もスターウォーズをまだ観られていません。過去の名画も見逃している作品がかなりあります。時間があれば観たいのですが。

§ 今年の舞台 舞台については、今年度は5本の鑑賞でした。「ベルリン、わが愛/Bouquet de TAKARAZUKA」「極上コントLIVE」「画狂人 北斎」「十字架は眩しく笑う」「THE SCARLET PIMPERNEL」。詳細は当ページの「目下の舞台鑑賞」を観て頂きたいと思います。5本いずれも素晴らしい内容でした。今年は宝塚歌劇以外にも良い舞台が観られました。観劇も来年以降回数を重ねたいと思っています。

§ 今年の音楽 音楽については、今年は妻と北翔海莉さんと宇崎竜童さんのコンサート(4月)、そしてスターダスト・レビューのコンサートに行きました(4月)。さらには、友人と武道館でのSTINGのコンサートに行きました(6月)。どれも素晴らしく、今も余韻に浸れます。昨年、次女が中学で吹奏楽部に入部し、ユーフォニアムを担当しています。それもあって次女の発表会や演奏の機会は何度か訪れました。また合唱を主体とした中学校の音楽祭にも行きました。Brass Festa多摩というイベントでも吹奏楽の素晴らしい演奏を堪能しました。また、長女が入っている高校の吹奏楽部は全国屈指の実力を持っていることから、長女と次女を連れて府中の芸術の森に定期演奏会を聴きに行きました。なお、私自身も日々にアクセントをつけようとウクレレを久々に引っ張り出しました。が、すぐ仕事に忙殺されてしまい。一度きりに終わったのは反省です。来年はもう少し弾けるようになりたい。そういえば今年は一度もカラオケに行かなかったかも。

§ 今年の美術 美術については、昨年盛り上がったはずが今年はさっぱりでした。でも、長女の学外展や文化祭などデザインや美術には触れる機会が多数ありました。また、12月に訪れた驚異の超絶技巧展には感銘を受けました。にもかかわらず、私自身が絵やイラストに手を染めることは今年もありませんでした。時間があればそちらにも手を出したいところですが。

§ 今年のスポーツ スポーツについては、正直なところ低調でした。スキーもソフトボールもテニスもマラソンもやらないまま一年をおえてしまいました。ただ、上にも書いたとおり、玉川上水の徒歩下り、大岳山への登頂、高尾山への登頂はよいスポーツとなりました。神輿担ぎも強烈な運動になりましたし。でも目標だった日本百名山登頂ができなかったのは無念です。それ以外には、登戸経由で府中まで自転車で競馬を見に行ったことや、免許を更新しに府中まで自転車で行ったのも懐かしい思い出です。

§ 今年の滝 日本百名山登山とあわせてもう一つ達成できなかったのは日本の滝百選の滝に6カ所訪れる目標です。これは結局4カ所「丸神の滝」「安倍の大滝」「布引の滝」「アシリベツの滝」しか行かれませんでした。もちろん、それ以外の滝でも落ち口に手が触れられる「金剛の滝」、舞台の前にいるような感覚に陥った「藤代の滝」、雄大な「赤水の滝」、美しい曲線が印象的な「鱒見の滝」もよかった。

§ 今年の旅行 今年は自分の時間を確保したいと思っていましたが、途中から仕事が多忙となり小規模な活動しかできませんでした。ですが、そんな中、沖縄(6月)と北海道(10月)に行けたのはよかった。妻からのお詫びを兼ねたプレゼントでしたが、やはり嬉しかった。念願の泡盛の蒸留所「くぅーすの杜 忠孝蔵」に行けたのはうれしかったし、北海道では15年ぶりに余市蒸留所に行けました。また、沖縄ではひめゆりの塔、平和祈念資料館、旧海軍司令部壕を訪れ、平和な本土に住む私を、揺れる沖縄の現状に少しでも置くことができました。また、沖縄でも北海道でも嬉しい再会がありました。那覇空港でお会いした方は東京でお会いして以来、16,7年ぶりの再会。仕事の面でもとても刺激を受けました。札幌でお会いした方は2か月振りの再会でしたが、私のFacebookの投稿をみて北海道に今いると連絡してくださり、急遽お会いできたのは嬉しいひと時でした。

§ 今年の駅鉄 趣味の駅巡りは16駅「舞子駅(1月)」「東吾野駅(2月)」「三峰口駅(2月)」「鶯谷駅(4月)」「明覚駅(5月)」「競艇場前駅(5月)」「流通センター前駅(5月)」「岳南江尾駅(6月)」「大森海岸駅(7月)」「八王子みなみ野駅(8月)」「北浦和駅(8月)」「近鉄郡山駅(8月)」「東松原駅(9月)」「由仁駅(10月)」「宮山駅(11月)」「上州富岡駅(11月)」「上州福島駅(11月)」それぞれに周囲の光景と共に興味深い駅たちでした。これらの写真をまとめてブログにアップするにはまだ時間がかかりそうです。

§ 今年の酒楽 沖縄で泡盛蒸留所を訪れ、北海道で余市蒸留所を訪れたのがクライマックスです。また、今年はほうぼうに商談に赴いたこともあって、毎月の独りのみは出来たと思っています。「Bar Alcohol(1月・神戸元町)」「Bar hermit(2月・新宿西口)」「bar scotch cat (3月・平塚)」「brewdog Pub Roppongi(6月・六本木)」「Helios Pub(6月・那覇国際通り)」「bar beige(8月・川崎新百合ヶ丘)」「K24(9月・狛江和泉多摩川)」「クラフトビールパブ ムーンライト(11月・川崎登戸)」「Bar Origin(11月・銀座)」「Bar The Gintonicx(12月・横浜西口)」。それ以外にも帝国ホテルの「Old Imperial Bar」(4月)と「NIKKA Blenders Bar」(11月)を妻と訪れました。さいたまスーパーアリーナの「keyaki beer festival」を妻と長女と訪れてかなり出来上がり(10月)、仕事上でも数えきれないほど居酒屋やBarを訪れた一年でした。特に下北沢は極鶏Barを中心に、のべ10数軒は巡りました。

§ 今年のその他活動 人生も半分を過ぎ、焦りが募っています。少しでも日々に変化をつけたいとの気持ちは衰えを知りません。昨年に郡山で二枚ゲットしたマンホールカードの収集も少しだけ。5月に東京都瑞穂町、埼玉県さいたま市で。11月に神奈川県横浜市、群馬県富岡市で。12月に東京都狛江市で。来年も折を見て各地でゲットしようと思っています。それと、狛江のSaigonというお店で感銘を受けたラー油を自分でも作ってみました(11月)。来年も機会があれば他の活動にも手を染めたいと思っています。まだやりたいことはたくさんあるので。

あらためて「公」「私」を振り返ってみました。ムラがあったように思っていましたが、振り返ってみるとそれなりに充実はしていましたね。良い一年だったと思います。あとはムラを生じさせる原因を来年どう防いでいくかですね。特にムラ、が重要になりそうです。後1日、今年を無事に締めくくり、来年へと繋げようと思います。


Save The Live!~サイボウズLiveを救え~


1.読まなくてもいい前書き

2017年の秋晴れを引き裂くように、そのお知らせは降ってきました。そう、サイボウズLive終了のお知らせです。
その直後、お客様から早速ご連絡が。「Liveが終わる。代替案を検討してほしい」と。「はいっ!承知でございます」。

直後に開催されたCybozu Days 2017の基調講演でサイボウズ青野社長からLive終了の事情説明やお詫びをいただき、ようやく事態の深刻さを悟った私。Daysで仕入れた情報では、移行ツールが提供されるとかされないとか。でもそれはあくまでも未確定情報。リサーチして弊社でも移行できるようにしておかないと。

そう思っていたところにkintone Advent Calendarの枠が残り少ないというご連絡を頂きまして。最後の一枠に滑り込めました。Advent Calendarへの参加は3度目なのですが、今回はサイボウズLiveをからめればネタとして旬ではなかろうか。そんなことを、サイボウズのUっ氏~にお伺いを立てたところ、歓迎いただけまして。では取り掛かってみよう、と考え始めたとたん、Advent Calendarの4日目にアップされたのが「kintoneサイボウズLive化作戦」。正直やられた、と思いましたね。けど松田さんの記事を拝見するとkintoneへのデータ移行までは触れていない様子。これは私がやるしかないでしょう。まだ出番まで3週間はあるし、案件の合間でも何とかなるはず。2019年の4月までしか賞味期限のない記事ですが、どなたかのお役に立てれば。せめてもの長井サンタの贈り物です。

目次

1.読まなくてもいい前書き

2.サイボウズLiveのデベロッパー登録を行い、APIキーを入手する。

3.APIリファレンスを読む。理解する。

4.類似の参考サイトを探す。

5.グループと個人の違いを理解する。

6.取り込み方法のインターフェース検討と実装。

7.サイボウズLive APIの制限事項と、kintoneの対応機能の検討。

8.実装。

2.サイボウズLiveのデベロッパー登録を行い、APIキーを入手する。

実は今まで、サイボウズLiveのAPIは存在こそ知っていましたが、完全スルーしていました。
なので今回はデベロッパー登録から始めました。まずはここからやってみましょう。

 ・https://developer.cybozulive.com/apps/top にアクセスします。

・APIの対象を選びます。グループZを選ばないと全データが取得できないのでグループZを選びます。アプリケーションの種類はクライアントにします。

・Consumer KeyとConsumer Secretを入手します。大切に保管しておきましょう。

・上で入手したConsumer KeyとConsumer Secretを使います。

3.APIリファレンスを読む。理解する。

続いてAPIリファレンスです。これを読まねば話になりません。
 https://developer.cybozulive.com/doc/current/

なるほどサイボウズLiveは、認証にOauthを使っているのですね。
JavaScriptだけでの実装だとちょっと面倒かな。oauth.ioとか試してみればできそうな気もするけど後回しにします。
PHPだとOauthの実装したこともあるし多分いけるでしょう。
そんなわけで、まずPHPで実装し、時間があればJavaScriptでやってみよう、と決めました。

4.類似の参考サイトを探す。

ところが、サイボウズLiveってAPIがあまり活用されていなかったのか、情報があまりウェブ上にないのです。
そんなわけで私が公式のサイボウズLive APIドキュメントページ以外で
参考にさせて頂いたのは、まだプログラマーですが何か?さんのページのみです。ありがとうございました。

こちらの情報によると、pearで Net_URL2、HTTP_Request2、HTTP_OAuthを使うのが良さげな感じ。私もそれにのっかりました。
サーバーはさくらインターネットさんのスタンダードプランが手元にあったので使ってみようとおもいます。
と思ったら、ちょっとだけ手間取りました。以下は読み飛ばしてよいです。
 ・Oauthの実装に手間取りまして。
 ・そもそもpear自体がさくらインターネットのサーバーにインストールされていなかったり。
 ・なのでgo-pear.phpを使ってインストールしようとして。
 ・そしたら、ファイルだけでなくディレクトリのパーミッションも755にしないと動かない、とか。
 ・で、pearのインストールができたと思ったら、go-pearのインストーラーからNet_URL2パッケージを入れる際、なぜか古いバージョンしか入れられず。
 ・するとHTTP_Request2、HTTP_OAuthが要求するNet_URL2のバージョンを満たさずさあ困った。
 ・仕方ないのでSSH接続でコマンドからインストールする羽目になりました。
 ・しかも後ほどftpやsocketでもはまってしまい、仕方なくあとでphpのバージョンを7.1.11に上げました。これらの処理に影響はありませんでしたが。

・というわけで、本記事の前提となるバージョンです。
  kintone :::2017/11月アップデート版
  php:::7.1.11
  jQuery:::3.2.1

5.グループと個人の違いを理解する。

さて、Oauthのライブラリをインストールしたことで、サイボウズLiveへの接続はすんなり成功しました。
ところが、上記のサイトでご提供されている情報は認証の部分とXMLのダウンロードまでです。取得したサイボウズLiveのデータをkintoneへ登録する部分はこちらで実装せねばなりません。
実装としてはphpでXMLを解析し、要素や値をkintoneにアップすればよいはず。

ここでサイボウズLiveのデータ構造をどのようにkintoneに移行するか考えないと。
つまり、個人データとグループのデータをどう関連づけ、kintoneに持ってくるか、という問題です。
例えばスケジュールのデータ。グループごとに分かれています。でも、データ構造は同一のはず。
実は個人スケジュールのデータには各グループのスケジュールも全部含まれるので、それを持ってくればよいのですが、グループ単位のスケジュールで取り込めるようにしておかねばあとで困るでしょう。

つまり考えねばならないのは以下の通り。
kintoneで、グループごとにスケジュールアプリを分けてつくるのか、それとも一つのスケジュールアプリに複数のcybozu Liveグループのデータをマージさせるのか。
言い換えれば、kintoneのアプリ単位にユーザーの権限を制御させるのがよいか、それとも同じアプリの中のレコード単位で権限を制御させるのがよいか、ということになります。

考えた結果、kintoneのグループスケジュールアプリは一つにし、グループのデータを別々に登録するようにしました。
個人スケジュールはグループスケジュールと別々にしなければ、あとでデータが混在して困るので、別にしました。ToDoも同じく個人とグループを分けています。

6.取り込み方法のインターフェース検討と実装。

個別にダウンロードするにあたっては、インターフェースを考えたほうがよいですね。
kintoneアプリの一覧画面にダウンロードリンクを貼ることにしました。ヘッダー下のスペースにセレクトボックスを二つ配置し、それに応じてphpへのリンクを切り替えるようにしています。

 取り込み部分のインターフェースはこんな感じで

・初期状態はこんな感じ。

・左側のドロップダウンがグループです。サイボウズのアカウントが属するグループをリストアップし、先頭は個人データとしています。

これらのグループは私が実際に使っている/いたものです。kintoneやcybozu界隈のグループも昔cybozu Liveにあったのですよ。懐かしい\(^o^)/

・右側のドロップダウンが対象となるデータです。左側が個人データなので、5種類のデータを取り込み対象として出しています。
 (「全て」と「テーマチャット」と「ダイレクトチャット」と「コネクション」は本記事では実装していません。)

・左側のドロップダウンをグループにすると、右側のドロップダウンの内容もかわります。4種類のデータを取り込み対象として出しています。
 (「全て」と「メンバーリスト」は本記事では実装していません)

・両方のドロップダウンの選択の値に応じて、すぐ下のリンクの文字列とurlが切り替わります。

ちなみに、各kintoneアプリはこの部分に同じJavaScriptファイルを読ませることで共通化しています。
なお、リンクをクリックした際も、それぞれ定められたアプリにデータを放り込む仕様にしています。そのため、各アプリのリンクから違うアプリの取り込み処理が可能にしています。とはいうものの、混乱はないはずです。

 この部分の実装について説明します。まずはJavaScriptの部分を。

・まず、アプリに対してJavaScriptを登録します。上にcybozu CDNからjQueryを。下にこの後説明するgetGroupList.jsを登録します。

・getGroupList.jsの先頭から。

ここはkintoneではお約束の記述ですね。
4行目のjQuery.support.cors = true;は jQueryのAjaxで他のドメインの値をとるときの呪文です。昔作ったコードを持ってきたので、今ならkintone.proxyのほうが良いと思います。kintone.proxyについてはこちらを。
その下のescapeHtml関数は、サニタイズ用です。まあ今回の案件についてはそういう心配は無用なのですが。ちなみにこのJavaScriptファイルはjswatchdogでチェックすると、三か所XSS Warningが出てしまいます。optionの部品オブジェクトを代入する際に「ちょっと自分危ないんとちゃう!?」と怒られてしまいます。放置しています。ごめんなさい。

・13行もkintoneのJavascriptではおなじみです。一覧の表示時に呼び出されるイベントです。

14-16行は、複数のドロップダウンを出さないようにするためのステップです。すでにドロップダウンがあれば処理を終了します。
19行から下は、jQueryのAjaxのお約束です。上に書いたようにkintone.proxyのほうがよいかも。
ここで、https://dummydesse.sakura.ne.jp/kintonefromcybozulive/cbl_grouplist.php を呼んでいるわけですね。このphpについては下で解説しますので、少々おまちを。

・26行から下は、データがきちんと取れた際の処理です。ここでselect部品やリンク部品を生成しています。
27行がphpから取得した値をこちらで用意した変数に代入しています。

36-37行は、初期値としてリンクに表示させる個人データ「全て」のリンクを表示しています。

・ここではphpが貢いでくれたグループのデータをselect部品のoptionに代入しています。
datalistは処理対象となるデータの種類です。初期値が個人データなので、個人データに対応するデータを配列に登録しています。

・ここでは配列のデータ種別をselecgt部品のoptionに代入しています。

さらに kintone.app.getHeaderMenuSpaceElement メソッドを使い、上で生成したselect部品やリンク部品をkintone画面に表示しています。

・66行目以下は、データ種別のselect値が変わった際に、リンクの表示文字列とurlを変更する処理です。

・78行目以下は、グループのselect値が変わった際に、リンクの表示文字列とurlを変更する処理です。個人とグループではデータの種別も変わるため、リンクの文字列やurlもあわせて変動させねばなりません。いやはや、大変ですね。

・以下は失敗した場合の処理です。ここはエラーメッセージなので、解説は割愛させてください。要するに疲れてきました・・・

 続いてphpでcybozu Liveで認証する部分です。

・といっても、この部分はまだプログラマーですが何か?さんのページを参考させてもらい、それをかなりの部分で使わせて頂きました。改めて感謝です。
とはいえ、私の実装ではcybozu Liveの認証部分は別phpファイルに切り出すなどの改良を加えています。それが5行目ですね。cbl_oauth.phpにお任せしているのです。3,4行目は上に書いたようにさくらインターネットのスタンダードプランに入れたhttp_Request2とhttp_oauthを呼び出しています。あまりサーバーに詳しくない方にとっては、この二つのインストールは厄介かもしれません。 

続いて、認証情報を格納する変数を三つ用意します。この三つの変数は以下の処理でも使うため、すぐ下のgetAccessTokenへは参照渡しをして、getAccessTokenの中で代入された値を使えるようにします。
そして、getAccessTokenを呼び出した結果をaccess_token_infoに格納します。getAccessTokenの戻り値は配列なので悪しからず。
さらに、10行に書いているとおりヘッダーでおまじないをとなえます。これはphpの中で違うドメイン(cybozu Live)のデータをとってくるときに、このおまじないを忘れると、11行目に書かれているような反撃を食らうためです。いわば白魔法の防御呪文のような感じです。

・12行目のtryで処理を開始します。
13行目のHTTP_Request2は上で読み込んだRequest2ファイルの中のクラスをインスタンスとして使いまっせ、ということです。 
14行目はssl_verify_peerをFalseにしています。つまりSSL証明書の検証を要求しませーん、という意味です。
17行目のHTTP_OAuth_Consumer_Requestは上で読み込んだOauthファイルの中のクラスをインスタンスとして使いまっせ、ということです。
18行目は、HTTP_Request2の設定に基づいて一旦つながしてーや、という意味です。まあ斥候みたいなもんです。

20行目は斥候がまず様子見した接続を、本体が認証情報を掲げて大手を振って入場するための準備です。上でとってきたcybozu Liveの認証キーをHTTP_OAuth_Consumerに渡してあげるのです。通行許可証ですな。厳重に4種類の通行許可証を渡してあげるわけです。
21行目は、上で準備した通行許可証を、18行目で斥候が先に接続のお伺いを立てて問題ないよーという情報を御旗にたてて、cybozu Live城にアクセスします。
26行目は、個人フォルダのパスです。cybozu Liveの個人Idはメールアドレスなのです。
27行目はフル許可設定で個人フォルダのパスをなければ生成します。

・34行目はcybozu LiveのAPIのエンドポイントと定められたURLあてにリクエストを送ります。
arrayの中にパラメーターを含めればいろいろとリクエストができますが、ここではグループ一覧をとりたいだけなので、パラメーターはなしで。なお、apiの仕様はこちらに載っています。

36行目でリクエストの結果が $xml0 に代入され、エラーがなければ40行に処理がいきます。
40行は、ここでcybozu Live apiに進呈されたグループ情報の配列に個人を加えるための初期値です。先に説明したインターフェースでは最初に「個人データ」がありました。
45行目では先頭に「個人データ」が入った配列がグループデータに従って生成されます。
47行目では、グループidに従って並び替えます。その際「個人データ」キーは0を指定しているので、かならず先頭です。
48行目は、JavaScriptが読めるようなjson形式でデータを返してあげています。echoで返してあげるとJavaScriptはデータとして喜ぶのです。
49行目以下はエラー処理。疲れたので割愛させてください・・・

 続いてphpでcybozu Liveで認証するコア部分です。

・ここに各種認証キーを記載します。

$consumer_keyには、cybozu Live apiのデベロッパー登録してきたキーを書き込みます。
$consumer_secretには、cybozu Live apiのデベロッパー登録してきたシークレット値を書き込みます。
$xauth_access_token_urlには、cybozu Live apiがトークン取得用としてご用意しているurlを指定します。
$authusernameには、あなたのcybozu Liveのログインアカウントを書きます。
$authpasswordには、あなたのcybozu Liveのログインパスワードを書きます。

・続いて認証リクエストの部分です。先ほどの説明と重複する部分もあるので、21-28行までの処理は説明を割愛しますね。 

30行目では、OauthのsendRequestのメソッドに対して、urlや認証情報のつまったパラメータを渡してあげます。
するとレスポンスにアクセストークンが戻ってくるのですね。あとは、phpのparse_str関数で$access_token_infoにトークン文字列を代入してあげるだけ。簡潔です。

・エラーハンドリングの部分は、割愛でお願いします。

ちなみに今回はkintoneのアプリ一覧画面上に実装しましたが、本当ならばポータルからダウンロードさせるのが親切な気がします。
多分、同じように実装すればいけるはずです。
お時間のあるかた、おもちとみかん食べながら、いかがでしょうか?

7.サイボウズLive APIの制限事項と、kintoneの対応機能の検討。

ところが、こうやって移行の検討を深めてみると、いくつか問題が出てきます。

Q1.サイボウズLiveのユーザーをそっくりkintoneのユーザーとして移行できない。なぜなら開発者ライセンスは5ユーザーしか作れないから。無料だからとたくさんアカウントを作ったはよいが、kintoneアカウントは有料ですから。
     ↓
 A1.kintoneのユーザーやグループの利用はあきらめ、ドロップダウンか文字列(一行)にデータを入れるしかない。またはユーザー一覧のアプリを作ってルックアップや関連レコードで連携させるとか。今回の記事ではドロップダウンか文字列(一行)か複数選択でお茶を濁しています。

Q2.サイボウズLiveのAPIに用意されているファイルダウンロードがそもそも画像のみ。
     ↓
 A2.画像しかとりこまないようにする。
 (ところが、今回は画像のアップロードの実装はしていません。以下は言い訳です。
  ・さくらインターネットのphpがftpサポート外だということをうかつにも忘れていまして。
  ・sshでログインし、コマンドからphpのconfigureやmakeを行ってftpやsocketを有効化した。参考サイト参考サイト
  ・ところがそれにも関わらずダウンロードができない。調べてみたらさくらのftpサーバーがRETR未対応ということで、サーバー自体がphpのftpを頑として受け付けないということに気がつき万策尽きる。
  ・curlだとローカル経由でアップロードした場合はfilekeyの取得ができるが、リモートURL経由ではresponseがNullになってしまう。
  ・処理の一貫性の観点では、ファイルがローカルに自動的にダウンロードされる実装を加えないと、ダウンロードの時点で一度別処理を挟み、それ以降のkintoneアプリに添付ファイルを登録するためのfilekey取得をあらためて行う必要が・・・・

Q3.サイボウズLiveのコメントをkintoneに移したい。ところが、APIトークン利用でのコメント追加だとコメント追加者がAdministrator扱いになってしまう。コメントの記載を各ユーザーで書かせるには、毎回認証ユーザーを切り替えねばならず、実装が面倒。
     ↓
 A3.コメントについてはサブテーブルで実装しました。松田さんのご提供アプリでも一部サブテーブルでしたし。

Q4.マイカレンダーにグループスケジュールへのリンクを実装するのが面倒。
     ↓
 A4.アプリ間の連携を円滑にするには、リンクの設定が不可欠ですが、今回の記事では実装していません。いずれやります。

Q5.スケジュールの日付範囲の取得がサイボウズLiveのAPIの仕様だと制限がある。(FromからToが365日以内でなければならないとか)
     ↓
 A5.他にも、cybozu Liveのスケジュールには通常予定と期間予定、繰り返し予定があります。その実装がちょっとひと手間必要なので、今回の記事では実装していません。いずれやります。

Q6.cybozu LiveのAPIの仕様では、一回当たりのデータ取得件数が最大100件になっている。
     ↓
 A6.これは再帰処理などで、実装可能だと思います。が、今回の記事では実装していません。いずれやります。

8.実装。

あとは、個別のプログラムごとに移行をわけ、それぞれのアプリごとに取り込むだけです。
せっかくなのでアプリは松田さんのご提供いただいたテンプレートをベースに使わせて頂き、適宜修正するようにします。

・今回ここで呼び出すurlとは、右下のリンクのUrlのことです。
 

 まずはxmlを配列に読み込むためのphpの中身です。

・では個人スケジュールから始めてみましょう。cbl_schedule.phpというファイルです。
20行目までは、グループ一覧を取得する処理とほぼ同じなので、割愛します。

・続いて認証処理からの流れです。こちらも32行目まではグループ一覧の取得時の処理と同じなので、割愛しますね。

重要なのは33行目です。ここではcybozu Live apiの個人スケジュールのエンドポイントurlを呼び出しています。
個人スケジュール情報のapiの仕様はこちらに載っています。
ここで、array内に取得する情報の条件をパラメーターで渡します。パラメーターのうち、個人スケジュールについては必須なのはありません。が、期間を指定しないと、思ったデータがとれません。条件の指定方法については、上のapi仕様に載っています。
とくにterm-startとterm-endの設定が重要です。
またmax-resultsは100が基本でしょうね。
embed-commentもコメント情報を取得するためには必要なパラメータです。
cybozu Live apiの一回当たりの取得件数は max-resultの最大値が100なので100件が限度です。
そこで全データを取得するためには、start-indexの値を毎回変動させつつリクエストを投げる必要があります。
38-39行目の置換の意味ですが、cybozu Liveから帰ってくるxmlのデータに名前空間付のタグがあります。名前空間付きのタグとは、
 

<cbl:group valueString="長井家予定" id="2:65107" />
    <cbl:comments>
      <cbl:feedLink>
 

のようなコロン付きのタグですね。このタグの内容はchildren(“cbl”,true)->group といった方法でパースすればデータの取得は可能です。ただ、コメントタグの中で、各コメントごとにある <entry cbl:sequence=”2″> がうまく配列として読みないのです。なので仕方なくコロンを _ に置換する方法を採りました。
45行目の simplexml_load_string で、取得したXMLデータをオブジェクトとして扱えるようにします。
46行目は $authoremail に投稿者のemailを代入します。$list0->author->email が 下記のようなxmlのデータを取得する際の命令文です。この$list0がsimplexml_load_stringで取得してきた全体のオブジェクトにあたります。その中の author タグのさらに下にある emailを取得する際にこの命令を投げればいいのですね。
 

   <author>
     <name>長井 祥和</name>
     <uri>2:39920</uri>
     <email>kakakakaka@dummy.jp</email>
   </author>
 

48行目は 取得したデータをkintoneに放り込むためのphpを呼び出しています。

・続けて、エントリごとの中身を取得に行きます。

49行目の foreach($list0->entry as $entry0) { はエントリータグを上から順にループ(フェッチ)させる命令です。
50-51行目は、entry毎のidを取得します。cybozu Liveのデータはカンマ区切りで四つ目の値がエントリidなので、それを採りに行きます。
52行目から57行目まで、取得時に(string)という文字があります。これは強制的にオブジェクトの型を文字列として変換する処理となります。
55行目と56行目にある cbl_when->attributes()->startTime というのは、XMLでいうと

<cbl_when startTime="2011-04-06T14:55:00Z" />

 のようなstartTimeの属性の値を取得するための命令です。 
59行目はXMLでいうとcbl:facility というタグを取得する際、タグの有無を判別するための文です。
タグがあれば、その中をループします。

・続いてxmlの中身を取得していきます。このあたりのxmlの構成は、apiの仕様を確認するか、もしくは後で紹介するサーバーに保存したxmlファイルの中身を確認するとよいでしょう。

・81行目から下は、エントリ本文に添付ファイルがあった場合の処理です。
添付ファイルの有無は if ($entry0->cbl_attachment) { で判別可能です。

fileDownload の関数は以下に説明しますが、サーバーにxmlファイルを置くための関数です。
93-94行目にある get_filekey_from_kintoneはkintoneにファイルをアップロードし、その添付ファイルをレコードを紐づけるためのfilekeyを取得するための関数です。ただ、言い訳にも書いた通り、ローカルへのダウンロードがうまくいきませんでした。そのため、今回は関数の中身は恥ずかしくてお見せできません。ですが、94行目のようにローカルファイルを指定するとfilekeyの取得はできることは確認済みです。

・98行目以下は、コメントのデータ取得です。
104行目の foreach( $cbl_entry as $entry2 ){ は複数コメントを順繰りに参照するための命令です。
なお、cybozu Liveのapiが提供するXMLファイルのコメントの一つ一つには番号が振られています。それが105行目の $entry2->attributes()->cbl_sequence で取得できます。
つまり、106-110行目の処理は、コメント一つ一つの番号をキーに設定し、連想配列としてコメントのそれぞれの値を格納しているのです。

なお、132-133行目の処理も、実際はうまく動かないため、コメントアウトしています。

・ここからは上の方法のおさらいですね。

・152行目から下は、配列に、取得してきた各値を代入していく作業です。

なお、179行目でheaderを指定してます。これは、呼び出し元に戻す命令です。ここでいう呼び出し元とはkintoneの一覧画面のことですね。これでkintoneにデータを登録した後、もとの画面に何事もなかったかのように涼しい顔で戻れるのです。

・で、こちらはfileDownload関数です。
cybozu Live apiはそもそも画像ファイルしかダウンロードができず、excelやwordファイルだとエラーになってしまいます。
エラーを回避するために拡張子が画像のものしかダウンロードさせないようにしています。ここではサーバー内の場所にファイルを保存するようにしています。

 続いて取得した配列データをkintoneに投げ込むphpの中身です。

・この辺りはデータを登録するためのトークン周りの処理ですね。
念のためですが、トークンの発行時には権限にレコード追加も含めておいてくださいね。

・ここでは、コメントのデータをkintoneのサブテーブルのjsonデータに整形しています。

・ここではkintoneに投げるデータの整形部分です。上でサブテーブル用に整形したコメントのデータも登録しています。

・取り込んだデータをcurlでリクエストとしてkintoneに投げています。

・カレンダービューに取り込んだデータが表示されます。

・レコード詳細もこの通りです。
コメントの内容もサブテーブルに入っていますよね。

とまあ、今日はここまでにしておきましょう。こちらでは個人スケジュール、グループスケジュール、個人ToDo、グループToDo、グループ掲示板まではデータの取得スクリプトを作成済みです。
 実は一つ取り込みのコツがわかれば、あとはデータ形式の差だけなのです。返す返すも添付ファイルの登録ができなかったのは残念ですすが、おいおい実装してこちらのブログをアップデートする予定です。

もしcybozu Liveからデータ移行をしたいというお客様がいらっしゃいましたら、お手伝いできますのでご相談ください。お安くさせて頂きますよ。


開発事例の追加ご報告


3月上旬になりますが、株式会社レコモット様の
トップページが更改されました。

http://www.recomot.co.jp

弊社は、トップページのコーディング部分やスライド動作の部分でご協力さ
せていただきました。

こちらにて作業実績として報告させて頂きます。

引き続き、今後ともよろしくお願いいたします。


2017年の抱負


新年明けましておめでとうございます。

晦日にアップした投稿にも書かせて頂きましたが、昨年度は皆さま色々と有難うございました。
今年も引き続き、よろしくお願いいたします。昨年の流れをさらに加速するべく、努力を惜しまず進みたいと思っております。

今年の抱負としては、胸の中で様々に温めているところです。自分という器の容積を広げるためにも、目標は高く持ちたいと考えております。私的な抱負については、家族とともに考え、家族の前で披露するつもりですが、こちらでは、公的な抱負を書きます。

1.法人化3年目にあたって
2年目は、半分に減らした常駐分の収入をカバーできそうです。が、定期安定収入という意味では不安定でした。これを、安定分+変動分で今年の総収入分をまかなえるだけにしたいと思っています。

それにあたっては作業者を増やさねばなりません。一人で作業者と営業者を兼任するのは正直きつくなってきました。営業を行うにあたっては移動や酒席がつきもの。移動中は作業できないし、酒が入れば作業になりません。なので、作業してくださる技術者への作業移管を進めたいと思っています。これについては昨年秋ごろからすでに取り掛かっています。また、総務・経理面で手伝ってくださる方もお願いしようと思っています。まだ専任者を雇用できる体力はないので、複数社で共同で外注をお願いするなどの方策を検討しています。

2.主催するイベントを作る
昨年立ち上げたkintone Café 神奈川では支部の主催者という立場です。が、今年はさらに違うイベントの主催を行ってみたいと思います。公私を問わず。まずはプライベートの会を立ち上げてみようかと思っています。ヒントは、昨年、多数が亡くなられた洋楽アーティストの方々です。交流会運営で収益を上げるつもりはありませんが、イベント主催ノウハウは今後のためにも蓄えておいて損はないです。

3.話す技術、書く技術、システムの技術
昨年に引き続き、この3つは精進していきたいです。去年、スキルを磨く機会は大分ありました。が、まだまだスキルを伸ばす余地があると思っています。たぶん喋る機会は引き続き同じぐらい頂けそうです。あとは書く方についてです。電子・紙媒体問わず、一度は出版にもチャレンジしたいと思っています。

またシステムの技術ですが、今年はPHP、JavaScript、VB、VBAだけではなく、次なる言語も習得しないと、と思います。Pythonがよいかな、と私の中で考えています。

4.ブログ
去年と変わらず、Facebookでは、個人的な日記に近い形の投稿を日々欠かさず続けるつもりです。一年のまとめを書くにあたり、Facebookで毎日書いたことが役に立ちました。また、ブログについては、昨年も書きたいことがあったにも関わらず、時間がなく書けませんでした。書評、劇評、映画評、時評や旅行紀、とくに地方創生に役立つようなことを書くようにしたいです。また、技術的な記事はもう少し増やしていかねば、と考えています。

昨年と引き続き、私にしか書けないブログにしていきたいと思っています。

ブログのスタンスは昨年と変わりません。実名で責任から逃げないもの。また、押し付けにならぬよう私から友だち申請をしないことも同じです。

5.体力と魅力増強
昨年は山や滝めぐり、自転車での遠距離旅などで体力維持に努めました。多分ジムでもくもくと運動することは私には出来ないので、私のやりたいことと組み合わせた運動を続けて行きたいです。

引き続き本年度もよろしくお願いいたします。


2016年のまとめ


昨年に続き、今年もこちらで年のまとめを書きます。

総括すると、2016年は、節目となった昨年に続き、充実した一年になったと思います。行動したという意味では当初考えた以上の動きが出来ました。ただ、仕事の面では進歩も充実も得られましたが、私的な部分で反省点が多々あります。達成度4割。達成感7割。満足感8割というのが自己採点です。2016年の私とご縁をいただいたすべての方々に感謝します。ありがとうございました。

公私の「公」

●弊社事業の概況
§ 2015年に法人成りを果たした弊社ですが、今年は4月から常駐業務を月の半分に減らしました。つまり、残りの月半分は自分で仕事を取って来て、全責任を担うことになります。その範囲は、受注から納品、お客様によるご検収、最後にご入金までの全過程に及びます。今までは個人事業主や法人を名乗っていたとはいえ、常駐先に入っての請負が主な業態でした。つまり、真の意味で独立していなかったといえます。そして、常駐での請負業務を今後続けていったところで、営業チャネルも視野も広がりません。それは、遠からず確実に訪れる年齢リスクを鑑みると甚だ危険な状態といえます。常駐業務を離れるにはむしろ遅すぎたくらいかもしれません。この4月からは半分だけ自立を達成したことになります。営業や仕様策定、開発から回収、そして総務までやらねばなりません。開発の遅れは検収の遅れにつながり、入金の遅延にもつながります。正直大変な時期もありました。また、より一層不規則な睡眠、不規則な生活を余儀なくされました。しかし、後悔はしません。私自身の心構えにも張りとやり甲斐がみなぎった一年でした。重ね重ねお仕事でご縁を頂いた皆さまに感謝いたします。
§ 2015年から交流会への参加を始めました。最初のうちは、同じタイプの交流会に繰り返し出席することが多かったです。今年は同じ交流会への参加をなるべくせず、様々な交流会に出るよう心がけました。一つの集りだけに参加することは、居心地はよいのですが、交流範囲が限定されがちになります。そうではなく、今年は様々な集りにどんどん顔を出すべきと思いました。弊社として個人として、様々な団体や集まりに顔を出し、顔を露出し、顔を売り込む時期だと。一人でも知り合いがいれば、初対面の方ばかりであっても臆することなくイベントに参加しました。数十人の参加イベントで知人が1~2名しかいないといった経験はしょっちゅうでした。でも、おかげさまで人脈もビジネスも広がりました。
§ 講師として呼ばれることが増えました。2016年は講師として三度登壇させていただきました。 郡山商工会議所でのkintoneセミナーと、Connect in Koriyama 2016でのkintone技術セミナー、IoT分科会でのIoTと自治会という題の勉強会など。さらに、講師以外でも登壇者としての立場で五回喋る機会をもらえました。kintone Café 神奈川 Vol.2~4の3回、kintone Café 埼玉 Vol.1kintone Café福島 Vol.1。また、Lightning Talkという位置づけではkintone Café埼玉 Vol.2~3、kintone Café Japanのエバンジェリストプレミアムパーティーでも人前に立ちました。まだまだトークも未熟ではありますが、引き続き上っ面でなく、心からほとばしるような話を、抑揚と起伏と笑いを添えてお届けできるよう努力します。また、今年はイベントを主催するまでには至りませんでしたが、妻も一度ココデンタルで開催しましたし、来年は挑戦できればと思っています。
§   昨年、某社の関西営業所長のお話を頂いていました。ところが、年の瀬になってから急に先方からの申し出が変わりました。請負契約ではなく社員雇用の契約形態へと。社員雇用ということは、せっかく法人化した会社を畳まねばなりません。それは受け入れられるものではありませんでした。そんなわけで正月明け、年賀はがきの当選番号が発表される頃に、先方にお断りを入れました。四月から常駐を半分に減らすにあたり、私の収入の算段は大きく狂いましたが、初志貫徹で四月からは半分独立に突き進んでいます。
§   四月から半分独立を果たすに当たっては、今まで常駐業務のため商談申込を諦めていた規模の案件にも積極的に応募するようにしています。その結果、kintoneでも1人月程度の案件を6案件受注できました。他にもdrupalやwordpressといったCMS案件も数個、laravelによるCMS保守案件など、手放した失った月半分の常駐作業を埋める以上のお仕事が受注できています。ありがたいことですが、営業と作業者を兼務することが難しくなってきたのも事実です。とくに交流会などで酒を飲む場が今年はかなり多かったのですが、酒を飲むとその後の作業能率が顕著に低下するのが辛かったです。来年は総務経理系のお手伝いの方の雇用と技術者の外注比率を上げようかと思っています。
§   今年は書くというお仕事では引き続き自分なりに努力しました。ただ、四月から半分独立によって余裕がなくなってしまい、トイロハさんへの連載がストップしてしまったのは悔いが残ります。もっとも、秋になってHTMLの書き方や、boxやone driveについての記事をトイロハさんへ書かせていただいたのですが。また、12月には昨年に続きkintone Advent Calendarに参加させて頂きました。今年は書く決心をしてから割当日まで5日もなかったので、wordpressとkintone連携ネタ三題噺というタイトルで開発時のネタを基に書かせて頂きました。あと、ブログについては多数書いたのですが、その中でも特筆できる記事としては、地方の応援記事が印象に残っています。春に淡路島でのパソナさんでの地方振興事業を見学させて頂きました。その記事を書かせていただきました。また、秋に福島県郡山市に二度にわたってお呼びいただきました。その1回目の訪問で郡山市に好印象を持ったこともあり、福島県を応援する意図の記事(まとめその1その2その3)を書きました。2016年は書くことへの情熱が尽きることない一年となりました。これについては来年も引き続き切磋琢磨していこうと思っています。
§   今年は地方との繋がりも大きく育った一年でした。上に書いた淡路島への視察訪問は、後日お二方と仕事の提案にまで結びつきました。そのうち一人の方とは実際のお仕事にも発展しました。また、埼玉でお会いした福島県の皆様とのご縁は二度の福島訪問にも繋がりました。それは、私自身が地震以来数年におよんでもっていた福島への思いが多少成りとも満たせた瞬間です。また、山口の方々とは何度か酒席をご一緒させていただき、山口や東京の会場とつないだ勉強会では発表までさせて頂きました。こちらも次なるお仕事に繋がっているのがありがたい限りです。
§ 妻のココデンタルクリニックは、思い切って大幅にWEBサイトをリニューアルしました。それもあってか、一時は新規患者さんが多数来院するなど、ようやく軌道に乗ったように見えます。ただ秋以降、ブログ執筆が息切れとなってしまい、それが残念です。そういえば春先には名高達郎氏をクリニックにお招きし、妻と私でインタビューを受けるという経験もしました。いわゆるインタビュー商法に敢えて乗っかってみた感じです。また、ココデンタル主催のイベントも一回開催し、行田市で救急救命医をしていらっしゃる小山先生をお呼びしてのセミナーを開きました。妻自身は引き続き人脈を増やしたり、AGEという新たな目標を見つけたりと、他の歯科診療室とは差別化を図っています。クレジット決済も導入しました。この前向きな感じで来年も続けてもらえれば。
§ 常駐先での仕事は半分に減らしたこともあり、私の中での重みがだいぶ落ちてしまいました。でも、なんとか引き継ぐ後任の方と協力しながらやって行きます。パフォーマンスが落ちてしまったのは申し訳ないですが、こういう形態でやらせてもらっていることは感謝です。

公私の「私」

●家族との一年
§ 長女は高校に、次女は中学に。環境が変わり、娘たちそれぞれに新たな人生の幕が開けました。少しずつ子離れするように努めていますが、やはり寂しさもあります。ただ、私の場合、娘たちそれぞれとさしで会話ができるので、まだ恵まれているのかもしれません。
§ 我が家も御多分にもれず、スマホのもつ魔力に振り回された一年でもありました。特に次女にはその悪い面が出てしまい、悩まされました。私は仕事に忙殺され、妻もごひいきのヅカスターの退団にぶつかってしまったのも間が悪かった。吹奏楽の楽しさを通じて前向きに生きて行って欲しいと思いますが、来年以降、生きていくための道筋をどうやってつけて行ってやれるか、正念場だと思っています。道筋を付けるというより、道筋を切り拓くためのスキルをどうやって身に付けさせるかです。どうにか時間を作らないと、というのが課題です。
§ 長女は無事に希望する高校、それも普通科ではなく芸術系の学科に合格出来ました。友達もたくさん出来、高校生活を心底満喫しているようです。多様な世界観の持ち主が集まった学科だけのことはあり、それぞれの世界観の違いを尊重しあえている様子。理想的な交流ですよね。我が娘ながら羨ましいと思います。個人事業主として初めて仕事がいただけたのも今年でした。その仕事とは、タカラヅカの某スターさんのイラストでした。納入時にはイラスト独自の納入方法に従わねばならず、私も手伝いました。でも、価格や仕様交渉は自分でやりました。しかも、私や妻が紹介した仕事ではなかったことは言っておかねば。妻が以前Facebookにアップしたタカラヅカトップスターのイラストがたまたま目にとまり、そこから発注が来たのです。その後、私の会社からもロゴを発注しました。引き続き高校生活を満喫してもらえるよう応援したいと思います。
§ 次女は、中学校に入って壁にぶつかった一年です。悩んだ末、吹奏楽を選び、そこで一生懸命活動しているようです。でも習い事との両立が難しくなりました。吹奏楽では何度も人前で演奏し、チアコンペティションでの頑張り、カポエイラでも昇段試験に合格しました。学業では今イチですが、なんとか本人がしたいことを探している姿が印象に残りました。ただ、スマホでは本人も痛い目をあったらしく、来年は依存度を高めないための競り合いがあるでしょうね。
§ 昨年よりはかなり減りましたが、家族とはなんだかんだと出かけた一年でした。ここ二年続けていた私の両親を含めての夏旅行は学校の部活とも重なって行かれませんでした。でも、正月は難波駅にラピート。そして北野天満宮、平野神社、嵐山へ。靖国神社へも家族で訪れました(1月)。小山のいちごの里や谷中遊水地、佐野厄除大師に行ったあと、佐野ラーメンを食べたのは春(3月)。長女のチア卒団式を見届けたのも3月です。家族で温泉に行き、写真館で写真を撮り、カラオケに行ったのも春爛漫の4月です。5月には鳴沢氷穴にくぐってもみじ台に登り、締めをほうとう不動で締めたのも楽しい思い出です。妻のココデンタルが主催のセミナーは5月。6月は体育祭を観にいき、7月は座間にひまわりを観にいきました。そうそう、海上自衛隊横須賀基地で「たかなみ」に乗せて頂いたのも7月のことでした。8月はバレエ発表会やチアコンペティションで頑張った姿を家族で応援しました。実家にも帰省し、時間のない中ですが宝塚大劇場へも家族で観にいきました。9月は長女の高校の文化祭に家族で訪れ、品川アクアパークでも見事なショーも見てきました。10月は次女の誕生日のお祝いで始まり、10月末には帰省を除けば今年唯一の家族旅行だった長崎へ。ハウステンボスへようやく連れて行くことができ、長崎原爆資料館や浦上天主堂にも連れて行けました。11月にはDiamond☆Dogsのコンサートへ家族で出かけました。12月もクリスマスや長女の誕生日を一緒にお祝いできました。こうやって見ると、なんだかんだと家族で揃って行動できていたのかもしれません。
§ あと、娘と2人で行った場所も想い出深いです。長女と二人では、イラスト買い出しに町田に行ったり(1月)、高円寺のふくろうカフェバロンに友人親子に連れて行って頂き(4月)、高校入学式(4月)、ランチを一緒に(9月)。次女と二人ではカポエイラレッスンを何度も送迎し、中学授業参観(4月)、ステーキを一緒に(5月)、カウンター鮨を一緒に(5月)、吹奏楽演奏会(9月2回)、芹が谷公園でのチアイベント(10月)、吹奏楽アンサンブルコンサート(12月)、年末の帰省(12月)が一緒でした。長女と次女と三人では、次女のお台場でのカポエイラ昇段試験(5月)、町田リス園(7月)でした。
§ 他にも、妻と長女の組み合わせでは大妖怪展(8月)、日光金谷ホテル(9月)、日光東照宮(9月)、丸沼、湯滝、竜頭の滝(9月)など。妻と次女の組み合わせは、茅ヶ崎のTouch is Loveジーンズストアさんへ(1月)、チアや吹奏楽やカポエイラのイベントや、ゼルビア開幕戦vsセレッソ大阪(3月)、高滝湖、養老渓谷(8月)。家族とのイベントが減ったと思っていたけれど、なんだかんだと出かけてますね。

●私自身の一年(交友関係)
§ 今年は元々は関西で月の半分の時間を過ごす予定だったのですが、それが無くなってしまいました。でも、少ない機会を縫って関西の友人たちとの交流ができました。恩人である先輩のご霊前へのお参りもできました。また、高校時代の親友には大阪で酒飲みに付き合ってもらい、大学の同輩後輩とは4月と8月の二度にわたって飲み会を開いてもらいました。関西の30年来の友人が東京に出てきた際におでんを共に突いたのも思い出です。また、それ以外にも上に書いたとおり、淡路島を取り持つご縁で何人かの知己が兵庫に出来ました。それは大きいです。また、福島県や山口県の方とも何度か飲む機会があり、私自身の地方への目が広がりました。あと千葉の市川や船橋といった場所では、火鍋会やkintone Caféでも多数のつながりを頂きました。同じ大学の交友が船橋で同時に四人めぐり合うという偶然もうれしい年でした。
§ 今年もまた、鉄道や城巡りといった旅を愛する友人二人と、茨城の逆井城跡公園を観にいったり、秋には山梨の勝沼巡りでもお世話になりました。このような旅を共に出来る友人がいることに感謝です。今後とも旅を愛する人生にお付き合い頂ければ嬉しいです。
§ 今年は寺社仏閣への訪問でも印象深い年となりました。1月には靖国神社の本殿に参拝するという経験も出来ました。また、6月には戸隠五社参拝のツアーに参加させて頂き、お神楽や護摩焚き、奉納太鼓を目の前で見るという幸運や、公明院での写経体験も思い出深いです。長崎では浦上天主堂も初めて訪れました。これもまた宗教的な荘厳さに打たれたよい経験です。自社仏閣とは少し違いますが、日本民族学の泰斗である柳田國男氏の故郷を求めて福崎を訪れたのも良い思い出です。

●私自身の一年(文化活動)
§ 読んだ本のレビューを記す読ん読ブログの執筆は、主に2015年に読んだ87冊分となりました。レビュー執筆は、私の中では大切なライフワークとなりつつあります。自分が何を読み、何をインプットし、どういうアウトプットを行うか。ただ、仕事を優先する関係上、どうしてもアップは後回しになっています。読んでからアップするまでの日数も1ヶ月まで縮めることを目標にしていましたが、11ヶ月かかっています。この期間を質を落とさずに早めることが課題です。舞台観劇と映画鑑賞のレビューについては、遅れずに書けているので何とか縮めて行きたいと思っています。ただ、書くことへの熱意は衰えていませんので、引き続き続けていくつもりです。
§ 読書については、今年は103冊読みました。また、ジャンルを問わずの乱読傾向は相変わらずです。その中でジャンル分けするとすれば、ビジネス書、歴史、ミステリ、時代小説、文化論が多いでしょうか。戦後70年に関する書籍が目立った一年でもありました。いずれも今年の私の知的関心の方向性を示しています。103冊についてそれぞれに思い入れは深く、その中のベストを選ぶといったおこがましいことはしません。今のところそのうち7割についてレビューは書けているので、徐々にアップする読書レビュー(読ん読く)をご覧頂ければと思います。なお、今年度話題となった本についてはあまりよく知りません。ゆくゆくゆっくり読むつもりです。
§ 映画鑑賞については、今年はたったの3本しか見られませんでした。「グランド・イリュージョン 見破られたトリック」「マダム・フローレンス! 夢見るふたり」「ローグ・ワン スター・ウォーズ・ストーリー」。それぞれが映像や演技など観るべきところがあり、レビューにも書きました。それ以外でもAmazon Primeで数本ほど映画を観ましたが、今年はやはり映画を観られない年でしたそれがとても残念でした。
§ 舞台については、今年度は3本の鑑賞でした。3本いずれも素晴らしい内容でした。「桜華に舞え/ロマンス‼︎」は宝塚星組トップスターの北翔海莉さんと妃海風さんの退団公演。薩摩の桐野利秋の散りざまに宝塚人生の散りざまを重ね、全編薩摩弁で通したものです。「噂 ルーマーズ」は喜劇の巨匠ニール・サイモン作ということで、良きアメリカの喜劇が堪能できました。「双頭の鷲」はジャン・コクトー作であり、宝塚のスター達がミュージカルとして演じていましたが、「エリザベート」と表裏をなすような戯曲としての確かな骨格に、宝塚流の演出がうまく噛みあっており、素晴らしい体験でした。
今年は仕事上でお客様のサービス紹介のためのドラマにエキストラ出演させて頂きました。演ずる側としてドラマに携われたことは貴重な体験でした。

§ 音楽については、今年は友人とスターダスト・レビューのコンサートに行きました(9月)。さらには、家族で赤坂BlitzでのDIAMOND⭐️DOGSのコンサートに行きました(11月)。映画を観る時間が取れなかったのと同じく、コンサートを観る時間もなかった一年でした。ただ、今年の我が家は吹奏楽の年でした。中学生になった次女が吹奏楽部に入部し、ユーフォニアムを担当するようになったからです。吹奏楽部の発表会や演奏会には時間を作っては聴きにいきました。4回ほど。その内の一回は合唱を主とした中学校の音楽祭で、審査員を務める娘の姿をしかと焼き付けました。
また、今年は音楽を聴きながら仕事をする機会が増えました。Google Play Musicの恩恵です。かなり頻繁に利用しました。様々なアーティストやジャンルの曲が聴き放題なので、仕事の能率も向上しました。特に、2016年は洋楽の大物アーティストの訃報が相次いだため、その度にGoogle Play Musicにはお世話になりました。David Bowie(1/10)、Glenn Frey(1/18)、Maurice White(2/3)、Keith Emerson(3/10)、Prince(4/21)、Pete Burns(10/23)、Leon Russel(11/13)、Greg Lake(12/7)、George Michael(12/25)といった亡くなられたミュージシャンは高校時代から良く聴く方々です。彼らの死去に際しては三本ほどブログ(その1その2その3)として書かせて頂いたりもしました。
他にもジョージ・マーティン、パパ・ウェンバ、ロッド・テンパートン、ポール・カントナー、レナード・コーエン、富田勲といった方々が亡くなられた一年でした。
そんな訃報も多かった一年ですが、ボブ・ディランのノーベル文学賞受賞は正直うれしいニュースでしたね。ブログにもアップしました。
ですが、私自身は流行の音楽からますます遠ざかってしまい、仕事に没頭すればするほど世の中の流行に触れる暇ガない矛盾に直面する一年でもありました。

§ 美術については、昨年の私は盛り上がったのですが今年は少し低調でした。写真ではなく絵で私の日々をアップすることは去年に引き続き全く手がつかず。鑑賞活動としては、5月に富士フォトクラブ新宿での「第7回 TKフォトクラブ作品展 四季の彩景」を観にいき、山への想いを描きたてられました。さらに6月には妻と東京都庭園美術館へ「メディチ家の至宝 ルネサンスのジュエリーと名画」で昔の写実絵画や工芸の粋に酔いしれました。7月には市ヶ谷の山脇学園で催されていた「カーモビルアート連盟作品展」で機械フォルムの美しさに見入ってました。8月には妻と長女とで江戸東京博物館の「大妖怪展」へ。日本の美意識の中に潜む妖怪の役割について考察を深めました。
§ スポーツについては、正直なところ低調でした。スキーもソフトボールもテニスもマラソンもやらないまま一年をおえてしまいました。ただ、あとで触れますが、滝巡りの一年だったので、山歩きは何度も行いました。中でもパーティーに参加して大菩薩嶺へ登頂したのは良い思い出です。私にとっては生まれて初めての日本百名山登頂です。また、衝動的に町田の家から所沢へ自転車で往復したのも今年です。妻とは西澤渓谷の山歩きや、家族での富士山麓のもみじ台登頂も果たしました。それと私もお仕事でお世話になっている方に卓球に連れて行って頂き、何十年振りかにラケットを握りました。あと2016年はオリンピックイヤーでした。私も中継はあまりみられませんでしたが、ニュースその他で熱戦の感動を共に体験しました。広島東洋カープの25ぶりの優勝や、大谷選手の二刀流といった記憶に残る出来事もありましたが、イチロー選手が大リーグ通算3000本安打を達成したことは、同い年としてとても勇気をもらいました。2月には清原元選手の覚せい剤騒動もあって水道橋の野球体育博物館に行き、私の野球史好きの血を鎮めてきました。サッカー観戦も何度か行きましたが、町田ゼルビアのJ2開幕戦にセレッソ大阪を迎えて善戦し、しばらくは首位を走っていたのも印象に深い一年でした。それと久しぶりに味の素スタジアムにFC東京VS横浜Fマリノスの試合もご招待頂いたのも思い出深いです。

§ 今年はお酒文化へ親しんだ一年でもあります。2月に妻とウィスキー検定3級を受検に行きました。妻は残念でしたが、私は合格できました。こうやって勉強するのはとても大切なこと。そのためにも、月一度恒例としている一人飲みで勉強したいものです。仕事を冷静に振り返り、じっくりとした一人の時間が持てるのがとても貴重です。行かれなかった月もありましたが、大体は一人で飲めました。それと、9月に妻と参加させて頂いたほっこりバスツアーで山梨のメルシャンワイナリーと
養老酒造の見学をさせていただいたのもよい勉強の機会です。バスの中でもずっと酒盛りで、私は寝落ちしてしまったのですが・・・。あと、六本木で催されたベルギービールウィークエンドとウィスキーフライトに続けて参加し、世界の酒文化の芳醇さに酔いしれました。もう一つ。秋になって日本のクラフトビール文化の発信地として著名な両国のポパイでのビールセミナーを受講し、ビール文化の深みを覗くことができました。

§ 今年は生涯のプライベートの目標を定めました。それは、全ての日本の滝百選の滝訪問。全ての関東・関西・東北の駅百選の駅訪問。そしてなるべく多くの日本百名山の登頂です。その結果、今年訪れた滝は23箇所を数えます。そのうち6か所は日本の滝百選に選ばれています。西から順に「原不動滝」「龍双ヶ滝」「七ツ釜五段の滝」「払沢の滝」「銚子ヶ滝」「乙字ヶ滝」です。いずれも素晴らしい経験でした。駅も20箇所以上は訪れ、それぞれで写真を撮りました。そのうち東北の駅百選は「磐梯熱海駅」、関東の駅百選は「横須賀駅」、中部の駅百選は「越前大野駅」、近畿の駅百選は「嵐電嵐山駅」「平福駅」とどれも1箇所以上訪れることができました。あと、日本百名山はスポーツの欄にも書いたとおり大菩薩嶺への登頂を果たし、まずは第一歩を記しています。

あらためて「公」「私」を振り返ってみて、良い一年だったと思います。ですが、来年はさらに私の時間を確保しつつ、公も成果を出さねばならないでしょう。引き続き努力を重ね、皆様のご助言を受け入れ、良い年にしたいと思っています。

以下は今年の公私イベントを全て表にしています。

こちらをクリックすると表示切替


Contact Form 7でCheckboxが効かなくなる場合の対応法


WordPressにプラグインContact Form 7をインストールし、チェックボックスをコントロールに追加したところ、チェックが全く出来なくなるケースの解消方法です。

なお、バージョンは以下の通りです。

WordPress
Contact Form 7
FireFox
Google Chrome
・・・4.6.1
・・・4.5.1
・・・50.0
・・・54.0.2840.99 m

contact_form_7_checkbox_1
起きる事象はこちらの図の通りです。正常にチェックボックスは表示されるのですが、なぜかクリックしてもチェックがつきません。


contact_form_7_checkbox_2
ちなみに、Contact Form 7の設定画面では、この場所はこのように指定しています。


contact_form_7_checkbox_3
なお、対象となるコントロールをdivタグでくくっています。divタグを使っているのは、制作状況のように縦にチェックボックス項目を配置した項目が複数あり、それらの項目同士を横に並べるためです。従ってチェックボックスのチェックがうまく出来ないのはdivタグが原因ではありません。念のためid=”yoursituation”が示すスタイルを示しておきます。


contact_form_7_checkbox_4
これは、図のように<span class=”wpcf7-form-control-wrap”>でposition:relative;が指定されているためです。なので、解消するにはposition:inherit;とすると良いでしょう。


contact_form_7_checkbox_5これでチェックができるようになりました。



Connect 2016 in Koriyamaに参加します


お知らせです。

11/12-13に福島県郡山市でConnect 2016 in Koriyama, with UDC (ハッカソン)が開催されます。
http://www.techno-media.net6.or.jp/newmedia/human/1371

そこに弊社も参加させて頂くことになりました。ただし、参加といいましても、皆さんと一緒にアーバンデータチャレンジ(UDC)2016の応募を目指してアプリを作る側ではありません。アプリを作るための技術セミナーの講師として参加させて頂きます。弊社代表が担当する技術セミナーはkintone。

当日は、福島に対する想いを沢山お持ちの皆様のアイデアが、アプリ開発を通じて実現されてゆくプロセスを目の当たりに出来るはずです。熱気溢れる場となることでしょう。奇想やビジネス感覚に溢れたアイデアにも出会えることでしょう。弊社代表もハッカソンには今まで誘われていながら、一度も参加できていませんでした。今回はとても刺激を受けることになるはずで、今から楽しみにしています。

残念ながら応募者多数により、新規受付は締め切られてしまったそうです。が、当日の模様については可能な限りブログにてレポートさせて頂きたいと思っています。乞うご期待!


kintone Café 福島 Vol.1 ではkintone愛を語りました


%e5%86%99%e7%9c%9f-2016-10-01-14-57-489/30の郡山商工会議所でのセミナーについては、こちらのブログで反省点も含めて報告させて頂きました。こちらは、その翌日10/1に行われたkintone Café 福島 Vol.1についてのエントリーとなります。

セミナーを終えてホテルに投宿した私は、反省と手応えの両方を握り締めていました。今日のセミナーで得た反応を明日のkintone Café 福島 Vol.1にどう活かすか。反省点を改善して臨むのか、それとも手応えをより伸ばして臨むのか。

私が選んだのは、手応えをより伸ばす方でした。もちろん、セミナーで得た反省点は反省点として真摯に受け止める必要があります。しかし、私は元々減点評価でなく加点評価で物事を捉えがち。それにkintone Café 福島 Vol.1を翌日に控え、今さら付け焼刃の修正もないだろうと。それよりも、今日のセミナーで得た手応えを元に、長所をより出していこうと判断しました。

もともと主催者の方に事前にお伝えしていた私の演目のタイトルは「開発者から見たkintone」。であれば、タイトル通り、開発者から見たkintoneの良さをとことん語ってやろうではないか。そう前向きに考えました。kintoneと出会って感じた衝撃や、そこから私が得た技術者としての手応え、管理部門として埋没し掛かっていた自分が再び技術者としての可能性に目覚めるまで。そんな自分のkintone愛を書きまくってやろうではないか、と。しかも、kintone Café 福島 Vol.1には、私をkintoneに誘い、その後エバンジェリストにまで推挙して下さった方がサイボウズ社からいらっしゃるとか。であれば、その方への御礼もしたいではないですか。そしてそういった私の思いを話すことで、福島や郡山の技術者の皆さんにkintoneの良さが伝われば、開発プラットホームとして選ぶに値するとに思って頂ければ本望ではないか。そう思いました。

それからは、月末締めの準備と並行しつつ、喋る内容を再度練り直す作業に没頭しました。そして、練り直すと同時にスライド原稿にも手を入れました。結果、書き上げた私の演目内容は、今までmixiでもTwitterでもFacebookでもブログでも書いたことのない、個人的な技術者としての想いが詰まったものになりました。

その夜は郡山のThe Bar Watanabeでお酒を心行くまで楽しみ、翌朝も月初の仕事をこなした後、気合を入れて往復40キロの自転車旅を敢行しました。おかげでkintone Café 福島 vol.1の会場であるCO-BA KORIYAMAに到着したのは開始ぎりぎりの15:00でしたが。

%e5%86%99%e7%9c%9f-2016-10-01-15-06-35会場となるCO-BA KORIYAMAはとても広く、しかもスツールやカウンターテーブルが置かれたり、ソファに絨毯のスペースがあったりと、とても居心地のよい空間となっていました。なぜか中央に鎮座する卓球台兼テーブルもポイント高いです。そして、人数が前日のセミナー並みに集っています。しかも、年齢層がぐっと下がり、いかにも技術者が集った感が醸し出されてまして。これは多分、セミナーに比べて技術者率がぐっと上がったということでしょう。期待度をひしひしと感じました。そして、サイクリングの疲れでフラフラでしたが、私が昨夜書き直したトーク内容が通ずる、という予感がしました。

私の話した内容はこんな感じです。

%e5%86%99%e7%9c%9f-2016-10-01-23-19-36初めてのサイボウズ社との出会いから、kintoneβテスターとしての申込み、ユーザー会でサイボウズ社の社風に触れたこと、kintone発売開始と私自身kintone案件受注。この辺りのエピソードを当時のTwitterの画面ハードコピーをお見せしながら紹介しました。次いで、私が常駐先の多忙により全くkintoneから離れてしまったこと。その間、技術者としてkintoneの進化に全く付いていけない焦り。技術者として袋小路に入ってしまったという危機感と絶望。最後に、エバンジェリストとしての推挙から法人化を経、ジェネラリストよりもエキスパートたれ、という言葉に開眼し、kintoneエキスパートを目指すことに社業のこれからを賭けようと思ったこと。そういった私の変遷を語りながら、一人親方の技術者としてなぜkintoneがふさわしいかを述べました。商談の場で要件定義と実装とテストが済んでしまうkintoneが、要件定義書や内部設計書やテスト仕様書、エビデンスの作成工数を省ける。それがなんでも一人でやらねばならない一人親方にとってどれだけ現状打破のツールとして魅力的か。そんなことを述べました。

CO-BA KORIYAMAは、演台と聴衆の皆様との距離が近い!私の前に喋られたお二方(サイボウズ社の後迫さん、テクネコ社の加藤さん)はどう思われたのか知りませんが、私にとっては聴衆との間合いがとても喋りやすかったです。前日のセミナーと差別するため、敢えてクダけた雰囲気で喋るつもりでしたが、会場の雰囲気もそれを手助けしてくれました。また、距離の近いことで、うなづきながら聞いて下さる方、笑って下さる方の反応もしっかり受け止められましたし。しかも、全く時計を見ずに喋ったにも拘らず、喋り終えたのは丁度30分きっかり。自分の持ち時間ぴったりでした。これには本気で驚きましたし、自分でも凄え!と思いました。

でも、良かったのはここまで。その後の質疑コーナーでは、まだまだ自らの知識不足を反省しました。トークでも触れたとおり、私が本格的にkintoneとの取り組みを再開したのは昨年秋。それまでの4年分の空白を埋めようと10ヶ月間追いつこうと努力してきました。しかし、まだまだ追いつけていないことが露呈しましたね。こなした案件数としてもまだまだ少ないと思わされました。

例えば、ユーザーが大量のアプリを作った際のアプリ管理はどうするか、というご質問。私自身が関わり納入したお客様は、こちらが提供したアプリ以外は自ら作らない方がほとんど。大量にアプリが存在する際のノウハウについて全く蓄積がなくお手上げでした。また、もう一つ抜かったと思ったのは、バッチ実行をどうするか、という質問でした。ここで私はkintoneのコマンドラインツールのことをすっかり失念してしまっておりました。また、スペース機能の活用についても、経験不足を反省しました。その辺りは、後迫さんと加藤さんにしっかりとフォローして頂きました。ありがとうございました。

こういった反省は、今後沢山の案件をこなして行くことで身につけるしかないでしょうね。kintone Café 福島 Vol.1で得た私の課題は、アプリのカスタマイズよりもむしろ運用面。この課題をどう埋めていくか。そこに努力を集中すべきという気付きが得られました。様々な業種、そして職種のお客様とkintoneを使ったシステムを組み上げて行く。そして運用面のノウハウを少しずつ積み上げて行く。これしかないと思います。

kintone Café 福島 Vol.1では、kintoneのβ版から関わったけれど、そのあと4年のブランクがあったことについて率直に述べました。任命を頂いてしばらくは肩書だけのエバンジェリストでしかなかったことも正直に言いました。しかし、昨秋から活動を再開し、今は伸びしろあるエバンジェリストになろうと努力していることも述べました。今さら経験を飾ろうとも思いませんし、運用ノウハウ不足をハッタリで補おうとも思いません。運用面の経験はこれからも引き続き積み上げ、そのためにもこれから頑張りで沢山のkintone案件を受注できるように頑張るしかないです。そして、その通りに郡山から帰ってからの二週間で、複数のkintone案件の引き合いを頂けています。ありがたいことです。

そういう意味でも、9/30の「脱Excel! 「kintone(キントーン)」で業務改善セミナー」とkintone Café 福島 Vol.1が地元の新聞で記事として頂いたことは、励みとなりました。両記事共に写真に私が登場しています。また、前者の記事には社名や私の名前までも載せて頂いています。仕事に関して新聞に名前が載ったのは初めてなので、正直嬉しいです。

あとは、今回のセミナーとkintone Caféで私が喋った内容が福島県の技術者や会社経営者の皆様にとって何らかの助けになったのであれば、これに勝る喜びはありません。そもそも私が何ゆえ郡山からの御招聘にお応えしたか。それは福島県の人々に何か貢献したいという思いです。これまで阪神・淡路大震災の被災者として、福島県の皆さんには何も出来ていませんでした。そういった私の心情についてはまたブログに書くつもりです。これからも今回のようなお誘いはなるべくお受けしたいと思っています。

その夜の懇親会は、とても初訪問の地とは思えぬほど、気持ちよく飲ませて頂きました。テーブルの下で足が攣るぐらいに。なのにうたた寝してしまうくらいに。

改めまして、kintone Café 福島 Vol.1の主催者の皆様、参加者の皆様、ありがとうございました!


kintoneセミナーで気をつけるべき点


先週末、セミナーの講師としてお招き頂き、郡山に行って参りました。
今回は、郡山地域ニューメディア・コミュニティ事業推進協議会様からのご依頼でした。題して、
「脱Excel! 「kintone(キントーン)」で業務改善セミナー」
http://www.techno-media.net6.or.jp/newmedia/advanced/1362

実は、首都圏を離れた場所でセミナーの講師としてお招き頂くのは始めてです。
今まで弊社の本拠である町田やkintone Café 神奈川、埼玉で話させて頂きましたが、今回は初めて首都圏を離れた場所でお話をする機会を頂きました。弊社にとっても代表の私にとっても初めての試みとなります。

dscn44582
こちらのエントリーでは、今回のセミナーを通じて得たことを書きます。一般の方向けにkintoneをプレゼンする際の反省。それが主な内容となります。また、今回はスライドとしてオンラインプレゼンサービスのslides.comを使いました。そういったオンラインプレゼンサービスでセミナーを行う際に気を付けるべき点も盛り込みました。ご参考になれば幸いです。

そもそも郡山市に訪問するのは、プライベートも含めて初めてです。福島県の皆様の県民性についても知らなければ、kintoneの普及率も知りませんでした。

事前に主宰者のご担当者からは、以下のような方向性を頂いておりました。
 ・社会人一般 ※IT系に限らず(業務改善・効率化・専門知識不要)
 ・中小企業の経営者・管理職(経営の効率化・コストダウン)
 ・ベンダー企業(顧客にkintoneを勧める立場の方)

つまり、技術者よりもユーザー様や導入決定に関わるご担当者向けの内容をご希望でした。

それを受け、どういうセミナー内容が相応しいか。考えました。

kintoneの特徴として真っ先に挙げられるのは、ドラッグ&ドロップによるフォーム作成の容易さと全体に通ずるシンプルな設計です。

それをフォーム設計の容易さ=工数削減の視点で話すか。
それとも、簡単にアプリが作れる楽しさに焦点を当てて語るか。

私が選んだのは両者のいいとこ取りです。

カリキュラムは以下の通り。
  ・excelとkintoneの比較
  ・アンケートアプリの作成実演
  ・アンケート結果の取り込み実演
  ・グラフの作成実演
  ・権限・通知・アクションの説明
  ・休憩
  ・Amazon連携・Google マップ連携の実装例の説明
  ・価格プラン・セキュリティについて
  ・Cybozu Developer Networkについて
  ・kintone Caféについて
  ・質疑応答

dscn44532
カリキュラムの冒頭では自己紹介をさせて頂き、その中で郡山の好印象を語りました。
続いてはExcelとkintoneの比較。kintoneを語る上で両者の比較は欠かせません。
その流れで、実際のアプリ開発の模様をアンケートアプリを例として取り上げました。アンケートアプリが出来た後は事前にアンケートアプリ用に用意しておいたデータの取り込み実演と、グラフ作成の実演。今回はハンズオンは行わず、私のデモをプロジェクタを通して皆様に披露しています。
休憩を挟んでからは、これまた事前に用意しておいたアプリで、住所を入力するとGoogle マップが反映する様子をごらん頂き、さらに書籍アプリとしてISBNを入力するとAmazonから取得した画像データなどが表示される実例の紹介。
その後は、価格の説明、セキュリティ、動作環境から、技術者向けのサポート体制についての説明を行い、質疑応答で幕を閉じました。

定員ぎりぎり、30名弱の方にご参加頂きました。主催者の皆様の努力には感謝です。また、終了後にはアンケートもご回答頂きました。

dscn4471
アンケートの内容からは、皆様の率直なご意見が伺え、とても参考になりました。30代の年齢の方々からは概ね高評価を頂きました。それはとても嬉しかったです。ですが、50代の方からは低評価でした。これには残念な思いでした。でも、高評価よりも低評価こそが自分を成長させてくれる原動力となります。率直にご意見が伺えたことにも感謝ですね。次回に向けてそこをどう活かすか。

以下に、私が受け止めた反省点と今後の改善点を書いてみます。

今回のセミナーでは、kintoneを紹介するのにExcelとの比較から入るのがよいと判断しました。実務に携わることの少ないであろう経営者の皆様にどうやってkintoneの利点を説き明かすか。パッケージシステムや基幹システムの替わりとしてkintoneを持ち出すのはよい選択とは思えません。それでは特定のシステムや業種に偏らざるを得ず、セミナーを聞きに来てくださっている皆様全てにとって相応しくありません。なのでセミナーで取り上げるとすればExcelを取り上げるのが相応しいと思いました。

では、Excelとkintoneはどう違うのか。何がkintoneの長所なのか。この点について、私は同時編集というキーワードに焦点を当てて話しました。

しかし、この点が経営者の方には分かりにくかったかもしれません。同時編集が出来ないことで困るのは、実務の方。そのあたりの不便さは経営者にとってはどうでもよいこと。kintoneの優位性を経営者の方に訴えるには、Excelとの比較には限界があるのかもしれません。30代の実務経験者にとっては理解頂けた点も、実務から離れて久しい経営者の方には利点と映らない。これは反省点ですね。

また、経営者は財務諸表で経営判断することに長けていらっしゃいます。ですが、kintoneのコスト削減効果を財務諸表でお見せすることに意味があるとは思えません。敢えて出すとすれば人件費の削減効果でしょうか。でも、それはアプリ開発のスピード感をデモすれば、容易にご納得いただける気がします。それもあって、今回のセミナーではその点には触れませんでした。ですが、コスト削減効果の見せ方は、今後の課題として考える必要があります。

また、もう一つの反省点は、画面が見えにくかった点です。なるべく文字を大きめに、一ページあたりの情報量も少なく抑えたつもりでした。事前に主催者のご担当者からはそれでもまだ一ページあたりの情報量を少なく、文字を大き目にというご指摘を頂いていました。また、文章の途中で単語が分割されてしまっている箇所についてもご指摘を頂きました。

ここで、冒頭に挙げたslides.comが登場します。ここのところ、私はセミナーや勉強会ではslides.comを使っています。パワーポイントに近い長方形のスライドがオンラインで簡単に出来るので重宝しています。

ですが、私が使っているプランは無料版なのです。無料版はCSS編集ができません。つまり画像のサイズが固定となります。ブラウザの機能でズームさせようにも、一旦貼り付けた画像はズームできません。一方、kintoneの画面を固定した画像はどうしても情報がつまっているため字も小さくなります。年配の方で、なおかつ会場の後ろに座っている方のためには拡大してお見せする必要があります。多分、年配の方からの不評の原因はこれが多かったと思われます。また、CSSが使えないことでもう一つ問題があります。それはテキスト自身の折り返し設定が、パソコンの画面解像度によって変動することです。つまり、セミナー資料を執筆し、改行箇所を調整しても、他のPCで確認すると違った箇所で改行されている可能性があるということです。特にテキスト要素自身の余白を多めに取っておかないと、変な改行が入るようです。これは今後注意したいところです。

CSSによる表示制御。それを実現するには、slides.comの場合Proプランにアップグレードする必要があります。今回は、改めてslides.comの無料版を使い続けることの限界を感じさせられました。
pricing-and-plans-slides

もちろん、オンラインプレゼンツールは他にもあります。Preziがよく知られていますよね。私も昨年、地元で始めてセミナーを行わせて頂いた際、Preziを使って資料作成しました。Preziはズームもできますし、各スライドを別々に管理するのではなく、一枚の大きな用紙の中を自由に移動させるという設計思想の下に作られています。これだとズームや改行の問題もうまく解消できそうです。ですが、私が使っているPreziのプランもまた、無料版です。Preziの無料版は、無条件に公開されてしまう制限があります。つまり、試作段階ですでに公開されてしまうのです。それもあって、Preziは使いませんでした。
%e6%96%99%e9%87%91%e3%83%97%e3%83%a9%e3%83%b3%e3%81%a8%e3%82%aa%e3%83%97%e3%82%b7%e3%83%a7%e3%83%b3
でも、Preziはズームが柔軟に出来るという点があり、やはり捨てがたい。

結局のところ、オンラインプレゼンツールにも一長一短があります。そして、セミナーの資料の質を上げるには有料版を使わざるをえないな、というのが今回の教訓の一つです。kintoneを説明する上で、画像のキャプチャは欠かせません。また、画像はズームして表示させないと、後ろのほうの席の方には見えづらい。ここの考慮をないがしろにすると、折角出席してくださった方のセミナーへの興味を殺ぐことになります。

これを解決するには、素直にパワーポイントをインストールするか、OpenOfficeのImpressを導入すれば済むのかもしれません。が、プレゼンソフト間でも相互の表示がきっちり同一になりません。それもまた、頭の痛いところです。プレゼン環境は早急に定めなければならないと思いました。

今回のセミナーで得た成果は多数ありました。そして、それと同じだけの反省点もありました。
それをまとめるとすれば、以下の三つです。

・Excelとの比較は実務担当者にしか有効でない。
・コスト削減効果を謳うには、 アプリの開発スピード以外に、実際の人件費削減効果を実際に試算したほうがよいかもしれない。
・プレゼンツールを厳選し、細かい画像もズームして表示させるような配慮が必要。

私にとって、今回の郡山商工会議所でのセミナーは、私自身にとってもすごく勉強になるものでした。セミナーの翌日は、kintone Café 福島 vol.1があったのですが、ホテルに帰ってからも資料の改訂作業にも熱がこもりました。

主催者の皆様、ご参加の皆様、今回は誠にありがとうございました!


地震に備える仕事と生活


熊本で大きな地震がありました。

奇しくも兵庫県南部地震(阪神・淡路大震災)と同じマグニチュードだったそうですね。
断層を震源とした都市直下型としても同じ構造のように思えます。

当時、兵庫県南部地震で被災した者としては、今回の地震には思うところが多々あります。

その思いは、どうしても目前に迫っているといわれる首都圏直下型地震にたどり着きます。2020年のオリンピックも近づいている東京ですが、耐震対策については依然として改善の兆しが見えません。

私はこの4月からワークスタイルを変えました。3月までは月~金は都心で客先に常駐するスタイル。4月からは週の半分を弊社事務所や町田近辺で仕事するスタイル。ワークスタイル切り替えの理由の一つは、地震に対するリスク回避です。

2011/3/11。東日本大震災が起きた日の私はたまたま家で仕事をしていました。当時、私は日本橋の某金融機関本店で勤務していました。しかし、この日は個人で請けていたお仕事を進めたくて、家で仕事をしていたのです。一方、妻は地震発生の瞬間、仕事で錦糸町にいました。結局妻が帰って来たのは翌朝のこと。小学校に通っていた娘たちを迎えに行ったのは私でした。

もしそのとき、私が普段どおり日本橋に向かっていたら、娘たちは父や母の迎えもないまま、心細い思いを抱えて学校で一夜を過ごすことになったことでしょう。

その経験は、私に都心常駐の仕事が抱えるリスクを否応なしに意識させました。個人事業主となってから5年。ゆくゆくは常駐に頼らぬ仕事を目指そうと漠然とは思っていました。でも、都心常駐から町田近辺での仕事へ、という切り替えを真剣に模索するようになったのは3.11の後です。そして昨年は1.17の阪神・淡路大震災が発生して20年の節目でした。自分の被災者としての思い出を振り返るにつれ、ワークスタイル切り替えの思いはさらに強まりました。

私が個人事業を法人化したのはその余韻もさめない4/1のことです。法人化にあたって、どこにビジネスの基盤を置けばよいか、かなり考えました。個人事業主であれば身軽です。仮に首都圏直下型地震が起き、都心で受託していた仕事が継続できなくなったとしても、別の場所で仕事を頂くことができたかもしれません。でも法人化を成した後ではそうも身軽ではいられません。いざ都心が地震で甚大な被害を蒙ったとして、ビジネスの重心が都心に偏っていると、経営基盤にも深刻なダメージが及ぶでしょう。弊社のような創立間もない零細会社としてはなおさらです。そのようなリスクを軽視することはできませんでした。

法人化当初から描いていたワークスタイルの変更は、1年を経てこの4月から一部ではありますが成し遂げることができました。しかしまだまだです。私の目標は日本全国にあります。人を雇って支店を置くのもよいですが、できれば私自身が日本を巡り、巡った各地域の人々と交流できるような仕事がしたいと思っています。いわば旅の趣味と仕事を両立できるようなワークスタイル。

実際、私が大阪で非常にお世話になり、東京でも度々お世話になった方は、堅実な士業に従事しながらも、全国から引き合いを受けては地方を度々訪れているそうです。この方のワークスタイルやライフスタイルは、昔から私の目標とするところです。

私がそういったワークスタイルを実現できたあかつきには、各地を訪れてみたいと思います。地震の被害から復興され、ますます名城としての風格を備えた熊本城を見つつ、地域振興の仕事をお手伝いできているかもしれません。東北の沿岸部では活発な市場の掛け声の中、IT化のお手伝いができるかもしれません。雪深い新潟の山里では、うまい日本酒を頂きながら地元の人々と日本酒文化を世界に発信するための戦略を肴に歓談しているかもしれません。実家に帰った際には、30年前の阪神・淡路大震災からの歴史をかみ締めながら、地元の友人たちと飲んでいるかもしれません。

でも、まずは足元です。足元を固めないと。そのためにはワークスタイルの変革をぜひとも成功させるために努力することが必要です。町田にビジネスの拠点を置いたとして、首都圏直下型地震のリスクは少しは軽減されますが、立川断層を震源とした地震が起きた場合は甚大な被害を受けるでしょう。富士山が仮に噴火した場合もそうです。火山灰による被害は都心よりもさらにひどいものになるでしょう。結局、問題とすべきでは場所ではなく、一箇所に長く留まるようなライフスタイルといえるのかもしれません。

また、どこにいても災害が起こりうるのであれば、いつも災害に関して備えておく必要があります。昨年の秋、東京都民には充実した防災手帳が配布されました。内容はすばらしいの一言です。これを再び読むことを怠ってはならないでしょうね。また、普段から「いつも」地震に備えるためには、以前にも読ん読ブログでも紹介しました以下の本が参考になります。
地震イツモノート―阪神・淡路大震災の被災者167人にきいたキモチの防災マニュアル

なお、こちらの内容はWebでも無料で公開されています。是非お読み頂くことをお勧めします。

最後になりますが、熊本で被災された方々に平穏の日々がなるべくはやく訪れますように。私個人の体験から、被災された方にとって外部でどういった報道がされようが、どういったブログが書かれようが、何のイベントが自粛されようが、全く関係ないことはよくわかっているつもりです。私が書いたこのブログにしても、ほとんどの被災者の方には届かないことでしょう。

でも、私自身にとって熊本の地震には何かのご縁を感じるのです。それは冒頭に挙げたような阪神・淡路大震災の類似もあるでしょう。さらには、ここ2週間私が開発で使っているCodeIgniterというフレームワークを介したご縁もあります。3.11が起きた日、私が自宅で作業していたのが、まさにCodeIgniterを使った開発でした。それ以来数年ぶりに使っていたら今回の地震に遭遇しました。

そんな訳で、熊本の地震には何かの縁を感じます。その縁を私がどういう行動で太くするか、それはこの後考えてみようと思います。まずは先に紹介した地震イツモノートを紹介して、これからの地震への備えについて注意喚起しようと思います。


2期目を迎え、2週間を経ての所感


4月に入ってから、ワークスタイルを少しだけ私の理想に近付けています。

Facebook静かな自宅では開発を集中して好きなだけ行い、一方では営業に商談に交流会にセミナーに自由に動き回る。といったような。もちろん、それにはリスクも覚悟も伴います。バランス感覚がより一層求められることは言うまでもなく。そんなわけで、今日から外回りの際はネクタイを締めることにしました。身だしなみ云々よりも自分のけじめのために。

今日は練馬のお客様の下へ訪問させて頂きました。社長様より経営哲学をじっくり聞かせて頂き、会社内も存分に見学させていただきました。実に見事な運営ぶりや、社員様やパート様との関係を実に上手に築いておられる姿に、感銘しました。アナログとITの長所が実にがっちりとかみ合っている運営を見るにつけ、非常に刺激になりました。ありがとうございました。

弊社も今後は人を雇って作業を分担していかねばなりません。すでに4月から一部の作業についてはお手伝いをお願いし始めています。でも人を自在に使いこなし、適材適所に相乗効果を発揮してもらうレベルに達するにはまだまだ私自身の精進が必要です。努力すべきと思っています。

4月に入ってからは、私自身の開発者としてのスキルをもう一度磨き直すべく、あえてタイトな納期のLAMP案件を請け、CUIでの操作も含めた開発・テストに没頭しています。一方ではkintoneエバンジェリストとしての動きを活発にしています。kintone Café 埼玉 vol.1の事務局を担当し、さらには別のkintone Caféの準備メンバーとしても動いています。そういった動きを重ねることで、人前でしゃべる技術を磨くという私自身の課題も少しずつ前に進んでいるように思います。今後もそのような場で登壇の場数を重ねるようにして、少しずつ経営者としての実践を身に付けて行きたいと思っています。

kintone案件のコンサル兼開発担当も2月から請けさせて頂いているのですが、そちらでも追加開発のご用命を頂きました。さらには今日、ありがたいことに別のお客様からもkintone案件をご用命頂きました。何とかkintoneエバンジェリストとしての顔でも、少しだけ見せられるようになってきたかな、と思っています。

ただ、私自身のマンパワーも限られています。開発とテストと営業と商談に加え、常駐先での作業もまだ続きます。トイロハさんへの記事アップは2週間ほど出稿出来ていません。トイロハさんは今後も続けていきたいと思っております。そんなわけで、交流会の出席はかなり厳選しなければ、と思っています。今日お話を聞かせて頂いた経営者の方も、交流会は厳選して参加されておられるとか。私も少し見直す時期が来ているのかもしれません。

でも、お蔭さまでなんとか4月からのワークスタイル変更もいい滑り出しを見せています。これも皆さまのお力添えの賜物と感謝しております。その場限りの儲け目当てではなく、お互いが永きにわたって良い関係を得られるよう、引き続き努力していきたいと思っております。

今後ともよろしくお願い申し上げます。


kintone Café 埼玉 vol.1を終えて


4/2にkintone Café 埼玉 vol.1が開催されました。
写真 2016-04-02 15 00 18

15名の参加者をお迎えし、なかなかに盛り上がりを見せたCaféとなりました。初回にしては上々の出来ではなかったかと思います。

vol.1の開催概要はdoorkeeperに記載の通りです。

内容については発起人の新妻さんによるこちらがすばらしく簡潔でよいです。

本当に皆様、よい発表だったと思います。私自身もとても参考になるところがありました。改めて発表者の皆様、参加者の皆様、ありがとうございました。

私自身は、ハンズオンを担当させて頂きました。そして、自分の知識不足を痛感しました。ただ、ハンズオンを担当して嬉しいこともありました。それは、とある参加者の方から私のハンズオンの分かり易さを評価して頂いたことです。これは私にとってはハンズオンそのものを評価されただけでなく、別の意味でも嬉しいことでした。

昨夏、私はエバンジェリストとして伸び悩んでいました。今後の活動について、どうすればいいのか、と。常駐先の仕事は忙しく、バージョンアップの度に新機能が実装されても検証の時間すら取れない焦り。ユーザー会やkintone Caféにもほとんど出る暇のない日々。それはただ、ひたすらに悶々とする日々でした。技術者としての自らのキャリアパスにとって、kintoneが最適解の一つであることは確信を持っていました。では自分のkintoneエバンジェリストとしての価値はどうすれば打ちだせるのか。

そんな葛藤の中、私が選んだのは最新の技術を追うのではなく、まずkintoneの本質を伝える道でした。kintoneに初めて出会った時の感動を愚直に伝えるのも、伝道師-エバンジェリストの役目なのではないかと。

もくもく会やkintone Caféで出会うエバンジェリストの皆さんは本当に優秀です。多分今の私よりもずっと。kintoneの可能性を限りなく拡げて行って下さる方があってこそ、kintoneの裾野は広がっていきます。無くてはならない方々だと思います。であれば、技術の追求は他のエバンジェリストの方にお任せして、私は愚直に初心者の方に、ユーザーの方に業務目線でアプローチしてみればよいのではないか? 元々私自身、ユーザー出身者として、ユーザー目線のシステム構築を売りにしていたのではなかったか、と。

そんな中、ご縁があってトイロハさんで初心者向け記事を書かせて頂く機会を頂きました。
https://toiroha.jp/media/detail/185
連載を読んで頂いている方はお分かりのとおり、こちらの連載はかなり異質です。見方によっては、IT女子二人の試行錯誤がだらだらと続いているだけ、とも読めます。最短距離をゆき、効率的合理的に説明を果たすアプローチとは一線を画しているのがこの連載です。でも、私は本連載の中で、敢えてユーザーの立場からの試行錯誤の跡を隠すことなく書いてみようと思いました。

まだ、このやり方が正しいかどうかはわかりません。私自身もこのアプローチでよいのか迷うこともあります。でも、少しずつ評価を頂くことが増えています。なので、今回のハンズオンも同じアプローチを採りました。トイロハさん連載に登場するIT女子だけでなく、著者自身もまた試行錯誤の中にあることを隠さないのと同じように、ハンズオンのスピーカーもまた、修行中であることを隠さぬアプローチ。だから、今回のハンズオンがある参加者の方から評価されたことは、私にとって特別な嬉しさがあった訳です。

今、kintoneは追い風にあります。最近、特にそう思う出来事が増えてきています。

電車に乗っていてサラリーマン同志の交わす会話から「kintone」の言葉が聞こえます。システムの提案要件に当初から「kintone」の含められる案件が増えています。今日も、とある案件の応募先のご担当者様とお話しする機会を頂きました。その中で、弊社以外にも「kintone」による提案が多々あったと教えて頂きました。何よりもお客様の下に伺って「kintone」の提案をすると反応が上々であるケースが増えています。間違いなくシステム構築案件の選択肢の一つとして、kintoneの地位は上がっています。

そういった波に乗るにあたり、私も技術者の端くれですからJavaScriptを駆使したカスタマイズや他システムとのAPI連携に挑みたい気持ちはあります。意図した動作が実現できた時の高揚感は、技術者冥利に尽きますし。

でも、私自身のエバンジェリストとしての存在意義は、きっとそこにはないのだと思っています。少なくとも現時点では。初心者目線を保ったままのアプローチ。まずは業務より始めよ、です。業務とkintoneの互いを活かして相乗効果を産むアプローチ。業務をシステムに合わせるのではなく、システムを業務にカスタマイズするのでもなく、両者の良いところを組み合わせるアプローチ。このアプローチでもう少しやってみようと思っています。

次回のkintone Café埼玉 vol.2。または準備中のkintone Café某所。スピーカーとしての腕前はまだまだこれから磨かねばならない私です。が、引き続き初心者目線でのアプローチは崩すことなく、kintone Caféに臨んで行きたいと思っています。まだkintoneを知らない方に、kintoneの良さを少しでも伝える。これもまたエバンジェリストのあり方の一つだと信じて。

昨夏から試行錯誤してきたエバンジェリストとして行くべき道がようやく少し見えてきた気がします。

これからも、弊社のブログなどでkintone Café埼玉やkintone Café某所のご案内は流して行きたいと思います。そして、その場でまだ見ぬ皆様とお会いできることを楽しみにしています。既存の業務要件を入口に、納品を出口としたシステムでは拾いきれなかったニーズを持ったユーザー様は、あちこちにいらっしゃるはずですから。


4月以降の弊社業務について


3月に入りました。春が来た、と言いたいところですが、春は近付いたり遠ざかったり中々落ち着く様子を見せません。

日々、気温が乱高下する様は弊社代表社員の人生のようです。ただ、お陰様で何とか社業の方は堅実路線を維持して来ました。間も無く法人化して最初の決算を迎えようとしています。

堅実路線と申し上げましたが、4月からは少し状況に変化を起こそうかと思っています。今後の具体的な業務についてはまだお話はできません。しかし、4月から状況が変わるのは本当です。

ただ、当初予定していた4月からの業務は、少し状況が変わってしまいました。

実は本当ならば、今年4月以降の弊社は月の半分を関西に拠点を置き、半分を首都圏に拠点を置くはずでした。この件については、昨年、関西の友人達や、セミナーなどでお知り合いになった方にはお話ししており、知っている方も多かろうと思います。ところが、昨年末にこの話は無しになってしまいました。関西行きの件については結構な人数の方にお話ししましたので、そのことがおじゃんになった顛末をこの場をお借りして報告させて頂きます。

発端は、某IT企業様の関西進出に当たって、関西事業所長に就いて欲しいとのお話でした。昨年の6月の事です。その企業の社長様とも二度ほどお話しさせて頂き、月の半分を業務請負の形態で関西事業所長としてやらせて頂く事で話は進んでいました。実際に事務所内も詳細に見て回り、案も出しました。私自身、関西進出のつもりで関西の友人達とは旧交を温め、関西のセミナーに出てはビジネスの繋がりも作りました。

宿泊代は甲子園の実家を使うことで両親に話もつけていました。両親も大分老いてきたこともあり、さっさと東京に出てしまった親不孝の長男として、一緒に親と過ごす時間を取ろうと考えていました。私自身、故郷で自分の力を試したいという思いもありましたし。当然、妻や娘達からの了解はもらってましたよ。

ところが、12月頭のお打ち合わせで状況が一変します。請負だったはずが、社員として関西事業所長に着任して欲しいと言われてしまいました。しかもその企業様は社内規定で副業禁止を謳ってらっしゃいます。つまり、私が会社を経営しながら、関西事業所長になるのは無理ということです。私の既存のお客様の業務はその企業様に引き継ぎ、より厚くサポートもできるだろうというのが、その企業様の言い分でした。

しかし、その条件について、私は容易にうなづけませんでした。

法人化してまだ最初の決算も経ていないのに、作った会社を畳まねばなりません。私個人で作ってきたビジネスのお得意様との関係も引き続き主担当として携わって良いとの言質を頂きましたが、不安定になることは避けられないでしょう。また、半月という関西事業所長としての業務も、社員であるなら関西に行きっぱなしになる可能性があります。業務命令なら社員としてそうそうは拒絶はできないはずです。そうなると妻や娘との関係にも悪影響が生じかねません、実際、今から9年ほど前、毎週関西に出張し続けた時期がありました。この時に妻を襲った変調は、いまに至っても忘れられるものではありません。

せめて待遇面をお聞かせ頂いてからお断りするつもりでしたが、間に入って頂いた方からは断るのなら早めにと言われました。そんなこともあり、折角の関西事業所長のお話しをお断りしたのが一月の中旬のことです。

結論として、4月から弊社は関東で活動を継続することになりそうです。ただ、それに当たって従来と同じワークスタイルでは進歩がありません。ここ数年お世話になっている常駐先のままでは、私にとって法人化したメリットが乏しいです。そのため、木金だけ出勤する形態に替える予定です。後の土日月火水はフルに活動させて頂くつもりです。

今までのようにセミナーや勉強会や交流会になかなか出られず、営業活動すらままならない、といった状況は劇的に改善されます。

今まで皆様のご期待にお応えできていなかった部分が多々ありますが、4月以降は木金以外は誠心誠意お仕事にあたらせていただきます。kintoneエバンジェリストとしての活動や、業務コンサルティング、業務システム、ウェブサイト作成など弊社代表が培ってきた経験で、皆様のサポートをさせていただければと思います。

また、4月以降、関西でのお仕事ををお約束していた方とのお約束も私は忘れておりません。間違いなくお伺いさせて頂きます。すでに昨年末から関西でスタートアップされる方のお手伝いもさせて頂いております。ご安心ください。4月にもお伺いさせて頂くつもりです。

最後に、関西事業所長のお話を頂いた企業様にも感謝を申し上げねばなりません。結果としてお役には立てませんでしたが、頂いたお話が元で私自身も4月以降のワークスタイルの変革に弾みがつけられました。感謝です。

今年は背水の陣のつもりでやりきります!


処方箋の電子化はクラウドの追い風となるのか


本日、このようなニュースが報道されました。

「処方箋電子化解禁へ…医療機関と薬局で情報共有」YOMIURI ONLINE
リンク

電子データ化の波は、ついにここまで来ました。とはいえ、実は調剤薬局内に限定された部分では、すでにデータ化は進んでいます。今回のニュースの主旨は、薬局と医療機関の間のデータ共有が主となります。

なので、患者側にとってのメリットはそれほどないのではないかと思っています。

むしろ、薬事日報のサイトの記事によると、レセコンの処理待ちによる処理時間の増加すら懸念されています。レセコンとはレセプトコンピューターのことです。

妻が歯科医であることから、レセプト(医療報酬の明細書)処理の実態については私も話を聞いています。また、最近介護関係の方と話す機会も増えています。皆さま、レセプト処理の改善については思うところが強いようです。

結局のところ、レセプトとは、健康保険の加入者が負担する医療費の算出に必要なものです。つまり、診療行為ごとに診療報酬点数が決められているため、その点数を算出し、そこから医療機関と患者の負担額を導出するのです。この点数算出の方法が頻繁に切り替わるため、医療事務方の負担となっています。

では、IT化すればよいじゃないか、という意見がありそうです。ですが、上に書いた理由から、レセプト処理についてはあまりにも仕様が煩雑で頻繁に変わるため、汎用化や共通化が遅れています。そのため、専門のソフトやハードが未だに残されています。レセプト処理専門のキーボードすらあるほどです。106キーボードやJISキーボードとは似てもつかない様々なレセプト処理に特化したキーボードです。そういった事情から、レセプト処理を専門とするIT業者も存在します。

オープン化の波がIT業界を席巻してかなりの年月が経ちました。汎用機という名のメーカー専門機はどんどん脇に追いやられています。しかし、医療業界ではまだレセプト専門機や専用ソフトが幅を利かせています。クラウド化やオープンソース化はまだまだ先の話でしょう。

今回の処方箋の電子化は調剤薬局にとってはゆくゆくは事務作業の軽減化になりえるでしょう。しかし、患者にとってはその恩恵を顕著に感じられるまではまだ掛かると思ったほうがよいでしょう。弊社を含めた一般のIT業者にとっても今回の電子共有化にあたっては、特に利点はないと思っておいたほうがよさそうです。

ただし、少しずつ、医療業界においてもIT化の影響は及びつつあります。クラウド化の流れはこの分野においても避けることはできないでしょう。すでに医療分野でも着々とクラウド化は進んでいます。その時に備え、弊社でも対応できるよう、この流れは注視したいと思っています。


2016年の抱負


晦日にアップした投稿にも書かせて頂きましたが、昨年度は皆さま色々と有難うございました。
今年も引き続き、よろしくお願いいたします。昨年の流れをさらに加速するべく、努力を惜しまず進みたいと思っております。

今年の抱負としては、胸の中で様々に温めているところです。自分という器の容積を広げるためにも、目標は高く持ちたいと考えております。私的な抱負については、家族とともに考え、家族の前で披露するつもりですが、こちらでは、公的な抱負を書きます。

1.法人化2年目にあたって
昨年は法人化を達成しましたが、あえて背伸びせずに基盤作りの一年としました。今年も実現不可能な目標は立てません。しかし現状維持に落ち着くつもりもありません。今年は常駐に頼らずに前年と同じ収入を得ることに注力しようと思います。個人事業主時代、最高収入を得た2010年度すらも、日中は常駐現場に縛られていました。常駐をこなしながら、深夜まで仕事することには限界があります。昨年も平日の睡眠時間は3〜5時間しか取れていませんでした。しかし、そろそろ脳への負担も考えながら仕事を進めなければなりません。また、日中に営業に回れないことがどれだけ商機を逃していたか考えると、改めるべきなのは明らかです。

と言うわけで、4月以降、常駐作業からの収入は多くとも今年の半分に抑える予定です。大口の安定収入を半分にしても、小口の不定収入だけで昨年と同じだけの収入を得られるか。困難ではありますが無茶な目標ではありません。やるしかありません。昨年末に楽天ビジネスがサービスを終了しました。楽天ビジネス経由でかなりのご縁も収入も頂いていただけにダメージはあります。また、CloudWorksやLancersには登録しているものの、そちら経由での受注には至れていません。まずはこの二つのサービスからの受注を目指します。

さらには昨年、かなりの数参加させて頂いた交流会。それぞれの交流会経由でも直接間接に受注に結び付けられています。交流会経由でのご縁をいかにしてさらに増やすか。こちらも参加頻度を去年並みにするか、検討の上正式加入するなどして重視したいと思います。
そして既存のお客様からのご紹介も疎かにしてはなりません。実はこの大晦日間際になって、ご紹介経由でお見積りのお話を頂きました。ありがたいことです。私の提供したサービスの質を評価していただいたと自負しています。しかし、一方では常駐で多忙になる前と後では私の提供するサービスの質が落ちたとの苦言も頂きました。頂いた言葉を肝に銘じ、常駐の仕事量を減らしたからには、その分お客様にもご納得頂けるサービスを心掛けねばなりません。

2.エキスパート化
昨年読んだいくつかの本からはジェネラリストよりもエキスパートたれ、という示唆を受け取りました。仕事上ではこのことを念頭において自己研鑽やブログに反映させていくつもりです。例えばハードウェア手配、凝ったデザインや動画編集、ネットワーク設定や私の不慣れな言語については積極的に協力会社に協力をお願いしていくつもりです。

一方では、私の価格設定が安すぎるという忠告も何度か頂いていました。それは常駐作業が足かせとなってお客様に100%向き合えないための価格設定でした。しかしこれは改めようと思います。そのためにはジェネラリストとして接するのではなくエキスパートとして振る舞わねばなりません。エキスパートとしてどうやって売り込むか。これについてはすでに腹案があります。昨年12月からkintoneのエバンジェリストとして、ようやく活動を活発化させ始めています。トイロハさんへの連載やAdventカレンダーへの参加など。今年はこの流れをより太くすることが大切です。また、Excel、Access、WordのVBAについてはかなりのレベルに達しているとの自負があります。これをOffice 365やGoogle Appsなどと絡めて究めて行こうと考えています。また、CMSについては各種の開発運用実績も持っていますし、一からCMSを作ったこともあります。これらは引き続き大切なノウハウとして活かします。

3.話す技術
昨年は妻のココデンタルクリニックで二回にわたってセミナーを開催しました。そのうちの一回は私もプロジェクターを使って話す機会を頂きました。その直後にアンケートを通して皆さまの意見を募りましたが、辛い意見も頂きました。まさに私自身が求めていたのが辛い意見でして、自分でも話した内容に満足がいきませんでした。おそらく今のようにブログが氾濫している状態では、文字を通しての自己表現は、よほどの内容でないと埋もれてしまうことでしょう。

では何をもって自己表現をするか。それは喋ることです。各種交流会やセミナーにも出させて頂きましたが、必ず1分程度出席者の前でしゃべることが求められます。しかし今の私の話術では10分以上のプレゼンテーションを行えるだけのレベルに達していないと考えています。そのための訓練は欠かせません。今年早々に口にとある処置をしますので、滑舌もそれに合わせてよくなるようにしたいと考えています。

4.ブログ
活動のベースは今まではFacebookを主とし、Twitter、Tumblr、ホームページのブログを従として進めていました。昨年はブログ経由での情報発信をかなり増やしました。今年はその流れをさらに強め、全面に公的な色を濃くしたいと思っています。
Facebookでは、個人的な日記に近い形の投稿を日々欠かさず続けてきました。これは引き続き行う予定です。仕事とプライベートの割合を適度に混ぜながら。しかし、仕事用のFacebookページもより前面に出す予定です。しかし昨年、仕事用のFacebookページやブログの宣伝効果はまだまだだったと反省しています。実は今までは私が積極的にブログの内容を宣伝することはしていませんでした。今年は書いたブログの内容がより流布されるように、私自身のブロックを外すつもりです。具体的にはマルチポストだからといって他の媒体への投稿を避けるということを止めます。リンクによるシェアでよいので、あちこちにブログの内容を書き込んでいこうと考えています。エキスパートに徹する仕事上の技術系のブログは対象を絞って。ジェネラリストとしての自分を書評や時事ブログで表現していきたいのであればふさわしい掲示板に。人間的に狭くなることは避けたいので、仕事だけでなく、書評、劇評、映画評をはじめとし、視野を広く、折々に様々なことについて興味を持ち、世間にも自分の考えを積極的に問うていこうと考えています。

昨年の12月からは対価を頂いた上でトイロハさんへの文章アップも初めています。これら技術エキスパートとしてのブログはAdvent Calendarも含めて引き続きエキスパートとして執筆していくつもりです。しかし技術系ブログ以外のブログも、機会があればどんどん対価を頂いてもなお読まれるような文章を中心に、他のブログとは一線を画したようなブログとして育てて行きたいと意気込んでいます。

なお、私が私的な内容の日記を書く際のスタンスは、小説家の筒井康隆さんのそれに影響を受けています。実名で、個人的な内容を書きつつ、その内容が商売ベースとしても成り立つだけの質の高い日記。実名でも批判を恐れずに書き、匿名に逃げることは避け、同じ内容のものは書かず、日々違う内容の出来事を紹介できるようなもの。それを目指したいと思っています。そのためには私自身の生活も単調にならぬように気を付けねばなりません。また、家族や友人、取引先のプライバシーを侵害するような内容は避けなければなりません。これらのことは引き続き気を付けるつもりです。無断タグ付けを避けることはもちろん、文章に登場させることも極力避ける。などなど。

5.体力と魅力増強
仕事と家庭と自分の夢の三つを両立させることは当然です。また、それらの両立は困難です。ただ、今年は常駐という足かせもなくなる予定ですから、少しは時間的な制約が外れるはずです。それでもこれらを両立させるためには体力の増強は昨年に引き続いて必須でしょう。昨年も親子マラソンや自転車での中距離旅行、フットサルやテニス、ローラースケートに参加させてもらいましたが、今年も引き続きそういった機会を頂ければ参加していこうと思っています。とくに自転車で遠距離に行き、名所旧跡に訪れることは体力的にも精神的にも知識的にも私を成長させてくれるはずです。そういう機会を増やそうと考えています。

引き続き本年度もよろしくお願いいたします。


2015年のまとめ


昨年に続き、今年もこちらで年のまとめを書きます。

総括すると、今年は私の生涯においても節目として記録すべき充実した一年になったと思います。達成度6割。達成感8割。満足感8割5分というのが自己採点です。後厄でしたが、その影響など微塵も感じさせない一年だったと言えます。今年の私とご縁をいただいたすべての方々に感謝します。ありがとうございました。

公私の「公」

●個人請けの仕事
§ なんと言っても、今年は法人成りを果たした年です。4/1付で合同会社アクアビットとして登記申請し、設立できました。遡ること100日。2014年のクリスマス前に妻の友人の社労士の近藤先生から法人化を勧められました。方向性や手続きなど年末までに検討し、元旦の計として法人化を掲げました。1/18日には妻を連れて近藤先生からご紹介頂いた税理士の越村先生のもと。さらに越村先生から御紹介頂いた行政書士の清水先生とメールや2/11の懇談の結果、合同会社との方向性を確定させます。越村先生からは一方でソニー生命の菊地さん飯田さんを御紹介頂き、保険関係の手続きも万全に。奇しくも設立直前になって、私が上京当初に職を見つけた現場のマネージャーの方がお亡くなりになりました。私もお通夜にお招き頂きましたが、10年ぶりぐらいにお会いする懐かしい方々多数とお会いし、改めてその時のフレッシュな気持ちを思い出しました。4/1に法人設立したとはいえ、仕事環境はさほど変えていません。しかし、私自身の心構えはかなり変わりました。皆さま、本当にありがとうございました。
§ 今年は交流会の参加も盛んでした。今までもずっとお誘い頂いていたのですが、今の常駐先の仕事の都合で全く行かれず。それでも数年にわたってご招待頂いたアンツビズシェアの村中社長には改めて感謝です。村中社長御主催の交流会には計3度お伺いし、お仕事にも繋がりました。また、法人化をきっかけに菊地さんからは別の交流会にお誘い頂きました。そこからのご縁でも次々と他の交流会、他の交流会といったご縁が繋がり、お仕事に繋がっています。清水先生からもビジネス書読書会にお誘い頂き、初めての経験をさせて頂いています。また、kintoneエバンジェリストとしての繋がりでの交流会やkintone Cafe、もくもく会、フットサルなども新鮮な経験です。さらには他のお仕事での繋がりからも交流会等にお呼び頂きました。今年は色んな方々との交流、多分40~50回に上るイベントを公私ともに楽しませて頂けました。皆さま本当にありがとうございました。
§ 2010年度に最高売上を記録してのち、今のプロジェクトに参画してから、売上が相当落ちました。2015年は、本来であれば個人事業主時代と比べて大幅に売上を増やさねばならない年でしたが、あえて基盤作りの一年としました。結果としてはほぼ2014年並みの実績になると思っています。ただ、既存のお客様からのお話や、交流会でお知り合いに成った方々からのお仕事などを多数頂いたのは大きいです。2016年度は、下記に書くように常駐先の仕事量を半分に減らす話を進めています。法人化二年目として飛躍の時期と位置付けています。
§ 実はもう一つ、春先から頂いていたお話があり、この話が成立すれば私の関西で過ごす時間が大幅に増えるなど、生活が激変するはずでした。それもあって常駐先へ仕事量を減らす申し入れをしました。また、様々に準備を重ねる一方で、私の状況が落ち着くまでは方々で頂いていた交流会への正式なお誘いも保留とさせて頂いておりました。しかし先日、先方とお打合せを行ったところ、ご提案頂いていた条件が変わることになりました。来年早々正式なご提案を頂く予定です。まだこの件について詳細は申し上げられませんが、熟慮を重ねた上で判断させて頂くつもりです。
§ 今年の挑戦の一つとして、イベント開催も挙げられます。妻のココデンタルクリニックで二回主催で開きました。そのうち最初の一回については弊社も協催とし、私自身もkintoneの紹介をさせて頂きました。正直申しまして、話すということについてはまだまだ不慣れで更なる精進が必要です。今後の私にとって大勢の場で話す技術は伸ばしていかねばならないと痛感しています。来年もどこかの機会でそういう場を作るようにしたいと考えています。
§ 今年は書くというお仕事でも挑戦を行いました。kintoneエバンジェリストとして推挙頂いてから2年足らず、常駐先の多忙さもあってほとんど活動ままならない状態でした。しかし12月からトイロハさんにkintone初心者向けの週連載を始めました。説明文ではなく会話文を大胆に取り入れ、しかもIT女子の口調で。なかなかに面白い挑戦として楽しんでいます。また、これも12月ですがkintone Advent Calendarに参加させて頂きました。私の用意していたネタが直前で使えないことが分かり、kintoneによる宛名書きというネタを急遽実装してアップ致しました。kintoneとAccessとWordを連携させています。あと、神戸のコワーキングスペースカフーツの伊藤さんとも知己になり、ご縁を頂いたのですが、カフーツさんで開催されたブログJellyにも参加させて頂きました。他にも技術ネタのブログをいくつかアップしました。後で触れますように個人的なブログも多々アップし、2015年は書くことの楽しさにようやく目覚めた年となったかもしれません。引き続き切磋琢磨していこうと思っています。
§ 妻のココデンタルクリニックは、妻自身が人脈を増やしたり、AGEという新たな目標を見つけたりと、他の歯科診療室とは差別化を図っています。この方向転換を確かなものとするため、実はまだアップしていませんがココデンタルクリニックのホームページを大幅にリニューアルの予定です。もうほぼ完成しています。また2015年はココデンタルクリニックで2回のイベントを主宰しました。来年は私の庇護下から抜け出してくれるのではないかと期待しています。長らく妻の仕事は私にとってリスクであり、法人化への踏み出しを妨げていました。しかし今年は私も法人化を果たし、来年はココデンタルクリニックも飛躍してくれると信じています。これでようやく夫婦が本来の意味で協力できそうな気がしています。今年の大きな進歩です。
§ 常駐先での仕事は、昨年から落ち着く予兆を見せていました。今年は私も法人化を果たしたこともあり、自分の仕事を育てるためにも、できるだけ残業をせずに早めに帰ることを心がけました。最高で235時間の月間稼働もありましたが、稼働が200時間を下回る月も6か月達成できました。また、今年初めから常駐先にPC持ち込みの許可頂いたことも、私の法人化や今後の動きによい効果がありました。ありがたいことです。感謝です。

公私の「私」

●家族との一年
§ 平日は大分早く帰れるようになってきましたが、逆に娘たちの成長は親離れを加速させつつあります。皮肉なものです。が、ここ数年忙しくてさびしい思いをさせていた次女とは様々な場所に出かけることができました。また、昨年ほどではないものの、家族とも様々な場所へ出かけられました。
§ 昨年は、私がお仕事などでお世話になっている方々の下で娘たちを色んな経験させてやれたことが特筆すべきトピックでした。今年は少し減りましたが、それぞれによい経験をさせてやれたと思います。ありがとうございました。ご迷惑などもおかけしましたが、本当に皆様ありがとうございました。
 2月、アトリエmさんに長女を連れて伺わせて頂きました。昨年はデッサンの基礎を教わりましたが、今年はペンタブの使い方などを教わりました。娘自身の絵は上達したようですが、私自身の時間がとれず、lineスタンプの作成はとうとうできませんでした。来年早々に手掛けさせたいと思います。室井さん本当にありがとうございました。
 7月、カナバングラフィックスさんの会社説明会に長女と妻を連れて参加させて頂きました。カナバングラフィックスさんはUSAVICHややんやんマチコで知られている旬な企業様です。代表の富岡さま直々にご説明頂いたブランディングやキャラ設定、CGアニメ作りについては、私にとっても大変参考となりました。長女がどういう風に受け止めたかは、来年からの高校生活で実践して欲しいと思っています。富岡さん、近藤さん本当にありがとうございました。
 7月、Hanareひばりヶ丘さんで、あるじの新妻さんにご招待頂き、妻と次女を連れてお伺いしました。うどん作りとパン作りを教わりましたが、とても美味しかったです。新妻さんには様々な出会いの仲立ちやイベントへのご招待などお世話になりました。新妻さん本当にありがとうございました。
§ 一昨年、長女がグランプリを獲ったチアコンペティション。今年は再びグランプリを獲得できました。しかも生観戦も出来た事は大きいです。一昨年のグランプリの演技を見てやれなかった分が取り戻せたと思います。また、バレエ発表会も去年に引き続き見ることができました。長女は出演しませんでしたが、次女の踊りたいという思いは受け止めることができました。娘達二人とも、難しい年頃に差し掛かって来ましたが、来年以降、生きていくための道筋をつけて行ってやれるか、正念場だと思っています。道筋を付けるというより、道筋を切り拓くためのスキルをどうやって身に付けさせるか、ですが。
§ 長女の今後の進路決めがそろそろ視野に入ってきました。日曜日のお出かけも長女だけお留守番、又は友達とお出かけすることも増え、家族四人で行動する機会は昨年に比べてさらに減りました。また、個人事業主として登録したのも娘にとってみれば今年の成果でしょう。高校の進路説明会には私も妻も伺い、高校および今後の進路についてはほぼ決まりつつあります。試験に受かればですが。ただ、スマホをついに買い与えてしまったのが失敗だったかなぁと自問する日々です。案の定はまってしまいました。そろそろ締めないとなぁ・・・
§ 次女は、小学校生活最後の1年です。5月の運動会では騎馬戦の大将として凛々しく一騎打ちを演じてくれました。惜しくも熱戦の末、帽子は取られてしまったものの感動を与えてくれました。組体操もよかったし。うちの両親も久々に観戦し、次女の晴れ舞台を見せられたのは良かったです。他にも発表会の劇やら、チアコンペティションでの頑張り、カポエラの頑張りなど、賞にこそ恵まれていませんが、本人がしたいことを探している姿が印象に残りました。ただ、長女と同じくスマホを買い与えたのが失敗だったかもと、より強く自問しています。早すぎた。
§ 昨年よりはかなり減りましたが、家族とは色んな場所に出かけることができました。詳しくは書きませんが、それぞれの場所で良い想い出作りができました。特に8月に行った鳥取・島根の旅では、私の両親も含めた宿泊旅となりました。うちの両親にも良い想い出になったのではないかと思います。また、9月には車中2連泊をペット連れで敢行し、上高地の素晴らしい景色や白骨温泉などを楽しみました。娘達にはともに印象に残る旅となったようです。うちの両親も5月の運動会をみるために東京に出てきてくれ、深大寺や鬼太郎茶屋を見せたり、次女と妻と一緒に東京ディズニーシーを初めて体験することもできました。
 ・1月帰省(泊まり)
  宝塚、甲子園、神戸どうぶつ王国、えべっさん、浜松市楽器博物館
 ・1月お出かけ
  両国回向院、>昭和記念公園
 ・2月お出かけ
  よみうりランド(ジュエルミネーション)、横浜スタジアム(アメフト観戦)
 ・3月お出かけ
  秩父いちご狩り、秩父蒸留所、寄居星の王子様PA
 ・4月お出かけ
  銀座切り絵展
 ・5月お出かけ
  代々木公園ブラジルフェスタ、Cinco de Mayo & Axe Night Tokyo、袋田の滝、草津温泉、成瀬体育館、近藤勇史跡、深大寺、東京ディズニーシー
 ・6月お出かけ
  昭和記念公園、薬師池公園、川崎の友人宅
 ・7月お出かけ
  富士花鳥園、カナバングラフィックスさん、コワーキングスペースhanareさん
 ・8月帰省(泊まり)
  天王寺動物園、鳥取砂丘、水木しげる記念館、玉造温泉、宍道湖、松江フォーゲルパーク、出雲大社、大阪城、浜名湖
 ・8月お出かけ
  甲州台が原宿、金精軒(水信玄餅)、ベルガ、清泉寮、鶴川ポプリホール(バレエ)、代々木体育館(チアコンペティション)、アロハビヤガーデン
 ・9月(泊まり)
  上高地、白骨温泉、風穴の里、水殿ダム、リゾナーレ八ヶ岳、道の駅はくしゅう、白州蒸留所
 ・10月お出かけ
  イクスピアリ、アレサふれあい祭り、多摩センター、よみうりランド(ジュエルミネーション)
 ・11月お出かけ
  牡蠣Bar、築地市場、駒沢オリンピック競技場
 ・12月お出かけ
  宮ヶ瀬ダム、Bar Harbour Inn、阪急西宮ガーデンズ

§ 上には書きませんでしたが、娘と2人で行った場所も想い出深いです。長女と二人では、町田アフリカフェスタ(5月)、沼津港深海魚水族館・柿田川湧水群に行きました(7月)。次女と二人では、昭和記念公園まで片道20キロ弱のサイクリング(1月)やドラムレッスン体験(1月)、こどもの国親子マラソン参加(2月)、後楽園ホールでのローラースケート(3月)、MI:5の鑑賞(9月)、Capoeira Batique Japao参加(12月)など。妻とは神田の税理士の先生の元に行った後銀ブラしたり(1月)、宝塚星組現トップの北翔海莉さんのBillboard Live東京でのショー観劇(3月)、ミュージカルを3回、映画を2回。四谷の聖イグナチオ大聖堂やニューオータニにも夫婦で訪れました。埼玉のブリティッシュフェアにも夫婦で訪れ、日本のウィスキー好きには良く知られる土屋氏とのご縁ができたのも嬉しいニュースでした(10月)。あとホキ美術館に夫婦で訪れたのも今年です。

●私自身の一年(交友関係
§ 上にも書いたとおり、新たに頂いたお仕事のお話は関西に関係しています。そのため、夏前から意識して関西の友人との交流を活発にしました。また、交流会の中で関西の知己も何人か増やすことができました。それもあって高3の同級生たちに2度にわたって関西での飲み会に呼んでもらい、楽しいひと時を過ごさせてもらいました。また、そのタイミングで中3の同級生とも阿倍野ハルカスを訪れつつじっくり会話しました。さらにはこのところ逢えていなかった大学時代の友人が東京に仕事に来た折に誘ってもらい、久しぶりに盃を酌み交わすことが出来たのも嬉しい出来事でした。私の仕事の話がどうなるかはまだわかりません。が、今年は忙しい中にも関西の友人達との旧交を温めることができた年となりました。私が東京でいくら忙しくなろうと、今後とも関西に住む親友たちとの付き合いは絶やさぬようにしたいと思っています。数年前に亡くなった恩人の大学の先輩のご自宅にも10月に訪問できましたし。また、昨年2月に亡くなった祖母の住んでいた明石もなかなか再訪の機会がないと思っていたところ、仕事でそちら方面の方々とのご縁ができたのも大きいです。まだまだ再会の機会が持てていない関西の友人達は多く、来年は引き続き久々の再会の場を多くつくりたいと願っています。
§ 今年もまた、鉄道や城巡りといった旅を愛する友人二人と、小田原の嚶鳴フォーラムや横浜山手の洋館巡りや、東京の洋風建築、首都圏一周の一筆書き乗車、滝山城攻城といったイベントではお世話になりました。このような旅を共に出来る友人がいることに感謝です。今後とも旅を愛する人生にお付き合い頂ければ嬉しいです。
§ 一方、今住んでいる地元の友人との時間も飲み会を中心として5、6回ほどもつことができました。他にもテニスなどにも呼んでもらったのはうれしいです。次女もあと少しで小学校を卒業してしまい、小学校の時間が遠くなってしまうのは仕方ないことかもしれませんが、引き続きこういった地元のつながりを大切にしていきたいと思っています。今後とも子供を軸に、成長を共にできれば嬉しいです。それと今年は自治会からのよい御縁があったのも特筆すべき点です。

●私自身の一年(文化活動
§ 文化的活動については、読みっぱなし、観っぱなし、ではなく、体験した内容を自分の中で昇華させ、当ホームページに掲載して後に残す試行が軌道に乗ってきました。ただし、読書レビュー(読ん読く)については、法人化の準備などなどがあり、秋ごろまでほとんど書けないままでした。その結果、レビューのアップは11か月の遅れとなっています。しかし背後ではかなりの冊数を書き込んでおり、7割はレビューが準備できています。決して途中で諦めることはしないつもりです。舞台観劇と映画鑑賞については、遅れなく書けています。結論として、秋から猛烈に書き始めたことで、自分の中でも書くという行為に対する覚悟が定まったように思います。
§ 読書については、今年は95冊読みました。また、ジャンルを問わずの乱読傾向は相変わらずです。その中でジャンル分けするとすれば、ビジネス書、歴史、ミステリ、時代小説、文化論が多いでしょうか。法人化と戦後70年に関する書籍が目立った一年でもありました。いずれも今年の私の知的関心の方向性を示しています。93冊について、それぞれに思い入れは深く、ベストを選ぶといったおこがましいことはしません。今のところそのうち64冊についてレビューは書けているので、徐々にアップする読書レビュー(読ん読く)をご覧頂ければと思います。なお、最新刊は拙速に読んだりしないので、今年度の書籍についてはあまりよく分かって居ません。ゆくゆくゆっくり読むつもりです。
§ 映画鑑賞については、今年は7本しか見られていません。「ベイマックス」「日本のいちばん長い日」「ミッション・インポッシブル ローグネイション」「PAN ネバーランド、夢のはじまり」「007 SPECTRE」「STARWARS フォースの覚醒」「杉原千畝」。そのうちシリーズ作三つは絶対に観ると決めていたので、目標達成できて満足でした。面白かったし。また、家族と皆んなでの観劇も二回ありました。残りの二つは戦後70年の集大成ともいえる一作です。これも絶対観ようと決めていただけに、見られて良かった。自宅では、STARWARSの観劇直前に旧三部作を16年以上ぶりにまとめて見ることが出来ました。DVDのボックスセットを購入して10年以上、一度も観られていませんでしたが、初開封。
§ 舞台については、今年度は3本の鑑賞でした。詳細は当ページの「目下の舞台鑑賞」を観て頂きたいと思います。3本いずれも素晴らしい内容でした。「ミュージカル エリザベート」は宝塚のそれとは違い、死神トートやルキーニ、フランツ・ヨーゼフを男性陣が演じていましたが、芸術的な美しさと構成の妙に魅せられました。「エリザベート」も宝塚の魅力を最大限に発揮した傑作だったと思います。
§ 音楽については、今年は友人とスターダスト・レビューのコンサートに行きました(8月)。さらには、仲良くして下さっている社長様と赤坂のB flatで太田寛二CD発売記念Liveも楽しみました(8月)。代官山ではブラジルのAxe Night Tokyoの熱気にも身を浸しました(5月)。あと、偶然南町田のクランベリーモールでウクレレ奏者の名渡山遼さんの演奏に触れる機会もありました(8月)。それとパラ駅伝を観に行ったところSMAPの5人が揃い踏みし、3曲聴けました。初ジャニーズコンサートかも。宝塚の北翔さんの国歌斉唱も聞けましたし(11月)。妻とは宝塚の北翔海莉さんのLiveにも行きました(3月)。我が家が昨年に続いて宝塚一色だったので、あまり他の音楽が入り込む余地がなかったということでしょうか。また、友人とはカラオケに一回行き、喉の通りも久しぶりよくしました(12月)。それ以外、音楽を聴かなかったかというとそうでもなく。なんといっても今年は音楽系のサービスが出そろった年として後世に残るでしょう。Apple、Google、Amazon、LINEなどなど。Spotifyは未だに日本上陸を果たしておらず、GrooveSharkは法的な問題で突然の終了となってしまいましたが、私は専らGoogle Play Musicに音源を貯めつつ、かなり聴きこんだ一年でした。またサザンオールスターズの「葡萄」と浜田省吾「Journey of a
SongWriter」の2枚のCDも久々に買いました。また、年明け早々には次女とドラムを習いたいと体験に行った(1月)のですが、諸般の事情があって入会は断念しました。今年達成できなかった点の一つです。

§ 美術についても、今年はホキ美術館に妻と伺いました(10月)。細密画の世界をじっくりと堪能しました。また境港の水木しげる記念館にも訪れ(8月)、調布の鬼太郎茶屋にも訪れました(5月)。画業に一生を尽くした水木しげるさんが亡くなった年に、両方の場所に訪れられたのは良かったと思います。また、私があまり得意でなかった建築の世界に片足を踏み出したのも今年です。日本における西洋名建築である築地本願寺・岩崎邸に足を踏み入れたのは8月です。同じ8月には桑名の六華苑で見事な和洋折衷の世界に身を置きました。10月には横浜の山手に点在する異人館巡りも敢行し、今まで私が知らなかった建築物の魅力を知ることのできた一年となりました。同行の友人達には感謝です。ただ、年始にやろうと決めていたイラストによるFacebookウォールのアップ。これがほとんどできず、写真に頼ってばかりだったことは反省しています。私が今年達成できなかった点です。
§ スポーツについては、元旦から武庫川を次女と5キロ走るという幸先よいスタートが飾れました。が、一年を通しての私自身の活動は昨年よりは上向いたとはいえ、まだまだ満足には程遠いです。1月には次女とこどもの国の親子マラソンに参加し、1周4kmを完走し21位の記録を頂きました。また、次女とは昭和記念公園までの往復40キロほどを自転車で往復もしました。が、春以降は娘とのスポーツ参加が低調になってしまったのは残念です。それ以外には学童の保護者でやっているテニスに2年ぶりくらいで参加しました。また、夏には日曜日の午後8時という時間から新宿でフットサルにも参加させてもらいました。もはや42歳を迎え、体力の衰えは気力でカバーできなくなりつつあります。それよりも今年は観戦に燃えた一年でした。皆さまと同じくラグビーでしょうね。ラグビーワールドカップの南アフリカ戦は、上高地への車中泊旅行の出発直前だったのでパブリックビューイングに参加できませんでしたが、あとから試合の一部始終を見て泣きました。またサッカーは町田ゼルビアの試合観戦を2度ほどしました。今年は4年ぶりにJ2昇格を果たした年となりました。来年はまた観に行こうと思っています。あ、それと師走になってからセパタクロー全日本選手権を始めて生観戦し、空中の格闘技を目撃できたのも想い出の一つです。
§ 今年は自分の時間も確保したいと考えていました。そして、それが出来た年でもあります。小田原の報徳記念館や滝探訪、桑名の六華苑や湯の山温泉、蒼滝、芭蕉翁の千住の矢立の地や紙の博物館など多数に上ります。また戦後70年の年にブログを多数アップできたのも大きいです。

あらためて「公」「私」を振り返ってみて、良い一年だったと思います。攻めに転じることで後厄も祓うことができたと思います。後1日、今年を無事に締めくくり、来年へと繋げようと思います。


年賀状の宛名書きをkintoneにお願いする。WordとAccessを和えて


kintone Advent Calendarへの参加表明をしたはいいですが、ネタ選びで思惑が狂ってしまいました。ネタにしようと目論んでいたSansan API(eightではなくてSansanの方)とkintoneの連携。ところがSansan様よりAPIの技術情報をブログ等で出すことなかれ、と言われてしまいまして。
え、あと私の担当日まで3日しかないのに、どうしよう・・飲み会も続くし、年賀状も書いてないのに。・・・ん?年賀状? と思いついたのがこちらです。はがきといえば差し込み印刷。Wordです。Wordからkintoneを読み込めないか、という浅い思いつきで調べてみました。 あまり実践的な内容とはいえませんが、ごらん頂ければ幸いです。

本記事のネタは 2015/12/11時点のkintoneとWord 2010とAccess 2010で構築しています。12/12に予定されていたkintoneアップデートは延期されてしまいました。アップデートの後も本記事にある技術は使えると思います。
あ、それとQiitaから頂いたリマインドメールにはブログにアップしたurlを連携してもよいと書かれていたので、当方のブログにアップしました。不都合があればQiitaに上げなおします。

 

Wordの差し込み印刷

さて、まずはWordを立ち上げて下さい。メニューの差し込み文書から、宛先の選択を選びます。

1

 

すると、新しいアドレス帳というダイアログが開き、情報が入れられます。いいですねぇ。ちなみに私、Wordの差し込み印刷はほとんど触ったことがありません。

2

 

で、入れ終わって閉じてみると、mdbの保存ダイアログが出てきました。ほう、Wordの裏側はAccessだったんですね。これは思惑が狂いました。調べてみたのですが直接Wordを触って差し込み印刷の値を設定する方法がわかりませんでした。でも、Accessとkintoneって近いようであまり連携例を見かけません。この機会に連携も試してみましょう。ではAccessを任意の場所に保存してみましょう。

3

 

Accessの設定

Accessが出来ました。Address.mdbというやつです。じゃあこれを元にしてkintoneに一つアプリを作ってみましょうか。作成されたAddress.mdbにあるテーブルは一つだけ。Office_Address_Listというテーブルです。これをエクスポートして、csvファイルとして保存し、そのcsvファイルをkintoneに備わっているcsvからアプリを作る機能で作れば何とかなりそうです。

4

 

テキストエクスポートウィザードで出してみます。

5

 

カンマ区切りですね。あとは先頭行をフィールドとして使うにチェックを入れてください。kintoneのアプリストアでExcel/CSVからのアプリ作成で、先頭行に見出し行が設定されている必要があります。

6

 

じゃあ、この場所にcsvを作ってみましょう。

7

 

そしてkintoneへ

いよいよkintoneの出番です。アプリストアから「Excel/CSVから作成」を選びましょう。そしてAccess.mdbから出力したcsvファイルは、以下の通りとなっています。これはWordのアドレス帳のテーブルです。各項目のフィールドタイプはホームページとメール以外は「文字列(一行)」で設定しましょう。

8

 

無事、アプリが作成できました。あとはここに住所を入れて行けば、念願のクラウドでの住所録管理は目の前です。あ、それと、kintoneのフォームで各フィールドのフィールドコードの設定を以下の通りでお願いします。

            ふりがな(姓) → FamilyName_Furigana
            姓 → FamilyName
            ふりがな (名) → FirstName_Furigana
            名 → FirstName
            敬称 → Title
            会社名 → CompanyName
            部署名 → DivisionName
            役職 → Position
            郵便番号 → ZipCode
            住所 1 → Address1
            住所 2 → Address2
            住所 3 → Address3
            勤務先電話番号 → OfficeTelNo
            勤務先 FAX 番号 → OfficeFaxNo
            自宅電話番号 → HomeTelNo
            自宅 FAX 番号 → HomeFaxNo
            連名 → JointSignature
            連名敬称 → JointSignatureTitle
            電子メール アドレス → MailAddress
            ホーム ページ → WebSiteUrl
            市区町村 → City
            都道府県 → Prefecture
            国/地域 → Country

9

 

いよいよAccessからkintoneへ

kintoneにアプリを作ったら、今度はAddress.mdbです。このAccessとkintoneが連携できればよいわけです。ここで、Visual Basic Editorを開いていただき、ツール(T)→参照設定をお願いします。

10

 

参照設定でなにをするかというと、連想配列を使うのでMicrosoft Scripting Runtimeにチェック。それとmdbへのテーブル操作にADOを入れてみましょう。Access 10であれば ADO 2.8が無難でしょうね。これもチェックをお願いします。

11

 

つづきまして、以下の標準モジュールとクラスモジュールを入れてください。ファイルのインポートで可能です。なお、それぞれのモジュールファイルは用意しました。ダウンロードしやすいようにzip化しておきました。解凍してお使い頂ければ。あ、怪しくないので大丈夫ですよ ^_^

JSON
Mod_CommonDeclaration
Mod_DataTrust
Mod_GetKintone

12

 

さて、インポート頂いたファイルですが、ほとんどはそのままで使えるようにしていますが、皆様の環境に応じて若干の変更が必要です。そうしないと動きません。例えば、Mod_GetKintoneのファイルの19行目。ここで
Set objJSON = GetJSON("/k/v1/records.json?app=**") という記載があります。このアスタリスクの2文字は、先にkintoneに作ったアプリのUrlにある数字を入れてください。

12-3

 

続いて Mod_DataTrustです。ここは7行目。
Private Const TARGET_URL As String = "https://*******.cybozu.com"
という記述の****** の部分に、ご契約されているkintoneのドメイン名を当ててください。

12-1

 

さらに Mod_DataTrustです。ここは76、77、78、79行目に情報を入れて頂きます。
76行目はベーシック認証の情報です。BAsic_IDの部分にIDを。Basic_PWの部分にパスワードをお願いします。
77行目はご契約されているkintoneのドメイン名を****の部分に入力してください。
78行目はBAsic_IDの部分にIDを。Basic_PWの部分にパスワードをお願いします。
79行目はkintone内で使用するユーザーのIDとパスワードです。IDの部分にIDを。PWの部分にPWをお願いします。
12-2

さて、ここまででAccess.mdbとkintoneの連携は出来ました。AccessからMod_GetKintoneの中にあるgS_CmdDataRequeryClickを実行すれば、kintoneのデータを反映するのがわかります。

 

再びWord

さて、Wordに戻りましょう。Wordの文書は新たに作成して結構です。作成したら、差し込み文書を選びます。さらにはがき印刷を選んでください。

13

 

さらに、宛名面の作成を選びましょう。

14

 

するとはがき宛名面印刷ウィザードが開きます。

15

 

種類は、年賀/暑中見舞いを選びます。

16

 

さらに様式を選びましょう。好みで縦書きでも横書きでも結構です。

17

 

フォントも選びましょう。

18

 

差出人の情報を選びます。差出人を印刷するにチェックを入れると差出人情報が印刷されます。

19

 

既存の住所録ファイルにラジオにチェックして下さい。さらに、住所録ファイル名は、先ほどAccessのmdbを保存したパスを入力して下さい。

20

 

これではがき宛名面印刷ウィザードは完了です。

21

 

すると、年賀状のイメージと各項目のフィールドに、kintoneに入力した情報が出てきます。この時点で出ているのは、当初アドレス帳に入力して、Address.mdbに入った情報です。

22

 

違う宛先を表示させるには、差し込み文書からメニューの右にある矢印をクリックすればそれぞれの情報にアクセスできます。

23

 

それではこのWord文書を保存して閉じましょう。そして、もう一度開き直すと、以下のようなメッセージが表示されます。これは毎回Address.mdbの情報を見に行き、SQL文を発行してAccess.mdbの情報を取得していることを意味します。

25

 

さて、ここまで出来ているのであれば、もう一段階進んでみましょうか。
先程Accessにモジュールを組み込んで頂いた際に、「AccessからMod_GetKintoneの中にあるgS_CmdDataRequeryClickを実行すれば、kintoneからデータを取りに行ってくれます」と書きました。では、これをWordから行えるようにすれば、いちいちAccessを起動せずに済みますよね。
そんなわけで、GetKintoneFromWordをご用意いたしました。こちらもzip化しています。解凍したらGetKintoneFromWord.basが現れます。これをWordのVisual Basic Editorからファイルのインポートで取り込んで頂ければ。すると、Wordからkintoneの取り込みを行い、その結果をAccess.mdbに取り込むことが出来ます。なお、mdbの場所は C:¥kintone¥Address.mdb にある前提で作成しています。26

 

では、組み込んだマクロを実行してみましょう。メニューの表示からマクロ→マクロの表示を選びます。

26

 

一覧が出るので「アドレス帳最新化」を選んで実行を押してください。

27

 

そうするとkintoneで変更した内容がwordにも反映されます。これで完成です♪
どうでしょう? 今ならまだ年賀状に間に合いますよ♪

29

 

 


cybozu.com conference 2015に参加して


先日、cybozu.com conference 2015 Tokyoに行ってまいりました。https://cybozuconf.com/
私にとってcybozu.com conferenceは3年半前に参加して以来となります。

その時のcybozu.com conference 2012では「世界に通用する日本の企業クラウドを作る」という青野社長の基調講演から、各種セミナーにいたるまでじっくりと参加できました。その少し前に行われたcybozu.comのプレス発表会にも参加させて頂いた私は、海外製品が幅を利かせる現状にサイボウズさんが風穴を開けてくれることに期待し、心地良い期待感と昂揚感に胸躍らせたことを覚えています。

以来、cybozu.comの成長は素晴らしいものがあります。まさに日本発のソフトウェア企業として、有数の会社になっていると思います。私もその波に乗りたかったのですが、cybozu.com conference 2012の直後から参画したプロジェクトに忙殺され、まったくユーザー会にもカンファレンスにもお伺いできずじまい。忸怩たる思いをずっと抱えていました。Kintoneの正式リリース前からkintoneβ版で開発し、正式リリースとほぼ変わらぬ時期にお客様に販売管理システムを無事納品し、以来ずっと運用している自負を持つだけになおさら。

でも、現状をどうこう言っていても仕方ありません。現状をいかにして将来に役立てるかが重要です。今回のサイボウズカンファレンス2015ではセミナー2つのみの参加でした。しかし、その2つのセミナーこそが、今私が参画しているプロジェクトでの経験を将来に役立てるにあたり、ためになると思ったので参加しました。

「サイボウズで実現するNotesマイグレーション~事例に学ぶーNotesマイグレーション成功の鍵~」
「ただしく恐れるクラウドのセキュリティ」

最初のNotesセミナーですが、私にとって現状を活かすには最適なセミナーでした。今のプロジェクト行っている諸作業のうち、Notes Designerを使ってのNotesDB作成があります。正直なところクラウド全盛の今にあって、クライアント/サーバー(クラサバ型)システムによるNotesグループウェアが通用するかは微妙です。しかし、NotesはNotesで今まで広く使われていただけに、慣れた人には使いやすいのでしょう。私にしてもNotes Designerを使い始めたのはこの1、2年ですが、拡張性や機能自体は悪くないと思います。ただ、Lotus Scriptのデバッグやエディタなどがイライラするほどユーザーに優しくないことを除けば、やれないことはあまりないといってもよいと思います。しかし、それにはスキルがいります。NotesはNotesでクラウド化を推進していると聞きますが、多くの現場では依然としてクラサバ型の構成が主流でしょう。特定のNotes技術者を育成せねばならぬところ、開発者向けの環境充実にあまり力を入れていないところからすると、衰退も致し方ないのかもしれません。

しかも、Notes Designerを触って思ったのが、テーブルいらずの発想が、クラウド製品に似通っていること。普通はテーブル設計から入り、Create文を作ってストアド・プロシージャ―などを流してDBを作り込みます。しかし、Notesはいきなりフォーム設計から入ります。フォーム設計でフィールドとして項目を埋め込んでいくことで、それがテーブルとなっていく。この構成は実は、kintoneやSalesForce.comといったクラウドの代表的なアプリにも見えます。ここらに、両者に共通する点を見つけることができました。セミナーでうかがったのですが、青野社長がサイボウズ社を創業するにあたり、Notesの管理者をされていたことがベースにあったとか。これは知らなかった。

サイボウズさんでは、Notesマイグレーション事業を行うにあたり、ターゲットとなる製品をGaroonとkintoneで想定していらっしゃるようです。そして私はkintoneユーザーかつエバンジェリストの端くれでもあります。Notes Designerの現役開発者であり、かつ、kintoneの開発者。ここに私には現状を将来に向けて活かせる突破口を見出したのです。

また、私はkintoneには慣れていますが、Garoonはまだ触ったこともない状態。今回はGaroonに取り組むきっかけになるのでは、とも思いました。例えばNotes上の文書に貼り付ける添付ファイルの位置、これもGaroon上でほぼ再現できるそうです。これは大きいセールスポイントです。

ここ3年ほど、私の人生にとって、技術力の成長面では停滞していたといわれても仕方ありません。エバンジェリストにして頂いたり、法人化を成し遂げたり、診療所を開設したり、自治会で総務部長を完遂したりと個人的にはかなりの成長を遂げることができた3年ですが、最新技術の吸収ではかなり遅れを取っています。危機感も相当持っています。今回のセミナーは、そういった意味でも勉強になりましたし、今後の自分のスキルとして営業に加えていこうと考えています。

また続いてのセキュリティセミナー。これもまた重要です。実は今までもサイボウズさんのセキュリティに関するセミナーには参加させてもらっています。しかしやはり現役の運用本部長からのお話は、紙やディスプレイで読むのと違い、頭に入ります。クラウドに興味を持っていただくお客様の第一の要件は、業務を遂行することができるか、ということです。ただ、お客様自身、あまり口には出しませんが、クラウドのセキュリティへの不安はお持ちではないかと思うことがあります。それはまた、2016年1月からのマイナンバー導入を目前にした今、ますます注視されていることでしょう。私にとって、改めてサイボウズさんの施している万全のセキュリティに対する体制を伺わせて頂いたことは、良かったと思います。今参画しているプロジェクトでも、セキュリティ遵守に関する話は統括部門だけに当然耳に入ってきます。また、運用本部長の山本氏のセキュリティについての謙虚な姿勢も良かったです。100%安全ですというセキュリティに対する態度程危ないものはないと思っています。常に努力と改善しかないのだろうな、と思います。

今回のセキュリティセミナーの受講で新たになった私の知識は、今後のクラウド提案に活かせると思っています。会場でも配布していましたが、セキュリティ&運用基盤というパンフレットは常に最新版を持ち歩いていたいと思いました。説明を求められた際には対応できるように。

現場の作業の都合もあり、青野社長をはじめとした豪華ゲストの方々による基調講演は行かれず。また、夜の池上彰氏による特別講演も聞かれませんでした。しかし、たとえわずかな時間であっても、昨年は参加すら出来なかったことに比べたら状況は回復の途中にあるといえます。私も、このまま回復基調を維持し、次なるキャリアステップに役立てたいと思います。


bluehostからWADAXへのサーバー移管について


この夏に手掛けさせて頂きました、お客様のサーバー移設に関するケースを紹介します。

サーバー移設といっても単純でありません。今回はむしろ特殊なケースといってもよいでしょう。以下に移設前の状況を記してみたいと思います。

1.お客様は独自ドメインを持たれていました。(仮に****.co.jpとします。)
2.Webサーバーのホスティング先はアメリカのbluehost社。
3.独自ドメインのレジストラは日本のファーストサーバ社が提供する『Doレジ』をご使用されていました。
4.お客様の全メールアカウント(****.co.jp)の送受信は、Gmail上で一切を完結。
5.Gmailでの送受信を実現するために、Google Apps for workを御利用し、しかもサービス開始時のGoogle Apps(無償版)を御利用されていました。
6.上記5つの設定時期や経緯が、当時のご担当者様との連絡もつかず、全く不明でした。
簡単にサーバー・サービスの配置図を書くとこのような感じでしょうか。
移行前

現状を変えるための今回のミッションは、以下の通りです。
1.これらの構成をすっきりさせ、お客様および弊社にて構成を把握できるようにする。
2.英語サポートのため運用に支障を来していたbluehostを解約し、日本のホスティング会社に移設する。
3.Google Appsの環境はそのままに、ホスティング会社が変わっても引き続きGmail上で独自ドメインのアカウントを送受信可能にする。
4.可能ならばドメインのレジストラとホスティングサービスを同一の事業者にまとめる。
上記4項目を簡潔にまとめるとこのような図となります。
移行後

本件を私が手掛けるにあたり、かなり事前調査に時間を掛けました。移行それ自体のオペレーションよりも、9割5分は事前調査に費やしたともいえます。

今回の移行作業の中でも一番のかなめは、Gmail上での****.co.jpメールの送受信が可能な状態で移行することでした。そもそも、お客様がお使いの環境であるGoogle Apps(無償版)の申し込みは2012年の12月で締め切られており、もはや同一の環境を構築することができません。そのため、現在使用できるGoogle Apps for Worksの環境が、Google Apps(無償版)と同一かどうかの検証から入らねばなりませんでした。

お客様の業務上、仕入先や得意先とのご連絡はメールが主でした。日々の受発注、発送、仕入メールは日々の営業にとり重要な連絡ツールとなります。万が一にも移設の結果、メール送受信ができなくなると日常業務に重大な影響があります。

どうやって移行に際してのメールトラブルや、移行の継ぎ目を意識せずにメールの送受信をご利用頂くか。そこに焦点をあてて移行先のホスティングサービスを探しました。

私が今回、移行先として提案したのがWADAXでした。弊社がもともとWADAXの代理店として活動していたこともあります。それ以外にも、MXレコードが設定可能で、ドメインのレジストラもサービス内で可能なことも、今回の移行に際しては適していました。もちろん肝心なWebサーバーの仕様やMailサーバーの仕様も加味し、お客様からもご了承を頂き、WADAXサーバーへの移転が決定となりました。

Gmailで送受信を行うには、お客様のメールアカウントに紐付くドメインとGmailのメールサーバーを仲介する必要があります。それにはMXレコードと呼ばれるレコードをWADAXサーバーに設定しなければなりません。世界中のDNSサーバーを経由してWADAXに受信されるメールパケットデータを、Gmailサーバー側へ転送させることができます。送信の場合もまた同じです。

元々、bluehostにもMXレコードが設定されていました。ただし、私自身にとってbluehostを触るのは実は初めてでした。ユーザーインタフェースは当然英語です。まず、MXレコードがbluehostサーバーのどこに設定されているか、それを調査するところからはじめました。以下に、bluehostの設定画面を並べてみました。

bluehostのトップページからログインします。右上にloginメニューがありますが、そこから入ります。Bluehost0

この辺りはMail設定やWebサイト作成のアイコンが並んでいます。Bluehost1

各種スクリプトのパッケージであるmojo marketplaceの設定アイコン、ファイル管理、ドメイン管理の各種アイコンが並びます。Bluehost2

各種の高度なWebサーバー設定、管理ツールや広告ツールのツール群が充実しています。Bluehost3

状態確認用ツール、セキュリティ関連ツール、データベース関連ツールのが累々と用意されています。Bluehost4

サーバーソフトウェア、設定参照資料などのアイコンも怠りなくあります。Bluehost5

さらに高度な管理ツールも付属しています。Bluehost6

最後にパートナー企業によるツールがくっついています。
Bluehost7

この膨大なアイコン群を全て調査し、その中で今回の移設に関する重要なMXレコードを設定するのがこちらのDNS Zone Editorです。
Bluehost8

DNS Zone Editorに入ると、ドメインの設定画面です。DNSの基本設定の追加はこのあたりの部品から行います。Bluehost9

続いてA(Host)レコードの設定情報です。Bluehost10

続いてCNAME(Alias)レコードの設定情報です。Bluehost11

今回の移設作業の肝である、MXレコードの設定情報が続きます。Bluehost12

TXT(Text)レコードの設定情報、さらにSRV(Service)レコード、AAAA(IPv6)レコードの設定情報で終わりです。
Bluehost13

上記の設定情報を見る限り、bluehost上での設定情報は一画面にすべてのサービスのアイコンがまとまっており、見やすいといえます。とはいえ、図に挙げたような膨大なサービスが利用可能なbluehostですから、どのアイコンに隠れ設定がないとも限りません。前回お客様の情報をbluehostに登録した担当者と連絡が取れず経緯が不明な以上、どのような落とし穴が潜んでいるか分からないのですから。なので、片っぱしから設定を確認していきました。余談ですがここ最近bluehostの広告を日本でも見るようになりました。bluehostの価格と仕様のコストパフォーマンスは、半端なく優れていると思います。英語一色のユーザーインターフェースに抵抗が無ければ、検討されてみても良いと思います。

さて、bluehostの状態を調査する一方で、GmailやGoogle Appsの設定も確認しなければなりません。両サービスから何かしらの参照をbluehost側に向けて飛ばしている場合、それらをWADAXを参照するよう切り替えなければなりません。そういった移転前の設定を注意深く確認する必要がありました。

こちらはGoogle Appsのユーザー設定画面です。こちらにユーザーを追加することでGmailでのやり取りが可能となります。googleApps_mask

ユーザーごとのGmailの設定画面です。メニューの右から5つ目にメール転送とPOP/IMAPという項目がありますが、これは今回は変更をせずにすみました。なぜならこれはGmailに届いたメールを転送するための設定だからです。別のサーバーに届いたメールパケットをGmailに転送するための設定とは関係ありません。gメール

最後のお客様のメーラーの設定画面です。こちらも単にGmail送受信のための通常通りの設定で問題ありません。また、ブラウザ上でも無論Webメールとして送受信可能です。outlook設定

これらを見る限り、通常の設定と何ら変わりはありません。MXレコードの設定だけで済ませられそうな感じです。しかし、ここでお客様からの指摘があります。MXレコードはDoレジのサーバー上で設定したような気がする、と。

冒頭の移設前の構成図にも書きましたが、Doレジは移設前の構成ではレジストラとして設定されていました。ところがMXレコードがbluehostではなくDoレジに設定されているとなると、話は変わってきます。Doレジ上の設定も事前に確認した限りでは、問題なかったのですが・・・そこで全てを再確認し、Doレジのご担当者様にも伺ってみました。

Doレジの設定画面です。お客様のドメインは****.co.jpのみを御利用だったので、図の様に属性型・地域型JPの設定画面で設定を行います。Doレジ1

DNS設定のリンクから、****.co.jpのDNS設定を押すと、ネームサーバーのホストが記載されているだけでした。これはWhoisなどのドメイン検索の画面に出てくるネームサーバー情報のための情報としてしか使われていません。このネームサーバーへ転送するといった機能はDoレジでは持っていません。Doレジ2

設定・その他の登録も確認したのですが、特にこれといった設定はされていませんでした。Doレジ3

Doレジご担当者様やマニュアルでも、MXレコードが設定されている際は、画面左メニューのDNSサービスに何かしらの登録がされているはずですが、ここには何も登録されていませんでした。つまりDoレジはあくまでレジストラとしてのみ使用されており、MXレコードの転送設定の機能は持たせていませんでした。Doレジ4

上記に記載の設定情報を見る限り、MXレコードの設定がDoレジ上にはないことをDoレジのご担当者様に確認した上で、お客様にも改めてご説明しました。

あとはWADAX上にスムーズにMXレコードを設定することが出来れば、円滑に移行できる見込みが立ちます。私が今回推薦したWADAXですが、元々代理店としてもサーバー自体の安定性については特に心配していませんでした。嬉しいことに今回は、WADAXのサポート体制の優秀さについて認識を新たにしました。検討の時期からWADAXサポートセンターには、MXレコードやgoogle Appsとの連携について、幾度も質問しました。それに対し、毎回きちんとした回答を返していただきました。しかも複数のご担当者6~7人から首尾一貫した対応があったのはお見事。これはサポートセンター内部での情報連携が出来ていることを意味します。

今回の移設に関して私が出した移設プランに対し、お客様も当初は一抹の不安をお持ちの様でした。しかし、Doレジ、WADAXとのやりとり全てを提示し、bluehostの設定情報などの調査結果などをご説明すると、最終的にご納得とご了承を頂きました。最初に頂いたお話から始まり、今回の移設に関するメールは計92通。この中にはWADAXご担当者様の丁寧なメールも多数含まれています。

しかも今回、MXレコードのWADAX側への設定オペレーションは、私が行った訳ではありません。WADAXは事前にサーバーへの設定情報を依頼することが可能です。WADAXご担当者様よりそのようなご提案を頂き、私から設定依頼を出させて頂きました。

あと確認すべきなのは・・・・MXレコードの他にまだありました。A(HOST)レコードと、CNAME(Alias)レコード、さらにはTXT(Text)レコードに、SRV(Service)レコード、AAAA(IPv6 Host)レコードです。これらのレコードのうち、SRVとAAAAはお客様のサーバー要件から不要と判断できました。残りの3つは実際にbluehost上でも設定があり、これをWADAX側でも実装する必要があるかどうか、判断しなければなりません。
Bluehost13
Bluehost11

ここで改めて補足しておくと、CNAME(Alias)レコードとは単一のホスト名を読みかえるためのレコードです。指しているのは同一のサーバーであっても、サービスごとに名称を使い分ける場合に使います。また、A(Host)レコードはIPアドレスとサーバーのホスト名を対応させるためのものです。TXT(Text)レコードはサーバーへの追加テキスト情報となります。(とはいえ、私はDNSサーバーだけはあまり深い設定を行ったことがなく、もし違っていたらすみません)

さて、bluehostの情報を見ると、TXT(Text)レコードがやっかいな感じです。spfという文字が見えますが、これはサーバーからメールを送信する際に、確かな送信元(スパムメールは送信しない)を保証するための設定となります。またドメインの範囲を指定するためのdomeinkeyレコードも見えます。これらがWADAX側ではどのように設定すればよいのかがわからず、一番の不安点でした。幾度かこの点についてはWADAXご担当者様に問い合わせました。

結果、WADAX側ではホスト情報の事前移管を行った際に、A(HOST)レコードと、CNAME(Alias)レコード、さらにはTXT(Text)レコードを設定頂けることがわかりました。また、他のお客様でのGoogle Appsとの連携事例もWADAXでは運用事例としてお持ちとのことでした。なので、私も安心してMXレコードのみの設定を依頼することができました。

ここまでが準備段階でした。あとはお客様によるWADAXへのお申込みです。この際にレジストラをWADAXに移管する際は、ホスティングと同時に行わねばならないと指定がありました。なので、ホスティングからしばらくしてDoレジからレジストラをWADAXに移管する確認がDoレジから来ました。Doレジの今までのご尽力に感謝しつつ、お客様にその手続きも行って頂きました。残るはWebサーバーのbluehostからの抜き出しと、WADAXへの流し込みです。こちらもbluehostからの抜きだし作業にちょっとした制約事項がありましたが、なんとかクリアし、私のほうで全て完了しました。

ここまでできた時点で、最終的にAレコードやCNAMEレコード、TXTレコードの設定がWADAX側で自動的に設定されることと、MXレコードの設定依頼をWADAXにお願いし、設定完了となったところで、最終的にDNSの切り替え作業を私のところで行い、無事作業が終了しました。

WADAX設定画面です。WADAX1
WADAX2

若干新旧サーバーのDNS浸透タイミングが違ったことと、ブラウザのキャッシュで表示に食い違いが出たものの、それもすぐに解消。無事移設が完了となりました。丁度終戦記念日の前日のことでした。

お客様をはじめ、Doレジ様、ご担当者様、bluehost様、そしてWADAX様、ご担当者様にはご尽力頂きましてありがとうございました。

あと一つだけ残務処理があることはあるのですが、今のところ移管して1ヶ月は何事も起きていないとのこと。

本稿は私のφ(..)メモとして書きましたが、どなたかにとって事例として参考になるとありがたいです。なお、本稿はお客様を特定する情報は全て抹消の上、お客様の御許可を頂いたうえで掲載しております。


弊社の夏季休暇について


盛夏も少しだけ和らぐ気配を見せつつありますが、皆様のますますのご健勝をお喜び申し上げます。いつも格別なお引き立てを賜り厚くお礼申し上げます。

さて、弊社の夏季休暇についてのご案内となります。
今年(平成27年)度の弊社の夏季休暇は、8/22-8/26を予定しております。

とはいえ、メールなどは夜間に受信可能なようにしておきます。また、何かありましたらメールや各種SNSで御連絡を頂ければ可能な限り対応いたしますので、よろしくお願いいたします。 皆様がたも、暑さには負けぬよう、お体にはお気をつけてお過ごしくださいませ。


kintoneのレコード詳細ページからAmazon商品データを参照するテクニック(3/3)


3.kintoneからのJavaScript呼び出しとJavaScript内でのAjaxの記載について

 ここでは、kintoneへのJavaScriptの適用方法その他の説明は割愛します。はじめよう kintone JavaScript API の記述が大変参考になります。私も最初はここから勉強しました^^

 ただし、本稿でもまた、前書きを書かねばなりません。恐縮ですm(_ _)m

 それは、kintoneからAmazon API呼び出しのタイミングについてです。冒頭でも挙げたように、本稿ではレコードの詳細画面でAmazon情報を呼び出すのが目的です。しかし、レコード詳細画面の編集時画面での実装については、本稿では触れていません。できなくもないのですが、現在の2014年9月時点のkintone JavaScript APIでは、レコード詳細画面のテキストボックスの値変更時にJavaScriptを呼び出すことができません。そのため、編集時画面でAmazonからの情報を表示させる意味がないと判断し、記載から外させて頂きました。ご了承下さい。ただし、レコード編集画面のフィールド値変更時イベントについては、2015/07/12の定期メンテナンスにおけるkintone API更新で実装されました。が、本稿ではまだ検証に至っておらず、掲載しておりません。ご了承ください。

 また、Amazonからの呼び出し自体にも、全く問題がない訳ではありません。Amazon側にリクエストを続けて投げると、Http/1.1 Service Unavailableのエラーが返ってくる場合があります。なので、リクエストはほどほどに・・・ということなのでしょう。このエラー対策については、jQueryのAjaxで、Errorハンドラから再帰呼び出しを試したのですが、calleeとuse strictが両立できていません。なので、時間をおいて再実行ということでご了承ください。

 最後にクロスドメイン制約についてです。本稿の目指す実装は、*****.cybozu.com から ****.jp/ または *****.co.jpといった違ったドメインのサーバーにAjaxリクエストを発行します。が、そのような別ドメインへのリクエストは、セキュリティ上脆弱になりかねないため、環境によっては簡単に通信ができないようになっています。本稿ではphpからkintoneへ渡すデータ形式をXMLにしました。JSONPを使えばクロスドメイン制約についても解決できるようです。が、今回はXMLを選択しました。ご了承頂ければと思います。随所にそのあたりについて

 あと、jQueryの呼び出しも必要となりますので、kintoneのアプリ設定画面から、JavaScript登録を忘れずに。

 さて、気を取り直して実装開始^^

 以下は、AmazonCallBookInfoDetail.jsの内容です。200行あるすべてのコードを開示しながら、適宜解説を加えていきたいと思います。

  4行目     jQuery.support.cors = true; はクロスドメイン制約をかいくぐるための呪文の一つです。

  5行目     kintone.events.on('app.record.detail.show', function(event){
は詳細レコード呼び出し時に書く呪文です。

  6行目     実行しているブラウザの種別をここで取得しています。呼び出し先のURLがhttpsから始まっても、画像はhttpが返されることがあり、それを防ぐために一部ブラウザによって画像のアドレスを変更しています。

  8行目     表示したkintone詳細レコードのISBNフィールド(フィールド名はF_Isbn)の値を取得しています。

  9行目     8行目で取得したIsbnから – ハイフンを除去しています。

  10行目     8行目で取得したIsbnから  ISBN を除去しています。

  11行目     kintoneフォーム上で事前に作成しておいたスペースをここで取得しています。このスペース内にAmazon からの情報を書き込んでいきます。

  12行目     kintoneフォーム上で事前に作成しておいたスペースをここで取得しています。このスペース内にAmazon からの大きな画像を表示させます。

  15-17行目 本稿で実装する内容では、ユーザ入力データからのサニタイズ処理はあまりありません。唯一この場所で実施しています。数値がどうかをチェックしていますが、ISBNの末尾一桁のチェックディジット結果が X となる場合があり、その場合のみ許可しています。

  19行目     12行目で取得した画像表示用イメージの横幅を指定しています。

  20行目     11行目で取得したAmazonデータ表示用スペースにユーザを飽きさせないために表示しております。

 

 

  24行目     先に紹介しましたが、codeとIsbnという2つのパラメーター以外に、nowというパラメーターも追加しています。実はnowパラメーターは以下の処理では使われていません。投げるリクエストURLを常に変化させないとInternet Explorer上でうまく値が戻ってこないという情報から、このような記載を設けています。

  25行目     ここは xml を指定しています。おそらくはjsonpでもjsonでもうまくいくことでしょう。

  26行目     キャッシュをOFFにしないとInternet Explorerで正常に戻ってこないという情報を基に追加しました。

  27行目     非同期処理をONにしています。ここをOFFまたは記載なしにすると、何らかのエラーがAjaxで発生した場合、ブラウザがフリーズしてしまいます。

  28行目     10000ミリ秒、つまり10秒間だけphpからの戻り値を待ちましょう。という指定です。

  29行目     正常にデータが戻ってきた場合の処理を30行目以下に記載します。関数の引数dataが、成功した場合に受け取るデータが格納された変数です。

 

 

  30-79行目     商品情報に関するすべてのAmazonからの戻り値を変数として宣言してあります。正直、ここまでやる必要はありません。ありませんとも。

  82行目以下は、実際のXMLの内容を基に、DOMの森を探索することになります。なので、以下ではXMLを実際に表示させてみます。

  この中で実際に表示させるのに必要なのは、32行目の<Item>タグ以下のデータとなります。

  53-101行目までは各種商品イメージの情報が記載されています。この中で53行目から67行目までのSmallImageとMediumImageとLargeImageは。その下の68行目から101行目までの間に同一の情報があります。なので、この部分は取得を省略してもよいでしょう。

  102行目以下は主要な情報が並んでいます。これらはほぼ取得すべきところです。ただし、データの種類によってはタグ自体がないものもあります。以下の例でいうと、104行目の<Creator>タグは小説のように著者がある本には登場しません。著者がある本は<Author>タグが替わりをつとめます。また、112行から117行の<Languages>タグや135行目の<ReleaseDate>タグがないデータがあることも確認しています。

 もう一件、AmazonからのXMLデータで気を付けるべき点があります。それは書籍とkindle書籍の場合です。kindle書籍はISBN項目を持っていないのですが、Amazonの仕様でISBNに対してデータ検索結果にkindleデータも含まれます。XML上では、2つの<Item>タグが紐付いています。その場合は、JavaScript側で<Item>タグ内をループさせるのですが、<ISBN>タグの有無で判別しています。

 大体のXMLデータの構造がおわかり頂けましたでしょうか。先に紹介したAmazonのガイドですが、項目の位置はこちらでガイドされています。ただし、各項目がどのように商品データに関連付いているかはわかりません。なので、上に挙げた項目以外にも存在することもあるかと思います。ご容赦ください。

  82行目     jQueryの文法に則り、XMLのデータが格納された変数dataに対し、<item>タグの要素を検索しています。その結果をループしたのが82行目の記述となります。

  83行目     条件文が真の場合、84行以下の処理を実行しています。条件文の頭に$(this)とありますが、これは 82行目でループを開始した<item>タグの要素データを指します。<item>タグ内でさらに<ItemAttributes>タグを検索し、さらにその中で<ISBN>タグを検索しています。この構造については、3ページ前のXMLをご参照ください。<ISBN>タグの要素内のテキストを取得しているのが text()です。
つまり、ISBNの要素の有無によって判定を分けています。これは先にXMLの構造を説明する際にも書きましたが、kindle書籍データが含まれている場合の退避処理となります。

  84-85行目     <item>タグの要素データ内の<ASIN>タグや<DetailPageURL>タグの要素内データを取得しています。

  86行目     82行目で始めた<item>タグ内ループの中で、さらに<ItemLink>タグを検索し、さらに<Description>タグを検索し、それをループしています。

  87行目     86行目で始めた<Description>タグ内ループの中で、要素内の文字列が Add to Wish Listに等しいかを尋ねています。

  88行目     87行目で条件に合致した場合、<Description>タグと同じレベルの隣のタグ<URL>タグの要素内のデータを取得しています。

  90-98行目 87、88行目と同様です。それぞれの<URL>タグの内容を取得しています。

  99行目     86行目で始めたループを閉じています。

 

  100行目     82行目で始めた<item>タグ内ループの中で、さらに<ImageSet>タグを検索し、それをループしています。

 

  101-118行目    100行目で始めた<ImageSet>タグ内ループの中で、それぞれの要素タグの内容を取得しています。

  119行目     100行目で始めたループを閉じています。

 ここまで来たら大分要領がつかめてきたのではないでしょうか。あともう少しで終わりです。お疲れのことでしょう。
私も大分疲れてきました・・・(^^;)

 120-146行目     それぞれの要素内データを取得しています。もう説明は不要ですよね。ただ、121行目ですが、Attrという見慣れない記述があります。この部分に対応しているのは XMLの104行目に当ります。<Creator>タグ内に Role="監修"というRole属性の値を取得するために、Attrという命令を発行しています。これを末尾につなげることで、 サイボウズ式編集部 監修 という文字列を組み立てているわけです。

 

  147行目     83行目の<ISBN>タグの有無を判定したif文の終わりです。

 

  148行目     82行目で始めたループを閉じています。

  149行目     aws_ASINの値が真かどうかを判定しています。cybozu.com developer networkのTipsの中に(小技)undefined と空文字のスマートな if 文判定がありますが、そちらの記述通り、文字列の取得結果がnull または undefined以外のデータの場合、150行目以下の処理を実行します。

  150-173行目   11行目で取得したスペースに対し、innerHTMLを使用して書き込むべき文字列を生成しています。今回の実装では、一つのスペース内に改行で区切ってAmazonからの情報を羅列する手法を採りました。冒頭に記載しましたが、編集時画面に実装し、Isbnの値の変更時に各フィールドに自動入力するほうが望ましいという考えもあります。なお、169行目から173行目は取得したURL文字列を<a>タグの中に含めています。

  174行目     6行目でブラウザの種別を取得しました。取得したブラウザ文字列にfirefoxが含まれているかどうか、要は実行しているブラウザの種類を問うているのがこの行です。

  175行目     使用ブラウザがfirefoxの場合、12行目で取得したスペースのinnerHTMLに対して書き込む画像の http: を 空白文字 にしています。Firefoxだけが、https:// から http:// の画像を読み込もうとするとエラーが出るため、このような処置を取っています。

  176-178行目     使用ブラウザがFirefox以外の場合、12行目で取得したスペースのinnerHTMLに対して書き込む画像のURLをそのまま使用しています

  179行目     149行目で判定したaws_ASINの値が偽だった場合に、180~184行目の処理が動作します。なお、Amazon側に渡したISBNコードが不正な値だった場合、XMLは違う種類のメッセージを返します。ほとんどの部分は一緒なのですが、<Items>タグの中の<Item>タグが<Errors>タグに置き換えられています。以下にエラー時のXMLを提示します。

 

  180-184行目     11行目で取得したスペースにエラー情報を含めます。上の図にあるとおりのエラー構造に基づいて、適宜整形して頂ければと思います。

 

  185行目     149行目で判定した条件式の終わりの部分です。

  186行目     29行目で判定したAmazonから正常な値が戻ってきたかどうかの判定式の終わりの括弧です。

  187行目     Ajax通信に何らかのエラーが生じた場合、処理はこちらのステートメント内で行われます。関数の引数として、XMLHttpRequest、textStatus、errorThrownといった値が返されますので、その値に応じてメッセージを整形されるとよいでしょう。

  193-195行目     errorThrownは場所の数だけ配列として戻ってきますので、193~195行では配列の要素数だけ処理を行っています。

  196行目     ここでは取得したエラー情報をアラートとしてポップアップ表示しています。Amazon情報を表示するスペースに表示するのもよいでしょう。

  197行目     187行目からのエラー時に実行される関数の終わり部分です。

  198行目     22行目からの$.ajaxの関数の終わりの括弧です。

  200行目     5行目からのkintone詳細レコード表示時に実行される関数を終えるにあたり、戻り値を返しています。

  201行目     5行目からのkintone詳細レコード表示時に実行される関数の終わりの括弧です。

  203行目     本JavaScript全体の無名関数の終わりの括弧です。

これでJavaScriptの実装は終了です。お疲れ様でした。お互い・・・

 さて、JavaScriptを完成させ、あとはこれをkintoneのアプリ管理画面からアップすれば完成!

 のはずですが・・・・・実は先ほどのJavaScriptの仕組みでは動かないブラウザがあります。それは。。。。Internet Explorerです。jQueryのAjax関数では、Internet Explorer 9より前のバージョンに対応しておらず、別の仕組みを経由してAjaxを実装する必要があります。なんてこった!またまたクロスドメインではまることになりました。

 Googleで検索を行うと、いくつかInternet Explorer 9以前のバージョンでのクロスドメイン実装についてのJavaScriptが存在します。私もいくつか試しましたが、私の環境ではそのうち動いたのが以下の1つだけでした。

 MoonScript/jQuery-ajaxTransport-XDomainRequest

 なので、今回はこちらのJavaScriptも使わせて頂きました。ありがとうございます。

 結果として、kintone上にアップするJavaScriptファイルは3種類となりました。最初にjQuery本体。次にIE9以前対応のクロスドメイン制約対応のJavaScript。最後に今回作成したJavaScriptです。

 これで完成です。

 と。このように表示が出来ましたでしょうか。レコードを移動すると新たなレコード先でAmazonから呼び出されたデータが表示されます。ただし、あまり短い時間で呼び出すとAmazonからの応答が途絶えてしまうことがあります。その場合は F5でリロードを行って頂ければと思います。

 外部認証が必要な複雑なAPIを呼び出す場合、このような方法があるよ、ということを理解頂ければ、さまざまなケースで実装が可能になり、kintoneをより一層ご活用頂くことができることでしょう。ぜひ、お試しください。ただしくれぐれも過度なAmazonへのリクエストはお控えください。1時間当たりのリクエスト回数も上限が定められているようですし・・・・

 本件について、文責は全て私、合同会社アクアビットの長井にあります。もし内容についての御質問などございましたら、お寄せいただければ、時間の許す限り、回答させて頂くようにいたします。


kintoneのレコード詳細ページからAmazon商品データを参照するテクニック(2/3)


2.phpを利用したAmazonへのパラメーターの生成方法について

 最初に一言申し添えておかねばなりません。なぜkintoneからAmazonの情報を取得するのにphpを介さなければならないか、について。

 cybozu.com developer networkをご覧の皆様は、すでに有識者の皆様が執筆された、秀逸なTipsの数々にも目を通されたことでしょう。Tipsの中には

  外部APIの同期処理をつかってみよう!

  他サービスのAPIからデータを取得してkintoneに表示してみよう

 という2つのkintoneから外部APIに接続するTipsも挙げられています。私も本稿を書くにあたって参考にしました。ありがとうございますm(_ _)m。

 これらのTipsはkintoneのJavaScript APIを使用しています。JavaScript内に外部APIのURLを直接書き込み、その結果を表示させる方法です。一方、Amazon APIを呼び出す際のURLですが、その中には全章で取得したAmazonの「Access Key ID」「Secret Access Key」「トラッキングID」の3種類から生成した署名文字列を含める必要があります。つまり、署名文字列を生成するにあたっては、JavaScript内に「Access Key ID」「Secret Access Key」「トラッキングID」という機密情報を埋め込まねばなりません。それを避けるために、外部のphpに署名文字列の生成や機密情報の扱いを任せようというのが狙いです。

 能書きが長くなりました。それでは実装に移らせて頂きます。

 まず、kintoneに埋め込むJavaScript内で呼び出すAPIのURLを記します。

パラメーターは ?code=ISBN&no='+Isbn としています。Isbnとあるのは、kintoneのフィールドに入力された本のIsbnを変数化したものです。Amazon認証情報に関する情報の一切はJavaScriptからは省かれています。

 次にパラメーターを受け取ったAmazonBookInfo.phpの中身を示します。

 JavaScriptに値を返すための各種ヘッダの記述と、Amazonから情報を取得する本体のphpであるSetBookByAmazon.phpの呼び出しが書かれています。ヘッダについてはGoogle ChromeとFirefox、そしてInternet Explorer 9で正常にデータが渡せることが確認できています。これは環境によって違いますので、工夫してみてください。特に4番目のヘッダで application/xml となっています。これはJavaScriptに対して渡すデータの種類を xmlとして規定する部分ですから、重要です。

 最後にパラメーターを受け取ったSetBookByAmazon.phpの中身を示します。

 これで動くはずです。あ、Access Key IDとSecret Access Key IDとアソシエイトTagはこんなふざけたものではなく、きちんとAmazonで取得した文字列を使って下さいね^^。

  define('AssociateTag','anatanoiddesu-99'); の赤字の部分を前章で取得した「トラッキングID」で置き換えてください。

  define('AccessKeyId','ICHIBANSAISHINNOAKUSESUKII');  の赤字の部分を前章で取得した「Access Key ID」で置き換えてください。

  define('SecretAccessKey','DAIJINADAIJINASIIKURETTOAKUSESUKIIDESUNENN');   の赤字の部分を前章で取得した「Secret Access Key」で置き換えてください。

 それ以外は、この内容でデータが取得できるはずです。このphpをサーバーにアップし、URLをアドレス欄に打ち込んでみてください。例えば以下のように。

 どうでしょう。XML形式でデータが表示されたのではないでしょうか。そう、あの本の情報が\(^o^)/

 なお、渡すパラメータや取得できる情報の種類はかなり多岐に亘っています。本稿ではISBNのみに焦点を当て、ISBNから取得可能な書籍情報のみについて紹介したいと思います。上に挙げたphpの内容もISBNによる取得に対応しています。Amazon Products Advertising APIの単一商品取得の ItemLookUpはこちらのリンクが公式情報となっています。

 上のphpの内容に ・・・・・・あ といった記述があります。くれぐれもこの部分はphpファイルからは除いてくださいね。動かなくなってしまいますので^^。

 以下は、その あ~か についての説明を記します。

 ・・・・あ その上の行と共にJavaScriptから渡ってきた変数が格納される場所です。

 ・・・・い Amazonから取得する情報の種類を指定します。ItemAttributesは商品詳細、Imagesは画像情報。このように複数の種類を指定する場合 , カンマでつなげます。

 ・・・・う 指定した各種パラメーターをそのパラメーター名称で並び替えます。署名作成時に必要な処理です。

 ・・・・え 指定した各種パラメーターをエンコードします。RFC3986で定められた方法に準じています。

 ・・・・お 署名文字列の生成部分です。ここで初めてSecret Access Keyの活躍の場が与えられます。ハッシュ関数によって、容易には結果から元々の文字列が推測できないような文字列に変換されます。

 ・・・・か 組み立てられたUrlから取得した文字列を取得します。結果文字列はXML形式で帰ってきています。

 ・・・・き 帰ってきた文字列を表示します。この表示処理によって、呼び出し元へ文字列が戻されます。

 これで、Access Key ID と Secret Access Key、トラッキングIDの3種類の情報とISBNからAmazonの書籍情報がデータ取得できました。あとはこれをJavaScriptで加工するだけです。あと一息です!もうしばらくご辛抱ください!!

 最後に、こちらで作成した SetBookByAmazon.php と AmazonBookInfo.php ですが、サーバーにアップする際、http://の領域ではなく、https:// の方にアップされたほうが良いかと存じます。

なぜかというと、呼び出し元となるkintoneのURLは https://******.cybozu.com/k/12/ とhttps://から始まります。これに対し、上記2つのphpファイルが http:// から始まる領域から始まると、ブラウザによっては好ましからざる動きをするからです。