MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Defining a module configuration schema standard

    Scheduled Pinned Locked Moved Development
    9 Posts 4 Posters 4.9k Views 5 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • strawberry 3.141S Offline
      strawberry 3.141 Project Sponsor Module Developer @roramirez
      last edited by

      @roramirez you’re off the path it’s about a configuration scheme like

      "maximumEntries": {
        "description": "The maximum number of events shown.",
        "values": {
          "Integer": {
            "min": 0,
            "max": 100
          }
        },
        "default": 10
      },
      

      Please create a github issue if you need help, so I can keep track

      R 1 Reply Last reply Reply Quote 0
      • R Offline
        roramirez Core Contributors @strawberry 3.141
        last edited by

        @strawberry-3.141 Ok. For this case is need it uses a library to validate this case .

        On Python I’m using
        http://python-jsonschema.readthedocs.io/en/latest/
        http://validictory.readthedocs.io/en/latest/

        I think for this is need two thing.

        • First define a name in module for configuration schema, like this config.schema

        • After that is required by the core to check if the file exists inside the module and validate configuration, if ok loads the module. But this I think is @MichMich should tell what he think about this.

        The second part is possible do it inside the module too.

        Easy module development with MagicMirror Module Template

        strawberry 3.141S 1 Reply Last reply Reply Quote 0
        • strawberry 3.141S Offline
          strawberry 3.141 Project Sponsor Module Developer @roramirez
          last edited by

          @roramirez this is not for the core, this will be for the configuration solutions out there. so the user can decide which one he wants to use but the developers have to define their schema just once and it will work with all solutions

          Please create a github issue if you need help, so I can keep track

          1 Reply Last reply Reply Quote 0
          • J Offline
            Jopyth Moderator @strawberry 3.141
            last edited by

            @strawberry-3.141 Good idea to get this issue out here.

            I think JSON Schema (as suggested by @roramirez) seems like a reasonable solution, and if I am right, it is compatible with the JSON Editor the MMM-Admin-Interface already uses.

            As a file name I think it should end with .json, e.g. config.schema.json. This file should include the configuration options for the module.

            After we find a good solution, we could add this to the MagicMirrorModule-Template?

            Helpful sticky: How to troubleshoot

            strawberry 3.141S 1 Reply Last reply Reply Quote 0
            • strawberry 3.141S Offline
              strawberry 3.141 Project Sponsor Module Developer @Jopyth
              last edited by

              @Jopyth how about handling global extensions like modulescheduler?

              Please create a github issue if you need help, so I can keep track

              1 Reply Last reply Reply Quote 0
              • R Offline
                roramirez Core Contributors
                last edited by

                I just publish a first release functional of
                https://github.com/roramirez/MagicMirror-Module-Template

                If there suggest about include JSON Schema of something else, come on!, let me know

                Easy module development with MagicMirror Module Template

                1 Reply Last reply Reply Quote 0
                • 1 / 1
                • First post
                  Last post
                Enjoying MagicMirror? Please consider a donation!
                MagicMirror created by Michael Teeuw.
                Forum managed by Sam, technical setup by Karsten.
                This forum is using NodeBB as its core | Contributors
                Contact | Privacy Policy