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

Start integrating the feature into Moodle core #117

Open
juho-jaakkola opened this issue Sep 27, 2017 · 3 comments
Open

Start integrating the feature into Moodle core #117

juho-jaakkola opened this issue Sep 27, 2017 · 3 comments

Comments

@juho-jaakkola
Copy link

I recently made a feature request about a front controller for Moodle: https://tracker.moodle.org/browse/MDL-60140

Now I came across your plugin, and realized you've already started implementing that feature!

I bet you have plenty of insight on the matter, so it would be great if you could provide some kind of list or roadmap of needed changes into the feature request.

It would great if all the future work would go directly into Moodle core as an officially supported feature.

@brendanheywood
Copy link
Owner

hi @juho-jaakkola I'll add some thoughts to that tracker

@FMCorz
Copy link

FMCorz commented Oct 12, 2017

Hi @juho-jaakkola, check out how I implemented routing in my own plugin. I talk about it in #116. I do agree that such a feature should be in core instead though.

@juho-jaakkola
Copy link
Author

juho-jaakkola commented Oct 12, 2017

Getting slightly off-topic, but I'll write this down somewhere before I forget it:

Besides front controller, I've also been looking into making Moodle installable as a composer dependency. I wonder if the front controller could be implemented (at least as the first step) into the composer project base instead of Moodle core.

Take a look for example at these two examples, where not only the modules/plugins/libraries, but also the version of the framework itself is managed through a single composer.json file at the root of the project:

This approach would allow:

  • The front controller to be located at the project base instead of Moodle core (which would get installed to vendor/moodle/moodle/)
  • Developing the approach independently from Moodle core
  • Adding logic like reading for example a routes.yml file from each plugin's directory before deciding where to route the request (the file would map paths such as /myplugin/123 to routes, which would trigger e.g. page specific controllers)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants