【解決】ページタイプのコピーまたは手動作成後「権限」設定でシステムエラー
※本件、現在自然復旧しております。
発生原因、復旧要因とも不明ですが、お騒がせいたしました。
以下の症状が発生、こちらへ記述をしながら動かしてみたところ
エラー発症状況が推察できましたので、<進捗>として記述しています。
その認識で良いかどうかお知恵をいただければと存じます。
【症状】
・ページタイプの追加作成でデフォルト"ページ"をコピーするとエラー
・手動でページタイプを作成。「権限」ボタンを押下するとエラー
→<進捗>どうも全てエラーになるわけではないようです。
【経緯】
・インストール後に各種ページを作成した際には、複数のページタイプを作成でき、
サイトページとの紐づけも問題なく動いていた
・その後、ワークフロー権限設定トラブルですべてのサイトページのページタイプを
デフォルトのページタイプ”ページ”に変更後、追加作成したページタイプを削除
・ワークフロー権限設定トラブルが解決したところで、改めてページタイプを作成しようとしたところエラー発生
【心当たり】
・作成済みサイトページのページタイプの紐づけをデフォルトにすべて紐づけなおした
・手動作成のページタイプをすべて削除した
(デフォルトページタイプ”ページ”の「権限」ボタンは正常に稼働)
→ やってはいけないことをやってしまったか。。。。
→ <進捗>エラーが出るときと出ない時がある
【エラー記述】
<ページタイプコピー作成時エラー記述 (添付01)>
Doctrine \ DBAL \ Exception \ UniqueConstraintViolationException
An exception occurred while executing 'INSERT INTO PageTypePageTemplateDefaultPages (pTemplateID, ptID, cID) VALUES (?, ?, ?)' with params ["4", "13", "273"]: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '4-13' for key 'PRIMARY'
<新規作成ページタイプ「権限」OPEN時エラー記述 (添付02)>
Doctrine \ DBAL \ Exception \ SyntaxErrorException
An exception occurred while executing 'select cID from Pages where cParentID in () and cInheritPermissionsFromCID = ': SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') and cInheritPermissionsFromCID =' at line 1
【やりたいこと】
・サイトページ毎に社内部署単位で別々の更新ワークフローを設定したい
・そのため、部署属性毎に権限構成の異なるページタイプを作成したい
【進捗】
・エラーになるときとならない時がある(添付03)
・ページタイプ名「インフォメーション」の例
ページタイプハンドルを"info”にする → エラー
〃 を"if”にする → エラーにならず
↑ "info”は一度削除したページタイプに使用していたハンドル
・"test””test2"ハンドル名は未使用であるためエラー発生せず
【推察】
この推察で正しいでしょうか?
一度使用し削除したページタイプハンドルを使用するとエラーになる
→ ページタイプコピーの時はコピー作成時
手動で同じハンドルでページタイプは作成できるが「権限」設定でエラー
しばらくこれを意識して作成してみます。
ご意見を頂戴できれば幸いです。
<構築時参考資料>
世界一わかりやすいConcrete5 P78~
<環境情報>
インストール環境
Windows10 ローカルPC (64bit)
Windows版 MAMP
ブラウザ GoogleChrome or FireFox
# concrete5 Version
Core Version - 8.4.3
Version Installed - 8.4.3
Database Version - 20180716000000
# concrete5 Packages
Easy Weather (1.0.0), Global Version List (1.0), PDF Viewer (1.0.1)
# concrete5 Overrides
None
# concrete5 Cache Settings
Block Cache - Off
Overrides Cache - On
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).
# Server Software
Apache/2.2.31 (Win32) DAV/2 mod_ssl/2.2.31 OpenSSL/1.0.2h mod_fcgid/2.3.9 mod_wsgi/3.4 Python/2.7.6 PHP/7.2.1 mod_perl/2.0.8 Perl/v5.16.3
# Server API
apache2handler
# PHP Version
7.2.1
# PHP Extensions