On Tue, Jul 12, 2016 at 1:40 AM, Daniel Kinzler <daniel.kinzler@wikimedia.de
wrote:
Do we really want to manage something that is essentially configuration, namely the set of available content models and formats, in a database table? How is it maintained?
For context:
- As per T113034, we are movign away from managing interwiki prefixes in
the database, in favor of configuration files.
- Namespace IDs are defined in LocalSettings.php.
The original design of ContentHandler used integer IDs for content models and formats in the DB. A mapping to human readable names is only needed for logging and error messages anyway.
This oversimplifies things greatly. Integer IDs need to be mapped to some well-specified, non-local (global?) identifier for many many purposes (reading exports, writing exports, reading site content, displaying site content for many contexts, etc)
As Jaime points out, we don't want or need 6 billion copies of the same identifier in our database. However, relegating that information to LocalSettings.php means that we'll have to manually sync that critical configuration data for use by non-PHP implementations interacting with the information.
On Tue, Jul 12, 2016 at 3:40 AM, Daniel Kinzler <daniel.kinzler@wikimedia.de
wrote:
I'm fine with the DB based solution, if we have decent tooling for extensions to register their content models, etc.
We need to put a lot of thought into content model management generally. This statement implies managing content models outside of the database is easy.
Rob