Bug(バグ) #2906
完了OpenPNE2系からのコンバートで日記の公開範囲初期値の設定値がコンバートされない
100%
説明
Overview (現象)¶
OpenPNE2系からのコンバートで日記の公開範囲初期値の設定値がコンバートされない。
2系の時にこの設定値を「非公開」などにしていたユーザーが、コンバート後にはデフォルト値の「全体に公開」に変更されてしまい混乱を招く可能性がある。
コンバーターはOpenPNEコア側の機能なので判断に迷いましたが、こちらにチケットを作成しました。
opDiaryPluginプロジェクトにチケットを作成するのが不適切でしたら、お手数ですがOpenPNE3コアのプロジェクトにチケットの移動をお願いいたします。
再現バージョン¶
- OpenPNE3.6.2
- opDiaryPlugin1.4.0.1
再現手順¶
- OpenPNE2系から3系にコンバートする。
- 日記の公開範囲初期値の設定値を確認する。(member/config?category=diary)
Causes (原因)¶
バグが発生した原因を記入
Way to fix (修正内容)¶
修正内容を記入
Hidenori Goto さんが12年以上前に更新
問題箇所¶
V2→V3コンバータで、日記公開範囲フラグに対する処理が行われていません。
修正方針¶
コンバータにて
- /data/upgrade/2/sql/member_config.sql にて、以下のSQLを追加
INSERT INTO member_config (id, member_id, name, value, name_value_hash, created_at, updated_at) (SELECT NULL, c_member_id, "diary_public_flag", 1, MD5(<?php echo $this->conn->expression->concat($this->conn->quote('diary_public_flag'), $this->conn->quote(','), 1) ?>), NOW(), NOW() FROM c_member WHERE public_flag_diary = "public"); INSERT INTO member_config (id, member_id, name, value, name_value_hash, created_at, updated_at) (SELECT NULL, c_member_id, "diary_public_flag", 2, MD5(<?php echo $this->conn->expression->concat($this->conn->quote('diary_public_flag'), $this->conn->quote(','), 2) ?>), NOW(), NOW() FROM c_member WHERE public_flag_diary = "friend"); INSERT INTO member_config (id, member_id, name, value, name_value_hash, created_at, updated_at) (SELECT NULL, c_member_id, "diary_public_flag", 3, MD5(<?php echo $this->conn->expression->concat($this->conn->quote('diary_public_flag'), $this->conn->quote(','), 3) ?>), NOW(), NOW() FROM c_member WHERE public_flag_diary = "private");
すでに運営中のコンバート済みSNSについては、まだmember_configにdiary_public_flag設定値がないメンバーに対してのみ、c_memberからpublic_flag_diaryのフラグを取り出して設定するバッチを用意。
以下フラグ値メモ
OpenPNE2 : c_member.public_flag_diary
- 全員に公開 => "public"
- マイフレンドまで公開 => "friend"
- 公開しない => "private"
OpenPNE3 : member_config/diary_public_flag
- Web全体に公開 => 4
- 全員に公開 => 1
- マイフレンドまで公開 => 2
- 公開しない => 3
Hidenori Goto さんが12年以上前に更新
Hidenori Goto は書きました:
すでに運営中のコンバート済みSNSについては、まだmember_configにdiary_public_flag設定値がないメンバーに対してのみ、c_memberからpublic_flag_diaryのフラグを取り出して設定するバッチを用意。
こちらのバッチについては、本チケットの作業からは除外させて頂きます。
必要なのかどうか、また必要であればどのパッケージにどのように含めるべきか、検討が必要かと思われます。
Hidenori Goto さんが12年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
Yuya Watanabe さんが12年以上前に更新
- プロジェクト を opDiaryPlugin から OpenPNE 3 に変更
- 対象バージョン を削除 (
v1.4.1)
Yuya Watanabe さんが12年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 対象バージョン を OpenPNE 3.6.4 にセット
- 進捗率 を 50 から 70 に変更
- 3.6 で発生するか を Unknown (未調査) から Yes (はい) に変更
note-4 の懸念については対処しようがないと思うので対応は必要ないと思います.
修正内容は問題無いとして, 下記コミットで stable-3.6.x にマージを行いました.
Yuma Sakata さんが12年以上前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
テストOKです。