On Sun, 19 Sep 2010 23:42:08 +0200, Platonides
wrote:
You load originaldb.objectcache, retrieve the
specific configuration,
and switch into it.
For supporting many sumyltaneous configurations, the keyname could
have the instance (whatever that cookie is set to) appended, although
those dynamic configurations make me a bit nervous.
Well, this may work, but consider the following.
A nightly build environment (and even a local developer test
environment) tests the latest revision using a suite of regression
tests. These tests exercise the same wiki code, each parametrized by:
+ Browser type (e.g., Firefox, IE, Safari, Opera) + Database (e.g.,
MySQL, Postgres, SQLite) + OS platform (e.g., Linux, BSD unix variant,
Windows variant)
A particular test environment may not support all permutations of these
parameters (in particular a local developer environment may support
only one OS), but the code mechanism for supporting the regression
tests should. To ensure timely completion of these tests, they will
almost certainly run concurrently.
So, when a regression test runs, it must not only retrieve the
configuration data associated with it, it must create a test run
environment (e.g., a test db, a test images directory, test cache
data). The creation of this test run environment requires an identifier
somewhere so its resources may be reclaimed when the test run completes
or after an abnormal end of the test run.
Thus, the "originaldb" must not only hold configuration data with db
keys identifying the particular test and its parameters, but also an
identifier for the test run that can be used to reclaim resources if
the test ends abnormally. The question is whether using a full wiki db
for this purpose is advantageous or whether stripping out all of the
other tables except the objectcache table is the best implementation
strategy.
Such originaldb would be empty for an instance used just for regression
testing and could in fact only contain the objectcache table. If it's a
developer machine he would use the originaldb for local testing, but a
nigthly would not need to (in fact, errors trying to access those
missing tables would be useful for detecting errors in the isolating
system).