2016年03月10日

Peer.js と戯れたい

(投稿先間違えたのでこちらにもポストしちゃいます。)

個人プロジェクトとしては、CakePHP + Peer.js であれやこれやしたいことが色々あるのですが、しなければいけないことに忙殺されてまったく何もできません。

うーん、ブログを書く優先度もかなり下です今。はい。
ただ今でも生きてますよ!
今はお客様のためにコードを必死で書く毎日でございます。

CafeXが今年も勝ちました。Vidyoに勝ちましたね。CafeXはすごいですよぉ〜。

http://www.enterpriseconnect.com/bestofenterpriseconnect/
Best of Enterprise Connect
The Best of Enterprise Connect award recognizes exhibitors who have made significant technological advancements within the enterprise communications and collaboration industry.The Best of Enterprise Connect award recognizes exhibitors who have made significant technological advancements within the enterprise communications and collaboration industry.
posted by SDozono at 17:35| 東京 ☁| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2015年07月29日

LiveAssist(ライブアシスト) = 同期ブラウジング+WebRTC+メディアコンバーター+SIP接続+プラスα

CBAで取り扱いを始めた製品です。
http://cba-japan.com/cafex/
アメリカではすでにあんなところやこんなところで実稼働中です。
オペレータは、単にお客様の見ているページのURLを開くだけでなく、実際の画面イメージを見たり、フォームに代理記入してあげたりすることも可能です。

既存のWebサイトに数行追加するだけでこの機能が動作するようになります。もちろん、モバイルアプリについては作りこみが必要です。
代理店も募集しておりますので、お問い合わせもお待ちしております。



その他のビデオはこちら:
https://www.youtube.com/channel/UCCRFDrWXJghQAY8PIgZmmWg
posted by SDozono at 10:53| 東京 🌁| Comment(0) | TrackBack(0) | JavaScript | このブログの読者になる | 更新情報をチェックする

2014年10月15日

CakePHP + Bootstrap で Bakeしたい人向け!

CakePHPでBootstrapを使ったBakeが簡単にできないかなーと探していたら、下記を見つけました。
これは便利!
サクッとBoostrapテンプレートを使ったBakeができます。
シンプルなのがいい!

Bootstrap + CakePHP = BootstrapCake – A Console Shell Template
http://www.ekoim.com/blog/bootstrap-cakephp-bootstrapcake/
https://github.com/EKOInternetMarketing/BootstrapCake
posted by SDozono at 14:39| 東京 ☔| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2014年04月17日

「和」や「郎」の入った名前の人は、Internet Explorerのクッキー/セッションの不具合に注意

いやあ、こんなエントリーを書く日が来るとは・・・・。
3行でまとめると、
======================
症状: 自動アップデートの後、自動インストールされた Internet Explorer 11でログイン情報などが記憶されない。(クッキーがまったく効かない)
原因: Windowsユーザフォルダ名(C:\ユーザー\ のフォルダ)に「郎」の漢字が含まれていたから
対策: ユーザフォルダの名前を変更する。(または新規ユーザを作り直す。)
======================

いやぁ、標的型攻撃みたいだな。
「郎」の付く名前は、下記をみると色々ありますので、
http://kanji.reader.bz/more/%E9%83%8E
今この時点で数千人の人がこの症状に悩まされているのではないか、と妄想。

現在、お客様がIEで使用する予定のアプリを開発中です。そんな中、開発マシンのWindows 8.1の自動アップデートをかけた後、IE11の挙動がおかしいことに気が付きました。クッキーを覚えず、別タブになると、すぐにログイン画面に戻されてしまうのです。おかしい、おかしいとIEの設定をあれこれ変えたり、リセットしたり。アプリ側のコードが悪いのかとそちらも確認。ただ、Firefox, Chrome, Windows 7上のIE9なら問題なし・・・・とまったく原因が判明せず。Webで探しても情報なし。このままお客様の現場で同じ現象が起きたら大変だ。このままでは開発中の製品を出せない!!!

と思いきや、昨晩、ようやくこちらの記事を発見。
http://answers.microsoft.com/ja-jp/ie/forum/ie10-windows_7/ie%E3%82%92%E9%96%89%E3%81%98%E3%81%9F%E3%81%A0/70fd3901-a4ec-46bb-be12-8c770c4a3529
=========================================

「Microsoft コミュニティ - Internet Explorer」
質問
IEを閉じただけでログイン情報が削除されます
僕もまふろさんと似たような状態で、IEを閉じただけでログイン情報が削除されます。
IEを閉じずとも時間を置くことや、新しいタブを開くことで削除されます。
この現象をwww.freem.ne.jp、Bing(検索設定)、ニコ動で確認しました。
クッキーが保存されてないのでしょうか。

OSはWindows 7 Home Premium (x64)です。
IE9からIE10にアップグレードした途端に発生しました。

