徒然なるままに プログラミングメモや日々の生活などつれづれとつづっていくblog

2013年11月20日

スマートフォンを判別する正規表現

Filed under: 正規表現 — ranpei @ 2:04 AM

今回はメモ書き程度です。

サイトに来た人がどのデバイスで見ているのか判別してサイトを表示させたい時ってありますよね?
それを判別するのにUser-Agetntを使って判別するというのが一般的かと思います。

私が作成したサイトでは、スマートフォンのみを判別する必要があったので以下の正規表現を用いて判別を行いました。

(iPhone|iPod|Android)+[\w\d\s;,:\_\-\.\/\(\)]+(Mobile)+

簡単に解説すると
iOSの場合、User-Agentには「iPhone」「iPod」「iPad」が記載されています。
そしてすべてに「Mobile」と記載されています。
Androidの場合、スマートフォンでもタブレットでもUser-Agentには「Android」しか記載されていません。
その代わりスマートフォンの場合のみ「Mobile」と記載されています。

よってスマートフォンであるかどうかは”「iPhone」「iPod」「Android」があり、かつ「Mobile」と記載されている”という条件で判別を行います。
表にすると以下

種別(iPhoneやAndroidなど) Mobile記載 判定
iPhone iPhone Mobile スマフォ
iPod iPod Mobile スマフォ
iPad iPad Mobile タブレット
Android(スマフォ) Android Mobile スマフォ
Android(タブレット) Android (なし) タブレット

参考サイト

2013年11月10日

Webサイトのキャプチャーを作る

Filed under: PHP,wkhtmltoimage,PC — ranpei @ 7:23 AM

現在私が管理しているWebサイトで、リンク先がサイト名だけではわかりにくいな~と思ったので、
マウスオーバーするとリンク先のイメージが表示されるような機能を付けることにしました。
その時のメモです。

今回の想定ではリアルタイムにスクリーンショットを作成する必要はないので(負荷が高くなるのでそもそもやりたくない)
wkhtmltoimageを利用して一定時間ごとにバッチでキャプチャーを撮る方式にしました。

wkhtmlimageのインストール

まず、wkhtmltoimageをインストールします。
インストールサーバーはUbuntu13.04(64bit)です。

1. ファイルをダウンロード

#wget http://wkhtmltopdf.googlecode.com/files/wkhtmltoimage-0.10.0_rc2-static-amd64.tar.bz2

最新のwkhtmltoimage-0.11.0_rc1-static-amd64.tar.bz2だとエラーが出てキャプチャーが取れないので
1つ前のバージョンをダウンロードします。

2. 解凍する

#tar jxf wkhtmltoimage-0.10.0_rc1-static-amd64.tar.bz2

解凍すると wkhtmltoimage-amd64 というファイルができます。
これがそのまま実行ファイルですので ./wkhtmltoimage-amd64 http://www.google.co.jp test.png とコマンドを実行すれば
キャプチャーが作成できるはずです。

もし、ライブラリが足りないなどのエラーが表示された場合は

#sudo apt-get install wkhtmltopdf

を実行して wkhtmltopdf をインストールしてみてください。
もともとwkhtmltopdfの機能だったものを分離しているのでwkhtmltopdfをインストールすれば
必要なライブラリ類も自動的にインストールされちゃうわけです。

3. /usr/bin/に配置

#mv wkhtmltoimage-0.10.0_rc1-static-amd64 /usr/bin/wkhtmltoimage

私はこれだけでパスの設定などは特に必要なかったです。

4. 日本語フォントのインストール
このままだと日本語が文字化けするので日本語フォントをインストールします。
今回はIPAフォントを利用しました。
ダウンロードしたものを解凍して .ttfファイルを/usr/share/fonts/配下に配置するだけです。

#sudo cp ipaexg00201/*.ttf /usr/share/fonts/.

以上が終わればインストール完了です。

#wkhtmltoimage http://www.google.co.jp test.png

とコマンドを実行すればキャプチャーが作成できているはずです。

ApacheOpenMeetings(TV会議システム)を試してみた

Filed under: ApacheOpenMeetings,OSS,TV会議,オープンソース — ranpei @ 2:32 AM

前回に引き続きTV会議システムの話題です。

今回ためしたのは「Apache OpenMeetings」です。
これもお手軽にからISOイメージを使ってインストールしました。
(もちろんESXi5.5にです・・)

ここからISOをダウンロードしてあとはインストールするだけです。
Ubuntuベースなのでインストールはすんなりいきました。

インストールしたらhttp://[インストールサーバーのIP]:5080/openmeetings/にアクセスすれば
ログインページが表示されます。
apacheOpenMeetings_Login

初期ログインIDである「toro/123456」を入力するとログインできます。
このユーザは言語設定が「英語」になっているので、管理 > ユーザ管理から言語設定を japanese に変更しておくと操作しやすいでしょう。
(新規ユーザを作ってもいいかも・・・)
あと、BBBと同じく共有ファイルの文字化けが起こったので
言語パッケージをインストールしておくとよいでしょう。

所感

さて、所感ですが。
このApache OpenMeetingsはBigBlueButtonと違い、
ユーザ管理や会議のスケジューリングといった機能がトータルにサポートされています。
機能面でいけばBigBlueButtonより充実しているといえますね。
ただし、共有ファイルをアップロードしてから表示するまでの時間がBigBlueButtonよりかなり遅いです。 

個人的にはBigBlueButtonのほうがUI的にもデザイン的にも好みですね。

2013年11月8日

BigBlueButton(TV会議システム)を試してみた

Filed under: BBB,BigBlueButton,OSS,TV会議,オープンソース — ranpei @ 12:16 AM

オープンソースのTV会議システムを見つけたので試してみた。

今回試してみたのはBigBlueButton(BBB)というツール
当初は試しにインストールして放置していたopenSUSE12.1にインストールしようとしたが
説明をよく読むとUbuntu10.04にしか対応していないっぽい。。。

Ubuntu10.04をインストールしてからセットアップするのも面倒なので
配布されているVMを利用することにしました。

インストール手順

BigBlueButtonのVm配布ページからZIPファイルをダウンロードしてきます。

解凍したものをEsxi5.5のデータストアにアップロードして新しいVMとしてインベントリに追加するのですが、
ZIPに入っているvmxファイルではうまく追加できなかった・・・
そのため新規にVMをHDDなしで作成して、そこにZIPのvmdkファイルを追加
そしたらうまく起動しました。

起動したらfirstuser/defaultでログイン
パスワードを再設定するように促されるので初期パスワードを入力して
新規パスワードを2回入力して再設定します。

このまま表示されるURLにブラウザでアクセスすればdemo画面が表示され、
TV会議を試すことができます。
bigbluebuttonDemo

ただ、このまま文書共有すると日本語が化けるので追加で言語パッケージをインストールしておいたほうがいいでしょう。

sudo apt-get install language-support-fonts-ja
sudo apt-get install language-support-ja
sudo apt-get install openoffice.org-l10n-ja
sudo apt-get install ttf-ipafont

所感

使ってみたところこのツールはTV会議の機能のみを提供して、
管理する機能はAPIを利用した外部ツールで行うようですね。
MoodleやwordpressなどのCMSツールにプラグインがあり、
redmineにも存在するようです。
redmineは仕事でも利用しているし、今度試してみようかな・・

Powered by WordPress