configurationengine/doc/plugins/crml-plugin/crmlplugin.rst
changeset 0 2e8eeb919028
equal deleted inserted replaced
-1:000000000000 0:2e8eeb919028
       
     1 User guide for Crml Plugin usage in ConE
       
     2 ----------------------------------------
       
     3 
       
     4 Introduction
       
     5 '''''''''''''
       
     6 This page describes how to use ConE crml plugin. Crml plugin generates cenrep files out of 
       
     7 configuration project which contains valid confml files and matching crml files.
       
     8 Generated files can be included in phone image and creates settings according to confml and crml files.
       
     9 You may change confml values and generate or regenerate confml project and thge generated cenrep files are changed
       
    10 to given values. All files will be file encoded to UTF-16, (so you need a UTF-16 supported editor to view the
       
    11 contents of the files)
       
    12 
       
    13 CrML files are executed by default in **normal** :ref:`invocation phase <implml-common-invocation-phase>`.
       
    14 
       
    15 CrML
       
    16 '''''''''
       
    17 
       
    18 The CrML syntax is a extension of Configuration markup language (confml). The term in confml for this extension 
       
    19 is implementation method language (implml), which in CrML case is a xml file. 
       
    20 
       
    21 All input values can be given as ConfML refs or as plain text. Also mixing text and ConfML ref information
       
    22 is supported. 
       
    23 
       
    24   * Namespace: ``http://www.s60.com/xml/cenrep/1``
       
    25   * File extension: ``crml``
       
    26 
       
    27 .. note::
       
    28 
       
    29    More information about :ref:`file extensions <implml-file-extensions>`. 
       
    30 
       
    31 CrML Elements
       
    32 .............
       
    33 
       
    34 The CrML model is drawn out as a uml model in below picture.
       
    35 
       
    36   .. image:: crml.jpg
       
    37 
       
    38 .. note::
       
    39 
       
    40    CrML supports also common ImplML elements. More information about :ref:`ImplML elements <implml-common-elements>` . 
       
    41 
       
    42 
       
    43 <repository> Element
       
    44 **************************
       
    45 
       
    46 The repository element represents a single key repository (keyspace) in Central Repository.
       
    47 
       
    48 Child Elements
       
    49 ++++++++++++++
       
    50 
       
    51 ====================  ======================  ===============================================================================
       
    52 Element               Cardinality             Description
       
    53 ====================  ======================  ===============================================================================
       
    54 key                   0 .. *                  Defines a single key in repository in Central Repository.
       
    55 keyRange              0 .. *                  Defines a range of keys in repository in Central Repository.
       
    56 access                0 .. 2                  Defines a represents read or write access control policy for a single key 
       
    57                                               or a key range. 
       
    58 ====================  ======================  ===============================================================================
       
    59 
       
    60 Attributes
       
    61 ++++++++++
       
    62 
       
    63 ===================================  ======================  ===============================================================================
       
    64 Attribute                            Required                Description
       
    65 ===================================  ======================  ===============================================================================
       
    66 version                              Yes                     Defines the version of the language used. Must have value "1.0".
       
    67 uidName                                                      Defines the unique identifier of the repository in symbolic form.
       
    68 uidValue                                                     Defines the unique identifier of the repository in hexadecimal form. 
       
    69 initialialisationFileVersion                                 Defines the version of the initialization file format. Default value is "1".
       
    70 owner                                                        Defines the SID of the application or component which is responsible for 
       
    71                                                              backing up the repository. Defined in the form of hexadecimal number. 
       
    72                                                              Mandatory in case if repository contents are to be backed up by the secure
       
    73                                                              backup server.
       
    74 backup                                                       Defines the default backup policy for runtime created keys. The supported 
       
    75                                                              values are "true" and "false". Should be set to true for non-read-only 
       
    76                                                              (that is, runtime writable) keys only. Default value is false.
       
    77 ===================================  ======================  ===============================================================================
       
    78 
       
    79 
       
    80 Example
       
    81 +++++++
       
    82 
       
    83 .. code-block:: xml
       
    84 
       
    85   <repository version="1.0" uidName="KCRUidAvkon" uidValue="0x101F876E" owner="0x10207218">
       
    86         <desc>Keys for Avkon</desc>
       
    87         <meta>
       
    88             ...
       
    89         <meta/>
       
    90         <change>First version</change>
       
    91         <key>
       
    92             ...
       
    93         <key/>
       
    94         <key>
       
    95             ...
       
    96         <key/>
       
    97         <access>
       
    98             ...
       
    99         </access>
       
   100   </repository>
       
   101 
       
   102 
       
   103 <key> Element
       
   104 **************************
       
   105 
       
   106 The key element represents a single key in repository in Central Repository.
       
   107 
       
   108 Child Elements
       
   109 ++++++++++++++
       
   110 
       
   111 ====================  ======================  ===============================================================================
       
   112 Element               Cardinality             Description
       
   113 ====================  ======================  ===============================================================================
       
   114 value                 0 .. *                  Defines a mapping from a logical value in Configuration ML to an implementation
       
   115                                               specific value in a key in Central Repository.
       
   116 bit                   0 .. *                  Defines a mapping from values of set of Boolean type settings in Configuration
       
   117                                               ML to a bitmask stored in a single key in Central Repository..
       
   118 access                0 .. 2                  Defines a represents read or write access control policy for a single key 
       
   119                                               or a key range. 
       
   120 ====================  ======================  ===============================================================================
       
   121 
       
   122 Attributes
       
   123 ++++++++++
       
   124 
       
   125 ===================================  ======================  ===============================================================================
       
   126 Attribute                            Required                Description
       
   127 ===================================  ======================  ===============================================================================
       
   128 name                                 Yes                     Defines the version of the language used. Must have value "1.0".
       
   129 ===================================  ======================  ===============================================================================
       
   130 
       
   131 
       
   132 Example
       
   133 +++++++
       
   134 
       
   135 .. code-block:: xml
       
   136 
       
   137   <repository version="1.0" uidName="KCRUidAvkon" uidValue="0x101F876E" owner="0x10207218">
       
   138         <desc>Keys for Avkon</desc>
       
   139         <meta>
       
   140             ...
       
   141         <meta/>
       
   142         <change>First version</change>
       
   143         <key>
       
   144             ...
       
   145         <key/>
       
   146         <key>
       
   147             ...
       
   148         <key/>
       
   149         <access>
       
   150             ...
       
   151         </access>
       
   152   </repository>
       
   153 
       
   154 
       
   155 
       
   156 
       
   157 
       
   158 
       
   159 
       
   160 
       
   161 
       
   162 
       
   163 
       
   164 Examples
       
   165 '''''''''
       
   166 
       
   167 **Cenrep file example**
       
   168 
       
   169 * cenrep
       
   170 * version 1
       
   171 * [defaultmeta]
       
   172 * 0
       
   173 * cap_rd=alwayspass cap_wr=alwayspass
       
   174 * [Main]
       
   175 * 0x1 int 21 0 cap_rd=alwayspass cap_wr=alwaysfail
       
   176 * 0x3 int 1801115478 0 cap_wr=alwaysfail
       
   177 * 0x4 int 1082261569 0 cap_wr=alwaysfail
       
   178 
       
   179 **What do the values mean**
       
   180 
       
   181 
       
   182 * cenrep = tells that this is a cenrep configuration
       
   183 * version = current version value
       
   184 * [defaultmeta] = if the value is zero this file is not backuped in the rofs
       
   185 * [platsec] = the values tells that which capabilities are passed or failed
       
   186 * [Main] = start of the cenrep value information
       
   187 * ex. 0x4 int 1082261569 0 cap_wr=alwaysfail
       
   188 * eq. key key type value backup value capabilities
       
   189 
       
   190 XSD
       
   191 '''''''''
       
   192 
       
   193 Download: :download:`crml.xsd </xsd/crml.xsd>`
       
   194 
       
   195 
       
   196 FAQ
       
   197 '''''''''
       
   198 This will be updated based on the questions.
       
   199 
       
   200 
       
   201 
       
   202 
       
   203