OpenPNE Issue Tracking System: チケット
http://redmine.openpne.jp/
http://redmine.openpne.jp/favicon.ico
2011-12-01T05:19:38Z
OpenPNE Issue Tracking System
Redmine
OpenPNE 3 - Bug(バグ) #2647 (Fixed(完了)): 携帯個体識別番号の登録を必須にしても、メールアドレスを変えると同一の個体識別番号でも何度も登録が出来てしまう
http://redmine.openpne.jp/issues/2647
2011-12-01T05:19:38Z
pnetan
pnetan@openpne.jp
<a name="概要"></a>
<h3 >概要<a href="#概要" class="wiki-anchor">¶</a></h3>
<p>携帯個体識別番号の登録を必須にしても,メールアドレスを変えると同一の個体識別番号でも何度も登録が出来てしまう.<br />OpenPNE 2 系では新規登録時に携帯の個体識別番号の重複登録は認められていないため,OpenPNE 3 でも同様の処理を行う必要がある.</p>
<a name="原因"></a>
<h3 >原因<a href="#原因" class="wiki-anchor">¶</a></h3>
<p>下記コードで個体識別番号が必須の場合に個体識別番号がリクエストで渡されているかのチェックとブラックリストに登録されているかのチェックは行われているが,登録しようとしている個体識別番号がすでに存在しているかどうかのチェックが行われていない.</p>
<p>lib/form/opAuthRegisterForm.class.php <br /><pre>
129 public function validateMobileUID($validator, $values, $arguments = array())
130 {
131 if (!opConfig::get('retrieve_uid'))
132 {
133 return $values;
134 }
135
136 if (sfConfig::get('app_is_mobile', false))
137 {
138 $request = sfContext::getInstance()->getRequest();
139 $uid = $request->getMobileUID(false);
140 if (!$uid && opConfig::get('retrieve_uid') >= 2)
141 {
142 throw new sfValidatorError($validator, 'A mobile UID is required. Please check settings of your mobile phone and retry.');
143 }
144 elseif (Doctrine::getTable('Blacklist')->retrieveByUid($uid))
145 {
146 throw new sfValidatorError($validator, 'A mobile UID is invalid.');
147 }
148
149 $cookieUid = sfContext::getInstance()->getResponse()->generateMobileUidCookie();
150 if ($cookieUid)
151 {
152 $values['mobile_cookie_uid'] = $cookieUid;
153 }
154
155 $values['mobile_uid'] = $uid;
156 }
157
158 return $values;
159 }
</pre></p>
<a name="修正案"></a>
<h3 >修正案<a href="#修正案" class="wiki-anchor">¶</a></h3>
<p>すでに登録されている個体識別番号を登録しようとしたときに例外を投げるように修正.</p>
<pre>
diff --git a/apps/mobile_frontend/i18n/messages.ja.xml b/apps/mobile_frontend/i18n/messages.ja.xml
index 7a64c1e..b29ff74 100644
--- a/apps/mobile_frontend/i18n/messages.ja.xml
+++ b/apps/mobile_frontend/i18n/messages.ja.xml
@@ -1235,6 +1235,10 @@
<source>Block access from the selected member with input MemberID.&lt;br /&gt; MemberID is written at the end of member top page URL.&lt;br /&gt; ex. The MemberID is 1 when the URL "http://sns.example.com/member/1"</source>
<target>メンバーIDを入力して特定のメンバーからのアクセスをブロックします。&lt;br /&gt;メンバーIDは相手トップページのURL末尾に表示されています。&lt;br /&gt;例:"http://sns.example.com/member/1" というURLである場合にはメンバーIDは1になります。</target>
</trans-unit>
+ <trans-unit id="">
+ <source>A mobile UID was already registered.</source>
+ <target>その携帯電話の個体識別番号はすでに登録されています。</target>
+ </trans-unit>
</body>
</file>
</xliff>
diff --git a/lib/form/opAuthRegisterForm.class.php b/lib/form/opAuthRegisterForm.class.php
index eea1713..57686f3 100644
--- a/lib/form/opAuthRegisterForm.class.php
+++ b/lib/form/opAuthRegisterForm.class.php
@@ -145,6 +145,10 @@ abstract class opAuthRegisterForm extends BaseForm
{
throw new sfValidatorError($validator, 'A mobile UID is invalid.');
}
+ elseif (Doctrine::getTable('MemberConfig')->retrieveByNameAndValue('mobile_uid', $uid))
+ {
+ throw new sfValidatorError($validator, 'A mobile UID was already registered.');
+ }
$cookieUid = sfContext::getInstance()->getResponse()->generateMobileUidCookie();
if ($cookieUid)
</pre>
<a name="元記事"></a>
<h3 >元記事<a href="#元記事" class="wiki-anchor">¶</a></h3>
<p><a class="external" href="http://sns.openpne.jp/communityTopic/7794">http://sns.openpne.jp/communityTopic/7794</a> より転記</p>
<pre>
お世話になります。
OpenPNE3.6.0を利用しております。
管理画面から『携帯個体識別番号の登録を必須にする』を設定しておりますが、メールアドレスを変えれば同一の固体識別番号でも何度も登録が出来てしまうようです。
特定のファイルを少し修正すれば固体識別番号の重複が防げそうですが、あまりにもファイル数やディレクトリ構造が複雑すぎて自力で出来そうもありません。
どなたか複アカの防止が出来る方、ご教示頂けると幸いです。
よろしくお願い致します。
PHP 5.2.17
MySQL 5.5.17
linux
</pre>
OpenPNE 3 - Bug(バグ) #2512 (Fixed(完了)): 管理画面からデイリーニュースを無効に設定すると、メンバー側で「メール設定」のページが開けなくなる
http://redmine.openpne.jp/issues/2512
2011-10-18T09:45:57Z
pnetan
pnetan@openpne.jp
<a name="概要"></a>
<h3 >概要<a href="#概要" class="wiki-anchor">¶</a></h3>
<p>管理画面のメール通知送信設定では、他にもあるが少なくとも</p>
<ul>
<li>(1) フレンド承認完了メール</li>
<li>(2) フレンドの誕生日お知らせメール</li>
<li>(3) デイリー・ニュース</li>
</ul>
<p>の有効無効を設定することができる。</p>
<p>これらが有効なときはメンバー側での「メール設定」ページで、メンバーごとの設定ができるようになっているが、管理画面で (3) を無効にしてしまうと、メンバー側で「メール設定」ページが開けなくなってしまう。</p>
<a name="原因"></a>
<h3 >原因<a href="#原因" class="wiki-anchor">¶</a></h3>
<p>これはもともと「メール設定」ページに「デイリーニュース」しかなかった(それ以外を想定していなかった)時期に、管理画面でデイリーニュースを無効にしたのにメンバー側で設定ページが開けてしまうのは不適切だろうと <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug(バグ): 管理画面でデイリー・ニュースを「送信しない」にしてもユーザ側にデイリー・ニュースの受信設定が表示される (Fixed(完了))" href="http://redmine.openpne.jp/issues/990">#990</a> で対応したことに因るものである。</p>
<a name="修正方針"></a>
<h3 >修正方針<a href="#修正方針" class="wiki-anchor">¶</a></h3>
<p>このチケットでは「デイリーニュース」を無効にしてもメンバー側で「メール設定」を開けるようにすることを扱うが、本来 <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug(バグ): 管理画面でデイリー・ニュースを「送信しない」にしてもユーザ側にデイリー・ニュースの受信設定が表示される (Fixed(完了))" href="http://redmine.openpne.jp/issues/990">#990</a> で行うべき修正が打ち消されてしまう。</p>
<p>可能であればこれを併せてこのチケットで対応したかったが、修正方針が見えていないため、本来 <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug(バグ): 管理画面でデイリー・ニュースを「送信しない」にしてもユーザ側にデイリー・ニュースの受信設定が表示される (Fixed(完了))" href="http://redmine.openpne.jp/issues/990">#990</a> で行おうとしていた問題への対応については <a class="issue tracker-1 status-13 priority-4 priority-default closed" title="Bug(バグ): #2512 に対応した 3.6 系以上では、管理画面からデイリーニュースを無効に設定しても、メンバー側のメール設定にデイリーニュースの項目が表示されている (Won't fix(対応せず))" href="http://redmine.openpne.jp/issues/2668">#2668</a> で行うことにした。</p>
<a name="報告元"></a>
<h3 >報告元<a href="#報告元" class="wiki-anchor">¶</a></h3>
<p><a class="external" href="http://sns.openpne.jp/diary/26975">http://sns.openpne.jp/diary/26975</a> より転記</p>
<pre>
携帯メールアドレス向け」の「デイリー・ニュース」を管理画面より「通知しない」に設定すると、
携帯ホームから「メール設定」のリンクが消えてしまう為、
他の「フレンドの誕生日お知らせメール」や「フレンドリンク承認完了メール」の設定がユーザにより出来なくなってしまう。
</pre>
OpenPNE 3 - Bug(バグ) #2361 (Fixed(完了)): バージョンアップマニュアルのプラグインをコピーする手順に不備がある
http://redmine.openpne.jp/issues/2361
2011-08-22T04:29:21Z
pnetan
pnetan@openpne.jp
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<p>OpenPNEに同梱されている <a href="https://github.com/openpne/OpenPNE3/blob/master/doc/ja/OpenPNE3_Version_Up_Guide.txt" class="external">バージョンアップドキュメント</a> のplugins ディレクトリの中身をコピーする手順で、不要なオプションや間違ったワイルドカードが記述され想定通りコピーすることが出来ない。</p>
<a name="再現バージョン"></a>
<h3 >再現バージョン<a href="#再現バージョン" class="wiki-anchor">¶</a></h3>
<ul>
<li>OpenPNE3.0.x</li>
<li>OpenPNE3.4.x</li>
<li>OpenPNE3.6.x</li>
</ul>
<a name="再現手順"></a>
<h3 >再現手順<a href="#再現手順" class="wiki-anchor">¶</a></h3>
<p><a href="https://github.com/openpne/OpenPNE3/blob/master/doc/ja/OpenPNE3_Version_Up_Guide.txt" class="external">バージョンアップドキュメント</a> の44〜45行目あたりを確認する</p>
<a name="Way-to-fix-修正内容"></a>
<h3 >Way to fix (修正内容)<a href="#Way-to-fix-修正内容" class="wiki-anchor">¶</a></h3>
<pre>
$ cp -aur /path/to/old/OpenPNE3/plugins/* /path/to/new/OpenPNE3/plugins
$ cp -aur /path/to/old/OpenPNE3/plugins/.* /path/to/new/OpenPNE3/plugins
</pre><br />の部分を
<pre>
$ cp -an /path/tp/old/OpenPNE3/plugins/. /path/to/new/OpenPNE3/plugins
</pre><br />にする
<p>-a(--archive)オプションは、コピー先で、できる限り元のファイルの構成と属性を保持する オプションである(ディレクトリ構造体は保存しない)。 -dpR と同じといえるため手順にある-rオプションは省略することができると考えられる。<br />コピー元の指定についても「.」のみを記述することでpluginsディレクトリ内の全てをコピー出来る。(Mac OS X 10.6.8ではそうなることを確認済み )</p>
<p>BSD系では-uのような「更新日付」を考慮したコマンドオプションが存在しないため、Linux系およびBSD系で共通で使用できる-nオプションを用いる手順に記述を変更する.-nは上書き保存を行わないというコマンドオプションになる.</p>
<a name="報告元"></a>
<h3 >報告元<a href="#報告元" class="wiki-anchor">¶</a></h3>
<p><a class="external" href="http://sns.openpne.jp/communityTopic/7477">http://sns.openpne.jp/communityTopic/7477</a> より転記</p>
<pre>
今回、3.4.14.1から3.4.15へバージョンアップを試みたところ、
次のような症状が発生しました。
プラグインのバージョン管理が理解できない上で大変申し訳ございませんが、
何か手がかりがあれば教えて頂ければと存じます。
・症状
OpenPNE 3.4.14.1からOpenPNE3.4.15へバージョンアップした後で、
管理画面→「アプリケーションプラグイン設定」の「バージョン」が
表示されなくなった。
※3.4.14.1の環境は、基本的にほぼデフォルト。
opCommunityTopicPlugin(1.0.1.1)、opPopMailPlugin,opPointPluginは手動でセット。
=3.4.14.1に戻したときの環境(使用しているもののみ)=
(プラグイン名)(バージョン)
opDiaryPlugin 1.2.0.1
opAshiatoPlugin 0.9.0.1
opCommunityTopicPlugin (表示されていません)
opAlbumPlugin 0.9.3.1
opMessagePlugin 0.9.1.1
opPopMailPlugin 0.9.2
opBlogPlugin 0.9.0
opPointPlugin(表示されていません)
・運用環境
coreserver-mini
・使用ソフトのバージョン
[PHP5.2.5 MySQL5.1.22]
•バージョンアップ方法
基本的に、
https://raw.github.com/openpne/OpenPNE3/OpenPNE-3.4.15/do...
の内容に準じて行っております。
なお、同じ方法で、3.4.13から3.4.14.1へのバージョンアップは行えました。
ただ、
「プラグインディレクトリのコピー」の項目で、
cp -aur /path/to/old/OpenPNE3/plugins/.* /path/to/new/OpenPNE3/plugins
は次のようなエラーが発生しました。
$ cp -aur ./openpne/plugins/.* ./openpne3415/plugins
cp: will not create hard link `./openpne3415/plugins/plugins' to directory `./openpne3415/plugins/.'
cp: will not create hard link `./openpne3415/plugins/.channels' to directory `./openpne3415/plugins/./.channels'
cp: will not create hard link `./openpne3415/plugins/.registry' to directory `./openpne3415/plugins/./.registry'
結局、無視して続けております。
(フルパスで挑戦してみましたが、同じエラーが出ています。
一つ上の階層の内容がpluginsフォルダに全て入っている感じで、気持ち悪いのです。。。)
</pre>
OpenPNE 3 - Bug(バグ) #2286 (Fixed(完了)): opDiaryPluginをはずすと携帯でログイン出来なくなる
http://redmine.openpne.jp/issues/2286
2011-07-21T09:02:10Z
pnetan
pnetan@openpne.jp
<p>説明:http://sns.openpne.jp/communityTopic/7363 より転記</p>
<a name="トピック"></a>
<h3 >トピック<a href="#トピック" class="wiki-anchor">¶</a></h3>
<pre>
opDiaryPluginをはずすと携帯でログイン出来なくなります。
The route "diary_new" does not exist.
</pre>
<a name="opDiaryPluginをはずすと携帯でログイン出来なくなる問題についてコメントが付いていましたのでそれも転記します"></a>
<h3 >「opDiaryPluginをはずすと携帯でログイン出来なくなる」問題についてコメントが付いていましたので、それも転記します。<a href="#opDiaryPluginをはずすと携帯でログイン出来なくなる問題についてコメントが付いていましたのでそれも転記します" class="wiki-anchor">¶</a></h3>
<pre>
管理画面(pc_backend)>ナビゲーション設定>携帯版ナビ でURLにdiaryのついたナビを全部消してください。
pc版はデータが残っていても平気な手当てがされているのですが、モバイル版は手当てがなくてここでエラーになります。
修正版pull requestしてるのですがお忙しいようで、なかなか取り込まれないですね^^;
</pre>
OpenPNE 3 - Bug(バグ) #1865 (Fixed(完了)): プロフィール項目の不具合について
http://redmine.openpne.jp/issues/1865
2011-01-12T05:20:56Z
pnetan
pnetan@openpne.jp
<p><a class="external" href="http://sns.openpne.jp/communityTopic/6709">http://sns.openpne.jp/communityTopic/6709</a> より転記</p>
<pre><code><a class="external" href="http://sns.openpne.jp/cache/img/png/w_h/a5e00bca971049df8db393b769b1381a1f20d217_png.png">http://sns.openpne.jp/cache/img/png/w_h/a5e00bca971049df8db393b769b1381a1f20d217_png.png</a><br /> http://sns.openpne.jp/cache/img/png/w_h/9499800169021d9a54fef4b90d8f792535b16bd0_png.png </code></pre>
<pre>
(1) OpenPNE-3.4.2とOpenPNE-3.4.9.2で確認しております。
(2) さくらレンタルサーバー プレミアムプラン
OS: FreeBSD 7.1-RELEASE-p15 i386
PHP: 5.2.14
MySQL: 5.1
(3) OpenPNEの管理画面の「プロフィール項目設定」→「プロフィール項目登録」を表示しまして
「公開設定の選択」を「メンバー選択」、「フォームタイプ」を「複数選択(チェックボックス)」を選択、
項目名・説明・識別名は適切な文字列を入力後、
その他の設定はデフォルトで追加しました。
同様の手順で項目を追加し、全部で三つのプロフィール項目を追加しました。
そして、プロフィール選択肢一覧で項目名に適切な文字列を入力後
追加して、それぞれ、三つの選択肢を追加しました。
ここまでで三つのプロフィール項目と、それぞれ三つの選択肢が作成されています。
その後、SNSにログインしまして、プロフィール編集で
先ほど追加した三つの項目のチェックボックスを全て選択後、送信。
三つの項目のチェックボックスを全て外して、また送信。
最後に、再び全てのチェックボックスを選択して送信しますと
一番目の項目は、三番目の選択肢のみが表示されて
二番目の項目は、二番目の選択肢のみが表示されて
三番目の項目は、全ての選択肢が表示されるという
現象が発生しました。
また、OpenPNE-3.4.9.2で上記の手順を最後まで試したところ
三番目の項目のみ、全ての選択肢が表示され、
その他の項目は表示されないという異なった結果となりました。
その後に、プロフィール編集を表示しますとOpenPNE-3.4.2と同じ
選択肢がチェックされていました。
これらの動作検証は管理アカウント(sns@example.com)で行っておりました。
しかし、その後に新しくアカウントを作成して動作検証をしたところ、正常に動作するものと同様の症状が発生するものとで別れることが分かっております。
それと色々と試行錯誤したところ、表示される選択肢と表示されない選択肢が
ランダムで選ばれるように見受けられ、パターンが把握できないのも特徴の一つとして挙げられます。
(先の例で言いますと、何故一番目の項目は三番目の選択肢だけが表示され
二番目の項目は二番目の選択肢だけが表示されるのかが分からないという事です)
文面だけでは伝わりづらいかと思いまして、スクリーンショットを添付しました。
写真1は管理画面のプロフィール項目設定で、写真2はプロフィール編集→プロフィール確認の画面と、phpmyadminの画面及び補足です。
以上、宜しくお願いいたします。
</pre>
OpenPNE 3 - Bug(バグ) #1863 (Fixed(完了)): op_preset_birthdayについて、member_profileのvalue_datetimeがゼロ値もし...
http://redmine.openpne.jp/issues/1863
2011-01-12T04:11:21Z
pnetan
pnetan@openpne.jp
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<p><a class="external" href="http://sns.openpne.jp/diary/25790">http://sns.openpne.jp/diary/25790</a> より転記</p>
<pre>
お世話様です。
既出や3.6βで解決してたらごめんなさい。
OpenPNE3.52を使ってます。
プロフィールを閲覧不能のメンバーがたまに出てきてphpMyAdminで直して気付いたんですが、生年月日の生まれ年を適当に入れたり全角で入れたりするとこの症状が出ます
リストボックスのように選べるのを限定(沢山有ってダメっすかね?)かチェックをかける事はできますか?
</pre>
<p>現在サポート中の各バージョンおよびMasterにおいて、チェック(バリデーション)がかかっています。</p>
<p>ただし、旧バージョンからのアップグレード等で、<br />op_preset_birthdayのmember_profileデータが正しくない場合<br />(具体的にはvalue_datetimeがゼロ値もしくはvalue_datetimeがnullかつ、valueが日付として認識できない場合)<br />プロフィール閲覧(member/profile)で「Impossible to parse date "xxxxxxxx" with format "yyyy-MM-dd HH:mm:ss".」という例外が発生します</p>
<p>(3.0系ではデータ構造が異なるため上記の現象は発生しません)</p>
<a name="Causes-原因"></a>
<h3 >Causes (原因)<a href="#Causes-原因" class="wiki-anchor">¶</a></h3>
<p>本来、member_profileのvalue_datetimeには日付が正しく入っているはずで、<br />その値をもとにプロフィール閲覧の表示を行っているが<br />上記のように、ゼロ値もしくはnullかつvalueがでたらめの場合は<br />プロフィール閲覧で利用しているop_format_date()で例外が発生してしまう。</p>
<a name="Way-to-fix-修正内容"></a>
<h3 >Way to fix (修正内容)<a href="#Way-to-fix-修正内容" class="wiki-anchor">¶</a></h3>
member_profileの値が以下の場合は値を返さず、nullを返すようにする
<ul>
<li>value_datetimeがnullではなく、ゼロ値の場合</li>
<li>op_preset_birthdayに対応するデータなのに、value_datetimeがnullの場合</li>
</ul>
OpenPNE 3 - Bug(バグ) #1780 (Fixed(完了)): php ./symfony openpne:install時にエラーが出る
http://redmine.openpne.jp/issues/1780
2010-11-11T10:21:01Z
pnetan
pnetan@openpne.jp
<p><a class="external" href="http://sns.openpne.jp/diary/25547">http://sns.openpne.jp/diary/25547</a> より転記</p>
<pre>
サーバ:試験用のWindows XPの普通のノートPC
下記インストール済み、動作確認OK
Apacche 2.2.17
MySQL 5.1.52
PHP 5.3.3
OpenPNEは3.4.8をDLして、D:\OpenPNEに展開した。
あとは、セットアップなんだけど
php ./symfony openpne:install
でエラーが出て先に進めず。エラー内容解析中。
</pre>
opAuthMailAddressPlugin - Bug(バグ) #1770 (Fixed(完了)): 招待メールからの登録画面の英語化
http://redmine.openpne.jp/issues/1770
2010-11-09T08:50:37Z
pnetan
pnetan@openpne.jp
<p><a class="external" href="http://sns.openpne.jp/communityTopic/6550">http://sns.openpne.jp/communityTopic/6550</a></p>
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<pre>
現在、OpenPNE3.6系での国際的SNSの準備中です。
先日、OpenPNE3.6beta6をインストールしてテスト使用を開始しましたが、招待メールのリンクをクリックしてたどり着く登録画面が英語化されていないことに気づきました。
ソースコードを自分で修正して対応しましたが、もしよろしければ今後のバージョンに同様な修正を組み込んでいただければと思います。
修正前と修正後の画面のスナップショットとアップします。
</pre>
<a name="Causes-原因"></a>
<h3 >Causes (原因)<a href="#Causes-原因" class="wiki-anchor">¶</a></h3>
<p>翻訳がされていない。</p>
<a name="Way-to-fix-修正内容"></a>
<h3 >Way to fix (修正内容)<a href="#Way-to-fix-修正内容" class="wiki-anchor">¶</a></h3>
<p>翻訳を追加する。</p>
OpenPNE 3 - Bug(バグ) #1687 (Fixed(完了)): パスワード再発行処理を行なおうとすると http://opauthmailaddress/ に飛ばされてしまう
http://redmine.openpne.jp/issues/1687
2010-10-15T03:55:12Z
pnetan
pnetan@openpne.jp
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<p>1. 「パスワードを忘れた方へ」リンクよりパスワード再発行の申請を行う<br />2. パスワード再発行メールに<br /><a class="external" href="http://sns.example.com//opAuthMailAddress/passwordRecoveryComplete/token/hogehoge/id/XX">http://sns.example.com//opAuthMailAddress/passwordRecoveryComplete/token/hogehoge/id/XX</a><br />というURLが記載されているので、このURLにアクセスする<br />3. 新しいパスワード入力して、決定ボタンを押下すると、<br /><a class="external" href="http://opauthmailaddress/passwordRecoveryComplete/token/hogehoge/id/XX">http://opauthmailaddress/passwordRecoveryComplete/token/hogehoge/id/XX</a><br />というURLに飛ばされてしまう</p>
<p>元の報告:<br /><a class="external" href="http://twitter.com/77web/statuses/27406372500">http://twitter.com/77web/statuses/27406372500</a></p>
<a name="確認バージョン"></a>
<h4 >確認バージョン<a href="#確認バージョン" class="wiki-anchor">¶</a></h4>
<ul>
<li>3.6beta6 再現した</li>
<li>3.4 未確認</li>
</ul>
<a name="Causes-原因"></a>
<h3 >Causes (原因)<a href="#Causes-原因" class="wiki-anchor">¶</a></h3>
<p>この問題は base_url に指定する URL の末尾に"/"を含めた場合に発生します。<br />2系では末尾に"/"が必須でしたが、3系はこれとは逆の仕様であると思われます。<br />したがって、この仕様について設定ファイル中に明記されていない事が問題であると思われます。<br />(2系では設定ファイル中にコメントアウトとして記述されています)</p>
<a name="Way-to-fix-修正内容"></a>
<h3 >Way to fix (修正内容)<a href="#Way-to-fix-修正内容" class="wiki-anchor">¶</a></h3>
<p>適切な対応としては、コメントに仕様を記述するよりも、<br />"/"が末尾に含まれる場合でも正常に動作する方が良いと思いますので、対応可能なように修正を行います。</p>
<p>OpenPNE.ymlがロードされるタイミング(opProjectConfiguration::setOpenPNEConfiguration())で、"/"が含まれていた場合に除去を行います。</p>
<p>この実装の場合、添付されているテストコードではsfConfigを直接書き換えているためエラーのままとなります。<br />また、op_base_url を書き換えた場合も"/"の除去は機能しません。</p>
<p>URL生成メソッドの opApplicationConfiguration::getAppRouting() 中に処理を記述することで対応は可能ですが、<br />この場合URL生成時に毎回処理を実行するため無駄な処理が走る事、他の箇所で参照されていた場合を考慮してこの実装は行いません。<br />(op_base_url を書き換えることは通常考えられない、この実装でも問題ないと考えます)</p>
OpenPNE 3 - Bug(バグ) #1684 (Fixed(完了)): サイドバナーのRSSリーダーで読み込めない時がある
http://redmine.openpne.jp/issues/1684
2010-10-15T02:16:16Z
pnetan
pnetan@openpne.jp
<a name="現象"></a>
<h3 >現象<a href="#現象" class="wiki-anchor">¶</a></h3>
<p>(http://sns.openpne.jp/communityTopic/6318 より転記)</p>
<blockquote>
<p>サイドバナーへRSSリーダーを登録しているのですが、<br />読み込み先によって、<br />画面の表示が「サーバーが混雑しています~」のような表示になってしまいます。</p>
</blockquote>
<a name="再現環境"></a>
<h3 >再現環境<a href="#再現環境" class="wiki-anchor">¶</a></h3>
<p>サーバー:</p>
<ul>
<li>CentOS Linux 5.5</li>
<li>MySQL version 5.0.91</li>
<li>php 5.2.13</li>
</ul>
<p>OpenPNEのバージョン:</p>
<ul>
<li>OpenPNE3.4.6.2</li>
</ul>
<a name="再現手順"></a>
<h3 >再現手順<a href="#再現手順" class="wiki-anchor">¶</a></h3>
<p>こちらのRSSを登録する(8月28日23時ごろ)<br /><a class="external" href="http://video.baidu.jp/api/search?word=%E3%83%90%E3%82%A4">http://video.baidu.jp/api/search?word=%E3%83%90%E3%82%A4</a>%...</p>
<p>最初はずっと表示されていましたので、時間がたつと内容が変わりますので、表示されるようになるかもしれません。</p>
<p>サーバーのエラーログ:</p>
<pre>
PHP Fatal error: Uncaught exception 'sfException' with message 'Impossible to parse date "" with format "yyyy-MM-dd HH:mm:ss".'
in /www/lib/vendor/symfony/lib/i18n/sfDateFormat.class.php:186\n
Stack trace:\n
#0 /www/lib/vendor/symfony/lib/i18n/sfDateFormat.class.php(219): sfDateFormat->getDate('', NULL)\n
#1 /www/lib/vendor/symfony/lib/helper/DateHelper.php(60): sfDateFormat->format('', 'MM???dd???', NULL, 'utf-8')\n
#2 /www/lib/helper/opUtilHelper.php(333): format_date('', 'MM???dd???', 'ja_JP', NULL)\n
#3 /www/apps/pc_frontend/modules/default/templates/_rssBox.php(7): op_format_date('', 'XShortDateJa')\n
#4 /www/cache/apache/pc_frontend/prod/config/config_core_compile.yml.php(3810): require('...')\n
#5 /www/lib/vendor/symfony/lib/view/sfPartialView.class.php(110): sfPHPView->renderFile('...')\n
#6 /www/lib/vendor/symfony/lib/helper/PartialHelper.php(155): sfPartialView->render()\n
#7 /var/www/r in /www/lib/vendor/symfony/lib/i18n/sfDateFormat.class.php on line 186
</pre>
<a name="原因"></a>
<h3 >原因<a href="#原因" class="wiki-anchor">¶</a></h3>
<p>規定外のRSSを受信した場合などに、パースに失敗し例外により処理が中断されるため。</p>
<a name="修正内容"></a>
<h3 >修正内容<a href="#修正内容" class="wiki-anchor">¶</a></h3>
<p>ガジェット側ですべての例外を catch して、適切な表示になるように修正するべきです。</p>
<p>具体的には、note-3 にあるように<pre>
diff --git a/apps/pc_frontend/modules/default/actions/components.class.php b/apps/pc_frontend/modules/def
index 097703c..ad79046 100644
--- a/apps/pc_frontend/modules/default/actions/components.class.php
+++ b/apps/pc_frontend/modules/default/actions/components.class.php
@@ -95,11 +95,17 @@ class defaultComponents extends sfComponents
public function executeRssBox()
{
- $fetcher = new opRssFetcher('UTF-8');
- $this->result = @$fetcher->fetch($this->gadget->getConfig('url'), true);
- if ($this->result)
+ try
+ {
+ $fetcher = new opRssFetcher('UTF-8');
+ $this->result = @$fetcher->fetch($this->gadget->getConfig('url'), true);
+ if ($this->result)
+ {
+ $this->result[1] = array_slice($this->result[1], 0, 5);
+ }
+ }
+ catch (Exception $e)
{
- $this->result[1] = array_slice($this->result[1], 0, 5);
}
}
</pre> のような変更で十分かと思われます。</p>
OpenPNE 3 - Bug(バグ) #1677 (Fixed(完了)): モバイルのフリーエリアのガジェットでタグが無視される
http://redmine.openpne.jp/issues/1677
2010-10-14T02:37:02Z
pnetan
pnetan@openpne.jp
<p><a class="external" href="http://sns.openpne.jp/communityTopic/6406">http://sns.openpne.jp/communityTopic/6406</a> より転記</p>
<pre>
3.6beta5 モバイルのフリーエリアのガジェットでタグが無視される。
ログインページしか確認してないですが、少なくとも、<img /><div></div><ul></ul><li></li><br />はそのまま表示されました。
改行は無視されます。
よろしくお願いいたします。
</pre>
OpenPNE 3 - Bug(バグ) #1675 (Fixed(完了)): 設定ファイルを記述し忘れた場合に、招待メールに記載されたURLにアクセスできない
http://redmine.openpne.jp/issues/1675
2010-10-14T02:33:00Z
pnetan
pnetan@openpne.jp
<p><a class="external" href="http://sns.openpne.jp/communityTopic/6423">http://sns.openpne.jp/communityTopic/6423</a> より転記</p>
<pre>
招待メールに記載されたURLにアクセスできません。
<動作環境>
OpenPNE3.6beta5
CentOS5(OpenVZの仮想環境)
PHP 5.2.11
mysql Ver 14.14
招待状に記載されていたURL
http://ドメイン名/member/register/token/3228758dcc32ffb79b61ee61deb73c1b1
実際に利用できた(手で書き換えた)URL
http://ドメイン名/sns/web/member/registerInput/token/3228758dcc32ffb79b61ee61deb73c1b1
登録完了メールには以下の正しいURLが記載されていました。
(このURLでOpenPNEにアクセス可能)
http://ドメイン名/sns/web/
</pre>
<a name="本チケットで扱う問題"></a>
<h3 >本チケットで扱う問題<a href="#本チケットで扱う問題" class="wiki-anchor">¶</a></h3>
<p><a href="http://redmine.openpne.jp/issues/1675#note-14" class="external">note-14</a> のコメントを以て、</p>
<ul>
<li>「設定ファイルを正しく設定したにもかかわらず、招待メールに記載されたURLにアクセスできない」という報告された問題は「再現せず」と判断する</li>
<li>「設定ファイルを正しく設定していない場合に、招待メールに記載されたURLにアクセスできない」という問題に対応する</li>
</ul>
<p>このようにこのチケットで扱う問題を切り替えます。具体的に何を問題として、何を修正するかについては <a href="http://redmine.openpne.jp/issues/1675#note-9" class="external">note-9</a> 以降を参照してください。</p>
<p>(追記:)設定ファイルを正しく設定していない状況は、SNS設置者のミスと見做されそうではあるが、OpenPNE側にも <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug(バグ): OpenPNE2からのアップグレードガイドに OpenPNE.yml を作成する説明がない (Fixed(完了))" href="http://redmine.openpne.jp/issues/1749">#1749</a> (OpenPNE2からのアップグレードガイドに OpenPNE.yml を作成する説明がない)のような問題があり、一概に「設定ファイルを記述し忘れていることが悪い」と言い切れるものではないことを示しておく。</p>
<a name="現象"></a>
<h3 >現象<a href="#現象" class="wiki-anchor">¶</a></h3>
<ul>
<li>(case1) base_url: "http://mydomain.jp/openpne" (正しい指定)
<ul>
<li>【OK】招待メール中のSNS参加リンク: <a class="external" href="http://mydomain.jp/openpne/member/register/token/">http://mydomain.jp/openpne/member/register/token/</a>...</li>
<li>【OK】招待メール署名にあるSNSのURL: <a class="external" href="http://mydomain.jp/openpne">http://mydomain.jp/openpne</a></li>
</ul>
</li>
<li>(case2) base_url: "http://mydomain.jp" ("/openpne"の欠けた指定)
<ul>
<li>【*NG】招待メール中のSNS参加リンク: <a class="external" href="http://mydomain.jp/member/register/token/">http://mydomain.jp/member/register/token/</a>...</li>
<li>【*NG】招待メール署名にあるSNSのURL: <a class="external" href="http://mydomain.jp">http://mydomain.jp</a></li>
</ul>
</li>
<li>(case3) base_url: "http://example.com"
<ul>
<li>【NG】招待メール中のSNS参加リンク: <a class="external" href="http://mydomain.jp//member/register/token/">http://mydomain.jp//member/register/token/</a>...</li>
<li>【*NG】招待メール署名にあるSNSのURL: <a class="external" href="http://example.com">http://example.com</a></li>
</ul>
</li>
<li>(case4) base_url 無指定
<ul>
<li>【NG】招待メール中のSNS参加リンク: <a class="external" href="http://mydomain.jp//member/register/token/">http://mydomain.jp//member/register/token/</a>...</li>
<li>【*NG】招待メール署名にあるSNSのURL: <a class="external" href="http://example.com">http://example.com</a></li>
</ul></li>
</ul>
<p>【*NG】と示したものは、適切なURLが出力されていませんが、問題とみなす必要はないものです。</p>
<p>上記について説明を示します:</p>
<ul>
<li>case1 は「設定ファイルを正しく記述した場合」で、適切なURLが出力されています</li>
<li>case2 は「設定ファイルを不正に記述した場合」で、URLは不適切ですが、これは設定ファイルを不正に記述していることが原因であるため問題とみなす必要はありません</li>
<li>case3, case4 は「設定ファイルを記述していない場合」で、招待メールのSNS参加リンクのドメインを見ると『ドメインを補完しようとしているが、サブディレクトリが抜け落ちている』という不自然な状態になっています</li>
</ul>
<a name="補足"></a>
<h3 >補足<a href="#補足" class="wiki-anchor">¶</a></h3>
<p>サブディレクトリが抜け落ちると示していますが、厳密には「末尾のディレクトリ名が抜け落ちる」というものです。</p>
<p>note-9 で示されていますが、 dirname() 関数がパスの最後のディレクトリを除去してしまうという仕様に基づく問題です(dirname() の仕様が問題というよりは、当該部分で dirname() を用いていることが原因です)。</p>
<pre>
dirname('/usr/bin/ls') => '/usr/bin'
dirname('/usr/bin/') => '/usr'
dirname('/usr/bin') => '/usr'
dirname('/etc/') => '/'
</pre>
<a name="対応すべき問題"></a>
<h3 >対応すべき問題<a href="#対応すべき問題" class="wiki-anchor">¶</a></h3>
<p>case3, case4 の場合に、招待メールのURL(base_url相当部分)の補完が不十分であり、不自然なURLを生成してしまっているため、これを修正する。</p>
<ul>
<li>修正前の動作
<ul>
<li>前提:サブディレクトリ(パス)を持つようなURLでSNSにアクセスする環境で、case3, case4 の場合、</li>
<li>招待メールにおいて、SNS参加リンクのサブディレクトリ部分の末のディレクトリ名が抜け落ちる</li>
</ul>
</li>
<li>修正後の動作
<ul>
<li>前提:サブディレクトリ(パス)を持つようなURLでSNSにアクセスする環境で、case3, case4 の場合、</li>
<li>招待メールにおいて、SNS参加リンクが適切なURL(新規登録画面に遷移できるURL)となっている</li>
</ul></li>
</ul>
OpenPNE 3 - Bug(バグ) #1527 (Fixed(完了)): OpenPNE 2 からのアップグレードで、誤ったコミュニティカテゴリの紐付けをおこなってしまうことがある
http://redmine.openpne.jp/issues/1527
2010-08-25T11:17:20Z
pnetan
pnetan@openpne.jp
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<p>OpenPNE 2 からのアップグレードで、誤ったコミュニティカテゴリの紐付けをおこなってしまうことがある。</p>
<p>この誤ったカテゴリの紐付けによって、中カテゴリにコミュニティがぶら下がってしまったり、 OpenPNE 3 からは閲覧できないコミュニティなどが生まれてしまう。</p>
<p>なお、この現象は OpenPNE 2 側データで「重複したコミュニティ名を持つコミュニティ」が存在している場合は発生しない(たとえば、 OpenPNE 公式 SNS には重複したコミュニティ名が存在していたため、この現象が発生しなかった)。</p>
<a name="再現バージョン"></a>
<h3 >再現バージョン<a href="#再現バージョン" class="wiki-anchor">¶</a></h3>
<ul>
<li>OpenPNE2.12.12 → 3.4.6</li>
</ul>
<a name="Causes-原因"></a>
<h3 >Causes (原因)<a href="#Causes-原因" class="wiki-anchor">¶</a></h3>
<p>重複するコミュニティ名が存在しなかった場合に発行される、 OpenPNE 3 から OpenPNE 2 へのコミュニティインポート用の SQL に誤りがあった(この誤りは <a class="changeset" title="fixed wrong community categorizing in openpne:upgrade-from-2 (refs #1527)" href="http://redmine.openpne.jp/projects/op3/repository/revisions/2f36df96135741e537042bb028353bd1b90d83b8">2f36df96135741e537042bb028353bd1b90d83b8</a> で修正された)。</p>
<p>OpenPNE 2 からコミュニティを取得する SQL の WHERE 節の c_commu_category_id に指定される ID は、 OpenPNE 2 のコミュニティカテゴリ ID であるべきであるにも関わらず、 OpenPNE 3 のコミュニティカテゴリ ID を指定してしまっていた。</p>
<p>OpenPNE 2 のコミュニティカテゴリと OpenPNE 3 のコミュニティカテゴリはデータ構造が異なっており、 OpenPNE 2 では別テーブルであった中カテゴリも小カテゴリと同一のテーブルに格納される。そのため、小カテゴリの ID を OpenPNE 2 のものから意図的にずらしている。また、 OpenPNE 2 と OpenPNE 3 のどちらも、コミュニティは中カテゴリではなく小カテゴリに属するような実装になっている。</p>
<p>そこで、コンバータは小カテゴリに属するコミュニティ群のみを取得しにいこうとする。しかし、この誤った SQL では、コンバート対象とする小カテゴリIDの一覧は OpenPNE 3 のものであったので、 OpenPNE 2 では小カテゴリの ID だが OpenPNE 3 では中カテゴリの ID であるものはインポート対象にされていなかった。</p>
<a name="Way-to-fix-修正内容"></a>
<h3 >Way to fix (修正内容)<a href="#Way-to-fix-修正内容" class="wiki-anchor">¶</a></h3>
<p>1. まず、「原因」の項に示した問題を修正するために、重複するコミュニティ名が存在しなかった場合に発行する SQL でも、 OpenPNE 2 のカテゴリ ID を基にコミュニティのインポートをおこなうように修正した<br />2. 「1.」の修正はこれからコンバートをおこなう SNS にのみ有効なもので、既にコンバートしてしまった SNS が対象になるものではないので、このような SNS への救済措置として openpne:fix-wrong-categorized-community タスクを用意した</p>
<a name="openpnefix-wrong-categorized-community-タスクがおこなうこと"></a>
<h4 >openpne:fix-wrong-categorized-community タスクがおこなうこと<a href="#openpnefix-wrong-categorized-community-タスクがおこなうこと" class="wiki-anchor">¶</a></h4>
<ul>
<li>OpenPNE 2 の c_commu テーブルのうち、 OpenPNE 3 の community テーブルに移行されていないコミュニティを community テーブルにインポートする
<ul>
<li>「OpenPNE 3 の community テーブルに移行されていないコミュニティ」であるかどうか、つまり「OpenPNE 3 に正しく移行されたが削除されたコミュニティ」でないかどうかは、「community_member テーブルのデータの有無」によって区別する。アップグレード時には community テーブルに移行されなかった community_member の情報であってもすべて移行される。一方で、コミュニティの削除がおこなわれた場合は community_member の情報もまた削除されるため、 community_member のレコードが存在しているか否かによって「OpenPNE 3 に移行されていない」か「移行されたが削除された」かを判別することができる</li>
</ul>
</li>
<li>OpenPNE 2 と同名の中カテゴリ内に存在する同名の小カテゴリに属するコミュニティのみ、 OpenPNE 3 の正しいコミュニティカテゴリに紐付け直す</li>
</ul>
<p>※タスクの実行中に手動で修復することを選択した場合は、上であげた処理と同等の SQL を画面に出力する。<br />※OpenPNE 3 からのコンバート後に名前を変更していたり、同じ名前でも属する中カテゴリが異なる小カテゴリについては、カテゴリの紐付け直しはおこなわない</p>
<a name="報告元"></a>
<h3 >報告元<a href="#報告元" class="wiki-anchor">¶</a></h3>
<p><a class="external" href="http://sns.openpne.jp/diary/24998から転載">http://sns.openpne.jp/diary/24998から転載</a><br /><pre>
OpenPNE2.12.12から3.4.6へコンバートする際に、
OpenPNE2に存在していた「中カテゴリ」がそのままカテゴリの一種としてコンバートされてしまい、結果としてIDがOpenPNE2とOpenPNE3とではずれてしまう(当方では中カテゴリ一つだったので1づつずれている)。
結果、コミュニティ表示のカテゴリはまったく違うものとなる。
また、OpenPNE2で先頭のIDを持つコミュは消えてしまう
(どうやらコンバート時にOpenPNE3用のテーブルにはコンバートされていない様子)
</pre><br />コメントにもバグに関する情報がありましたので追記します。<br /><pre>
中カテゴリのコンバートをしないように
opUpgradeFrom2ImportCommunityCategoryStrategy.class.php
の61行目
$this->conn->execute($newParentSQL.' '.$oldParentSQL, array($parent['c_commu_category_parent_id']));
をコメントアウトしたところ、一応こちらの望むようにコンバートできました。
ただし、中カテゴリが1つのみの環境で行ったので、それ以上ある場合などの動作は不明です。
</pre></p>
OpenPNE 3 - Bug(バグ) #915 (Fixed(完了)): (postfixが暴走する)誕生日お知らせメールが配信されない
http://redmine.openpne.jp/issues/915
2010-03-27T11:06:44Z
pnetan
pnetan@openpne.jp
<p><a class="external" href="http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=24004">http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=24004</a> より転記<br /><pre>
http://sns.openpne.jp/?m=pc&a=page_c_topic_detail&target_c_commu_topic_id=5766&comment_count=0
こちらの件について相談を受けて調査していたのですが、
bin/birthday_mail.cron のファイル内容が誤っているようです。
#! /bin/sh
cd $1
$2 -f ./symfony openpne:birthday-mail
となっていますが、
#! /bin/sh
cd $1
$2 -f ./symfony openpne:send-birthday-mail
かと思います。
確認バージョン: OpenPNE 3.4.2
リリース前に社内で確認プロセスがあるということですが、どの程度確認作業が行われているのでしょうか?
</pre></p>
OpenPNE 3 - Bug(バグ) #911 (Fixed(完了)): 言語選択「英語」の時に管理画面のプロフィール項目変更が出来ない
http://redmine.openpne.jp/issues/911
2010-03-27T10:45:49Z
pnetan
pnetan@openpne.jp
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<p>言語選択「英語」の時に管理画面のプロフィール項目変更が出来ない。<br />項目名を入力しsubmitしても、管理画面のプロフィール一覧で項目名が表示されない。</p>
<a name="再現バージョン"></a>
<h3 >再現バージョン<a href="#再現バージョン" class="wiki-anchor">¶</a></h3>
<p>OpenPNE3.0.9-dev<br />OpenPNE3.2.7-dev<br />OpenPNE3.4.7-dev</p>
<p>OpenPNE3.6beta1-devは下記チケットで対応済み<br /><a class="external" href="http://redmine.openpne.jp/issues/1068">http://redmine.openpne.jp/issues/1068</a><br /><a class="external" href="http://redmine.openpne.jp/issues/1076">http://redmine.openpne.jp/issues/1076</a></p>
<a name="Causes-原因"></a>
<h3 >Causes (原因)<a href="#Causes-原因" class="wiki-anchor">¶</a></h3>
<p>バグが発生した原因を記入</p>
<a name="Way-to-fix-修正内容"></a>
<h3 >Way to fix (修正内容)<a href="#Way-to-fix-修正内容" class="wiki-anchor">¶</a></h3>
<p>修正内容を記入</p>
<a name="報告元"></a>
<h3 >報告元<a href="#報告元" class="wiki-anchor">¶</a></h3>
<p><a class="external" href="http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=24018">http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=24018</a> より転記<br /><pre>
こんにちは。下記の通りバグをご報告します。
1. 管理画面設定の Change Language で English を選ぶ
2. プロフィール項目設定のプロフィール項目一覧で [変更] をクリックし、項目名を適当に変更して [Modify] を押す
3. 一覧に戻ると、項目名が表示されていない。(画像参照)
バージョン: 3.4.2
</pre></p>