Now that TitleValue has been merged - what's next? I'll admit I'm an odd choice to be sending out this email [1], but someone's got to do it. So, I'm thinking, maybe:
1. Start on the TODO in Linker.php [2], turning it into a deprecated compatibility interface calling HtmlPageLinkRenderer. 2. Start writing code in the same fashion for an upcoming project. I believe the upcoming revision storage work might lend itself well to this.
Also, I think we should think about how we want interdependent components to come together. Right now everything must know how to make all of its dependencies. For example, LinksSearchPage must know how to build MediaWikiTitleCodec. That isn't a hardship now, but might become one when we have 30 things like LinksSearchPage and we want to add another dependency to MediaWikiTitleCodec.
I don't claim to know a whole lot about the state of the art for this problem in PHP but I'm used to solving it with an inversion of control container. Each component declares its dependencies in some way and the container makes sure that each component gets the dependencies it needs. Do we need something like this now or will we need something like this in the future?
Nik/manybubbles
[1]: I was the most against TitleValue at the Architecture Summit but have since softened my opinion. Also, the vast majority of my work is in the CirrusSearch extension and not core. [2]: https://gerrit.wikimedia.org/r/#/c/106517/22/includes/Linker.php,cm
On 04/03/2014 05:48 PM, Nikolas Everett wrote:
Now that TitleValue has been merged - what's next? I'll admit I'm an odd choice to be sending out this email [1], but someone's got to do it. So, I'm thinking, maybe:
- Start writing code in the same fashion for an upcoming project. I
believe the upcoming revision storage work might lend itself well to this.
Things might be a bit simpler here as we could just use the REST interface [1] that Aaron is working on. The question then mostly becomes whether we'd like to wrap the raw revision data into a RevisionValue object for further processing.
Gabriel
[1]: https://www.mediawiki.org/wiki/Requests_for_comment/PHP_Virtual_REST_Service
wikitech-l@lists.wikimedia.org