最新ブログ
opWikiPlugin を作ってみよう #1
06 / 12 金曜日 2009
OpenPNE開発チームの海老原です。
不定期ではありますが、 OpenPNE 3.2.x に向けたプラグインの作成チュートリアルを連載していこうと思います。
はじめに
OpenPNE 3 向けのプラグイン作成チュートリアルには、川原君の「プラグインの作り方」シリーズが存在しますが、これは OpenPNE 3 開発の初期の段階から執筆されたもので、いまでは内容が古くなってしまっています。プラグインのリリースをどうおこなえばよいかといったようなプログラミング以外に関するトピックもなく、このチュートリアルだけでプラグイン作成の全貌を把握することは難しくなってきたといえます。
また、現在開発を進めている OpenPNE 3.2 系は、ORM の Doctrine 化にはじまり、数多くの大きな機能改善がおこなわれます(その様子は開発版である OpenPNE 3.1.x を追うことで知ることができます)。
これらの改善は OpenPNE 3.0 ではおこなえなかったことや不充分だったことを実現するためのものであり、非常に意義のあることです。
しかし、開発者が自分自身でチェンジログからそれぞれの変更を充分に理解し、自作のプラグインに反映させていくのは極めて大変な作業です。
これらの状況を解決することが、このチュートリアルの目的です。つまり読者は、
- ・最新の OpenPNE に向けたプラグイン作成方法を知ることができる
- ・プラグイン開発工程全体の流れを知ることができる
- ・OpenPNE3.2 の新機能や変更点を知ることができる
というメリットを享受することができます。
作成するプラグイン
OpenPNE 3 に Wiki 機能を提供するためのプラグイン、「opWikiPlugin」を作ることを考えます。
このプラグインでは SNS メンバー間での記事の共同編集を可能にします。 OpenPNE3、 symfony、 Doctrine がもたらす豊富な機能をフル活用し、 記事の変更履歴の記録、 SNS 外への記事の公開や管理機能などの作成も視野に入れた、実用的なプラグインに仕上げていきます。
このプラグインのソースコードは GitHub 上で管理されており、
http://github.com/ebihara/opWikiPlugin/tree/master
から入手することが可能です。とはいっても、このエントリの公開時点では README しかファイルが存在しません。
ソースコードは、このチュートリアルの連載にあわせて更新がおこなわれていく予定です。
開発環境の構築
OpenPNE 3 向けのプラグインを作成するためには、 OpenPNE 3 が動作する環境を用意する必要があります。
OpenPNE 3 の動作要件を知るには、OpenPNE3.1 セットアップ手順を確認するのが手っ取り早いです。要件を満たしている場合は、手順通りにセットアップするだけで開発環境が手に入ります。
要件を満たしていない場合はミドルウェアなどのセットアップをおこなっていく必要があるのですが、そのための素晴らしいチュートリアルが、先日、小川さんによって公開されました。この手順に従うことで CentOS 5 上で OpenPNE 3 を動かすことができますし、他のディストリビューションでも充分に応用が利くことでしょう。
※ただ個人的には、開発用環境としては Debian sid (不安定版) の利用をおすすめします。比較的新しいバージョンのミドルウェアや開発に有用な各種ツール群を容易に入手することができるからです。僕と同じく Debian を常用している小川さんが、近々、 Debian で OpenPNE3 の開発環境を構築するためのチュートリアルを公開するという噂を耳にしたので、こちらもお楽しみに!
開発環境上で OpenPNE3 のユーザ画面、管理画面が動作することが確認できれば準備完了です。さっそくプラグイン作成の作業に取りかかりましょう。
プラグイン生成コマンドを実行する
セットアップした OpenPNE3 の一番上のディレクトリ(プロジェクトルート)上で、以下のコマンドを実行します。

これだけで、プラグインに必要なディレクトリ群がすべて生成されたことになります。
plugins 以下に作られた opWikiPlugin ディレクトリを覗くことでどのようなディレクトリが生成されているかがわかると思います。
このプラグインにアクションファイルなどを追加し、ブラウザからアクセスできることを確認するのもよいのですが、このチュートリアルではどのような機能を作るべきかきちんと計画してから実施することにします。
しかしせっかくプラグインを作ると決めたのですから、なにか「始めの一歩」のようなものがほしいはずです。
ということで、早速 GitHub 上にプラグインを公開してみることにしましょう。
GitHubに登録
まず、 GitHub のユーザアカウントを登録します。 “Sign up now!” ボタンから登録作業をおこなってください。

プロジェクトの作成が完了すると、これからおこなうべき手順が示されたページに遷移します。

基本的な手順はこのエントリで示しますが、 Global setup の手順についてはこのページに記載されている通りに実施して下さい。

first commit
まず、プラグインのソースコードを git の管理下に置きます。
プラグインのディレクトリ(plugins/opWikiPlugin)まで移動し、そのディレクトリ上から git init コマンドを実行してください。

