-オープンソースのSNSエンジン OpenPNEプロジェクト-

開発情報

Home > 開発情報

OpenPNE 2.12.x を OpenPNE 3.3.0 にアップグレードする手順を紹介します

12 / 13 日曜日 2009

※本エントリは OpenPNE 3.3.0 リリース直後のアップグレード手順を示したものです。現在のバージョンからの移行手順は、同梱の OpenPNE 2 からのアップグレード手順 をご覧ください。

OpenPNE 開発チームの海老原です。

OpenPNE 2.12.x を先ほどリリースした開発版 OpenPNE 3.3.0 にアップグレードするための手順について紹介しようと思います。(OpenPNE 2.14.x でも試した限りではとりあえず動きそうですが、ちゃんとした対応は 12/16 までお待ちください m(_ _)m )

なお、現時点では MySQL のみの対応となっています。

はじめに

OpenPNE 3.3.0 は開発版であり、不安定な可能性のある変更でも取り入れられます。
そのため、 OpenPNE 3.3.0 の安定性自体の保証がされていません。
また、本記事で紹介する OpenPNE 2.12.x からの移行措置については現時点で海老原の環境 (Debian sid, MySQL 5.1.41, PHP 5.2.11-2) 以外での動作確認をおこなっていません。何か問題があったときにもご自分で対処できる方を除き、運用中の SNS の OpenPNE 2.12.x から OpenPNE 3.3.0 へのアップグレードは控えてください。

動作レポート募集

前述のように、海老原の開発環境でしか動作確認をおこなっていません。
公式 SNS のマスク済みデータ、テスト環境のデータ、海老原の開発用のデータなどの複数のデータでの検証をおこない、発覚したバグについては対応していますが、まだまだ検証が足りていないです。

そこでみなさんには、是非運用中の SNS の「テスト用のデータで」 OpenPNE 3.3.0 へのアップグレードを試していただき、

  • アップグレード時にエラーが出ることなく完了したかどうか
  • アップグレードに掛かった時間(アップグレード完了時に秒単位で出力されます)
  • アップグレード中の使用メモリ量(最大値)(アップグレード完了時に MB 単位で出力されます)
  • アップグレード後の動作確認で確認できたバグ
  • 試してみた環境の情報

などの情報をこのエントリのコメント欄に書いたり、 sns.openpne.jp で海老原にメッセージを送ったり、 Twitter で @co3k 宛に話しかけたり #op3dev ハッシュタグ付きでつぶやくなどの形で報告していただければと思います(もちろんバグなどは redmine.openpne.jp にチケットを作る形でもよいと思います)。

また、もし可能であれば http://github.com/openpne/OpenPNE3 を fork し、修正を pull request していただければ、小躍りしてなるべく早く修正を取り込みます!

みなさんのご協力によって、 OpenPNE 2 からの移行が問題なくおこなえるようになり、 OpenPNE 3 の発展に繋がるのを楽しみにしています。

※ちなみに、海老原の MacBook Pro (Mac OS 10.6, 2.53 GHz Intel Core 2 Duo) の VMWare Fusion 2 で飼っている Debian sid (メモリは 512 MB 割り当て) で検証したところ、公式 SNS のデータコンバートの所要時間は約 5.8 分、コンバート中に PHP に割り当てられたメモリの最大値は 50.50 MB でした。ホストマシン側でバリバリ作業中だったり、 VM での検証だったり公式 SNS のデータ量がそこまで大きくなかったり(1 GB 程度)といろいろ怪しいところのある数値ではありますが、なにかの参考になればと思います。

実際にアップグレードしてみる

それでは、実際にアップグレードしてみます。

動作環境の確認

OpenPNE3 は以下のような環境で動かすことを想定しています(セットアップドキュメントより引用)。

Webサーバ

Apache

  • mod_rewrite を使用可能

PHP

