On Tue, Jul 12, 2016 at 1:40 AM, Daniel Kinzler <daniel.kinzler(a)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(a)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