I recently spent some time writing plugins that integrated with grav-core and the admin plugin. I found it really frustrating that the admin plugin hijacked many services and deviated from the general architecture. In particular:
-
Pages under plugin/admin/pages do not get put into folders like pages in user/pages
-
Additional (generic) events are fired by admin and seem to be better located in core. (such as onPageNotFound and onAdminTwigTemplatePaths)
-
Multiple forms defined front-matter pages under /admin/pages are not recognized.
So I fixed or worked around these issues, and now raise this design question up for discussion:
There are circular dependencies between admin and grav core. How does everyone feel about the dependency issue? Should it be refactored?
If I spend time migrating my fixes for a PR, should they be in admin, or grav-core?