PHP5.2.3 以降

  • PHP の mbstring 拡張モジュールを使用可能
  • PHP の XML 拡張モジュールを使用可能
  • PHP の PCRE 拡張モジュールを使用可能 (UTF-8 サポート)
  • PHP の PDO 拡張モジュールを使用可能 (利用する DBMS のドライバも含む)
  • PHP の JSON 拡張モジュールを使用可能
  • PHP から GD ライブラリを使用可能 (JPEG/GIF/PNG サポート)
  • PHP の mcrypt 拡張モジュールの使用を推奨
  • PHP の APC 拡張モジュールの使用を推奨

データベースサーバ

MySQL4.1以降(5.1 以降を推奨)

なお、今回紹介する手順は、シェル環境が使用できることを想定しています。たとえば SSH でのログインができないレンタルサーバなどではこの手順でアップグレードすることはできませんのでご注意ください。

OpenPNE 3 の設置

まず OpenPNE 3 を入手してください。 ZIP アーカイブをダウンロードして展開してもよいですし、 GitHub からリポジトリを clone してきても構いません。

その後、 OpenPNE3 のソースコード内にある web ディレクトリが、ウェブサーバの公開領域となるように設置してください。

初期設定

アップグレードのために、いくつかの設定をおこなう必要があります。

まず、 config/ProjectConfiguration.class.php.sample を config/ProjectConfiguration.class.php としてコピーします。

$ cp /path/to/OpenPNE3/config/ProjectConfiguration.class.php.sample /path/to/OpenPNE3/config/ProjectConfiguration.class.php

次に、データベースの設定をおこないます。データベースの設定をおこなうには、以下のようなコマンドを実行する必要があります(DSN やユーザ名、パスワードは各自の環境に合わせて変更してください。詳細は ./symfony help configure:database をご覧ください)。
なお、ここで指定するデータベースは必ず OpenPNE2 のデータベースと同じものにしてください。

$ ./symfony configure:database “mysql:host=localhost;dbname=example” username password

その後、 OpenPNE2 の config.php を config/config.OpenPNE2.php としてコピーします。

$ cp /path/to/OpenPNE2/config.php /path/to/OpenPNE3/config/config.OpenPNE2.php

事前準備

設定が終わったら、いくつかコマンドを実行してみます。

まず、プラグインをインストールします(おそらく 3.3.0 時点では「You must provide a “config_dir” option.」というエラーが出るはずですが無視してください。 3.3.1 では直します!)。

$ ./symfony opPlugin:sync

次に、モデルに関するクラスファイルの構築をおこないます。

$ ./symfony doctrine:build —all-classes

次に、各ディレクトリのパーミッションを適切なものに設定します。

$ ./symfony openpne:permission

アップグレード

それではアップグレードをおこないます。以下のコマンドを実行してください。

$ ./symfony openpne:upgrade-from-2

2.14 で追加されたテーブルなどへの対応はおこなっていませんが、 2.14 でも(こちらで確認した限りでは)アップグレードはおこなえます。その場合は以下のコマンドを実行してください。

$ ./symfony openpne:upgrade-from-2 —origin=2.14

コマンドを実行すると、アップグレードが開始され、アップグレードの過程が出力されていきます。

アップグレードはいくつかの手順に分けておこなわれます。たとえば diary という手順を実行する場合、「>> upgrade Processing diary」と表示され、 diary という手順の実行が完了した場合、「>> upgrade Processed diary (x.xx sec)」xと表示されます。エラーが発生した場合は(端末が対応していれば)赤背景でエラーメッセージが表示されます。その場合、その手順でおこなった操作を取り消して、次の手順を実行します。

エラーの原因となるデータが修復されるか、もしくは OpenPNE3 側のバグが修正され、アップグレードが正常におこなえるようになった場合、以下のようにコマンドを実行することで失敗した手順のみを再度実行することができます。

$ ./symfony openpne:upgrade-from-2 —rules=diary

これは複数指定することもでき、たとえば、以下のようにして実行できます。

$ ./symfony openpne:upgrade-from-2 —rules=diary —rules=skin_config

注意事項など

