課題 #13834

eventのエラーハンドリング

Added by - 清末直 over 2 years ago. Updated 21 days ago.

Status:終了Start date:
Priority:急いでDue date:
Assignee:-% Done:

0%

Category:GitHubへ移行済
Target version:-

Description

主に、ajaxまわり (特に contents)の部分に係わってくると思うのですが
eventで起きたエラーを、大元で取得できなく、ユーザに適切なエラーメッセージを
出力できません。

たとえば、固定ページの追加を ajax経由で行うと。
/admin/pages/ajax_add
がコールされるのですが、このmethodの中で、page table に insert される前に
contents table へ insert されたりします。これがeventで登録されているので、
Content.php modelで起きたエラーを Page.php で取得するすべが現状ないと思います。

PagesController.php のロジックには
$this->ajaxError(500, $this->Page->validationErrors);
とか書かれていて、validationErrorを返そうとしてるのですが、event Contentの方で
起きたエラーはこちらにデータが入ってこないので、default の 「Internal Server Error」の
表示になります。

このような状況の場合、errorを、throwして、大元で、catchするのがいいかと思うのですが
(それ以外思い浮かばない)、恐らく全体的に改修を入れると多岐にわたりそうなのと
根本的な設計の問題なので、先に相談でチケット書いてます。

取りあえずは、解消の方法だけ決めておけば今後これに類似するエラーは同様の方向性で
解消できるとおもうので、方向性だけ決めたいのですがどれがいいでしょうか?
(どれがいいと言いつつ、1つしか提案してないですが、、)


History

#1 Updated by - 清末直 over 2 years ago

  • Related to TODO #13827: コンテンツ一覧からのajax経由でコンテンツ名の制御が必要 added

#2 Updated by 江頭 竜二 over 2 years ago

  • Assignee changed from 江頭 竜二 to - 清末直

別チケットにも書いたのですが、
BcContentsBehavior::beforeValidate() でバリデーションエラーの引き継ぎ処理をやる方向では難しいでしょうか?

#3 Updated by - 清末直 over 2 years ago

おぉ、やってみます。

#4 Updated by 江頭 竜二 over 2 years ago

追記です。

今回、コア側をプラグインでラップするような仕様となってますので、コアで発生したものをプラグインでキャッチする仕様にするとプラグイン側の開発負担が増えるんですよね。

方針としては、プラグインの開発負担を減らす為に、できるだけコアで担う方向でいきたいと考えています。

#5 Updated by - 清末直 over 2 years ago

  • Tracker changed from TODO to 課題
  • Project changed from baserCMSベータテスト to baserCMS
  • Category changed from バグ to イベント
  • Target version changed from 正式版リリース準備 to 4.0.1

一端、チケットを未来にむけなおしておきます。
課題として。

#6 Updated by - 清末直 over 2 years ago

  • Priority changed from 今すぐ to 通常

#7 Updated by 江頭 竜二 over 2 years ago

追記です。

プラグインだけでなく、固定ページや、コンテンツフォルダ、コンテンツリンク等、コンテンツ管理で管理されるコアのコンテンツも仕様を合わせないといけないです。

#8 Updated by 江頭 竜二 over 2 years ago

  • Target version changed from 4.0.1 to 4.0.0

すんません、こちら、一旦戻させてください。

#9 Updated by 江頭 竜二 over 2 years ago

  • Assignee changed from - 清末直 to 江頭 竜二

#10 Updated by 江頭 竜二 over 2 years ago

  • Target version changed from 4.0.0 to 4.0.1

こちらやっぱり未来向けの課題という事で。

#11 Updated by 江頭 竜二 over 2 years ago

  • Assignee deleted (江頭 竜二)

#12 Updated by 江頭 竜二 over 2 years ago

  • Target version changed from 4.0.1 to 4.0.2

#13 Updated by 江頭 竜二 about 2 years ago

  • Target version changed from 4.0.2 to 4.0.3

#14 Updated by 江頭 竜二 about 2 years ago

  • Target version changed from 4.0.3 to 4.0.4

#15 Updated by 江頭 竜二 about 2 years ago

  • Target version changed from 4.0.4 to 4.0.5

#16 Updated by 江頭 竜二 almost 2 years ago

  • Target version changed from 4.0.5 to 4.0.6

取り急ぎ、見送ります。

#17 Updated by 江頭 竜二 over 1 year ago

  • Target version changed from 4.0.6 to 188

#18 Updated by 江頭 竜二 over 1 year ago

  • Target version changed from 188 to 4.1.0

#19 Updated by 江頭 竜二 11 months ago

  • Priority changed from 通常 to 急いで

#20 Updated by 江頭 竜二 11 months ago

  • Target version deleted (4.1.0)

#21 Updated by 江頭 竜二 21 days ago

  • Category changed from イベント to GitHubへ移行済

#22 Updated by 江頭 竜二 21 days ago

  • Status changed from 担当 to 終了

Also available in: Atom PDF