Bug(バグ) #2289
完了3.6beta11 以前のバージョンから 3.6beta12 にバージョンアップすると、一部の設定が表示されなくなる
0%
説明
Overview (現象)¶
OpenPNE 3.6beta11 から OpenPNE 3.6beta12 にバージョンアップすると、設定変更画面( /member/config ) の以下の画面が表示されなくなります。
- 「言語とタイムゾーンの設定」
- 「外部サービスとの接続設定」
- 「OpenID の設定」
#1858 でこれらの機能の仕様可否設定が追加され、バージョンアップするとデフォルト値である「使用しない」設定が適用されるためです。
新規インストールの場合はデフォルト値のままで問題はないですが、バージョンアップに関しては運用中のSNSでこの設定を利用している可能性もあるので「使用する」設定になっている方がいいと思います。
Causes (原因)¶
バグが発生した原因を記入
Way to fix (修正内容)¶
#2330 において,使用する場合には管理画面(pc_backend.php/sns/config/category/general)より「使用する」を選択する必要がある旨を記述(予定)
Yuya Watanabe さんが約13年前に更新
内容¶
OpenPNE3.6beta11をインストールし,OpenPNE3.6beta12にバージョンアップを行った際に/member/configのページにおいて「言語とタイムゾーンの設定」「外部サービスとの接続設定」「OpenID の設定」の項目が存在するかどうかを確認.
確認手順¶
環境依存のコマンド等は省略.
git clone https://github.com/openpne/OpenPNE3.git cd OpenPNE3 cp config/ProjectConfiguration.class.php.sample config/ProjectConfiguration.class.php cp config/OpenPNE.yml.sample config/OpenPNE.yml git checkout -b beta11 remotes/origin/release-3.6beta11 ./symfony openpne:install
/member/configにアクセスし「言語とタイムゾーンの設定」「外部サービスとの接続設定」「OpenID の設定」の設定があることを確認.
git checkout -b beta12 remotes/origin/release-3.6beta12 ./symfony cc
/member/configにアクセスし「言語とタイムゾーンの設定」「外部サービスとの接続設定」「OpenID の設定」の設定がないことを確認.
Yuya Watanabe さんが約13年前に更新
内容¶
チケット内容はOpenPNE3.6における問題であるが,3.6beta11->3.7devとバージョンアップさせた場合にも発生するかどうかを確認.
また,バージョンアップの方法はdoc/ja/OpenPNE3_Version_Up_Guide.txtを参照した.
確認手順¶
環境依存のコマンド等は省略.
git clone https://github.com/openpne/OpenPNE3.git cd OpenPNE3 cp config/ProjectConfiguration.class.php.sample config/ProjectConfiguration.class.php cp config/OpenPNE.yml.sample config/OpenPNE.yml git checkout -b beta11 remotes/origin/release-3.6beta11 ./symfony openpne:install
/member/configにアクセスし「言語とタイムゾーンの設定」「外部サービスとの接続設定」「OpenID の設定」の設定があることを確認.
git checkout master ./symfony doctrine:build-model ./symfony cc ./symfony openpne:migrate
/member/configにアクセスし「言語とタイムゾーンの設定」「外部サービスとの接続設定」「OpenID の設定」の設定がないことを確認.
Yuya Watanabe さんが約13年前に更新
原因¶
下記部分において設定値がない場合のデフォルト値が設定されていないことが原因であると考えられるが,ここでデフォルト値を設定したとしても管理画面の設定(pc_backend.php/sns/config/category/general)との整合性が取れない状態になる可能性がある.そのため,単純にデフォルト値を設定しただけでは完全な問題解決には至らないと思われる.
- apps/pc_frontend/modules/member/templates/configSuccess.php
15 $list = array(); 16 17 if (opConfig::get('enable_connection')) 18 { 19 $list[] = link_to(__('Connecting with External Application'), '@connection_list');
- apps/pc_frontend/modules/member/templates/configSuccess.php
20 } 21 22 if (opConfig::get('enable_openid')) 23 { 24 $list[] = link_to(__('OpenID Configuration'), '@openid_list');
- lib/action/opMemberAction.class.php 436行目
434 if (isset($categories['language'])) 435 { 436 if (!opConfig::get('enable_language')) 437 { 438 unset($categories['language']);
Yuya Watanabe さんが約13年前に更新
note-7の問題はマイグレートスクリプトを追加することで対応可能であるが,3.6では追加することができない.
よって現段階では対処を行うことが困難なため,利用する際には管理画面で設定を行う旨をバージョンアップの手順書に記述する方針とする.
Yuya Watanabe さんが約13年前に更新
- ステータス を Accepted(着手) から Invalid(無効) に変更