・「閲覧履歴の削除」で全項目を選択
・「インターネットオプション」のリセット(個人情報も選択
・CCleanerでIEの全項目を消去
これだけやってみましたが、ダメでした。

=========================================
こちらのまとめとして、
=========================================

『小鳥遊六花』で試してみると症状が出ました。
(すみません、前回は『山田花子』で試していました。)

他にもいろいろ試してみたところ、次のようになりました。

症状が出なかった日本語のアカウント名 : 『山田花子』『津森美緒』『小鳥遊』『五』
症状が出た日本語のアカウント名 : 『小鳥遊六花』『小鳥遊六花さん』『六花』『六』

また、IE 9 で試したときは『小鳥遊六花』でも問題がなかったので、試しに、IE 10 を削除して IE 9 に戻してみたのですが、『六』のついているアカウントでは症状が出たままでした。

どうやらユーザー名に『六』が入っているとダメなようです。。

=========================================

文字コード表 シフトJIS(Shift_JIS)
から、推定すると、

牢 狼 篭 老 聾 蝋 郎 六 麓 禄 肋 録 論 倭 和 話 歪 賄 脇 惑 枠 鷲 亙 亘 鰐 詫 藁 蕨 椀 湾 碗 腕

これらの文字が危なそうです。

=========================================

とあります。
そういえば、私のユーザフォルダも "C:¥ユーザー¥■■郎" で、「郎」の漢字が入っています。
これ勝手に漢字のフォルダになっていて、いやだったんだよなー。

Windows 8.1をクリーンインストールした時、まさか、登録した名前の漢字がユーザフォルダ名としてそのまま使用されるとは思いませんでした。あれが今頃になって大きな問題になるとは。あと、OneDrive(Skydrive)のアカウントは、すでに容量が増えた状態になっているので、おいそれと新規ユーザ作ってオッケーというわけになりません。新ユーザを作ったら、新しいOneDriveアカウントになってしまう!?

上記のリンクには、
=========================

問題の広がりの可能性、対処時のユーザ負担を考えると、早く、速く対応したほうがよいでしょう。
Win8、IE10、MS社の評判、信認、ひいては業績にかかわるかも。

=========================
とありますが、IE11でもまだその問題が残っている、ということですね。

下記、Internet Explorer 10とありますが、IE11もですね。
http://support.microsoft.com/kb/2873010/ja
Windows 8.1で「ユーザアカウントをひらがなに差し替え」ても、
C:\ユーザー\■■郎
というフォルダ名は変更されないです。

私の場合、下記のリンクからたどった、

情報科学屋さんを目指す人のメモ
http://did2memo.net/2013/03/07/windows-8-user-folder-name/
「Windows 8 初期設定で要注意!ユーザフォルダ名が漢字になってしまった原因」

下記のリンクの"I have already logged into that account"という所の方法で、そのままのアカウントのフォルダ名を変更できました。
http://superuser.com/questions/495290/how-to-rename-user-folder-in-windows-8

ただ、失敗のリスクを考えると、おいそれと人にお勧め出来る方法ではありません。
これ、たまたま解決方法が見つかったからよかったものの、締め切りぎりぎりで作業している身にとっては、1日が丸々つぶれる「だけ」ですんだのが不思議なくらいです。特に、最初に登録したアカウント名の漢字に「郎」が入っている場合だけ、みたいなバグは、まわりの人に聞いてもその存在すら知らないわけで、全国の「郎」の入ったWindows使用者がこの問題にはまらないよう、願うばかりです・・・・。

[追記]やはり、上記でフォルダ名を変更した場合、レジストリに残っているパスの履歴などまでまとめて変更されるわけもなく、結局、レジストリの検索・置換できるツールで、一括して新しい半角英数字のユーザ名へとレジストリのデータも変更しました。今のところ、問題なく動作しています。

[さらに追記]今日(2014/5/2)のIEアップデートも試してみましたが、改善されませんでした。「テスト太郎」というアカウントを作って試したところ、見事にGmailもYahooもログイン状態にできず。



posted by SDozono at 10:12| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2014年03月14日

CakePHP 3.0.X は複合キーに対応!

いいか悪いかは別として、複合キーに対応するようになるそうです!

ORM improvements
We've continued to build out capabilities in the ORM. Some notable improvements in dev2 were:
Composite primary key support - The ORM now supports composite primary keys in all associations.
http://bakery.cakephp.org/articles/lorenzo/2014/03/12/cakephp_3_0_0_dev_preview_2_released
posted by SDozono at 13:38| 東京 ☁| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2014年01月29日

Search Pluginで、orConditions() みたいなのを使いながら同時に絞り込む

ついでにもうひとつ書いておきます。

https://github.com/CakeDC/search
の Search Pluginの説明を見ると、 orConditions() のようなメソッドを自分で書くと、「同じキーワードで複数フィールドを検索できちゃったりするよ」と書いてあります。

モデル.php の中に、

public $filterArgs = array(
'filter' => array('type' => 'query', 'method' => 'orConditions'),
);

とか書いて、

public function orConditions($data = array()) {
$filter = $data['filter'];
$cond = array(
'OR' => array(
$this->alias . '.title LIKE' => '%' . $filter . '%',
$this->alias . '.body LIKE' => '%' . $filter . '%',
));
return $cond;
}

というコードに誘導してやれば、titleフィールドとbodyフィールドを両方検索できちゃいますよ、と。
でもこれをそのまま素直に使うと、検索項目が複数あるときに問題になってしまいます。

せっかくサンプルの標準状態では、
SQLのクエリが、
 ~~~ WHERE モデル.フィールドA='A' AND モデル.フィールドB='B' AND モデル.フィールドC='C'
のように絞り込みになっているのに、上記をそのままつっこむと、
 ~~~ WHERE モデル.フィールドA='A' OR モデル.title='B' OR モデル.body='B' AND モデル.フィールドC='C'
とかになってしまうんです。
これは使えない!

で、これの解決策ですが、ちょっと考えると思いつきます。
下記のように"きちんと"設定しましょう。

public function orConditions($data = array()) {
$filter = $data['filter'];
$cond = array(
'AND'=>array(
'OR' => array(
$this->alias . '.title LIKE' => '%' . $filter . '%',
$this->alias . '.body LIKE' => '%' . $filter . '%',
)
));
return $cond;
}


こうするだけで、

 ~~~ WHERE モデル.フィールドA='A' AND (モデル.title='B' OR モデル.body='B') AND モデル.フィールドC='C'

というSQLになります。






posted by SDozono at 17:17| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

Search Plugin で、SQL Query: validateSearch エラー

ひさしぶりにCakePHPのプログラムを書いています。ほんとにひさしぶりだな〜。
CakePHP 1.X の時代から 2.X に突然ジャンプしたので、覚えることがけっこうあります。
あれ、core.php にはもう、あのSecurity.levelとかなくなってるぞ!!

こちらの記事、非常に興味深く読みました。

あかつきのお宿
Security.levelはどこへ消えた?(CakePHP2系の話)
http://norm-nois.com/blog/archives/2290

そうなのか!!
で、本題ですが、SecurityPlugin で下記のようなエラーが出ました。
(ちなみにPostgreSQLです。)
---------------------------------------
Database Error
Error: SQLSTATE[42601]: Syntax error: 7 ERROR: "validateSearch"またはその近辺で構文エラー LINE 1: validateSearch ^
SQL Query: validateSearch
Notice: If you want to customize this error message, create app\View\Errors\pdo_error.ctp
---------------------------------------
Cakeの規約に従っていないテーブルを使わなきゃいけないからかなーとか、色々考えてしまったのですが、結局この原因は、「SearchableBehavior.phpが正しく読み込めていないから」でした。

いろいろ見返して、結局、
public $actsAs=array("Search.Searchable");
とではなく、
public $actAs=array("Search.Searchable");
と書いてあるのに気がついて直しました。

そしたらきちんと動きました。(泣
恥ずかしながらドジりました(古いな―
posted by SDozono at 17:04| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2013年12月03日

CakePHP 2.3.10で認証チュートリアル

2005、2006年あたりの、CakePHPがうぶ声を上げたころにはいろいろ活動していた堂園です。
cakephp.jp を整備したり、マニュアルを書いたり、コミュニティをもりあげたりと色々していたなー。
今回、久しぶりに新規プロジェクトをCakeでつくりはじめました。

それほど最新のものではなくてよいと、2.3.10で作りはじめようかと思ったのですが、ちょっとはまったのでここに書いておきます。
CakePHP 2.X 用には、チュートリアル:

"シンプルな認証と承認のアプリケーション"
http://book.cakephp.org/2.0/ja/tutorials-and-examples/blog-auth-example/auth.html

がありますが、これがもう2.4.Xじゃないと動作しないコードになっています。2.3.10でこのチュートリアルをはじめたらはまりました。

チュートリアルでは、
頭で

App::uses('SimplePasswordHasher', 'Controller/Component/Auth');

beforeSave()内で

$passwordHasher = new SimplePasswordHasher();
$this->data[$this->alias]['password'] = $passwordHasher->hash($this->data[$this->alias]['password']);

となっていますが、2.3.10ではここが、

$this->data[$this->alias]['password'] = AuthComponent::password($this->data[$this->alias]['password']);

とする必要があるらしいです。

posted by SDozono at 15:07| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2013年07月29日

Telephone Marketing System build with CakePHP

簡単に自社にマーケティング・コールセンターを構築できるパッケージシステム
http://www.fusioncom.co.jp/houjin/connect/outbound/

通常は非常に高価な通録システムもアイデアで組み込んでいるのが味噌です。
posted by SDozono at 10:14| 東京 🌁| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2013年01月26日

生みの苦しみ

CakePHP 3.0について、いろいろな意見が沸騰中。

3.0: a peek into CakePHP's future
http://bakery.cakephp.org/articles/lorenzo/2012/07/06/3_0_a_peek_into_cakephps_future
https://groups.google.com/d/topic/cake-php/-TLn6RpHt4U/discussion

XXみたいにしないでくれーとか、モデルのデータがArraysじゃなくなるって大丈夫?とか、PHPのバージョン指定がそれでいいの、とか色々色々。
一つのターニングポイントではありますね。
今後が面白くなっています。

posted by SDozono at 21:38| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする