The actual code is what I would like to see. Often, I just want to tweak the slot (say, remove a single item from a menu), but I can’t do that without overwriting the slot, and if I overwrite, then I don’t know what’s the code behind to keep the other things working as is.
I thought there may be a way to get the code from the git repositories themselves, but I don’t know how.
Ah! I see what you mean. Thinking aloud - This could be tricky as we will need to scan the full codebase to find the imports of the slots and then pull the code from there. Maybe, we don’t need to pull the code, just linking the right places where it’s being imported would be good addition. Something like an “Usages” section, that lists the links to files that use this slot or something. Let me see if Github’s search API can be useful here.
Also, a feature which would be interesting is to be able to get a “diff”, i.e. easily figure out what has been added/removed between Ulmo and Verawood, for example.
Cool idea! And I like the clean UI. Do you plan on adding the @pluggable_override decorator’s locations?
By the way I feel like it’s quite a forgotten part of the Open edX Extensions Platform, which could be very useful in some cases and I wish it was added in more places (currently just 14 functions at master branch). It’s just one decorator, almost zero cost for the developer but provides huge flexibility without having to fork the platform. I’m surprised it’s not almost everywhere .
Though I can see that this would be a kind of promise from the devs to not change the signature or return type of the func as that would potentially (most likely) introduce breaking changes to plugins if they invoke the original function.
@mboisson This is a timely ping. The parser has been broken for the last 1 week and I have been wanting to attend to it and add Verawood as well. So a big yes for adding Verawood.
The diff is a pretty nice idea, I will add it to my list. Another one I have been thinking about it version changes. Sometimes slots can change versions (I am recently working on once such version change) and it would be nice to highlight that when browsing specific slots.
@jakubkl I remember this being presented in one of the conference talks in Paris. But I never invested time in learning more about it. Thanks for pointing it out. I didn’t have any plans until now, but I guess it could be added. I will look into it.
Another thing that will be good to add, is the information about frontend slots. They work slightly differently, with different naming, and MFE plugin slots are due to be removed at some point…