So-net SNSのサービス終了で考えた。

So-net SNSサービス終了との発表がありました。So-net SNSは、OpenPNEの大きな事例として注目していました。また、So-net SNSで運営しているSNSに参加していました。

終了の理由として、収益と運営にかかるコストのバランス、ユーザー数の伸びとのことですが、無料で広告だけでサービスするのは辛いものがあります。

OpenPNE自体は、PHPとMySQLが動くサーバーがあれば簡単に動作するので、私のほうに連絡いただければ設定はできますが、サーバー設定料と使用料はいただきます。OpenPNEのソースコードを読み込んでいますので、カスタマイズも可能です(ちょっと宣伝モードです)。

今は、無料のサービスはいろいろありますが、いつサービスを停止するのがわかりません。以前は、写真のアルバムサービスをどこにするかを考えていましたが、継続してサービスしてくれることが大事です。

たとえば、FlickrとかPicasaウェブアルバムとか、写真ファイルを預かってくれるサービスがありますが、永遠にサービスをやってくれるとは限りません。預けて手元のデータを消してしまうと、突然のサービス停止なんてなると痛い目を会うことになりそうです。やはり、クラウドコンピューティングは永続的ではありません。バックアップを手元に残す必要はありそうです。

OpenPNEの案件を別の会社に引き継ぎ

OpenPNEで開発していたSNSのサイトを、他の会社に引き継ぎました。

このサイトは、OpenPNEの上で運用したと言えど、とてもカスタマイズされています。はたして、引き継いだ会社は面倒を見ることができるのでしょうか? まあ、変更が大きいといっても、OpenPNEの構成に乗っ取っていますので、OpenPNEの内部を理解されていれば難しくはないと思いますが。後は引き継いだ会社の実力次第です。

OpenPNEで大きな画像ファイルを格納する。

OpenPNEでSNSを運用しているお客様の要望で、デジタルカメラで撮った画像ファイルを何も加工せずにアップしたいとのこと。単純にOpenPNEの画像ファイルのサイズ容量を増やすだけではできなかった。

参考にしたのは、以下のサイト。

http://bestpc.s153.xrea.com/pukiwiki/pukiwiki.php?%C5%BA%C9%D5%A5%D5%A5%A1%A5%A4%A5%EB%A4%CE%CD%C6%CE%CC

つまり、OpenPNEの設定以外に、PHPのphp.iniの設定と、MySQLの設定もしなければいけないとのこと。PHPとMySQLの設定はこちらではできないので、現在サーバー管理者に依頼をしている。

OpenPNEの画像の格納処理のソースを読んでいると、画像データはそのままバイナリではなくBASE64でエンコードしてからテーブルに格納しているのですね。

書籍購入:OpenPNEオフィシャルガイドブック 手嶋屋監修

とうとう出たといったような、OpenPNE開発元の手嶋屋監修のガイドブック。いままでは、インストール本が多かったなか、突っ込んだ内容に期待。

 OpenPNEオフィシャルガイドブック

OpenPNE拡張開発 - 悲しい結末

現在開発中のOpenPNEのアプリケーションの拡張案件。作業していた中の悲しい結末。

今回の拡張は、3,500件のデータをOpenPNE内のテーブルにインポートするもの。このデータは、追加・更新・削除のデータを含んでいて、レコードごとにそれぞれの処理を行います。つまり、バッチ処理です。もちろんデータの整合性チェックを行って、外部のWebサービスの連携(これがとても重い!)も行います。

しかし、100件辺りで、Apacheを異常終了してしまう。ローカルPC上でXAMPPでテストしているのが問題? でも、本番で動かなくなるのも問題ですので。ローカルPCで解決することに。

まずは、SQLの見直し、なるべくシンプルにということでSQLを書き直しましたが、解決にならず。

メモリの使い方が悪いのかと重い、処理を見直してきちんとメモリ解放するようにしました。しかし、これも解決にならず。

インポート結果の出力を制限するようにしましたが、こちらも解決にならず。

いよいよ、最後の手段。最初はDBへのアクセスは、まともにOpenPNEのライブラリを使っていました。これをMySQLの低レベルの関数でアクセスするように変更。つまり、画面周りだけをOpenPNEで記述して、あとはガリガリPHPのMySQL関数で書きます。PEARも使わずに。

これで、問題なく動くようになりました。結局は最初の2週間の成果はゴミ箱へ。早々に諦めて次の手段に移ることも大事です。

このページは xfy Blog Editor を利用して作成されました。

本日からOpenPNEの改造案件第3フェーズが始まる。

ようやくですが、本日から今まで対応していたOpenPNEの改造案件の第3フェーズが始まります。最初の要求仕様がまとまっていなかったものをどうやって立て直すかが鍵です。要求仕様を作成した人間が、既に辞めているというのが、この案件のすごいところ。

ただし、プロジェクトの風通しがよくなったので(理由はいろいろ)、以前よりはやりやすくなったことは確かかもしれません。あとは、プロジェクトメンバーの気が重要になります。丁寧に、慎重に・・・。

このページは xfy Blog Editor を利用して作成されました。

OpnePNEの改造は実は簡単なのです。

現在、OpenPNEを使った専門家向けのSNSサイトを開発しています。簡単に改造点を言うと、SNS部分はほぼOpenPNEの機能を使って、その上位に専門家が所属する団体でグルーピングするとものです。

OpenPNEのような大きなオープンソースのシステムの改造は普通に考えると難しいと思いますが、OpenPNEに限っていうとそんなに難しくはありません。

これは、OpenPNE独自のフレームワーク(こう言ってしまっていいのでしょうね)がシンプルな考え方(難しいことができないというのではなくて)に基づいているので、とても見通しがよいからです。

どのページがそのプログラムとテンプレートで構成されているかというのは、ページのパラメータをみれば一目瞭然です。ページの出力とその後の処理をきちんと分けられているので、フォーム->処理->結果表示という一般のWebアプリケーションの自然なフローが、ルールに乗っ取ったファイルの命名方法になっています。

同じオープンソースでもXOOPSとは大きな違い。XOOPSのモジュール改造はとても苦労します。

もし、OpenPNEを使ったサイトをお考えの方がいらっしゃったらご連絡ください。(最後は宣伝モードでした・・・。)

このページは xfy Blog Editor を利用して作成されました。