スタッフブログ

  • カテゴリ NetCommons の最新配信
  • RSS

NetCommons2のAdodb mysqlドライバはトランザクション処理をサポートしてない。

Ryuji : NetCommons 2013/12/10 7:26

Blogger's Avatar

NetCommons2のmaple/nccore/db/DbObjectAdodbをみてたら

StartTrans(), FailTrans(), CompleteTrans()なんてメソッドがあって、トランザクションに対応してそうな雰囲気だが、これは罠。

NetCommon2で使ってるのはAdodbのmysqlドライバで、このmysqlドライバが残念ながらトランザクションに対応してない。

なので、Innodb使っててトランザクション処理したいときは自前でexecute('BEGIN')とかするしかないようだ。

NetCommon2の配列二重エスケープ問題

Ryuji : NetCommons 2013/12/5 17:45

Blogger's Avatar

NetCommons2はSmartyのdefault_modifiersを利用して自動で全変数にエスケープかかるようになってるが、これが罠。

このdefault_modifiesって表示だけでなく、変数を使うところ全てで適用されるので、下記の様なコードで問題になる。

<{foreach from=$arrayList item=item}>
    <{$item}>
<{/foreach}>

from=$arrayList で$arrayListの中身をSmarty::_run_mod_handlerでエスケープかけようします。

_rum_mod_handlerで、配列の中身すべてにdefault_modifiersで指定されたmodifireがかかります。

NetCommons2の場合、escapeです。さらに<{$item}>を表示するときにもdefault_modifiersで指定されたescapeがかかります。

結果、二重にエスケープされるわけです。

これを避けるにはsmarty:nodefaultsを利用してdefault_modifiersが適用されないように、下記の様なコードにします。

<{foreach from=$arrayList|smarty:nodefaults item=item}>
    <{$item}>
<{/foreach}>

Smartyのバグ ~default_modifiers~ : アシアルブログも参考にしたんですが、

<{if isset($foo)}>

みたいなときもエスケープかけようとするので、これも下記みたいにしないとダメなようです。

<{if isset($foo|smarty:nodefaults)}>

NetCommonsアドオンモジュールセミナー「NetCommons3で遊んでみよう」に参加

Ryuji : NetCommons 2013/9/24 13:27

Blogger's Avatar

最近注目しているCMS「NetCommons」のセミナーでNetCommonsの次期バージョン「NetCommons3」に触れて遊んでみようというテーマの勉強会があったので参加してきました。

ただ私は勉強会中にひとりで勝手にNetCommons3をCakePHP3.0で動かせるようにならんかチャレンジしてました(^^;

というのもNetCommons3はCakePHP2.0ベースで開発されてるんですが、CakePHPは既に3.0の開発がすすんでおり、NetCommons3のリリース時期やCakePHP3.0のリリース時期なんかを考えると、できるだけ早めにCakePHP3.0へ乗り換えをした方がよさそうだと感じたからです。

事前予想としては「あんがいすんなりいくんじゃね?」とか思ってたんですが、CakePHP3.0のコードを探すとか、App側のコードがみつからなくてカンでNetCommons3のAppコードいじってなんとかしようとしたりしてどうにもならなかったりで、最終的に動かすことができませんでした…orz

今後のために各コードの所在へのリンクはっときます。

また時間をみつけて、NetCommons3+CakePHP3.0での動作にチャレンジしたいと思います。

8月21日にNetCommonsユーザカンファレンスに行ってきました。

Ryuji : NetCommons 2013/8/30 14:33

Blogger's Avatar

「NetCommons」は国立情報学研究所で開発されてる国産CMSです。 グループウェア的にも使えるシステムに仕上がっていて私も注目してます。

image

21日の「NetCommonsユーザカンファレンス」では、東北の震災に対して どのようにNetCommonsが学校で活用されたのかの事例や 現在開発が進められている次期NetCommons「NetCommons3」についても 話しがありました。

「NetCommons3」はCakephpという人気のPHPフレームワークをベースに開発を しているそうで、現行バージョンよりもモジュールが開発しやすくなるだろうなぁと 思っています。 「NetCommons3」の正式リリース予定は2015年3月とまだまだ先ですが、 楽しみです。

少しお手伝いでブースのお留守番しながらたくさんの方にお話を聞くことができて良かったです。

image

Go-Coworkingもデモ展示。施設MAPに興味もたれた方、結構いましたねぇ。

image

午後は2会場にわかれてセッションがあったのですがたくさんの方がセッションに耳をかたむけてました。

コケロミン

ブースで一緒に留守番してくれた「コケロミン」かわいいですよ〜

スタッフブログ最新
カテゴリ一覧

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階
お問い合わせ TEL 03-3524-8860

Copyright(c) 2012 RYUS.All Rights Reserved.