日本でもFacebookユーザが増えてきたなーと思う今日この頃です。
それに伴い、バンド(アーティスト)のFacebookページも自然と増えてきていると思います。
しかし、Facebookはそもそも音楽系SNSでは無いので、
単にFacebookページを作るだけだと、何だか味気ない。
そんな時に、活躍しそうなFacebookページ用タブアプリを、いくつか紹介します。
(1)
ReverbNation
http://www.reverbnation.com/
Facebookページを音楽系SNSに変化させてしまうくらい強烈です。
使用しているページを見てみると、イメージが湧きやすいと思います。
https://www.facebook.com/sofiatalvikmusic?sk=app_2405167945
以下、以前に細かく書いた記事です。
http://mamor-blog.tumblr.com/post/9455026216/reverbnation-facebook-sns
Facebookページに留まらず、サイトに貼り付けるWidgetやバナー等も充実しています。
これが本命かなと、個人的には思っています。
(2)
BandRx
http://www.bandrx.com/
https://www.facebook.com/BandRX
これも、ReverbNationのように、Facebookページが音楽系SNSになってしまいます。
ReverbNationは自身でサービスを展開しつつ、Facebookアプリも提供しているわけですが、
BandRxはFacebookページタブ用のサービスのようで、シンプルに使いやすいイメージです。
とは言っても、必要な機能はしっかり整っていそうだし、ReverbNationには無い機能もありますね。
SoundCloudにUPしてある音源を使えます。
(3)
RootMusic
http://www.bandpage.com/
https://www.facebook.com/rootmusic
BandRxに似いてると思います。
SoundCloudにUPしてある音源を使えるのも似ていますね。
BandRxと比べると、出来ることは少ないのかも。
(4)
Cueler YouTube
https://www.facebook.com/pages/Cueler-YouTube/321821187850686?sk=app_162891010412392
これは、設定したYouTubeアカウントのアップロード動画、お気に入り動画、指定プレイリスト。
を表示できるタブアプリです。(どれか一つです。)
プレイリストが表示できるタブアプリは貴重な気がするので、併せて紹介してみます。
February 25, 2012
February 12, 2012
FuelPHPのORMパッケージを拡張してみる。
先に、ソースは
https://github.com/mp-php/fuelphp-packages-myorm
にUPしてあります。
--
created_atやupdated_atと同じノリで、created_ipとupdated_ipの保存をする
独自ORMパッケージを作成してみました。
created_ipとupdated_ipの型はvarcharで、長さは適当で良いかと。
以下、手順です。
fuel\packages下に"myorm"ディレクトリを作成。
"myorm"ディレクトリの中に、以下の3ファイルを作成。
fuel\packages\myorm\bootstrap.php
fuel\packages\myorm\classes\observer\createdip.php
fuel\packages\myorm\classes\observer\updatedip.php
各ファイルは、以下の内容になります。
fuel\packages\myorm\bootstrap.php
fuel\packages\myorm\classes\observer\createdip.php
fuel\packages\myorm\classes\observer\updatedip.php
このパッケージを使用するためにはapp/config/config.phpのalways_loadのpackagesに追加する必要があります。
myormを使用するということは、まず間違いなくormも使用するはずなので、
この2つを有効にして下さい。
Modelの$_observersは以下のようになります。
"// MyOrm"の行以下が、今回の話と関係しています。
これで、標準ORMパッケージに依存しつつ、完全に分離できたので
思う存分、ORMに独自の機能を追加できそうです。
https://github.com/mp-php/fuelphp-packages-myorm
にUPしてあります。
--
created_atやupdated_atと同じノリで、created_ipとupdated_ipの保存をする
独自ORMパッケージを作成してみました。
created_ipとupdated_ipの型はvarcharで、長さは適当で良いかと。
以下、手順です。
fuel\packages下に"myorm"ディレクトリを作成。
"myorm"ディレクトリの中に、以下の3ファイルを作成。
fuel\packages\myorm\bootstrap.php
fuel\packages\myorm\classes\observer\createdip.php
fuel\packages\myorm\classes\observer\updatedip.php
各ファイルは、以下の内容になります。
fuel\packages\myorm\bootstrap.php
<?php Autoloader::add_classes(array( 'MyOrm\\Observer_CreatedIp' => __DIR__.'/classes/observer/createdip.php', 'MyOrm\\Observer_UpdatedIp' => __DIR__.'/classes/observer/updatedip.php', )); /* End of file bootstrap.php */
fuel\packages\myorm\classes\observer\createdip.php
<?php namespace MyOrm; class Observer_CreatedIp extends \Orm\Observer { public static $property = 'created_ip'; protected $_property; public function __construct($class) { $props = $class::observers(get_class($this)); $this->_property = isset($props['property']) ? $props['property'] : static::$property; } public function before_insert(\Orm\Model $obj) { $obj->{$this->_property} = \Input::real_ip(); } } // End of file createdip.php
fuel\packages\myorm\classes\observer\updatedip.php
<?php namespace MyOrm; class Observer_UpdatedIp extends \Orm\Observer { public static $property = 'updated_ip'; protected $_property; public function __construct($class) { $props = $class::observers(get_class($this)); $this->_property = isset($props['property']) ? $props['property'] : static::$property; } public function before_save(\Orm\Model $obj) { if ($obj->is_new() or $obj->is_changed()) { $obj->{$this->_property} = \Input::real_ip(); } } } // End of file createdip.php
このパッケージを使用するためにはapp/config/config.phpのalways_loadのpackagesに追加する必要があります。
'packages' => array( 'orm', 'myorm', ),
myormを使用するということは、まず間違いなくormも使用するはずなので、
この2つを有効にして下さい。
Modelの$_observersは以下のようになります。
protected static $_observers = array( 'Orm\Observer_CreatedAt' => array('events'=>array('before_insert'), 'mysql_timestamp' => true,), 'Orm\Observer_UpdatedAt' => array('events'=>array('before_save'), 'mysql_timestamp' => true,), 'Orm\Observer_Validation'=> array('events'=>array('before_save')), // MyOrm 'MyOrm\Observer_CreatedIp'=>array('events'=>array('before_insert')), 'MyOrm\Observer_UpdatedIp'=>array('events'=>array('before_save')), );
"// MyOrm"の行以下が、今回の話と関係しています。
これで、標準ORMパッケージに依存しつつ、完全に分離できたので
思う存分、ORMに独自の機能を追加できそうです。
February 6, 2012
phpfogとfile_get_contents
phpfogの無料版では、外部URLをfile_get_contentsできないようです。
http://docs.phpfog.com/index.php/features/article/shared_vs_dedicated
なので、ajaxで外部サイトのデータを取ってきて、それをajaxで自サイト(phpfog)のapiに渡して
HTML等のデータを生成。とかしないといけませんでした。
http://docs.phpfog.com/index.php/features/article/shared_vs_dedicated
なので、ajaxで外部サイトのデータを取ってきて、それをajaxで自サイト(phpfog)のapiに渡して
HTML等のデータを生成。とかしないといけませんでした。
phpfogでssl判定。
メモ。
phpfogでは$_SERVER['HTTPS']によるssl判定が使えませんでした。
その代わり、$_SERVER['HTTP_X_FORWARDED_PROTO']で出来ました。
phpfogでは$_SERVER['HTTPS']によるssl判定が使えませんでした。
その代わり、$_SERVER['HTTP_X_FORWARDED_PROTO']で出来ました。
FacebookアプリでTesterがPending
FacebookアプリをSandBoxモードにしてTesterを追加。
クローズドな環境で動作確認を進めたい。
となった時、TesterがPendingとなり、
Testerがアプリを利用ができない状態が発生しました。
原因は、アプリの基本設定の"アプリの名前空間"が空だったから。みたいです。
入力すると、Pendingの表示が消えて、正しく利用ができるようになりました。
Facebookアプリはこの辺がなんかわかりにくい。。。
クローズドな環境で動作確認を進めたい。
となった時、TesterがPendingとなり、
Testerがアプリを利用ができない状態が発生しました。
原因は、アプリの基本設定の"アプリの名前空間"が空だったから。みたいです。
入力すると、Pendingの表示が消えて、正しく利用ができるようになりました。
Facebookアプリはこの辺がなんかわかりにくい。。。
Subscribe to:
Posts (Atom)