アップグレードに際していくつか注意事項があります。

  • ・3.3.0 の実装では、旧データは (コンバートの都合上 ALTER TABLE をする場面はあるものの) すべて残します。アップグレードを試す場合はディスクに充分な空き容量があることを確認してからおこなってください。最終的には OpenPNE3 側で未実装であるなどの理由がある場合を除き、データは適切なタイミングで削除する予定です。
  • ・デザイン周り、ポータル周り、設定周りはまだ不完全なところが残っていると思います。この辺は単純なアップグレードの範疇を超え(本体側に互換性のための措置を用意する必要がある)たり、特にデザイン部分などは技術的にかなり困難な部分もあり、なかなか難しいところですが、極力対応していきたいと考えているのでフィードバックなどお待ちしています。
  • ・2.12 の以下の機能に関するデータの変換は OpenPNE3 側で未実装なため対応していません
    • ・BIZ 関連機能
    • ・ポイント 関連機能
    • ・アクセスログ関連機能
    • ・お気に入り関連機能 (3.4.0 では対応予定)
    • ・コミュニティ副管理者関連機能 (3.3.1 で対応予定)
    • ・レビュー関連機能
    • ・日記カテゴリ関連機能
    • ・ファイル関連機能
    • ・スケジュール関連機能
    • ・フリーページ関連機能 (3.4.0 では対応予定)
    • ・テンプレート設定関連機能 (3.4.0 では対応予定)
  • ・ポータルクリエイターは「最新コミュニティ書き込み」「最新レビュー」「メンバーアクセスランキング」「コミュニティ盛り上がりランキング」「イベント予定」などのコンテンツが利用できません
  • ・ポータルクリエイターの配色設定やカスタム CSS 設定などが利用できません
  • ・ポータルクリエイターのレイアウト設定は「レイアウト2(4:6)」と同等のもの固定になります
  • ・管理ユーザ(admin_user)は「全権限」が与えられているアカウントのみコンバートします
  • ・ナビメニューの設定はコンバートしません
  • ・OpenPNE2 形式の古い URL にアクセスした場合の措置がまだおこなわれていません
  • ・config.php の設定値を現状まったく見ていません。見るようにします
  • ・OpenPNE2 のナビメニューにないメニュー項目、 OpenPNE3 にない機能のメニュー項目はナビメニューからクリックできないようになっています。対応するにはナビメニューの設定を調節し、 CSS に記述を加えるか、 OpenPNE2 互換スキンを使わないように管理画面から opSkinClassicPlugin を無効にしてください
  • ・まったくテストを書いていません……そろそろ書きはじめます

今後の OpenPNE 3 のメンテナンスと OpenPNE 3.4 について

12 / 03 木曜日 2009

OpenPNE 開発チームの海老原です。

本日 OpenPNE 3.2.0 を安定版としてリリースしましたが、これを機会に、 OpenPNE 3 のメンテナンスについての説明と、 OpenPNE 3.4 についての続報をお知らせします。

バージョン体系について

OpenPNE3 のバージョン体系についてはいままで特に明言をおこなっていませんでしたが、 OpenPNE1, OpenPNE2 と同様のバージョン体系となります。

現在 リリースされている OpenPNE のバージョン番号は 3.2.0 もしくは 3.2.0.1 のように、 3 つ か 4 つの部分に分けられています。(ただし、 4 番目の数字は緊急リリースのために予約されていて、通常は 3 つの番号でバージョンを表します)

このうち、2 番目の数字が奇数であるものを「開発版」、偶数であるものを「安定版」と呼んでいます。機能追加や改善、その他安定性を損なうようなバグ修正は「開発版」のみでおこなわれ、「安定版」では基本的に安定性を損なわない範囲でのバグ修正のみがおこなわれます。

今後の OpenPNE3 のリリースポリシーについて

現時点の OpenPNE 開発チームの大部分のメンバーは OpenPNE 2 の安定版のメンテナンスに注力しています。その一方で OpenPNE 3 自体への機能の追加や安定性の向上などが求められており、 OpenPNE 3 に費やすことのできるリソースが不足していたために、 OpenPNE 2 まででおこなっていたような定期的な間隔でのリリースがおこなえませんでした。

