スタッフブログ
入社した当初は他にキーボードがなかったので、先日argonさんが
紹介していた通りHHK Proを使用していたのですが、普段日本語キーボードを使用していて英語配列のキーボードが使い辛いので、今現在誰も使用していなかった、Apple Keyboard (JIS)を借りて使っています。
数日使用してみて、
キーを叩いた時にちょっとカチャカチャ言うけど、殆どMacbookのキーボードと同じ感じなので良い感じだったので、20分程前にApple Wireless keyboard(JIS)を購入してきました。
以前US配列のを触った時はAキーの横がCapsLockで、長押ししないと反応しなかったので完全に眼中になかったのですが、JIS配列のはAキーの横がControlキーで普通に使えるので良いキーボードです。
今回も、私がopenpear上で公開しているライブラリについて紹介します。
Services_Prowl ( http://openpear.org/package/Services_Prowl ) は、iphoneアプリケーションのProwlに通知を送る為のAPIをラップしたものです。
これを利用すると、以下のように、PHPからiPhoneやiPod Touchに対してメッセージを送れます。
メールの新着通知や、IRCなどのキーワード反応、Twitterのdirect messageやmentionなど、
リアルタイムに把握していたい情報をProwlに送信する事で、パソコンを開いていない時でも
最新の情報を知る事ができるようになります。
Services_Prowlは、現在の所、エラーハンドリングの実装待ち状態で公開されていません。
利用するには、svnからダウンロードする必要があります。
$ svn export http://svn.openpear.org/Services_Prowl/trunk Services_Prowl
と実行する事で、エクスポートできます。使い方は以下のようになります。
require_once 'Services/Prowl.php';
$api_key = 'あなたのAPI KEY';
$prowl = new Services_Prowl($api_key);
$result = $prowl->push('Test message from Services_Prowl at ' . date('Y-m-d H:i:s'));
var_dump($result);
通知系のアプリケーションはパソコンにもありますが、作業中にずっとチカチカされると
集中力が削がれるので、こういったものを外のデバイスに逃がすという使い方もありだと思います。
アイデア次第でいくらでも便利になると思うので良い使い方があれば教えてください。
こんにちわ。なおとです。 今日は弊社で開発を進めている、とっておきの商品を紹介いたします。
先日のPHPカンファレンス2009 ビジネス・デイの会場でお披露目した、「イントラタイムカードXOO」です。
まだこちらの弊社サイトからは大きく告知することはしていませんでしたが、今日バナーができたので、商品紹介のサイトにリンクを追加しました。
これはズバリ、タイムカード機能を持った、社内/部署向けのなにかです!
その正体は、Felica系カードで出勤・退勤の時刻を記録したり、その勤怠データを集計したり、またあるときはXCCP譲りの社内ポータル(イントラサイト)として機能するXOOPS Cubeです。
いまはさらにブラッシュアップすべく、開発改善を進めています。 これからのRYUSにご期待ください。
PHP5.3がリリースされて2ヶ月少々経ちますが、XOOPS CubeのPHP5.3対応はどうなっているのでしょうか。
少し調べてみました。
素のXOOPS Cubeをダウンロードして、PHP5.3環境で実行してみます。
Deprecated: Function set_magic_quotes_runtime() is deprecated in /path/to/xcl/html/install/class/textsanitizer.php on line 32
Deprecatedというのは「非推奨」という意味で、つまりその関数は今後どうなるかわかんないしセキュリティとかそういう方面でもあまり良くないので(いろいろなケースがありますが)使うな、ということです。
とは言っても消すのは大変なので、php.iniで
error_reporting = E_ALL & ~E_DEPRECATED
インストールを進めていき、設定の保存(mainfile.phpに書き込むところ)の次の画面で、以下のようになってしまいました。
Warning: syntax error, unexpected '<' in /path/to/xcl/html/settings/site_default.ini.php on line 1 in /path/to/xcl/html/core/XCube_Root.class.php on line 163 Fatal error: Call to a member function prepare() on a non-object in /path/to/xcl/html/core/XCube_Root.class.php on line 287
XCube_Root.class.phpを見てみます。
$this->setSiteConfig(parse_ini_file($file, true));
<?php
/**
[Cube]
Root=XOOPS_ROOT_PATH
Controller=Legacy_Controller
#SystemModules=system,legacy,user,legacyRender
SystemModules=legacy,user,legacyRender,stdCache
RecommendedModules=pm
RoleManager=Legacy_RoleManager
Salt=XOOPS_SALT
...
zend_ini_parser.yのdiffを取ってみたのですが、長そうなので見るのはやめておきました。
site_default.ini.phpがiniファイルであるにも関わらずphpにしているのは、外部から直接叩かれたときに見られないようにするためだと思いますが、この方法は5.3では使えないことがわかります。
このままでは進まないので、site_default.ini.phpを以下のようにします。
1=<?php
1=/**
(中略)
1=*/
1=?>
書き方をもう少し工夫すれば直接叩いても大丈夫になります。
これ以外はインストールは問題なく通りました。
次に初期のモジュールの追加画面で、変なエラーが出ています。
Unknown Condition [8192]: Assigning the return value of new by reference is deprecated in file kernel/member.php line 79
Unknown Condition [8192]: Assigning the return value of new by reference is deprecated in file kernel/member.php line 80
Unknown Condition [8192]: Assigning the return value of new by reference is deprecated in file kernel/member.php line 81
...
function XoopsMemberHandler(&$db)
{
$this->_gHandler =& new XoopsGroupHandler($db);
$this->_uHandler =& new XoopsUserHandler($db);
$this->_mHandler =& new XoopsMembershipHandler($db);
}
PHP5になった時点で既に意味がなくなっていたものなので、deprecatedと表示するのは間違っていないと思いますが、E_DEPRECATEDで消せないのは腑に落ちないです。とりあえず無視します。
インストールが完了して、installフォルダを取り除くと、以下のような画面になりました。
最後のほうのiniのエラーが問題な気がするので、全てのthemeのmanifesto.ini.phpを先ほどの要領で1=を付けると
ここまでは出るようになりました。
iniの読み込み処理側に手を加えたほうが楽そうです。
とりあえず今回はここまでにします。
先週末は、RYUSもスポンサーとなっているPHPカンファレンス2009に参加してきました。
今年は、ビジネスデイとテックデイの2日間開催だったわけですが、私はスタッフとして2日間とも参加し、更に勢いで懇親会LTで発表までしてきてしまいました
カンファレンスの内容については、gihyo.jpにレポート記事があがっているので、こちらをご覧下さい。
「史上最速のレポート」と言われているくらいタイムリーに更新されていたので、当日参加出来なかった方にも雰囲気が伝わるかも知れません
また、こちらに、参加された方たちのトラックバックが送られているので、参加された方たちのブログも参考になるかと思います。
・第2回CMSビズの様子
そのときに、当社の数字として二つの数字を出させてもらいました。
数字その1) 95
この数字は、当社の売上げに占める、XOOPS率です。売上げの95%がXOOPSを利用した案件になっています。
数字その2) 90
この数字は、上記案件のうち、社内向け、部署内向けなどの特定少数向けサイトが約90%になります。
この多数の案件を振り返ってみたときに、どんなパターンで構築したか、どんなケースがあったかなどをお話させてもらいました。
中核機能は新規開発がおおい
多いケースとしては、中核となる情報管理のモジュールは、新規開発して、他のよくありがちな部分(全体へのお知らせや、ファイルのダウンロードなど)は、既存モジュールを利用するというケースです。
最初から、新規開発と既存モジュールの組み合わせでサイトを構築するケースもあれば、最初は中核機能のみでスタートして、後日既存モジュールでサイトの機能をいくつか補完するというパターンもあります。
現場主導での導入が多い
システム開発無しで、現場で利用したい方が自力で導入されてるケースが多いというのもXOOPSの特徴です。
こういうサイトに対して新規モジュール開発や、カスタマイズのご依頼をいただくケースも多いです。
オープンソース関連のイベントなどで、皆さんのお話を聞くと、こういう現場主導で導入されたXOOPSはホント多いですよね。
こちらのレビューに書いてあるとおり、
http://japanese.engadget.com/2009/09/07/trackpoint-trackpad-and-59/
「トラックポイント以外は認めないという人達にとって、ノートPCがThinkPadであるのはもちろん、デスクトップPC用のトラックポイント付きキーボードも欠かせないお供です。」
と思っている私ですが、今まではそれこそThinkPad(ノート)一筋だったので特に不便も感じていませんでした。しかし、近頃ではi-macなども使うようになり マウスってマウスって… 面倒だし… 不便だし… と思っていました。
やはり、私のような人間にはこういうキーボードが欠かせません。しかも今回発売された新商品は、
「『トラックパッドいらね』『テンキーもあんまりいらね』という声を反映し、従来モデルよりコンパクトになっています。」
ということだそうで、正に同感する私にとって理想的な商品のようです。以前からその存在を知ってましたが不要なトラックパッドやテンキーがついてるがための巨大サイズや値段の高さで購入を踏みとどまっていました。それが、不要なモノが無くなってコンパクトになり、値段も6,800円とリーズナブルになりました。
少しだけ残念だなと思うのが、キーボードの基としたタイプが私の使い続けているB5サイズの大きさではなくT400sということです。ということで、ESCキーとDELETEキーは巨大だということとあと「それぞれのキーが大きいんだろうなぁ」と想像できるところです。私にとってはB5サイズにぎりぎり収まったそれぞれのキー感覚が既に身体に染みついているのでたまに「打ちやすいキーボード」を持つノートパソコンなどさわると広すぎて誤打はするし、手は疲れるのであまり良いとは思えないためです。
B5タイプとほぼ同じ大きさの独立型キーボード(ただしエンドキーとファーストキーは独立させて欲しい)が出れば、完璧に理想のキーボードになりそうです。
それとレビューにあった、「次なる動きはThinkPad本体からのトラックパッド排斥でしょうか」に大いに期待します。
今回は前回のブログにとちょっと書いた富士総合火力演習
に行ってきた感想を写真を交えながら書いていこうと思います。
29日の朝、会場に着いた時は結構曇っていました。
会場はわりと広いのですが、それにも増して観客も多く観覧する席に辿りつくまで、時間がかりかました。
(帰る時はさらに大変でした…炎天下の中、会場から出るのに2時間はかかりました orz)
火力演習は前段と後段の2部構成で曇っていた天気も途中の休み時間には回復していき、
後段はかなり良い天気になりました。
前半は曇っていて、霧のようなもので遠くの火砲のターゲットはほとんど見えなかったり、落下傘など演目によっては中止になったものもあって残念でした。
30日に行った方のブログを読むと、29日は中止だった演目も行われたようでした。
裏之角 -撮影日記ログ置き場- : 富士総合火力演習2009-1-
全体の感想としては、生身の人間は現代兵器の火力に対したらひとたまりもないな、と思いました。
とにかく平和が一番ですね。
あとは写真を貼っておきます。
今日、社内で「開発中にXOOPSのテンプレートを毎回モジュール更新で反映させるのが面倒!!」と言ったら、プログラマ全員からツッコミを受けました。 開発中はthemesの下にファイル置いて開発すると楽だよとか、 自動更新preloadがあるよとか、 コマンドラインでモジュールアップデートするPHPプログラムがあるよとか、 Altsysでそんな機能があるよとか、色々と言われました。
$tplsadmin_autoupdate_dirnames = array('module');
include XOOPS_TRUST_PATH . '/libs/altsys/include/autoupdate_from_module.inc.php';
こんな感じで書いて、全般設定から「themes/ ディレクトリからの自動アップデートを有効にする」をはいにするだけで 特にインストールとか必要なくて楽そうなのでとりあえずAltsysの機能を使ってやってみようと思います。
Services_Photozouは、フォト蔵 ( http://photozou.jp/ ) という写真共有サービスが
提供しているAPIをPHPで使いやすいようにしたライブラリです。
フォト蔵は、無料で毎月1GB-3GBまで写真をアップロードできるので、
写真の保存先としてはかなり優秀なのですが、
自分が写真を保存するだけでなく、他のユーザがクリエイティブコモンズライセンスで登録した写真を検索できるのもメリットです。
今回は、Services_Photozouでクリエイティブコモンズ画像を探すサンプルコードを紹介します。
$photozou = new Services_Photozou($user, $password);
$results = $photozou->photo_list_public(array(
'type' => 'cc',
'license' => 'by',
'limit' => '30',
));
$items = "";
foreach ($results as $photo) {
var_dump($photo);
}
var_dump($items);
?>
綺麗な写真がたくさん公開されているので、素材として利用するのもアリだと思います。