Project

General

Profile

Bug(バグ) #1865

プロフィール項目の不具合について

Added by pnetan   over 8 years ago. Updated over 3 years ago.

Status:
Fixed(完了)
Priority:
High(高め)
Assignee:
Target version:
Start date:
2011-01-12
Due date:
% Done:

100%

3.6 で発生するか:
Yes
3.8 で発生するか:
Unknown (未調査)

Description

http://sns.openpne.jp/communityTopic/6709 より転記

http://sns.openpne.jp/cache/img/png/w_h/a5e00bca971049df8db393b769b1381a1f20d217_png.png
 http://sns.openpne.jp/cache/img/png/w_h/9499800169021d9a54fef4b90d8f792535b16bd0_png.png   

(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の画面及び補足です。

以上、宜しくお願いいたします。

62931ffdfbb9a3510e4fd5ee3b359d30.png View (17.5 KB) Hiroshi Kato, 2011-08-01 13:01


Related issues

Related to OpenPNE 3 - Backport(バックポート) #2303: プロフィール項目の不具合について Fixed(完了) 2011-07-27
Related to OpenPNE 3 - Backport(バックポート) #2684: プロフィール項目の不具合について Fixed(完了)

Associated revisions

Revision b51157e2 (diff)
Added by Hiroshi Kato almost 8 years ago

added 'and query' and 'order query'.(fixes #1865)

History

#1 Updated by Kousuke Ebihara over 8 years ago

  • 3.6 で発生するか set to Yes

#2 Updated by Masato Nagasawa over 8 years ago

OpenPNE-3.4.9.2 / 3.4.9-dev にて確認しましたが再現できませんでした。

#3 Updated by Mutsumi Imamura almost 8 years ago

  • Priority changed from Normal(通常) to High(高め)
  • Target version set to OpenPNE 3.7.0

#4 Updated by Hiroshi Kato almost 8 years ago

OS: Mac OS X 10.6.7, PHP: 5.3.1, MySQL: 5.1.44, OpenPNE-3.4.9.2 にて確認しましたが再現できませんでした。
(ID1ユーザでの一連の手順の実行, 別ユーザでの一連の手順の実行)

また、この環境にて、OpenPNE-3.4.2 でチェックボックスを全て外した場合バリデーションエラーでプロフィールの更新が出来なかったため、
OpenPNE-3.4.2 での確認は行なっていません。

#5 Updated by Shingo Yamada almost 8 years ago

  • Assignee set to Hiroshi Kato

#6 Updated by Hiroshi Kato almost 8 years ago

以下に調査内容をまとめます。

メンバーの入力したプロフィール項目を取得してくる関数 getProfileListByMemberId() で、以下のDQLを実行しています。

lib/model/doctrine/MemberProfileTable.class.php

 22     {
 23       $memberProfile = $this->createQuery()
 24         ->where('member_id = ?', $memberId)
 25         ->andWhere('profile_id = ?', $profile->getId())
 26         ->fetchOne();
 27 

このDQLでは、selectの結果によって level 1〜 の子(孫〜)プロフィールが取得される可能性があります。
関数の呼び出し元では、取得されたプロフィールを level 0 のものとして扱っているため、
報告されている不具合に繋がっていると考えられます。

確認を行った環境では、クリーンインストールの場合では再現できませんでしたが、
テーブルのストレージエンジンを MyISAM に変更し報告されている手順を実行することで、
プロフィール項目 test1, test2 でそれぞれ item3, item5 だけが選択された状態となることを確認しました。

報告を頂いた方に、以下の点を確認して頂きたいです。
・member_profile テーブルのストレージエンジン
・member_profile にて、ソート順を指定しなかった場合の実行結果の並び順 (報告頂いているキャプチャーでは id の昇順でソートされているようなので。)
・プロフィール項目まわりでのカスタマイズの有無

なお、確認を行なった環境では、報告いただいたキャプチャーの③の段階で送信を押してプロフィール確認に戻った際、
プロフィール項目 test1, test2 は表示されませんでした。(添付画像参照)
これは、getProfileListByMemberId() で取得された level 1〜 の子(孫〜)プロフィールは public_flag が NULL となっているためですが、
報告ではプロフィール項目 test1, test2 ともに表示されていますので、前述の指摘箇所とは別に問題がある可能性があります。

#7 Updated by Shingo Yamada almost 8 years ago

  • Status changed from New(新規) to Accepted(着手)

#8 Updated by Hiroshi Kato almost 8 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

更新履歴 b51157e2bdcf378d31bcf25553b64b3de698f5df で適用されました。

#9 Updated by Rimpei Ogawa almost 8 years ago

  • Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
  • % Done changed from 50 to 70

レビューOKです。

#10 Updated by Shingo Yamada almost 8 years ago

  • 360対象 set to beta13

#11 Updated by Mutsumi Imamura over 7 years ago

  • Status changed from Pending Testing(テスト待ち) to Fixed(完了)
  • % Done changed from 70 to 100

#12 Updated by kaoru n over 3 years ago

  • 3.8 で発生するか set to Unknown (未調査)

Also available in: Atom PDF