プロジェクト

全般

プロフィール

Bug(バグ) #2906

OpenPNE2系からのコンバートで日記の公開範囲初期値の設定値がコンバートされない

Mutsumi Imamura約12年前に追加. 8年以上前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2012-03-26
期日:
進捗率:

100%

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

説明

Overview (現象)

OpenPNE2系からのコンバートで日記の公開範囲初期値の設定値がコンバートされない。
2系の時にこの設定値を「非公開」などにしていたユーザーが、コンバート後にはデフォルト値の「全体に公開」に変更されてしまい混乱を招く可能性がある。

コンバーターはOpenPNEコア側の機能なので判断に迷いましたが、こちらにチケットを作成しました。
opDiaryPluginプロジェクトにチケットを作成するのが不適切でしたら、お手数ですがOpenPNE3コアのプロジェクトにチケットの移動をお願いいたします。

再現バージョン

  • OpenPNE3.6.2
  • opDiaryPlugin1.4.0.1

再現手順

  1. OpenPNE2系から3系にコンバートする。
  2. 日記の公開範囲初期値の設定値を確認する。(member/config?category=diary)

Causes (原因)

バグが発生した原因を記入

Way to fix (修正内容)

修正内容を記入

関係しているリビジョン

リビジョン e230667f (差分)
Hidenori Gotoほぼ12年前に追加

(refs #2906) Added converter SQL for a public flag of a diary

履歴

#1 Mutsumi Imamuraほぼ12年前に更新

  • 対象バージョンv1.4.1 にセット

#2 Mutsumi Imamuraほぼ12年前に更新

  • 担当者Hidenori Goto にセット

#3 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

#4 Hidenori Gotoほぼ12年前に更新

Hidenori Goto は書きました:

すでに運営中のコンバート済みSNSについては、まだmember_configにdiary_public_flag設定値がないメンバーに対してのみ、c_memberからpublic_flag_diaryのフラグを取り出して設定するバッチを用意。

こちらのバッチについては、本チケットの作業からは除外させて頂きます。
必要なのかどうか、また必要であればどのパッケージにどのように含めるべきか、検討が必要かと思われます。

#5 Hidenori Gotoほぼ12年前に更新

  • ステータスNew(新規) から Accepted(着手) に変更

#7 Hidenori Gotoほぼ12年前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

#8 Yuya Watanabeほぼ12年前に更新

  • プロジェクトopDiaryPlugin から OpenPNE 3 に変更
  • 対象バージョン を削除 (v1.4.1)

#9 Yuya Watanabeほぼ12年前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 対象バージョンOpenPNE 3.6.4 にセット
  • 進捗率50 から 70 に変更
  • 3.6 で発生するかUnknown (未調査) から Yes (はい) に変更

note-4 の懸念については対処しようがないと思うので対応は必要ないと思います.

修正内容は問題無いとして, 下記コミットで stable-3.6.x にマージを行いました.

3221f5b1b8780fe388a691b5a6fb04a9fe20fa61

#10 Yuma Sakataほぼ12年前に更新

  • ステータスPending Testing(テスト待ち) から Fixed(完了) に変更
  • 進捗率70 から 100 に変更

テストOKです。

#11 kaoru n8年以上前に更新

  • 3.8 で発生するかUnknown (未調査) にセット

他の形式にエクスポート: Atom PDF