OpenPNE 3 としての安定版 OpenPNE 3.2 を本日リリースし、 OpenPNE 2 からの移行を考慮した各種調整をおこなった OpenPNE 3.4 を 12 月末(予定)にリリースした後は、 OpenPNE 2 と同様に定期的な間隔でのリリースをおこなうなど、 2 系にあわせたリリースポリシーの正常化をおこないます。

具体的なリリースポリシーについては、決まり次第告知します。

OpenPNE 3.0.x について

OpenPNE 3.0.x はバージョン番号の 2 番目の数値が 0 で、偶数ですが、ダウンロードページでは「開発版」とされています。これは初期の OpenPNE 3.0.x は不安定な部分が残されており、機能も不足していたことからの配慮です。

しかしながら OpenPNE 3.2.x の開発を通じて多くのバグが修正されました。これらのバグ修正は OpenPNE 3.0.x にも適用可能なものが存在し、 OpenPNE 3.0.x の安定性を向上させることが期待できます。

そのため、 OpenPNE 3.0.6 以降のどこかのタイミングで、 OpenPNE 3.0.x を安定版としてのスタンスでリリースすることを検討します。他バージョンとどう並行して開発するかや、 OpenPNE 3.0.x のサポート期間をどこまで設けるかなど、検討するべき事項は多く存在しますが、公式 SNS の日記に書き込んだり、 Twitter で #openpne というハッシュタグ付きでつぶやくなどして、ひとまずみなさんの意見を聞かせていただければと思います。

本格的な検討は 12 月末予定の OpenPNE 3.4 のリリース後、なるべく早くおこない、告知する予定です。

OpenPNE 3.4 について

以前告知したとおり、 OpenPNE 3.4 は 12 月末にリリースをおこなう予定です。

この OpenPNE 3.4 には、 2.14.x と比べて「デザイン関連機能で不足しているもの」「プライバシーや権限にかかわる機能で不足しているもの」が実装され、 2 系の安定版 (2.12.x と 2.14.x) からの移行手段が付属します。

現在 OpenPNE 3.2 と平行して OpenPNE 3.4 の開発をおこなっています。 OpenPNE 3.4 の最初の開発版、 OpenPNE 3.3.0 については、開発中の 2 系安定版からの移行手段のアルファ版を同梱し、 2009/12/12 (土) にリリースをおこなう予定です。是非テストにご協力ください。

今後の OpenPNE3 のリリーススケジュール

10 / 31 土曜日 2009

OpenPNE 開発チームの海老原です。

OpenPNE 開発チームは、 OpenPNE 3.2.0 を 2009 年 11 月末に、 OpenPNE 3.4.0 を 2009 年 12 月末にリリースする予定です。

OpenPNE 3.2 は OpenPNE 3 として充分実用に耐える安定版としてリリースをおこないます。使用している ORM の差異を乗り越え、 3.0.x からの移行手段も整えます。

OpenPNE 3.4 は OpenPNE 2 からの移行措置が準備された安定版となります。このバージョンでは、主に、 OpenPNE 3.2 に OpenPNE 2 からの移行手段を追加し、 OpenPNE 2 系からの移行を考慮した各種調整がおこなわれます。

どうしてバージョンを分けるのか

現在 OpenPNE 2 で運用中の SNS で OpenPNE 3 を使えるようにするためには、データコンバータなどによる移行措置を整備する必要があります。ただし OpenPNE 2 と OpenPNE 3 はまったくの別物になっているために、データコンバータを完成させ、 OpenPNE 2 を考慮した形に OpenPNE 3 を調整するなどの作業の量はかなりのものになることが考えられます。

OpenPNE 2 を考慮したこれらの作業は、 OpenPNE 3 を直接成長させるものではありません。つまり OpenPNE プロジェクトが OpenPNE 2 からの移行に関する作業をおこなっている間、OpenPNE 3 単体で見ると何らの改善がされていないように思えることでしょう。

そこで、現時点で OpenPNE 3 を使って運営している 1,200 以上の SNS のために、多機能で高品質な OpnePNE 3 として OpenPNE 3.2 のリリースをおこない、それをベースにして OpenPNE 2 からの移行準備を加速させ、 OpenPNE 3.4 のリリースをおこなうことで、多くのユーザにとってメリットが享受できる状況が作れるのではないかと考えました。

