Say I want to remove an old extension from a wiki. How would I know whether or not the extension is actually being used (and where) so that I could determine the impact?
The only approach I can think of is manual, and differs depending on the type of extension. I wonder if there is a (class) method, a debugging method, a tool, or even an extension that is purpose built for this analysis?
The manual approach would be something like:
- Determine type of extension.
- If the extension provides a SpecialPage to do something, (e.g. Html2Wiki) then you know that removing the extension only removes the functionality provided by the SpecialPage.
- If parser function, tag, or magic word, use ‘Replace Text’ extension to search the wiki for uses of that function, tag or magic word.
- If extension creates it’s own database tables, look at those tables for records, and foreign keys to the pages that the extension relates to.
- If it’s a skin, then obviously removing it limits the available skin choices.
- If it’s an API extension, you should know whether or not it’s being used. You would need to make sure there aren’t external “users” (scripts, apps whatever) of the API
Since it’s complicated, my guess is that you just roll up your sleeves and figure it out. But, maybe I’m not aware of a technique that makes this quicker/easier.