All Projects → OpenMobileAlliance → lwm2m-registry

OpenMobileAlliance / lwm2m-registry

Licence: other
This is a public repository dedicated to store and register new LwM2M Objects

Projects that are alternatives of or similar to lwm2m-registry

Differentia.js
No longer being supported or maintained. A Graph Theory & Data Structure Library for JavaScript.
Stars: ✭ 13 (-61.76%)
Mutual labels:  objects
emqx-lwm2m
EMQ X LwM2M Gateway
Stars: ✭ 29 (-14.71%)
Mutual labels:  lwm2m
stringify-keys
Build an array of key paths from an object.
Stars: ✭ 18 (-47.06%)
Mutual labels:  objects
js-utils
A collection of dependency-free JavaScript utilities 🔧
Stars: ✭ 22 (-35.29%)
Mutual labels:  objects
invokable
Objects are functions! Treat any Object or Class as a Proc (like Enumerable but for Procs).
Stars: ✭ 40 (+17.65%)
Mutual labels:  objects
The-Java-Workshop
A New, Interactive Approach to Learning Java
Stars: ✭ 65 (+91.18%)
Mutual labels:  objects
array-sort-by
Powerful mechanism to sort arrays or array of objects by one or more properties. You can also specify a custom comparer function.
Stars: ✭ 37 (+8.82%)
Mutual labels:  objects
expand-hash
Recursively expands property keys with dot-notation into objects.
Stars: ✭ 25 (-26.47%)
Mutual labels:  objects
objbrowser
GUI for Python object introspection
Stars: ✭ 111 (+226.47%)
Mutual labels:  objects
oxjs
Reactive JavaScript Objects and Primitives
Stars: ✭ 33 (-2.94%)
Mutual labels:  objects
Thingsboard
Open-source IoT Platform - Device management, data collection, processing and visualization.
Stars: ✭ 10,526 (+30858.82%)
Mutual labels:  lwm2m
SecureFiware
Proposing security measures and security analysis in the Fiware IoT environment.
Stars: ✭ 21 (-38.24%)
Mutual labels:  lwm2m
mbed-os-example-pelion
Mbed OS example for Pelion Device Management
Stars: ✭ 13 (-61.76%)
Mutual labels:  lwm2m
coap-node
Client node of lightweight M2M (LWM2M).
Stars: ✭ 32 (-5.88%)
Mutual labels:  lwm2m
mbed-edge
The Mbed Edge
Stars: ✭ 24 (-29.41%)
Mutual labels:  lwm2m
coap-shepherd
Network server and manager for lightweight M2M (LWM2M).
Stars: ✭ 41 (+20.59%)
Mutual labels:  lwm2m
helix-sandbox
Middleware for secure IoT provisioning, access and control.
Stars: ✭ 23 (-32.35%)
Mutual labels:  lwm2m
mbed-cloud-client
Pelion Device Management Client library
Stars: ✭ 38 (+11.76%)
Mutual labels:  oma

LwM2M Registry

This public repository is dedicated to store and register new LwM2M Objects and Reusable Resources.

Registration Process

Companies that would like to register a new Object or Reusable Resource should follow these steps:

  1. Create an Issue
  2. The Maintainer will create a new branch based on the Issue
  3. Create a new Object or revise an existing one
  4. Create a Pull Request

The steps are described below. Please contact [email protected] in case you encounter any problem during the submission

1. Create an Issue

  • The Submitter needs to create an Issue before registering your Objects or Reusable Resources
  • In the Issue, you must indicate what you would like to do:
    1. Create Version 1.0 of a new Object
    2. Create a new Version X.Y of an existing Object
    3. Create one or more Reusable Resources

2. New branch

  • Based on the information provided in the Issue, the Maintainer will:
    • Create a new topic or `feature branch for the submitter to apply their changes
      • Branch Name: ObjID_companyName
    • Reserve one or more Object IDs or/and Reusable Resource IDs based on the Issue

3. Create a new Object

  • 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

4. Create a Pull Request

  • The Submitter needs to create a Pull Request against the designated branch
  • These are the steps to follow: 4.1 Update the DDF.xml file 4.2 Create a new Object or update an existing Object file 4.3 Add the Object file to the version_history folder 4.4 Update the Common.xml file (if you are registering Reusable Resource(s))

The following section describes these steps in detail.

4.1 Update the DDF.xml file

  • If the submission contains a new Object, the DDF.xml file must be updated
  • The DDF.xml file contains all the Objects in the Registry. Therefore, each time a new Object is added, the DDF.xml file 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>

4.2 Update or create a new ObjID.xml file

  • In this step, if you are creating the first version of an Object, version 1.0, then you must add a fully qualified ObjID.xml file 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 the history_folder; see next step.

4.3 Add a new ObjID-X_Y.xml file to the version_history folder

  • Each Object version must have a file in the version_history folder
  • 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.xml file is the same as the content of the file 0.xml for version 1.1
      • IPSO hosts in the version_history folder a file for each Object in the Registry; the file name indicates the ObjID and the version of the Object

4.4 Update the Common.xml file (if adding new Reusable Resources)

  • If the request is to add one or more Reusable Resources, then for each Reusable Resource a placeholder must be added to the Common.xml file.

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>

5. Auto-validation

  • 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 Validation or Passed 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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].