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(バグ) #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>
opAshiatoPlugin - Bug(バグ) #2010 (Won't fix(対応せず)): あしあとが /member/ と表示される不具合
http://redmine.openpne.jp/issues/2010
2011-04-20T07:11:53Z
pnetan
pnetan@openpne.jp
<p><a class="external" href="http://sns.openpne.jp/diary/26318">http://sns.openpne.jp/diary/26318</a> より転記</p>
<pre>
あしあとが
2010年 03月28日 23:53 /member/
2010年 03月27日 22:48 /member/
2010年 03月26日 23:48 /member/
のように表示されてしまいます。
なぜ、どういったケースに発生するのかさっぱりわかりません。
環境は下記の通りです。
どなたかご存じの方教えて下さい。
-- 環境 --
CentOS release 5.6 (Final)
PHP 5.2.10
OpenPNE3.4.10
opAshiatoPlugin 0.9.0
opDiaryPlugin 1.2.0
opBlogPlugin 0.9.0
</pre>
<pre>
別のメールアドレス(登録名「小林」とします)で新規登録し、既存アカウント(登録名「横山」とします)の日記を見た後ログアウトし、既存アカウント(横山)でログインし直し、あしあとを見るとサイト閲覧時刻に
2011年 04月20日 11:06 /member/
と出ます。
やはり /member/ としか表示されません。
これは退会したケースとは違います。
更にあしあとのリスト表示は、おそらく閲覧した登録者毎にリスト表示されるもので合って、時系列に並ぶリストではないようです。
その観点からいうと、既存アカウント(横山)のあしあとは
* 2011年 04月20日 11:12 /member/
* 2011年 04月19日 23:59 /member/
* 2011年 04月18日 23:48 /member/
* 2011年 04月17日 23:57 /member/
* 2011年 04月16日 23:59 /member/
* 2011年 04月15日 23:59 /member/
* 2011年 04月14日 23:59 /member/
* 2011年 04月13日 23:52 /member/
* 2011年 04月12日 23:51 /member/
* 2011年 04月11日 23:59 /member/
* 2011年 04月10日 23:50 /member/
* 2011年 04月09日 23:52 /member/
* 2011年 04月08日 23:58 /member/
* 2011年 04月07日 23:29 /member/
* 2011年 04月06日 23:57 /member/
* 2011年 04月05日 23:41 /member/
* 2011年 04月04日 23:48 /member/
* 2011年 04月03日 21:50 /member/
* 2011年 04月01日 20:41 /member/
* 2011年 03月31日 16:01 /member/
* 2011年 03月30日 10:27 /member/
* 2011年 03月29日 11:32 /member/
* 2011年 03月28日 14:17 /member/
* 2011年 03月26日 10:20 chin kaimei
* 2011年 03月25日 21:36 /member/
* 2011年 03月23日 12:55 /member/
のように表示されていますので、過去 chin kaimei
さんのみ登録者名で表示されている状態です。
</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>
opCommunityTopicPlugin - Backport(バックポート) #1852 (Fixed(完了)): コミュニティホーム画面下部の、トピック検索のリンク先が正しくない
http://redmine.openpne.jp/issues/1852
2010-12-15T14:40:36Z
pnetan
pnetan@openpne.jp
<p><a class="external" href="http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=23569">http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=23569</a> より転載</p>
<pre>
バグ報告致します。
宜しくお願いします。
事象
コミュニティホーム画面の下部にあるトピック検索リンクをクリックすると、
このページにはアクセスできませんという画面になる
補足
本来、コミュニティのidを元にCommunity_topicのCommunity_idから
トピックなどを見に行くはずなのに、idを見に行っているため、
ない場合はエラーとなってしまうようです。
環境
OS:Windows XP
サーバー:Apache2.2
DB:MySQL5.0
PHP:PHP5.2.9
OpenPNE:3.2.0
</pre>
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>
OpenPNE 3 - Backport(バックポート) #1612 (Fixed(完了)): OpenPNE 2 からのアップグレードで、誤ったコミュニティカテゴリの紐付けをおこなってしまうこ...
http://redmine.openpne.jp/issues/1612
2010-09-24T12:40:02Z
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>
<pre><code>1. まず、「原因」の項に示した問題を修正するために、重複するコミュニティ名が存在しなかった場合に発行する SQL でも、 OpenPNE 2 のカテゴリ ID を基にコミュニティのインポートをおこなうように修正した<br /> 2. 「1.」の修正はこれからコンバートをおこなう SNS にのみ有効なもので、既にコンバートしてしまった SNS が対象になるものではないので、このような SNS への救済措置として openpne:fix-wrong-categorized-community タスクを用意した</code></pre>
<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 テーブルにインポートする</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 - Backport(バックポート) #1586 (Fixed(完了)): docomoでかんたんログインに失敗する
http://redmine.openpne.jp/issues/1586
2010-09-13T13:26:25Z
pnetan
pnetan@openpne.jp
<p><a class="external" href="http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=23983">http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=23983</a> より転記<br /><pre>
docomoで新規登録し、かんたんログインするとログインに失敗します。
原因は新規登録時にiモードIDとFOMAカードIDを両方取得しており、DBにはiモードIDが保存されています。携帯電話のiモードIDを送信しない設定にすると、FOMAカードIDが保存され正常にかんたんログインできるようになりました。
※利用してるOpenPNEは3.4.0です。
※携帯電話個体識別番号(暗号化済)は保存されています。
※SNS設定では「携帯登録時に携帯個体識別番号の登録を必須にする」になっています。
※新規登録後かんたんログインの設定を行うと正常にログインできます。
※かんたんログインを再設定すると、管理画面の暗号化された個体識別番号は変化します。
メールアドレスでログイン後、かんたんログイン設定を行うとそれ以降は正常にかんたんログインできるようになります。
</pre></p>
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(バグ) #908 (Fixed(完了)): OpenPNEセットアップマニュアルにあるメール投稿の設定が間違っている
http://redmine.openpne.jp/issues/908
2010-03-27T10:34:58Z
pnetan
pnetan@openpne.jp
<p><a class="external" href="http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=24002">http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=24002</a> より転記<br /><pre>
http://github.com/openpne/OpenPNE3/raw/OpenPNE-3.4.2/doc/ja/OpenPNE3_Setup_Guide.txt
の中に、
openpne_user "| php /path/to/openpne/symfony openpne:execute-mail-action"
と記載がありますが、
openpne_user: "| php /path/to/openpne/symfony openpne:execute-mail-action"
かと思います。
確認バージョン: OpenPNE 3.4 セットアップ手順
</pre></p>
OpenPNE 3 - Bug(バグ) #905 (Fixed(完了)): docomoでかんたんログインに失敗する
http://redmine.openpne.jp/issues/905
2010-03-27T10:22:58Z
pnetan
pnetan@openpne.jp
<p><a class="external" href="http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=23983">http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=23983</a> より転記<br /><pre>
docomoで新規登録し、かんたんログインするとログインに失敗します。
原因は新規登録時にiモードIDとFOMAカードIDを両方取得しており、DBにはiモードIDが保存されています。携帯電話のiモードIDを送信しない設定にすると、FOMAカードIDが保存され正常にかんたんログインできるようになりました。
※利用してるOpenPNEは3.4.0です。
※携帯電話個体識別番号(暗号化済)は保存されています。
※SNS設定では「携帯登録時に携帯個体識別番号の登録を必須にする」になっています。
※新規登録後かんたんログインの設定を行うと正常にログインできます。
※かんたんログインを再設定すると、管理画面の暗号化された個体識別番号は変化します。
メールアドレスでログイン後、かんたんログイン設定を行うとそれ以降は正常にかんたんログインできるようになります。
</pre></p>
OpenPNE3 Plugins - Bug(バグ) #884 (Invalid(無効)): あしあとに /member/ と表示される
http://redmine.openpne.jp/issues/884
2010-03-19T05:27:43Z
pnetan
pnetan@openpne.jp
<p><a class="external" href="http://sns.openpne.jp/?m=pc&a=page_c_topic_detail&target_c_commu_topic_id=5753 から転載">http://sns.openpne.jp/?m=pc&a=page_c_topic_detail&target_c_commu_topic_id=5753 から転載</a></p>
<pre>
OpenPNE3.4.1を利用させて頂いております。
あしあとのニックネーム欄に
『/member/』と表示されているのですが、
これは設定などでおかしな箇所があるのでしょうか??
例えばこのように・・
2010年 03月18日 15:58 /member/
2010年 03月17日 22:02 /member/
・・と表示されています。
※キチンとニックネームが表示されている場合もあります。
色々やってみましたが、
私の未熟もあって、上手くなおす事が出来ませんでした。
なおす方法などご存知の方がいらっしゃいましたら、
どうか教えて下さい。
宜しくお願いします。
</pre>
opAshiatoPlugin - Bug(バグ) #275 (Fixed(完了)): あしあとの表示が正常に動作していない
http://redmine.openpne.jp/issues/275
2009-11-26T06:30:40Z
pnetan
pnetan@openpne.jp
<p><a class="external" href="http://sns.openpne.jp/?m=pc&a=page_c_topic_detail&target_c_commu_topic_id=5128">http://sns.openpne.jp/?m=pc&a=page_c_topic_detail&target_c_commu_topic_id=5128</a> より転記</p>
<pre>
お世話になっております。
あしあとの表示についてですが、あしあとのページには
「最新30件までを表示、同一人物・同一日付のアクセスは最新の日時だけが表示されます。」
となっておりますが、現状の表示は以下の様になっているように思います。
①1日につき1件の足跡しか表示されない。
②日付は当日の最新のものが表示される。
③アクセスした人の名前は当日最初にアクセスした人の名前が表示される。
(日付と名前が対応していない)
①の動作は仕様でしょうか?
また、②③について、あしあとの日付と名前を対応付けるには、どのようにすればよろしいでしょうか。
お手数をおかけ致しますが、宜しくお願いいたします。
環境:開発版 OpenPNE 3.1.5
</pre>