OpenPNE 3.2 までのスケジュール

OpenPNE 3.2 までのスケジュールとしては以下のようなものを考えています。

  • 11/13 (金) 3.1.5 リリース
  • 11/20 (金) 3.2.0 beta1 リリース
  • 11/27 (金) 3.2.0 RC リリース
  • 11/30 (月) 3.2.0 リリース

まとめ

いままでの話をまとめると、以下のようになります。

 OpenPNE 3.2OpenPNE 3.4
リリース予定日11/30 (月)12月末
想定している移行元バージョン3.0, 3.12.12, 2.14, 3.0, 3.1, 3.2, 3.3
対象ユーザOpenPNE 3 を利用しているユーザOpenPNE2, OpenPNE 3 を利用しているユーザ

サポート期間や OpenPNE 3.4 の具体的なリリーススケジュールなど、詳細はまた決まり次第お伝えしていきます。

OpenPNE3 has now Google Group for internationalization

10 / 14 水曜日 2009

For Japanese Speakers (日本語話者の方): 英語圏ユーザに向けて、国際化のための Google Group ができました、というお知らせです。

After I wrote the “Would you like to try internationalizing OpenPNE3?” article, Finjon Kiang advised me to create a google group. I think that his idea is very nice, so I create that: http://groups.google.com/group/op3i18n.

I hope that discuss everything about OpenPNE3 i18n to get true internationalized OpenPNE3.

Would you like to try internationalizing OpenPNE3?

10 / 11 日曜日 2009

For Japanese-speaker (日本語話者の方へ): このエントリは、非日本語圏ユーザに向けた、 OpenPNE3 の国際化に参加してみない? という告知です。

OpenPNE3 has i18n mechanism because that is based on symfony. But OpenPNE3 is short of translation file. And it has Japanese words in many templates.

So if you can’t understand Japanese, using OpenPNE3 is now difficult.

But, OpenPNE3 has many features as social networking platform. Social networking is very important contents that is common to all lands. Essentially, Japanese shouldn’t keep OpenPNE to themselves.

Most of OpenPNE3 developers are now poor in English. They only can use Japanese well. In such a situation, we need your help to true i18n.

If you want to support our i18n, please join the #op3i18n IRC channnel. It is on freenode: irc://irc.freenode.net/op3i18n. I join this channel as “ebihara”. I don’t have any idea, but I want a place which is for discussion about i18n.

Please ask me any question about i18n in the #op3i18n! I usually log in this channel from 10:00 a.m. to 24:00 p.m (GMT+9). But also I usually sleep in :’(

The English version of Setup Guide is now available!

10 / 11 日曜日 2009

For Japanese-speaker (日本語話者の方へ): このエントリは、非日本語圏ユーザに向けた、 OpenPNE3 の英語版セットアップガイドが完成したという告知です

Today, I’ve published English version of Setup Guide for OpenPNE3. Thank you for your waiting a long time.

I hope that it must be a first step of internationalization of OpenPNE project.

You can read it from the following:

Those document will be contained in the next release of OpenPNE3.

Git で今すぐ OpenPNE3 開発に参加してみませんか?

10 / 07 水曜日 2009

開発チームの海老原です。

OpenPNE 開発者メーリングリストの などでご存じの方も多いと多いと思いますが、現在 OpenPNE 3.1.x 系の開発は GitHub と Redmine でおこなわれています。OpenPNE の Redmine は http://redmine.openpne.jp/、 Git レポジトリは http://github.com/openpne/OpenPNE3 です。

移行についての経緯や理由については ML で詳しく述べているのでそちらを参照していただきたいのですが、このエントリでは海老原が一番期待を寄せている、「誰でも気軽に開発に参加できるようになった」ということについてお話ししたいと思います。

どう気軽に参加できるようになったか

