What is our policy/best practices on code needed by several extensions? Does it make sense to integrate such code into core?
For example, my current situation: there is a class in MobileFrontend that performs reformatting of HTML: remove some tags depending on their ID/class and so on. MF uses it to make page content more suitable for mobile devices. At the same time, it can be used for other transformations such as getting plain-text extracts of articles. Consequentially, producing such extracts is currently part of MobileFrontend although such functionality should belong to a separate extension (and why not core?). So if I want to use this functionality in several extensions, they should either depend on one of them or some meta-extension, both of these would be inconvenient.
The question is: does it make sense to integrate this class into MW core? Its code can be seen at
http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/MobileFrontend/Ht...
while its mobile-specific descendant class can be used as an example of its practical application:
http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/MobileFrontend/Mo...
Max Semenik maxsem.wiki@gmail.com wrote:
What is our policy/best practices on code needed by several extensions? Does it make sense to integrate such code into core?
For example, my current situation: there is a class in MobileFrontend that performs reformatting of HTML: remove some tags depending on their ID/class and so on. MF uses it to make page content more suitable for mobile devices. At the same time, it can be used for other transformations such as getting plain-text extracts of articles. Consequentially, producing such extracts is currently part of MobileFrontend although such functionality should belong to a separate extension (and why not core?). So if I want to use this functionality in several extensions, they should either depend on one of them or some meta-extension, both of these would be inconvenient.
If done *cleverly* - why not? Do you mean something like preventing adding something by OutputPage::addHTML()/addElement() in the first place?
//Saper
wikitech-l@lists.wikimedia.org