People, including me, sometimes propose things that would require modifications to the TW core. A common reply is a recommendation to instead create a plugin or a macro. My post here is not to question this stance; as frustrating as that reply can be, it is fully understandable and TW could not be as incredible as it is without this restrictive policy. Rather, I wonder what can be done to mitigate the problem that follow from non-core solutions, a.k.a custom solutions? Namely, the problem that custom solutions become unreliable!
Presumably, the person requesting something that necessitates a change in the TW core (or the standard distro) is not trying to solve a one time hiccup. Rather, the proposal is estimated to be of repeated usefulness. But a “custom solution” is unreliable in that there’s a high chance that you AGAIN don’t have access to it the next time you need it! - “What was the name of that macro?” or, even worse, “There is no macro… how did I solve it in the code? Where was it?” Even “Is it in this wiki at all?”
This is actually a big deal. “Custom solutions” must be carried over if you are to access them, but this grows more difficult over time: You have your favourite plugins, your tweaks, customizations and clever solutions . It is a hassle to carry over these things when starting a new wiki and, over the years, chances are that some of your custom tidbits are just lost.
The reply that “Not suitable for core, make a <
custom solution>
instead.” would also be less frustrating, and there would perhaps be fewer such requests, if we have a good solution to tackle this problem.
Considering how “customization” is TWs super power, maybe we should address this problem in a fundamental way? TW is extraordinarily customizable, perhaps like no other software, so maybe this calls for extraordinary tools to handle customizations, not seen or called for in other software?