|
a proposal for solving the language/cobranding namespace
limitations in the current HTDB design.
by adding a new field, `namespace_id' to the htdb storage bucket,
we can have same-named resources.
namespace_id would be an index into a dynamic database table
which would maintain the matrix of language/cobranding[/whatever]
namespace table fields:
language
cobrand
[whatever]
how it would work:
when a resource file is loaded, if there does not exist in
the namespace table a permutation of language/cobranding
(infered from the file's storage path), then a new row is
insert into namespace and the new namespace_id is stored
with all resources read therein.
pre-caching:
upon startup, we will attempt to read all static-#included files
from all known namespace permutation as described in the namespace
table.
lookup:
a given visitor to the site will have a prefered namespace_id
value associated with them. this value will normally be the default,
but can be over-ridden by setting user.language, etc.
internally, all htdb resource fetches will first look up values
with the user's namespace_id bit, and then fallback to the default
namespace_id if a value was not found.
and that's how internationalization/cobranding can work.
-del
Fri, 5 Oct 2001 10:45:03 -0700 (PDT)
|