今までの OpenPNE 開発では、 SCM として CVS や Subversion が用いられていました。これらの SCM は「集中型」と呼ばれるタイプのもので、「中央の唯一のリポジトリに対してすべての開発者が操作をおこなう」スタイルになっていました。
一方で、今回から OpenPNE3 の開発に採用した Git は「分散型」と呼ばれるタイプのもので、今までの集中型のバージョン管理システムとは考えを異にしています。分散型の SCM のメリットについては各所で言及されているので省略しますが、 OpenPNE 開発において特に魅力的なのは以下のような点でしょうか。

  • ・開発者が個々にレポジトリを持っているため、大規模な変更や実験的な変更などを周りに気を遣わずにおこなうことができる
  • ・開発に貢献するのに特別な権限を得る必要はなく、リポジトリのコピーに対して変更をおこない、原作者にレポジトリのコピーの場所を教えるだけでよい。仮に取り込まれなかったとしても、本流の変更に追従しつつ手直しし続けることができる
  • ・コミットの履歴が個々のリポジトリで閉じるため、公開する前に乱雑なコミットを見直したり、順番を整理したり、無かったことにすることができる
  • ・レポジトリを非公開にし、かつ、本流の変更に追従することができる。また、リポジトリの一部のみを公開し、本流に提供することができる

OpenPNE の場合、自分用に手を入れて使用する例も多く見られますが、そのような場合「秘密にしておきたい変更」「本流に戻して多くの人に使ってもらうことで精度を上げたい変更」が混在していると、これらを区別して OpenPNE プロジェクトに公開するのは困難な作業でした。
Git を使うことで、自分用に手を入れたリポジトリに公開用のブランチを切り、公開したい変更の履歴のみを抽出し、提供するということが楽におこなえるようになります。

また、 OpenPNE では Git リポジトリのホスティングサービスである GitHub を利用しています。 GitHub ではワンクリックで自分用の OpenPNE3 の開発リポジトリを作ることができます。「OpenPNE3 の開発に参加できるかわからない」という方も、まずは試しに fork し、自分用の OpenPNE3 で SNS を立ててみてはどうでしょうか。

実際に開発に参加してみる

実際にどうすればいいかについては、川原君が素晴らしいチュートリアルを書いているので、そちらを参照してください。

OpenPNE 3.1.3 以降用に OpenPNE Web API のドキュメントを作成しました

10 / 05 月曜日 2009

開発チームの海老原です。

以前お知らせしたように、 OpenPNE 3.1.x では、他アプリケーションとの連携のために OpenPNE Web API の強化がおこなわれています。

OpenPNE Web API はまだまだ改善の余地が多く残されている機能ですが、現状でも実用には耐えるものになっているため、 OpenPNE 3.1.3 以降に同梱された opWebAPIPlugin を対象としたドキュメントを執筆しました。

以下の URL から閲覧できるようにしたので、是非ご覧ください。

OpenPNE Web API では、かなり柔軟に SNS 内のデータを扱うことができるようになっています。このドキュメントを活用して、 SNS と強力に連携した面白い外部アプリケーション作りにチャレンジしてみてください!

今週のOpenPNE#21 (2009/09/13 ~ 2009/09/19)

09 / 20 日曜日 2009

OpenPNE 開発チームのきわです。

先週はお休みしてしまい申し訳ありません><。
先週~今週は、プラグインのリリースやOpenPNE2のリリース延期などがありました。

開発状況

OpenPNE3開発状況

先週から今週はプラグインが2つリリースされました!
opOpenSocialPlugin0.9.0 とopAshiatoPlugin0.9.0 がリリースされ、OpenPNE3.1でも動かせるようになりました。川原くん、秋山さん、お疲れ様です!
この2つのプラグインはOpenPNE3のデモSNSでも近々利用できるようになる予定です。

opOpenSocialPlugin 0.9.0リリースのお知らせ

/archives/3480/

opAshiatoPlugin 0.9.0 リリースのお知らせ

/archives/3501/

OpenPNE3 のドキュメント執筆も進んでいます。今週はOpenPNE Web APIについてのドキュメントの日本語版が完成しました。
ブログでもOpenPNE3の機能紹介の投稿があるので、是非ご覧下さい!先週から今週でOpenID・OAuthの紹介がおこなわれています。

