Cube勉強会」に行ってきました。・xcckについての質疑応答などのほか、個別に「今こういうことがやりたいけどつまづいている」などの問題に参加メンバーが答える、というかゆいところに手が届いちゃう感じの勉強会でした。今回初めて参加された方が作られた不動産サイトがすばらしくいいできで、感動しました。サーバ負荷を考えてこちらにはリンクを貼りませんが、よろしかったらこの辺から見てみてください。あるため、日程調整中です。Cube勉強会に参加しました。Shinjukuにて開催されました。その当日に主催の竹原さんから発表があったのが勉強会名称の変更です。Cube勉強会」と名前が変更になりました。Cubeになれてきた方やベテランさんも集って欲しいという思いがよくわかる名前変更ですね。Cube開発者の氷川さん、bulletinモジュールを開発したSuinさん、XUGJ.orgのfabiさん等ベテランさんまで幅広く参加されてました。次回第21回目の勉強会は2月1日に開催されますので、みさなん是非ご参加くださいね。specified."になって困ってたんですが、coreserverでの有名な問題みたいですね。Offを追加したら画像が表示されるようになりました。(52673)XOOPSは趣味のコミュニティサイトで良く使われてますね。10:50あけましておめでとうございます。昨年末に高尾に引っ越した龍司です。周りにハイキングコースがたくさんあるので、トレイルランでもやってみようかなぁと思っていろいろ検索してたら「ヤマレコ」というサイトを発見しました。登山やハイキング、クライミングなどの記録を共有できる、登山の総合コミュニティサイト細部まで良くデザインされてて気がつくのが遅れましたが、このサイトもXOOPSで構築されてるんですね。記憶を頼りに他にXOOPSでできた趣味コミュニティサイトをリストアップすると下記のようなサイトもあります。風のように走るサイクルベース名無し:自転車レビューサイト趣味活動では活動記録を残したり、ハウツーの情報交換があり、イベントでの交流などがありますが、XOOPSにそれらの活動に対応した拡張モジュールがあるから趣味コミュニティサイトで良く採用されるのでしょうね。いろんなXOOPSサイトを見ていると「あ、これは今考えてる○○に応用できそうだな」って発見もあって楽しいものですね。発見といえば、勉強会で他の方が作られてるサイトを見せてもらうのも良い刺激がえられますね。mysqlドライバはトランザクション処理をサポートしてない。CompleteTrans()なんてメソッドがあって、トランザクションに対応してそうな雰囲気だが、これは罠。NetCommon2で使ってるのはAdodbのmysqlドライバで、このmysqlドライバが残念ながらトランザクションに対応してない。Innodb使っててトランザクション処理したいときは自前でexecute('BEGIN')とかするしかないようだ。17:45NetCommons2はSmartyのdefault_modifiersを利用して自動で全変数にエスケープかかるようになってるが、これが罠。このdefault_modifiesって表示だけでなく、変数を使うところ全てで適用されるので、下記の様なコードで問題になる。$arrayListの中身をSmarty::_run_mod_handlerでエスケープかけようします。_rum_mod_handlerで、配列の中身すべてにdefault_modifiersで指定されたmodifireがかかります。NetCommons2の場合、escapeです。<{$item}>を表示するときにもdefault_modifiersで指定されたescapeがかかります。結果、二重にエスケープされるわけです。これを避けるにはsmarty:nodefaultsを利用してdefault_modifiersが適用されないように、下記の様なコードにします。isset($foo)}>みたいなときもエスケープかけようとするので、これも下記みたいにしないとダメなようです。Nightに参加してきました。16:18ブログに書いたつもりが下書きのままパソコン内に記事が眠ってて焦った龍司です。Nightに参加してきました。Night」みたいです。Night」ってことでした。(今後どんな○○Nightが開催されるか楽しみですね。)以前EngineYardの安藤さんにSendGridの存在を教えてもらっていて興味をもったんですが、今回の勉強会に参加してみるまで自分がなんでSendGridに興味もったのかをすっかり忘れてました(^^;それが参加してみてやっと何故興味をもったか思いだすことができました。興味をもったか?それは「メールの大量配信をちゃんと行うのはすんごいめんどくさいこと」だったからです。会員制のWebシステム開発を何度もやってると中にはメールを大量配信するケースも出てきます。これをまともに実行できるようにするのがとてもめんどくさかったんですね。メール配信をちゃんとやろうとすると、なにがめんどくさいかSendGridNightでも話しがあったのですが、今やメールの9割が迷惑メール。各プロバイダや携帯キャリア、メールソフトそれぞれが迷惑メール対策をあれこれ実施しています。そのおかげで迷惑メールに触れる機会が減ってるんですが、ちゃんとしたメール配信をしようとすると、この各種の迷惑メール対策でフィルタリングされないように、送信側もあれこれ設定したり、配信ペースを押さえたりと面倒なことがいっぱいでてきます。サーバのスペックの問題も発生します。メール送信って他のサーバとの通信が発生するのでサーバにけっこう負担かけるんですよね。それにあわせてサーバスペックあげると、メール配信以外の普段ではオーバースペックでハイコストの原因になっちゃうし、スペックさげるとメール配信がいつまでも終わらないなんてことが起こったり、けっこうムキーーーってなったりします。大変なことだったのを勉強会を通してよーーーーっっっく思いだしましたよ...で、SendGrid。SendGridはWebサービス、Webサイトをつくってるときに発生するこういう「めんどくせーーー!!」と叫びたくなるメール配信系をうまいことやってくれるサービスなわけですね。いうわけで基本的なメール配信はもちろん問題なくできるようになってますが、それだけでなくプラスアルファでいろいろ便利そうなサービスになってます。SendGridが便利そうなポイント自分でメールサーバをたてる大変さから解放されるのが一番のポイント。他の便利ポイントとしては送信ログの確認ができる配信されたか拒否されたかちゃんとわかります。API使うと一度に1000通ぐらい送信とか宛名の置換とかもできるそうです無料で毎月6000通まで送信OKらしいので、メール送信テスト時にコストかからんのもいいですってあたりが個人的にはヒットでした。最近ちょっとWindowsAzureをうまいこと利用できないか試行錯誤してるんですが、WindowsAzureはメール送信できないってことで早速SendGridの無料プランをちょっと使わせてもらいました。これをきっかけにちょこちょこ利用できたらなぁと思ってます。6:29XCL2.1からXCL2.2にしたときにXCL2.1付属のPM(PrivateMessage)をやめてMessageモジュールを導入された方も多いかと思いますこのMessageモジュールはインストール時にPMのデータを移行する仕組みが備わってたのですが、ちょっとしたバグがあって移行できませんでした。いうわけで、元からあった移行コードにちょっと手をいれて、後からでもpmモジュールのデータをmessageモジュールに移行できるようにしてみました。こちらからダウンロードできます。XOOPS_ROOT_PATH直下にアップロードしたら、XOOPS_URL/pm2message.phpにアクセスしてください。pmにあるメッセージがmessageモジュールに移行されます。bodyが全く同じメッセージがすでにmessageモジュールにあったら、そのメッセージは移行しないようになってます。messageモジュールの自動削除で消えてしまったメッセージがpmに残ってるときにサルベージするのにも使えると思います。Cubeで最も多く使われている人気のモジュールです。htmlを書く感覚で作れるので、通常のページであまり書き換えが行われない固定的なページにはpicoを使うことが多いです。私の場合、以前から使ってきて必ずカスタマイズする部分や必ずデフォルトの一般設定から変更するという作業が発生していました。今回それらについてデフォルトのままインストールしてもカスタマイズやデフォルトの一般設定を変えなくてもそのまま使えるようにpicoをカスタマイズしてみました。いつものカスタマイズではなく、picoの本体自体にカスタマイズをして再配布可能なように作りました。コアチームにpullリクエストをしてありますので、もし賛同が得られて、取り入れてもらえれば今後のpicoがこのように変わると思います。RYUSの場合、実績ページなどをpicoで作っています。そのコンテンツを元に改造前と後を見比べてみましょう。実績ページは3つのカテゴリに分け、その中にコンテンツを置いています。←コンテンツこれをデフォルトのpicoで表示したものと、pico自体にカスタマイズをしたもので見比べてみます。書いた部分をいつもカスタマイズしていましたが、新しく改造したpicoで表示するとデフォルトでこのようになります。【改造後】これらは一般設定で選択することで、今までの表示のようにも出来るようになります。メニュー、RSSのリンクはデフォルトでは出さないようにして、トップという表示もモジュール名にしました。コンテンツページです。以前と同じ表示にも出来ます。その他、今までデフォルトで「はい」になっているけれど大概の場合「いいえ」としていた項目を最初から「いいえ」にしてみました。それらの項目は以下のものです。ページナビゲーションを表示する印刷画面へのリンクを表示する友達に紹介するリンクを表示するtellafriendモジュールを利用する投票機能を利用する今時点でこのpicoのソースはこちらに置いてあります。upload_max_filesizeで設定します。.htaccessなら下記の様な感じですね。256Mこの数値を変更したときに合わせて見直しておきたい設定項目が2つあります。post_max_sizeです。この3つの設定項目の数値はそれぞれ下記のような関係である必要があります。upload_max_filesizeここ、気をつけてないと、upload_max_filesizeは増やしたけど他のサイズが小さくてファイルアップロードがうまくいかないということが発生します。Cube勉強会に参加しました。Ryuji)XOOPSは趣味のコミュニティサイトで良く使われてますね。mysqlドライバはトランザクション処理をサポートしてない。