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