OpenPNE Web API 仕様書

http://trac.openpne.jp/browser/OpenPNE3/doc/branches/develop/OpenPNEWebAPI/ja

OpenPNE 3.1 機能紹介 #2 - OpenID

/archives/3445/

OpenPNE 3.1 機能紹介 #3 - OAuth

/archives/3527/

OpenPNE2→OpenPNE3 へのコンバータは現在テスト段階。今週は公式SNSのデータを使ったテストが行われました。コンバートに非常に時間がかかることや、メモリの消費が凄いことから、まだリリースはむずかしいようです。
開発者の深町さんが進捗状況をブログに投稿しているのでご覧下さい。

3系へのDBコンバータ開発進捗と課題

/archives/3557/

3系へのDBコンバータ 開発用ブランチ

http://trac.openpne.jp/browser/OpenPNE3/branches/fukamachi/db-convert-from-2.x/

先週からopDiaryPlugin も動きをみせています。文字装飾対応や日記検索機能の実装などが行われているようです。

opDiaryPlugin - GitHub

http://github.com/balibali/opDiaryPlugin

twitterは相変わらず開発者が、開発中の呟きを頻繁にポストしています。
皆さんも気兼ねなく#op3devで投稿してみてください!疑問・質問でもOKです。

twitter OpenPNE3開発に関する呟き

http://search.twitter.com/search?q=%23op3dev

発言された内容は連絡なしに「今週のOpenPNE」に転載させていただく可能性があります。「今週のOpenPNE」に掲載したくない発言は #x-wpne のタグを追加してください。

OpenPNE2開発状況

OpenPNE2.14.2 / 2.12.5 はおおむね修正は完了しました!
ですが、動作テストが遅れているためリリースは予定より20日ほど遅れることになりました。。。
2009/10/8にリリースされる予定です。

OpenPNE2.14.2 開発用レポート

http://trac.openpne.jp/report/154

OpenPNE2.12.15 開発用レポート

http://trac.openpne.jp/report/155

OpenPNE2.14.2 と OpenPNE2.12.15のリリース延期のお知らせ

/archives/3544/

ハイライト

