[Openicc] configuration namespace outline

Kai-Uwe Behrmann ku.b at gmx.de
Wed Nov 26 06:42:53 PST 2008


I have added more details and concretisation as the settings object
implementation in Oyranos advances (oyOptions_xxx).
Changes are in the "Top" and the "Type" levels.


Here a copy from ColourWiki [1]:
=== Elektra namespace ===

The idea is to comply to Elektra naming schemes and be extensible to other 
data bases too like XML files or possibly the JSON format suggested by 
Graeme.

Elektra keys are ordered like paths, and thus separated by a slash. The 
top level entry is something like "sw" for application specific things. In 
order to get colour stuff recognised, I would suggest to use a top level 
category "shared" for system wide colour management settings in Elektra. 
Elektra has even a layer above to feature a user/system distinction, but 
it shall not matter here. This is the Elektra specific part. In Oyranos I 
call this the top part of a configuration path.

Top: the top section for the Elektra data base; e.g.
              "share"
              "sw"

The following generic part is to create paths and keys based on the 
following arrangement. Each element has to be appended:

Domain: a hint about the standard the keys adhere to; e.g.
              "freedesktop.org" for shared and specified keys
              "oyranos.org" for specific things

Type: tell about a classification; e.g.
              "colour" for default colour settings and "colour_icc" for ICC CMM specific keys
              "colour_icc" for a ICC colour conversion CMM

Possible is "colour" for a colour transformation workflow, "colour_icc" 
for a ICC CMM, "tonemap" for HDR to LDR mapping, "image" for image 
handling, "generic" miscellaneous. Other words should be possible too but 
are probably outside of Oyranos' understanding.

Application: a real application or a group for standard settings; e.g.
              "profile"
              "lcms"

Option: the actual value; e.g.
              "editing_xyz"
              "preserve_black"


This would lead to the following path + key: a default Rgb editing space:
   "share/freedesktop.org/colour/profile/editing_rgb"

for a plug-in or application setting:
   "sw/oyranos.org/colour_icc/lcms/preserve_black"

The actual value is then to be associated to the key. Which keys shall be 
visible to backends? The "Type" level seems the most easy one to handle 
that. The option would be passed to the CMM.
   "share/freedesktop.org/colour_icc/behaviour/rendering_intent"

How split into advanced and basic settings? Add keywords to the Option 
level? The point workes here slightly like a XML attribute. In the 
following example the key would not be visible to a CMM. The behaviour is 
to be matched on a higher level.
   "share/freedesktop.org/colour/behaviour/proof_soft.advanced"



kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org

[1] http://www.oyranos.org/wiki/index.php?title=Concepts#Elektra_namespace




More information about the openicc mailing list