Page MenuHomePhabricator

RfC: Data mapper
Closed, DeclinedPublic

Description

This RFC proposes adding a data mapper facility to core. Hopefully, this will promote domain-driven design and help isolate database access. It seems compatible with the recently approved move to a service-oriented architecture. An implementation with tests and examples is provided.

Implemented and merged on a WIP branch of the Campaigns extension for the Editor campaigns project

Details: https://www.mediawiki.org/wiki/Requests_for_comment/Data_mapper
Has overlap and should be coordinated with: https://www.mediawiki.org/wiki/Requests_for_comment/SQL_framework

Details

Reference
fl576

Event Timeline

flimport raised the priority of this task from to High.Sep 12 2014, 1:47 AM
flimport added a project: Architecture.
flimport set Reference to fl576.

qgil wrote on 2014-09-03 06:03:56 (UTC)

This RFC has been scheduled to be discussed in the Architecture RfC meeting on 2014-09-10.

daniel changed the task status from Open to Stalled.Feb 27 2015, 3:48 PM
daniel subscribed.

Apparently, this was scheduled but never discussed, probably due to Andrew's mail here http://www.gossamer-threads.com/lists/wiki/wikitech/503509

The RfC on using Composer-manager libraries [1] is definitely a
potential game-changer here. BTW, the data mapper and dependency
injection RfCs and the implementations were created before that was
accepted. I still hope that they can be spaces for talking about
possible change in these areas, and that the implementations at least
serve to scope out possible directions. Cheers,
Andrew
Spage subscribed.

Apparently, this was scheduled but never discussed

It was discussed on 2014-09-10, see summary; conclusion was "ACTION: AndyRussG to write a more generic ORM RFC comparing implementation options"

Andrew, any update?

Hi @Spage and @daniel... I haven't had time to move foreward with this, but I'd sure love to! If there were a set calendar for doing so, that would help me integrate it with other tasks... what do you think? Also, any more help on this would be fantastic, of course. Apologies for the delay in responding ;p Thanks!!!

@AndyRussG - is this still an RFC you're interested in? @daniel, how about you?

The priority is currently set to "High", which seems like a mismatch given the level of activity on this and lack of discussion on wikitech-l. We should lower this to "Low" priority in our next triage discussion (barring persuasive comment here)

Nobody working on this for Mediawiki would be a mistake. The evidence for that are multiple existing implementations of something like this deployed in production that are not reusable. Also some extensions use doctrine.
@AndyRussG Who do we need to convince, so you have time?
Are there other people interested on working on this?

Nobody working on this for Mediawiki would be a mistake. The evidence for that are multiple existing implementations of something like this deployed in production that are not reusable. Also some extensions use doctrine.

@JanZerebecki - can you make that case on wikitech-l?

kchapman subscribed.

@AndyRussG TechCom is closing this, but feel free to reopen with an updated version if you want it reviewed again.

Krinkle subscribed.

(Closing the overall task, given there are no other projects associated with this task.)