20100902symfony xop3

2,395 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,395
On SlideShare
0
From Embeds
0
Number of Embeds
370
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

20100902symfony xop3

  1. 1. OpenPNE3で学ぶsymfony勉強会 ~OpenPNEのモバイル機能とsymfony~ 株式会社手嶋屋 手嶋守 tejima@tejimaya.com Twitter @tejima OpenPNE Project http://openpne.jp
  2. 2. 株式会社手嶋屋概要 【株式会社手嶋屋】 ・会社名 株式会社手嶋屋 ・設立 2002年 3月 ・役員 代表取締役:手嶋 守 取締役:大平 哲郎 ・資本金 ¥16,000,000 ・社員数 10名 ・本社 東京都板橋区舟渡2-11-23 ・営業所 東京都新宿区新宿1-6-8  新宿鈴木ビルA館7F ・事業内容 ・オープンソースSNSエンジン 「OpenPNE」を利用した SNSの企画・開発・運用含む ASP総合サービスの提供 ・主要取引先 ソネットエンタテインメント株式会社 株式会社ACCESS OpenPNEを発明した 日本電気株式会社 株式会社メディヴァ ・関連書籍 『図解でわかるiアプリプログラミング ―Panel & Canvasコンポーネント』 ソフトウエア企業 (日本実業出版社)         『OpenPNEによるSNSサイトの構築          オープンソース徹底活用』          (秀和システム) OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE2
  3. 3. OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE3
  4. 4. OpenPNE 手嶋屋の使命 OpenPNEプロジェクト ※オープンソース開発非営利団体 OpenPNEの使命: 「情報社会をつくる」 株式会社手嶋屋 ※事業会社 手嶋屋の使命: 「OpenPNEを通じて組織を進 化させる」 OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE4
  5. 5. OpenPNEに取り組むきっかけ 2030年に、SFのような情報社会が 実現したとして、それは現在どんな姿を しているのだろう? ※自分は情報社会の設計者になりたい OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE5
  6. 6. OpenPNEプロジェクト紹介 情報ネットワーク社会を 実現する ソフトウエア開発プロジェクト だれでも無料で、自由に使える オープンソース 組織にひとつOpenPNE 情報たくさんOpenPNE OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE6
  7. 7. OpenPNE3について OpenPNE3はソーシャルプラットフォームとして進化 ・OpenSocial 外部クラウドサービス その他外部 ・OpenID その他外部 課金・ポイント 課金・ポイント PayPal PayPal GMO GMO 基盤 基盤 ・OAuth WebMoney WebMoney その他認証基盤 IBM Notes IBM Notes OpenSocial OpenSocial その他認証基盤 ・プラグインアーキテクチャ Application Application SAML,LDAP, SAML,LDAP, OpenID,携帯認証 OpenID,携帯認証 Oauth Oauth Application Application MS MS Exchange Exchange 日記 イベント アルバム あしあと 機能 機能 機能 機能 メンバー管理 ID連携API eラーニング EC CMS ゲーム CRM 課金API WEB API 小窓 LDAP認証 OpenSocial OpenPNE3 WebAPI 携帯認証 OpenID認証 API OpenPNE Plugin API プラット フォーム Core Application 管理画面 フレンド プロフィール DB 国際化 コミュニティ 認証 OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE7
  8. 8. ソーシャルメディアマップ mixi・GREE・モバゲー 多人数 が得意とする多人数 大企業×SNS 日本×外国×SNS マス型エンタメSNS Enterprise Edition 新聞×SNS オンラインゲーム 中小企業×SNS 宗教×SNS アーケードゲーム×SNS Office Edition 団体×SNS 雑誌×SNS Game Edition 大学×SNS 携帯ゲーム×SNS 地域×SNS OpenPNE Academy メーカー×SNS 政治×SNS CRM Edition 同窓会×SNS OpenPNE Change! ファンクラブ×SNS ソーシャルアパートメント 少人数 家族×SNS Club Edition ×SNS ビジネス系 生活系 エンタメ系 OpenPNE3は週100~140サイトの設置ペース OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE8
  9. 9. OpenPNE 3.6概要 開発言語 PHP5.2- ライセンス Apache 2.0 License symfony Ver1.4 データベース MySQL4.1- 対応ブラウザ(PC) IE6-8 Firefox2-3 Safari Chrome 対応ブラウザ(Mobile) 2006年以降に発売されたほとんどの携 帯に対応(300機種以上) 国際化対応 英語、日本語 OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE9
  10. 10. ソーシャルメディアマップ 中国 mixi・GREE・モバゲー 多人数 が得意とする多人数 大企業×SNS Enterprise Edition 日本×外国×SNS アメリカ マス型エンタメSNS 新聞×SNS オンラインゲーム 中小企業×SNS 宗教×SNS アーケードゲーム×SNS Office Edition 団体×SNS 雑誌×SNS Game Edition 大学×SNS 携帯ゲーム×SNS ヨーロッパ連合・EU 地域×SNS OpenPNE Academy メーカー×SNS 政治×SNS CRM Edition 同窓会×SNS OpenPNE Change! ファンクラブ×SNS ソーシャルアパートメント 少人数 家族×SNS Club Edition ×SNS ビジネス系 生活系 エンタメ系 OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE10
  11. 11. OpenPNE3にはsymfony開発に役立つ携帯機能が 盛りだくさんです。 本日はOpenPNE3に搭載されている3つの機能 ・携帯機種振り分け ・絵文字対応 ・携帯用フォームレンダリング を紹介します。 OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE11
  12. 12. 1:symfonyで携帯の機種振り分け OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE12
  13. 13. トップページにアクセスされたら、ブラウザの ユーザーエージェントから携帯の機種を判別 し、携帯電話は携帯に、それ以外ならPCに振 り分けをしたい。携帯キャリアのIPアドレス帯 域も判別して opMobileUserAgent.class.php を使う OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE13
  14. 14. lib/util/opMobileUserAgent.class.php $is_mobile = !opMobileUserAgent::getInstance() ->getMobile()->isNonMobile(); OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE14
  15. 15. この機能の実体はPEAR Mobileライブラリ lib/vendor/PEAR/Net/UserAgent/Mobile.php さらにOpenPNE3では、携帯IPアドレス帯域のチェッ クも行っている! lib/config/config/mobile_ip_address.yml 150以上のIP帯域を登録、更新中。 OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE15
  16. 16. 2:symfonyで絵文字を使う OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE16
  17. 17. 絵文字もたのしいけど、フランス産のsymfonyには 当然含まれていない。OpenPNE3では、絵文字関係 の機能はOpenPNE2のソースコードをライブラリとし て利用している。 lib/vendor/OpenPNE2/KtaiEmoji/KtaiEmoji.php OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE17
  18. 18. symfonyからは、アプリケーション(apps)のフィルター として処理している。 apps/mobile_frontend/config/filters.ymlで登録設 定/lib/filter/opEmojiFilter.class.phpに実体がある。 opEmojiFilterの実体。 OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE18
  19. 19. 絵文字関連機能はOpenPNE本体と独立しています。 ・ライブラリ ・フィルター実体 ・フィルター設定 の3つセットを切り出せば、OpenPNE外でも利用できます。 OpenPNE3はApacheライセンス。 部分だけをライブラリとして使うのも自由です! OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE19
  20. 20. 3:symfonyで携帯用Formを使う OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE20
  21. 21. OpenPNE3未実装でした! ※Ver3.7で実装予定 OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE21
  22. 22. Formについて symfonyのFormハンドリング機構 (sfForm)は複雑なフォームハンドリング 処理を抽象化してくれる。 しかしPCをターゲットにしているため、自 動生成されたFormタグをそのまま携帯 で使うと不具合が起きることがある。 OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE22
  23. 23. 主な不具合 ・要素タグの個数制限(ネストしすぎ) ・HTML容量制限 OpenPNE3でも、国の選択などで不具合が起 きる。この問題を解決するため、携帯に最適 化されたフォームタグを発行するように sfFormを拡張している。 OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE23
  24. 24. 4:symfonyでモバイルオープンソーシャ ルを使う OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE24
  25. 25. OpenPNE Project http://openpne.jp 【OpenPNE説明資料】 PAGE25

×