Project

General

Profile

Bug(バグ) #2906

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

Added by Mutsumi Imamura almost 8 years ago. Updated over 4 years ago.

Status:
Fixed(完了)
Priority:
Normal(通常)
Assignee:
Target version:
Start date:
2012-03-26
Due date:
% Done:

100%

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

Description

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 (修正内容)

修正内容を記入

Associated revisions

Revision e230667f (diff)
Added by Hidenori Goto over 7 years ago

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

History

#1 Updated by Mutsumi Imamura over 7 years ago

  • Target version set to v1.4.1

#2 Updated by Mutsumi Imamura over 7 years ago

  • Assignee set to Hidenori Goto

#3 Updated by Hidenori Goto over 7 years ago

問題箇所

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 Updated by Hidenori Goto over 7 years ago

Hidenori Goto は書きました:

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

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

#5 Updated by Hidenori Goto over 7 years ago

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

#7 Updated by Hidenori Goto over 7 years ago

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

#8 Updated by Yuya Watanabe over 7 years ago

  • Project changed from opDiaryPlugin to OpenPNE 3
  • Target version deleted (v1.4.1)

#9 Updated by Yuya Watanabe over 7 years ago

  • Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
  • Target version set to OpenPNE 3.6.4
  • % Done changed from 50 to 70
  • 3.6 で発生するか changed from Unknown (未調査) to Yes (はい)

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

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

3221f5b1b8780fe388a691b5a6fb04a9fe20fa61

#10 Updated by Yuma Sakata over 7 years ago

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

テストOKです。

#11 Updated by kaoru n over 4 years ago

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

Also available in: Atom PDF