Add possibility to "weigh" URL paths
ATM, the only way to add plugin URL paths to the main Django application is an inderministic way of collecting "all of them" using iteration over all plugin urlpatterns and adding them one after another into the main urlpatterns.
There should be a way to give url paths provided by plugins a "weight" which allows GDAPS to order them in a deterministc way.
One possibility would be to create a non-service class which implements an Interface like:
@implements(IUrlPattern)
class UrlA:
path = path("fooplugin/bar", TemplateView.as_view(template="foo.html"))
weight = -10
This "weight" is borrowed from Drupal, where plugins can give their entities a certain "weight", and in a list, the entity "sinks down" the further, the higher its weight is.
The main urlpattern must take care of that "weight" mechanism then within GDAPS, using a helper function etc.
Maybe it's not the best approach. Even better would be a dependency resolution - where plugins can specify dependencies of other plugins - which URL paths must be resolved before its own paths. But this is a bit hard to implement.