This public repository is dedicated to store and register new LwM2M Objects and Reusable Resources.
Companies that would like to register a new Object or Reusable Resource should follow these steps:
- Create an Issue
- The Maintainer will create a new branch based on the Issue
- Create a new Object or revise an existing one
- Create a Pull Request
The steps are described below. Please contact helpdesk@omaorg.org in case you encounter any problem during the submission
- The Submitter needs to create an Issue before registering your
ObjectsorReusable Resources - In the Issue, you must indicate what you would like to do:
- Create Version 1.0 of a new Object
- Create a new Version X.Y of an existing Object
- Create one or more Reusable Resources
- Based on the information provided in the Issue, the Maintainer will:
- Create a new
topicor `feature branch for the submitter to apply their changes- Branch Name:
ObjID_companyName
- Branch Name:
- Reserve one or more Object IDs or/and Reusable Resource IDs based on the Issue
- Create a new
- For each Object to register, the Submitter requires to create a new Object file using the LwM2M Editor, Guidelines& Best Practice
- This Object file will be used in step 4 when creating the Pull Request
Note: OMA provides an Editor tool called OMA LwM2M Editor / Validator. The editor facilitates the creation of a valid OMA LwM2M Object.
- The Submitter needs to create a Pull Request against the designated branch
- These are the steps to follow:
4.1 Update the
DDF.xmlfile 4.2 Create a new Object or update an existing Object file 4.3 Add the Object file to theversion_historyfolder 4.4 Update theCommon.xmlfile (if you are registering Reusable Resource(s))
The following section describes these steps in detail.
- If the submission contains a new Object, the
DDF.xmlfile must be updated - The
DDF.xmlfile contains all the Objects in the Registry. Therefore, each time a new Object is added, theDDF.xmlfile must be updated with a new Object placeholder.
Example of a placeholder in the DDF.xml file for e.g., Object ID = 0, version 1.0
<Item>
<ObjectID>0</ObjectID>
<!-- Integer, this number is allocated by the Maintainer -->
<!-- ObjecID also called ObjID-->
<URN>urn:oma:lwm2m:oma:0</URN>
<!-- URN of the object
for other versions than v1.0 the URN must include the version, e.g., for v1.1 the URN is urn:oma:lwm2m:oma:0:1.1 -->
<Name>LWM2M Security</Name>
<!-- Name of the object -->
<Description>Object description</Description>
<!-- Description of the Object -->
<Owner>Test WG</Owner>
<!-- Name of the organization that has registered the object -->
<Source>0</Source>
<!-- Type of Object:
0 = defined by OMA,
1 = defined by external Standards Development Organizations,
2 = private or individual -->
<Ver>1.0</Ver>
<!-- Version of the object -->
<DDF>version_history/0-1_0.xml</DDF>
<!-- URL to the xml file describing the Object
latest version the filename is stored in the root as ObjID.xml
Previous versions of the file are stored in the version_history folder as ObjID-X_Y.xml, where X.Y is the Object Version.-->
<Vorto></Vorto>
<!-- VOID- Link that opens the Object in the Vorto environment -->
<DDFLink>1</DDFLink>
<!-- 0 => if link to object should not be visible,
1 => if object should be visible (default) -->
<TS>http://www.openmobilealliance.org/release/LightweightM2M/V1_0_2-20180209-A/OMA-TS-LightweightM2M-V1_0_2-20180209-A.pdf</TS>
<!-- URL to the TS of the object, not visible, not used -->
<TSLink>1</TSLink>
<!-- 0 => if link to TS should not be visible,
1 => if link to TS should be visible (default) -->
</Item>- In this step, if you are creating the first version of an Object, version 1.0, then you must add a fully qualified
ObjID.xmlfile to the allocated branch, or - If you are revising an existing Object, e.g. version 1.1 of Object ID
0.xml, you can modify the current Object directly in the root of the allocated branch. But later, you will have to add the new revision of the Object to thehistory_folder; see next step.
- Each Object version must have a file in the
version_historyfolder - The name of the file, e.g., for Object ID 0, Version 1.1, is
0-1_1.xml- The content of the
0-1_1.xmlfile is the same as the content of the file0.xmlfor version 1.1- IPSO hosts in the
version_historyfolder a file for each Object in the Registry; the file name indicates the ObjID and the version of the Object
- IPSO hosts in the
- The content of the
- If the request is to add one or more Reusable Resources, then for each Reusable Resource a placeholder must be added to the
Common.xmlfile.
Example of Reusable Resource placeholder
<Item ID="4000">
<!-- Resource ID of the reusable resource
The Maintainer allocates reusable Resource IDs; this is one of the reasons to raise an Issue in the first place -->
<Name>ObjectInstanceHandle</Name>
<!-- Name of the reusable resource -->
<Operations>R</Operations>
<!-- Allowed Operation on the reusable resource-->
<Type>Objlnk</Type>
<!-- Type of the reusable resource -->
<RangeEnumeration></RangeEnumeration>
<!-- Range/Enumeration of the reusable resource
A range is expressed with (..),e.g., from 0 to 10, it is expressed as; `(0..10)`
-->
<Units></Units>
<!-- Unit of the reusable resource
Please note the units expressed in this element MUST comply with the units defined in the SenML Registry -->
<Submitter>OMA</Submitter>
<!-- Name of the organization that has registered the object -->
<Description><![CDATA[Reusable Resource Description]]></Description>
<!-- Description of the reusable resource -->
<TS></TS>
<!-- Link to the technical specification (word, pdf etc.) -->
<TSLink>0</TSLink>
<!-- 0 => if link to TS should not be visible, 1 => if link to TS should be visible (default) -->
</Item>- As soon as the Pull Request is created against the designated branch, the LwM2M Validator will evaluate the content of the Pull Request
- At the end of the validation, the LwM2M Validator will insert a label in the Pull Request indicating the result of the validation:
Failed ValidationorPassed Validation - If the validation has failed, then the LwM2M Validator will insert a table with the list of errors identified during the validation
- The Error Codes, indicate who should resolve the problem, the Submitter or the Maintainer
- If the validation has passed, then a green label will be displayed, and the IPSO group will be able to review your submission.