早速コミットを……といいたいところなのですが、 git は空ディレクトリをコミットの対象としないため、現時点ではコミットすべき対象がないことになってしまっています。
そこで、 README ファイルを作成し、 git add コマンドでコミット対象に加えてください。

これでコミットの準備は整いました。
さっそく git commit コマンドでコミットしましょう。

ただし、これだけでは、ローカルの git レポジトリにコミットがおこなわれたに過ぎません。
この変更を GitHub にも反映させるためには、 GitHub のレポジトリを関連づけた上で、 git push コマンドで変更をリモートの GitHub に伝える必要があります。

ここまで完了したら、実際に GitHub のページにブラウザでアクセスしましょう。
これで準備は整いました。
次回は、プラグインが扱う各種画面のモックアップを作っていこうと思います。
OpenPNE3 の直近の開発ロードマップの最新版を作成しました
06 / 08 月曜日 2009
OpenPNE 開発チームの海老原です。
以前「OpenPNE 3 の直近の開発ロードマップを作成しました」にて計画中の開発ロードマップを公開しましたが、実際はその通りに進んではおらず、かなり遅れ気味の進捗となってしまっています。
そこで、現状を鑑みてロードマップの引き直しをおこないました(ついでに「いつからいつまでに何をするか」ということがわかりやすいように図の形式を変更しました)。
より多くの方々に OpenPNE 3 を使っていただけるよう、開発チーム一同、この計画に従って努力していきます。
みなさんからのご声援、ご協力お待ちしています!
※OpenPNE3 の開発への参加に興味がある方は、こちらのエントリをご覧ください。一緒に OpenPNE 3 を盛り上げていきましょう!
OpenPNE2.14beta2リリースのお知らせ
06 / 08 月曜日 2009
OpenPNE開発チームの今村です。
本日2009年6月8日、開発版OpenPNE2.14beta2をリリースしました。
2.14beta2がリリースになったばかりですが2009/06/13(土)にはRC1がリリース予定で、今後大きな問題が無ければ2009/06/20(土)にOpenPNE2.14.0のリリースとなります。
2.14beta2の変更点
本来beta版リリースではDBの変更は実施しませんが、重要なSQLの変更が必要だったため、アップデートSQLを追加いたしました。その他の変更点はメンバーの絞り込み機能の強化、統計情報のダウンロード機能の修正など、管理者向けの機能の強化が中心となっております。大きな変更はありませんが、今後の運営などにとても役立つと思いますのでぜひ使ってみてください。
提供者の皆さん、ありがとうございます!
主な機能改善点
SQLの変更
2.14beta1で追加された、メンバー検索で自分を検索対象にしない設定機能に含まれていたSQLがレイヤー設定に問題があるとのご指摘を頂き、今回修正をいたしました。これにより今回beta版ではありますがアップデートSQLの追加がありますのでご注意ください。toranekoさんご指摘ありがとうございました。
日記コメント停止状態でもコメント出来てしまう不具合の修正(BWさん提供)
2.13.8にて実装された、日記コメント停止機能に問題がありましたので今回修正いたしました。
この機能はユーザーが各日記のコメントの停止を選択できる機能です。日記の作成時、または編集時にコメントの可否を選択することができます。スパム対策や日記に対するリアクションを指定したい時(例えば日記でトピックの宣伝をし、そのトピックに書き込んでもらいたい場合)などに便利かと思います。
バグ修正
- ・CSV形式でダウンロードした統計情報に合計データの表示不具合の修正
- ・統計情報のDL機能でカテゴリ別画像表示ページの不具合の修正
- ・統計情報のDL機能で登録日別メンバー数表示(日次集計)の不具合の修正
- ・管理画面絞り込んだ条件でメール・メッセージを一括送信する機能の不具合の修正
- ・メッセージを削除してもマイホームの未読メッセージ件数表示の修正
- ・日記コメント停止状態でもコメントできるバグの修正
- ・管理画面でメンバーリストから最終ログイン,生年月日などの項目で絞り込んでメッセージ/メールを一括送信しようとすると、送信先が正しく表示されない。
その他機能の改善や詳細は開発版改訂履歴をご覧下さい
2.14beta1からのバージョンアップ時の注意点
Update SQL 追加
- ・update16-for2.14beta2-alter-c_member-drop-is_search_rdresult.sql
config.php 変更
変更無し
ダウンロード
【実運用中のSNSで開発版を利用する場合は、まず充分な動作テストを行うことをおすすめします】
不具合を発見した場合は
- ・公式SNSの日記・コミュニティで報告
- ・trac.openpne.jpにてバグチケット作成(trac.openpne.jpのアカウントが必要です)
などの方法で報告することが可能です。
公式SNSでの報告、trac.openpne.jpのアカウント取得は公式SNSに参加する必要があります。
* ChangeLog
http://trac.openpne.jp/wiki/ChangeLog\_develop
* ダウンロード
/pne-downloads
次回のOpenPNE2開発版リリース
次のOpenPNE開発版2.14RC1のリリースは 2009/6/13(土) になります。
OpenPNE 3.1 機能紹介 #1 - WebAPI
06 / 07 日曜日 2009
OpenPNE 開発チームの海老原です。
現在 OpenPNE 3.1 には、 OpenPNE 3.2 に向けて機能追加・改善が積極的におこなわれています。
そこで、 OpenPNE 3.1 に追加された、または追加される予定の機能について、不定期ではありますが紹介していこうと思います。
栄えある第一回目は、 WebAPI 機能です。
WebAPI 機能について
WebAPI 機能を利用することで、日記などのコンテンツに対して取得、追加、更新、削除といった操作をおこなうことができます。
OpenPNE 3 における WebAPI は拙作の opWebAPIPlugin によって提供されています。このプラグインは OpenPNE 3.0 から存在していましたが、実験的なものであり、機能としてはかなり貧弱でした。
「OpenPNE 3.1.0 リリースのお知らせ」にて宣言したように、 OpenPNE 3.1.1 は「連携制の強化」を目標に現在開発が進められています。そこで opWebAPIPlugin の刷新をはかり、 OpenPNE 3 と他アプリケーションとの連携による可能性を広げていければ、と考えています。
利用できる WebAPI
開発中の opWebAPIPlugin では、以下のような API が供給されます。
- メンバー
- メンバー一覧の取得(登録日やニックネームなどによる絞り込み可)
- 個別のメンバー情報の取得
- コミュニティ
- コミュニティ一覧の取得(登録日やコミュニティ名などによる絞り込み可)
- 個別のコミュニティ情報の取得
- 新規コミュニティの追加
- コミュニティの編集
- コミュニティの削除
- コミュニティメンバー
- コミュニティメンバー一覧の取得(登録日などによる絞り込み可)
- コミュニティトピック
- コミュニティトピック一覧の取得(登録日やトピック名などによる絞り込み可)
- 個別のコミュニティトピック情報の取得
- 新規コミュニティトピックの追加
- コミュニティトピックの編集
- コミュニティトピックの削除
- コミュニティトピックコメント
- コミュニティトピックコメント一覧の取得(登録日やコメント本文などによる絞り込み可)
- 個別のコミュニティトピックコメント情報の取得
- 新規コミュニティトピックコメントの追加
- コミュニティトピックコメントの削除
- コミュニティイベント
- コミュニティイベント一覧の取得(登録日やイベント名などによる絞り込み可)
- 個別のコミュニティイベント情報の取得
- 新規コミュニティイベントの追加
- コミュニティイベントの編集
- コミュニティイベントの削除
- コミュニティイベントコメント
- コミュニティイベントコメント一覧の取得(登録日やコメント本文などによる絞り込み可)
- 個別のコミュニティイベントコメント情報の取得
- 新規コミュニティイベントコメントの追加
- コミュニティイベントコメントの削除
- 日記
- 日記一覧の取得(登録日やタイトルなどによる絞り込み可)
- 個別の日記情報の取得
- 新規日記の追加
- 日記の編集
- 日記の削除
- 日記コメント
- 日記コメント一覧の取得(登録日やコメント本文などによる絞り込み可)
- 個別の日記コメント情報の取得
- 新規日記コメントの追加
- 日記コメントの削除
利用方法
WebAPI 機能は Google Data API (以下、 GData)に準拠するように作られています。この GData の根底にあるのは Atom Publishing Protocol (以下、 AtomPub)というプロトコルです。つまりこれらのプロトコルに関する知識があれば、簡単に WebAPI を利用することができます。
開発中ソースコードの入手
opWebAPIPlugin は GitHub 上で開発がおこなわれています。
http://github.com/ebihara/opWebAPIPlugin/tree/master
現時点ではラフなコードになっているのでかなり扱いづらいとは思いますが、ご興味がある方は是非 fork してみてください!
opBlog・opFavorite・opRanking・opIntroFriend プラグイン 0.9.0 リリースのお知らせ
06 / 07 日曜日 2009
OpenPNE開発チームの長澤です。
OpenPNE3の以下の4つのプラグインのバージョン 0.9.0 をリリースしました。
- opBlogPlugin - ブログ機能プラグイン
- opFavoritePlugin - お気に入り機能プラグイン
- opRankingPlugin - ランキング機能プラグイン
- opIntroFriendPlugin - 紹介文機能プラグイン
今回のバージョンアップはいずれもDoctrine対応による変更がメインですが、
opIntroFriendPlugin と opFavoritePluginについては以下のカラム名の変更も行なっています。
- member_id ⇒ member_id_from
- target_member_id ⇒ member_id_to
opRankingPlugin に関してですが、現状ナビのランキングのリンク先がアクセス数No1のランキングとなっているため、
アクセス数を取得するために利用している opAshiatoPlugin がインストールされていないとリンク先が表示できない状態となっています。
この記事の時点でDoctrine対応した opAshiatoPlugin はリリースされていませんので
opAshiatoPlugin のインストールなしで opRankingPlugin を使用する場合ランキングのナビのリンク先を変更する必要があります。
ランキングナビのリンク先を変更
下記のインストール手順でプラグインをインストール後、
インストール手順にある以下のコマンドを実行する前に変更操作を行なってください。
- 新規インストールの場合 - $ php symfony openpne:install
- OpenPNE 3.1 インストール済みの場合 - $ php symfony doctrine:data-load
変更方法
修正対象のファイルパス
#OpenPNE 3.1のディレクトリ#/plugins/opRankingPlugin/data/fixtures/navigation.yml
変更箇所
4行目と8行目にある access を _friend_に書き換えることで、
ナビのランキングのリンク先がフレンド数No1に変更され、ランキングが表示されるようになります。
インストール手順
現行の最新バージョン OpenPNE-3.1.0 では
上記4つのプラグインについて、いずれもデフォルトプラグインとしてバンドルされいないため、
以下の手順でインストールする必要があります。
OpenPNE 3.1 新規インストールの場合
OpenPNE 3.1.x のインストール手順で、openpne:install タスクを実行する前に 各プラグイン のインストールを実行してください。
いずれのプラグインも beta バージョンとしてリリースしていますので、
プラグインをインストールする際は —stability=beta を付加してください。
$ php symfony opPlugin:install --stability=beta opBlogPlugin
$ php symfony opPlugin:install --stability=beta opFavoritePlugin
$ php symfony opPlugin:install --stability=beta opRankingPlugin
$ php symfony opPlugin:install --stability=beta opIntroFriendPlugin
$ php symfony opPlugin:sync
$ php symfony openpne:install
OpenPNE 3.1 インストール済みの場合
OpenPNE 3.1.x を既にインストール済みの場合は、
既存データを一旦バックアップしてから各プラグインを導入後にデータの復元を行うという手順になります。
(データリセットしてもよい場合は、上記「OpenPNE 3.1 新規インストールの場合」の手順を参照ください)
$ php symfony doctrine:data-dump /path/to/backup/data.yml
$ php symfony opPlugin:install --stability=beta opBlogPlugin
$ php symfony opPlugin:install --stability=beta opFavoritePlugin
$ php symfony opPlugin:install --stability=beta opRankingPlugin
$ php symfony opPlugin:install --stability=beta opIntroFriendPlugin
$ php symfony doctrine:build-all-reload
$ php symfony doctrine:data-load --dir=/path/to/backup --dir=plugins/opBlogPlugin/data/fixtures --dir=plugins/opFavoritePlugin/data/fixtures --dir=plugins/opRankingPlugin/data/fixtures --dir=plugins/opIntroFriendPlugin/data/fixtures
$ php symfony cc
※「/path/to/backup」の部分にはバックアップ先のディレクトリを自由に指定できます
OpenPNE3の開発協力者を募集しています
06 / 03 水曜日 2009
OpenPNE開発チームのきわです。
OpenPNEプロジェクトは、OpenPNE3の開発に協力してくださる方を大募集しています!
日々成長し続けるOpenPNE3を、皆さんで育てていきませんか?
募集内容
OpenPNEプロジェクトは以下のような協力を求めています。
プラグイン開発
OpenPNE3 には、 OpenPNE2 には存在した以下の機能を実装するためのプラグインが不足しています。
- ・フォトアルバム機能
- ・ポイント・ランク機能
- ・ファイルアップロード機能
- ・フリーページ機能
上に掲載された機能を実現するプラグインを作成していただくと、 OpenPNE への同梱がおこなわれるので、広く周知され、広く利用されることになります。
既に、メッセージ機能を実現するための opMessagePlugin が株式会社ジョブウェブの高橋様から、あしあと機能を実現するための opAshiatoPlugin が株式会社アイシーズ様から提供されています。
いままでの OpenPNE の機能に不満を感じている方、独自プラグインを開発するにあたって小手調べをしたい方、この機会に是非チャレンジしていきませんか?
OpenSocial アプリケーションの開発
OpenPNE3 では独自のプラグイン拡張機構以外にも、 OpenSocial API を用いてアプリケーション開発をおこなうことができます。
OpenSocial は Google が提唱しているソーシャルアプリケーション開発の為の共通APIで、最近では mixi の「mixi アプリ」や goo ホームの「ガジェット」などもこの OpenSocial API をサポートしています。そのため、 OpenPNE に限らず様々な SNS で利用されるソーシャルアプリケーションを開発することも可能になります。
OpenPNE3 では、株式会社スパイスボックス様が開発された OpenSocial アプリケーションである「PayPal ボタン」が同梱されています。
http://www.tejimaya.com/press/paypal20090212
国際化翻訳ファイルの作成
OpenPNE3を世界中で利用してもらうため、さまざまな言語の言語ファイルを募集しています。
自信のある言語でOpenPNE3の翻訳を行ってみませんか?
OpenPNE3.1.0現在、言語ファイルは日本語・英語が存在します。
動作検証
OpenPNE3の開発中ソースををダウンロードして、動作検証してくださる方を募集します。
誰もが安心して新しいOpenPNEを使うことができるよう、ご協力をお願いします。
OpenPNE3の宣伝
OpenPNE3を全国に広めるため、ご自分のサイトやブログ、メールマガジンにて、OpenPNE3をご紹介ください。
外国の方向けのサイトでの紹介も大歓迎です。
連絡先
OpenPNE3の協力に興味がある場合、もっと詳しく知りたい場合はこちらまでご連絡ください。
OpenPNE開発者メーリングリスト
OpenPNE 3.1 を CentOS 5 にインストールしてみました
05 / 30 土曜日 2009
OpenPNE開発チームの小川です。
前回はレンタルサーバに OpenPNE 3 をインストールする例を紹介しましたが、今回は自分で管理しているサーバへのインストール例として OpenPNE 3.1.0 を最小セットアップ状態の CentOS 5.3 にインストールする手順をご紹介します。
OpenPNE 3.1 の一般的なインストール方法は、OpenPNE3.1 セットアップ手順 をご覧ください。
はじめに
ここで紹介する手順は OpenPNE を動作させる例として最低限の手順しか記載していないので、実際に公開サーバの設定をする際には参考程度にご利用ください。
以下の手順では sudo を使用していますが、sudo の設定をしていない環境では「sudo」の付いているコマンドは「sudo」を抜いて root ユーザで実行してください。
また、ホスト名として sns.example.com を、OpenPNE を管理する一般ユーザとして admin を例にしていますが、環境に合わせて適宜読み替えてください。
ミドルウェアのインストール
Apache, MySQL, Postfix のインストール
yum コマンドを使ってOS標準のパッケージをそのままインストールします。
$ sudo yum install httpd mysql-server postfix
PHP のインストール
PHP に関してはバージョン 5.2.3 以降が必要なので、個別にインストールします。ソースコードからコンパイルしてももちろんよいのですが、今回は oss.oracle.com で公開されている rpm パッケージを利用しました。
$ sudo yum install aspell curl gmp libxslt wget
$ DIST=http://oss.oracle.com/projects/php/dist/files/EL5/i386
$ wget $DIST/php-5.2.9-1.el5.i386.rpm
$ wget $DIST/php-cli-5.2.9-1.el5.i386.rpm
$ wget $DIST/php-common-5.2.9-1.el5.i386.rpm
$ wget $DIST/php-gd-5.2.9-1.el5.i386.rpm
$ wget $DIST/php-mbstring-5.2.9-1.el5.i386.rpm
$ wget $DIST/php-mysql-5.2.9-1.el5.i386.rpm
$ wget $DIST/php-pdo-5.2.9-1.el5.i386.rpm
$ wget $DIST/php-xml-5.2.9-1.el5.i386.rpm
$ sudo rpm -ivh php-*.rpm
準備中... ########################################### [100%]
1:php-common ########################################### [ 13%]
2:php-cli ########################################### [ 25%]
3:php-pdo ########################################### [ 38%]
4:php ########################################### [ 50%]
5:php-gd ########################################### [ 63%]
6:php-mbstring ########################################### [ 75%]
7:php-mysql ########################################### [ 88%]
8:php-xml ########################################### [100%]
APC のインストール(オプション)
PHP の快適な動作にはアクセラレータの導入が欠かせません。ここではセットアップガイドでも推奨されている APC をインストールしてみます。
$ sudo yum install autoconf213 automake gcc make httpd-devel
$ wget $DIST/php-devel-5.2.9-1.el5.i386.rpm
$ sudo rpm -ivh php-devel-5.2.9-1.el5.i386.rpm
$ sudo yum install php-pear
$ sudo pear channel-update pear.php.net
$ sudo pear upgrade-all --ignore-errors
$ sudo pecl install APC
Use apxs to set compile flags (if using APC with Apache)? : yes
...
install ok: channel://pecl.php.net/APC-3.0.19
configuration option "php_ini" is not set to php.ini location
You should add "extension=apc.so" to php.ini
$ echo "extension=apc.so" | sudo tee /etc/php.d/apc.ini
ミドルウェアの設定
Apache の設定
VirtualHost の設定を httpd.conf の末尾に追加します。
$ sudo vi /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
ServerName sns.example.com
DocumentRoot /var/www/sns/web
<Directory /var/www/sns/web>
AllowOverride All
</Directory>
</VirtualHost>
OpenPNE を設置するディレクトリを作成します。
$ sudo mkdir /var/www/sns
$ sudo chown admin. /var/www/sns
設定ファイルが間違っていないかどうかテストします。
$ sudo /etc/init.d/httpd configtest
Warning: DocumentRoot [/var/www/sns/web] does not exist
Syntax OK
/var/www/sns/web は後の手順で作成するので、この Warning が出るのはよしとして進めます。
デーモンの起動
$ sudo /etc/init.d/httpd start
$ sudo /etc/init.d/mysqld start
$ sudo /etc/init.d/postfix start
MySQL のユーザ設定
まず、root ユーザのパスワードを設定します。new-password の部分は変更してください。
$ mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('new-password') WHERE User = 'root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
OpenPNE 用に openpne というユーザを作成し、openpne3 というデータベースに対するアクセス権限を与えます。pasuwado の部分は変更してください。
mysql> GRANT USAGE ON *.* TO 'openpne'@'localhost' IDENTIFIED BY 'pasuwado';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL ON openpne3.* TO 'openpne'@'localhost';
Query OK, 0 rows affected (0.00 sec)
ファイアーウォールの設定
外部から HTTP でアクセスできるよう設定します。
$ sudo system-config-securitylevel-tui
「カスタマイズ」 → 「WWW (HTTP) 」にチェック → 「OK」 → 「OK」
OpenPNE 3.1 のインストール
ソースコードのダウンロード
SourceForge.net の OpenPNE プロジェクトのページから OpenPNE 3.1.0 の zip アーカイブをダウンロード・展開します。
$ sudo yum install unzip
$ cd /var/www/sns
$ wget http://nchc.dl.sourceforge.net/sourceforge/openpne/OpenPNE-3.1.0.zip
$ unzip OpenPNE-3.1.0.zip
キャッシュファイルの削除
OpenPNE 3.1.0 の zip アーカイブには誤ったキャッシュファイルが含まれている可能性があるので、念のためキャッシュファイルの削除をしてください。(3.1.0 バージョン固有の問題で、通常のインストールでは必要ありません)
$ cd OpenPNE-3.1.0
$ rm cache/*
プラグインインストール
OpenPNE 3.1.0 では初期データの登録処理の関係上、openpne:install タスクを実行する前に opPlugin:sync タスクを実行してあらかじめプラグインをインストールしておく必要があります。
せっかくなので、先日リリースされたばかりの opDiaryPlugin も一緒にインストールしておきましょう。
$ php symfony opPlugin:sync
$ php symfony opPlugin:install --stability=beta opDiaryPlugin
openpne:install タスクの実行
$ php symfony openpne:install
openpne:install タスクを実行すると DB のセットアップに必要な情報を聞かれるので、サーバ環境に合わせて入力していきます。
Choose DBMS (mysql, pgsql or sqlite)
使用する DBMS の種類を入力します。
ここでは、「mysql」と入力します。
Type database username
データベースのユーザ名を入力します。
作成した MySQL のユーザ名「openpne」を入力します。
Type database password (optional)
データベースのパスワードを入力します。
作成した MySQL ユーザのパスワード「pasuwado」を入力します。
Type database hostname
データベースサーバのホスト名を入力します。
ここでは「localhost」と入力します。
Type database port number (optional)
データベースのポート番号を入力します。未入力の場合は DBMS ごとのデフォルト値が使用されます。
ここでは未入力のまま Enter を押します。
Type database name
データベース名を入力します。
ここでは例として「openpne3」と入力します。
Type database socket path (optional)
データベース接続に使用するソケットのパスを入力します。
ここでは未入力のまま Enter を押します。
最後に入力した内容の確認をします。問題なければ「y」を入力します。
The DBMS mysql
The Database Username openpne
The Database Password ******
The Database Hostname localhost
The Database Port Number
The Database Name openpne3
The Database Socket
Is it OK to start this task? (y/n)y
公開ディレクトリの設定
ここまでの手順で OpenPNE 3 が動作する状態になっているので、公開ディレクトリにシンボリックリンクを作成します。
$ cd /var/www/sns
$ ln -s OpenPNE-3.1.0/web
ブラウザからアクセス
ブラウザから「http://sns.example.com/」にアクセスして OpenPNE 3 のログイン画面が表示されれば OK です。(初期アカウントはセットアップガイドにある通り、sns@example.com / password となっています。変更して使ってください)
また、管理画面は「http://sns.example.com/pc_backend.php」へアクセスすれば表示されます。(初期アカウントはセットアップガイドにある通り、admin / password となっています。変更して使ってください)
OpenPNE2.14beta1新機能のお知らせ
05 / 27 水曜日 2009
OpenPNE開発チームの工藤です。
5月26日にリリースされたOpenPNE2.14beta1ですが、一体何が変わったのかもっとよく知ってもらいたい!
そこで、OpenPNE2.13.0から追加された新機能について一部紹介します。
今回追加された新機能を大まかに分けると
- 1.各機能の携帯対応化
- 2.管理機能強化
- 3.その他
となります。
1.各機能の携帯電話対応化
今までPC版のみでしか利用できてなかった機能が携帯端末からでも利用できるようになりました。
アルバム機能(yuriさん提供)

今まではPC版のみで利用可能であったアルバム機能が携帯端末からでも利用できます。
アルバム一覧、作成、削除、画像追加、画像編集、画像削除といったPC版からあった機能はもちろん、表示中のアルバムを使って日記を書く機能や、登録したアルバム画像を表紙画像にする機能など携帯用に利用しやすく工夫されました。
これからは携帯からでもアルバムを作成したり編集したりできるのでカメラで撮影した画像などをすぐにアルバムにすることができるようになりました。
携帯版アルバム機能はyuriさんより提供していただきました。ありがとうございます。
下書き機能(ruikuboさん提供)
携帯版のメッセージ機能で、下書きの一覧表示・下書きの作成・下書きの送信ができるようになりました。
携帯版のメッセージ作成画面で「下書き保存」ボタンが追加され、それをクリックするとメッセージが下書きとして保存されます。また、下書きメッセージリストから下書きメッセージを選択すると下書きの編集ができます。
携帯版下書き機能はruikuboさんより提供していただきました。ありがとうございます。
2.管理機能強化
管理機能が大幅に改善・追加されました。
『管理画面でのコミュニティ管理機能の強化』、『SNS監視用のAPI追加』、『管理者への新規SNS登録者通知機能』など管理を今まで以上にスムーズに行えるようになりました。
2.1コミュニティ管理機能の強化

管理画面の「メンバ管理」の欄に新しく「コミュニティリスト」の欄が追加され、そこからコミュニティの管理を行うことができます。
「コミュニティリスト」を選択するとそのSNSに存在しているコミュニティのリストが表示され詳細や作成日、メンバーリストなどを確認することができます。
コミュニティリストは下の画像のように表示されます。一番右にある「削除」のリンクを押すとコミュニティの削除の確認画面へ移動し、そこで改めて削除を選択するとコミュニティが削除されます。

しかし、スパムや嫌がらせによって大量に意味のないコミュニティが作成されてしまった場合に一件ずつ削除するのは大変です。表示されているコミュニティ全てを削除したい場合にはコミュニティリストの一番下のページにある「全てをチェック」を押すことにより一括して削除することもできます。

2.2スパム対策
上に紹介した以外の部分でも2.14beta1では管理機能が追加されましたが、その中でも今回は業者(スパム)対策についてさらに強化されました。
『メンバー検索で自分を検索対象にするかどうかの項目の追加』『日記コメント停止機能』などはSNS利用者がスパムを予防するための手段であるので、SNS管理者よりもむしろSNS利用者に知ってもらいたい機能です。
2.2.1日記のコメント停止機能(toranekoさん提供)
それぞれの日記についてコメントを許可するか否かの設定をすることが可能になりました。
デフォルトではコメントを許可する設定になっています。コメントを必要としない記事を書く場合や、スパムや嫌がらせにあっていてコメントを受け付けたくない場合には、日記を書くフォームの一番下にあるコメント許可の欄にあるチェックボックスが「許可する」のチェックをはずせばコメントを受け付けない状態になります。
コメントを許可するか否かは、日記の作成時と編集時に設定することができます。
下の画像はコメント許可の欄のチェックボックスが「許可する」にチェックが入っている場合の記事です。
このように、今までどおり日記に対してコメントすることができます。

しかし、編集画面で「許可する」のチェックボックスをはずすと…
コメントの入力フォームが消えました。コメントをもらいたくないときや、スパム・嫌がらせが発生したときに利用してください。
すでにいくつかコメントがある状態でコメントを「許可する」のチェックボックスを外した場合も、コメント入力フォームが非表示になるだけですでにあるコメントはそのまま表示されます。再びコメントを許可する設定に戻すと通常通りコメント入力フォームが表示されコメントできるようになります。
コメント停止機能はtoranekoさんより提供していただきました。ありがとうございます。
3.その他
『送信メッセージの受信側での開封状況確認機能』や『PC版メッセージお知らせメールでも件名・本文を確認できる』など細かいところですが、あったら便利な機能が追加されました。
3.1コミュニティ権限の分割機能(BWさん提供)
この機能によりコミュニティのより細かい権限設定ができるようになりました。
コメント作成権限が新たに追加され、コミュニティ参加者以外の人でもコメントをすることができたりトピックを作成できたりするので様々なコミュニティの形態に対応できるようになりました。コミュニティー設定変更画面にて選択ができます。

コミュニティ権限の分割機能はBWさんより提供していただきました。ありがとうございます。
OpenPNE2.14.beta1は多くの人に支えられてリリースすることができました。
特に今回の機能追加の大半は提供されたもので、その他にも要望やバグ報告は開発チームにとってとてもありがたい支援でした。
しかし、改善していきたい点や取り入れていきたい機能、隠れたバグの発見など
まだまだみなさんの力が必要です、更なるOpenPNEの発展にご協力お願いします。
ダウンロード
OpenPNE2.14.beta1のダウンロードはこちらから行うことができます。
OpenPNE3用プラグインの紹介【ユーザー提供】
05 / 27 水曜日 2009
はじめまして、OpenPNE開発チームの工藤です。
OpenPNE公式SNS参加のNekyoさんが、OpenPNE3用のプラグインを作成してくださいました。
今回はそのプラグインを紹介したいと思います。
OpenPNE3用 メモボックス・フィード プラグイン
- メモボックスガジェット機能
HTML文も直接打つことができるガジェットで、JavaScriptなどを使い様々なことに利用できそうです。
- RSSフィード機能
全員に公開されている、日記・トピック・イベントの最新情報をRSS配信できます。
ログインしなくても最新情報が通知されるのは利用者にもとても便利で、また新規ユーザーを得られるチャンスかもしれません。
Nekyoさん本当にありがとうございました。
OpenPNEはみなさんのご協力により成長することができます。
新規プラグインや要望・意見など何かありましたらぜひ教えてください。
今回紹介したプラグインは、下記のサイトからダウンロードできます。
OpenPNE2.14beta1リリースのお知らせ
05 / 26 火曜日 2009
OpenPNE開発チームの今村です。
本日2009年5月26日、開発版OpenPNE2.14beta1をリリースしました。大変お待たせしました。
今回beta版リリースということで機能の追加、DBの変更はこのバージョンで完了になります。
DB変更については致命的なバグ等がある場合は対応いたします。
今後大きな問題が無ければ2009/06/20(土)にOpenPNE2.14.0のリリースとなります。
2.14beta1の変更点
今回は機能追加・バグ修正ともに少なめですが、山椒は小粒でもぴりりと辛いというような
OpenPNEをより使いやすくする機能が追加されました。
提供者の皆さん、ありがとうございます!
主な機能改善点
コミュニティ権限の分割機能(BWさん提供)
この機能によりコミュニティのより細かい権限設定ができるようになりました。
大きな変更としてはコメント作成権限が新たに追加され、参加者以外でもコメントできたりと
様々なコミュの形態に柔軟に対応できるようになりました。
コミュニティー設定変更画面にて選択ができます。
画像アップロード容量制限機能に携帯版アルバム機能の対応する(BWさん提供)
2.13.8では画像アップロード容量制限機能はPC版のみの対応でした。
今回より携帯版にも対応し、レンタルサーバーなど容量が限られている環境でOpenPNEを
運営している方の強い味方になると思います。
SNS設定の画像容量制限設定にて設定できます。
バグ修正
- ・セットアップSQLのtypoの修正
- ・管理画面からのコミュニティ削除画面のコミュニティへのリンク先の修正
- ・セットアップガイドのディレクトリ構造図にfunction_cacheの追加
その他機能改善
コメント返信補助機能設定
多数の日記コメントを頂くと、コメントを返すのは意外と大変ですよね。
この機能により確実にスピーディーにコメント返信することができます。
SNS設定画面にて使用する・しないを選択します。
メンバー検索で自分を検索対象にしない設定機能
この機能はユーザーごとに設定ができるので、スパムメッセージがよく来てしまう
メンバーさんにはぜひ教えてあげて下さい!
詳細は開発版改訂履歴をご覧下さい
2.13.8からのバージョンアップ時の注意点
Update SQL 追加
- ・update12-for2.14beta1-alter-c_commu_admin_invite-drop-index_c_commu_id_c_memer_id_to.sql
- ・update13-for2.14beta1-alter-c_commu-add-columns.sql
- ・update14-for2.14beta1-alter-c_commu-drop-columns.sql
- ・update15-for2.14beta1-alter-c_member-add-column-is_search_result.sql
config.php 変更
変更無し
ダウンロード
【実運用中のSNSで開発版を利用する場合は、まず充分な動作テストを行うことをおすすめします】
不具合を発見した場合は
- ・公式SNSの日記・コミュニティで報告
- ・trac.openpne.jpにてバグチケット作成(trac.openpne.jpのアカウントが必要です)
などの方法で報告することが可能です。
公式SNSでの報告、trac.openpne.jpのアカウント取得は公式SNSに参加する必要があります。
* ChangeLog
http://trac.openpne.jp/wiki/ChangeLog\_develop
* ダウンロード
/pne-downloads
次回のOpenPNE2開発版リリース
次のOpenPNE開発版2.14beta2のリリースは 2009/6/5(金) になります。