twitter 発言ハイライト(#op3dev)

DBコンバータ

  • nitro_idiot: メモリの主な増加要因はisExist() (とisSelectOne()) にあるみたいだ。この2つをインラインで書き換えるといいかもしれない
  • nitro_idiot: 出社中にコンバート終了。公式コミュニティのDBコンバートで12時間くらいかかった。たぶん半分以上があしあとの変換だけど。
  • nitro_idiot: アイコンがちゃんと表示されないなぁ。Binデータがちゃんと入ってないのかな
  • nitro_idiot: DBコンバータ不具合。member_profileでcheckbox式のもののNestedSetを考慮していない
  • nitro_idiot: バグを直すとループが増えてメモリ不足になった Xp どうしよう

opDiaryPlugin

  • balibali:連休中に opDiaryPlugin に付け足すべき機能募集
    • kiwpon:@balibali メール投稿・投稿時の確認画面・認証無しで見られる日記
    • kiiro:@balibali 携帯のメール投稿(添付画像対応)と確認画面と認証なしで日記見れること

その他

  • urab: 画像書き込み管理機能をこっそり追加した

  • balibali: mobile_frontend のテストで UA チェックに引っかかってるのは opMobileUserAgent を Singleton で使い回しているから。中の Instance リセットしたら動いたけど、メソッド追加していいかなあ

  • balibali: opMobileUserAgent::resetInstance() GitHubにコミットした http://github.com/balibali/OpenPNE/commit/6481980a626db171bf29c84958826d95aef4fb41 Hook 設定するの忘れてた

  • ooharabucyou: opProfileExport::get~($key) でのキー名は自動で取得できたほうがいい気がする

  • co3k: ドキュメントとかその辺をやるウィーク(僕の中で)なのですが、あまりに開発しないのは腕がなまってしまうので、ちょこちょこと SNS 名称変更機能を作ってます。 国際化まわりが厄介でしたが設定の仕組みができあがったので、あとはそれに各文章を対応させるだけ!

  • co3k: OpenPNE3 の trunk が読みに行く Doctrine 1.2 を、現在の最新のものを参照するようにしました。なにか問題などあればレポートよろしくお願いします。

  • nitro_idiot:MemberProfileTable::getProfileListByMemberId()で、return文のあとに文が続いてる。内容見ると、どうやらPropel時の残骸らしい。これって消していいよね? 消しますよ?

  • hiroyaxxx:PNE3はPHP5.3非対応なのに今更気が付いた、PHP5.2に下げたら画像アップロードが正常になった、軽くショボン。将来的にはどうなんだろう?

コミュニティでの話題ハイライト

  • [公式SNSトピック] 携帯から画像がアップロードできない
  • [公式SNSトピック] カスタマイズ機能のSQLでエラーがでる
  • [公式SNS日記] 公式SNSをIE8で閲覧するとレイアウトが崩れる
  • [公式SNSトピック] 2.14.1へのアップグレードに失敗する

今週追加された機能ハイライト

OpenPNE3 - core

今週追加された機能はありません。

OpenPNE3 - plugins

今週追加された機能はありません

今週修正したバグハイライト

今週修正されたバグはありません。

OpenPNE2

  • #4178:FireFox3.5で誕生日バナーの右側に余白ができる(imamura623)

今週報告されたバグハイライト

OpenPNE3

  • #4320:3.1.2 画像アップロードができない(OpenPNE公式SNS)
  • #4321:3.1.2でproxy経由でのプラグイン所得ができない(OpenPNE公式SNS)

OpenPNE2

  • #4322:イベント参加者一覧のニックネームが違う(boze)

3系へのDBコンバータ開発進捗と課題

09 / 18 金曜日 2009

OpenPNE開発チームの深町です。

 いよいよ公式SNSのOpenPNE3化(9月下旬予定)も迫ってきました。

 その3化に必要な2系から3系へのDBコンバータの開発状況をご報告します。

今どんな感じ?

 開発自体は9月8日に(バグの実装を含めて)一段落し、その後はずっと動作テストと修正を続けてきました。

DBコンバータのログ

 上の画像は実際に僕の環境でデータをコンバートした際のログです。一通りのコンバートを終えるまでに大体12時間弱かかりました。データ量が膨大という理由もありますが、これはまだ改善の必要があるようです。

なんでまだOpenPNE3化しないの?

「もう動くんならすぐOpenPNE3化しちゃいなよ」
「いや、まだそういうわけには…」

 最近では他のメンバからもせっつかれてるので、現状の課題も明示しておきます。

不具合

 コンバート後のデータの表示で以下の不具合がありました。

  • メンバのプロフィールが表示されない
  • メンバとコミュニティのアイコンが表示されない

未実装

 また、事情があって変換自体が後回しされてる機能もあります。

  • SNSの設定(SNS名など)の移行
  • メッセージ機能 (opMessagePluginのDoctrine化が遅れているため)

 3化はこれらの修正(実装)とテスト後に行われると思います。

うちのSNSもOpenPNE3化したいんだけど

 悪いことは言わないのでまだやめたほうがいいです※補足。

 その理由は以下。

  • メモリをよく食べる (公式SNSではメモリ1GB食べた)
  • 時間がかかる (公式SNSでは12時間弱)
  • バグが満載かもしれない
  • まだ対応していない機能がある

 特にパフォーマンス面は今までも改善を進めてきましたが、まだまだ根本的な改善にはいたっていません(くそーPHPめーDoctrineめー)。

 公式SNSのOpenPNE3化後、一般SNS向けに修正とテストを行ったのちにtrunkにマージしてリリースされると思うので、それまでお待ちください。ただし予定は未定です。

※補足(19:18)
はてブで「これはひどい」タグがついているので補足します。

これはもちろん既存のOpenPNE2のSNSを、当DBコンバータを使ってOpenPNE3化することに関してですよ。

ページの先頭に戻る