Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【提案】プラグイン同士でルーティングが被らない仕組みが必要ではないか #1648

Closed
shhirose opened this issue Jul 30, 2016 · 3 comments
Labels
document Improvements or additions to documentation enhancement 機能追加
Milestone

Comments

@shhirose
Copy link
Contributor

問題・課題

プラグインでどのようなURLを使用するかが、プラグインのソースコードを確認しなくてはわからない。
それにより、たまたま URL が被った場合に予期せぬ動作を行ってしまう。

  • URLはプラグインAのbindを使用したが、ルーティングの登録順番により、プラグインBの画面が表示される
  • 管理画面のURLと被った

対応方法

  • オーナーズストアに使用するURLの一覧を入力してもらい、プラグインの詳細画面で表示する。
  • プラグインのconfig.ymlに使用するURLのパターン一覧を入力してもらい、プラグイン一覧に表示する。
  • ルーティングの設定をServiceProviderではできなようにする。
  • プラグインが有効になった際に同一のルーティングが複数あった場合に無効化する。

など、色々考えてみたのですが、良い実装方法が思い浮かびません。
何か妙案ありませんか?

@nanasess
Copy link
Contributor

例えば、あるプラグインをカスタマイズするため、別のプラグインを作成するケースもあると思いますので、予期せぬ重複を防ぐ意味合いですよね。
根本的には、プラグイン同士の排他と依存を制御できて、かつ URL の重複が意図したものかどうかを制御できるといいですよね。

Yaml や JSON などの設定ファイルでルーティングを設定できるようにして、本体側でチェックできれば実現できそうですが、 Silex の作法から外れると思いますので、良いのかどうか、わかりません。。。

@ryo-endo ryo-endo added the enhancement 機能追加 label Aug 1, 2016
@ryo-endo ryo-endo added this to the 3.x milestone Aug 1, 2016
@Yangsin Yangsin added the document Improvements or additions to documentation label Oct 17, 2017
@Yangsin Yangsin modified the milestones: 3.x, 3.n.0, Not release Oct 17, 2017
@Yangsin
Copy link

Yangsin commented Oct 17, 2017

管理画面であれば規約などで整備できるがフロントのURLは自由に設定したいものだと思いますので個別でカスタマイズなり調整してもらうしかないかと思っています。

@xuelian311
Copy link
Contributor

開発終了となった3系の質問で議論も進んでいないため、クローズさせていただきます。

@xuelian311 xuelian311 closed this as not planned Won't fix, can't repro, duplicate, stale Jul 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
document Improvements or additions to documentation enhancement 機能追加
Projects
None yet
Development

No branches or pull requests

5 participants