Skip to content

Binding Feature - Preparing for non-Beta users. #1219

@jvmahon

Description

@jvmahon

I've been using the binding feature for several weeks now and belief this will be a great addition. However, at the moment, I think there may be several issues that suggest its not yet ready for a general rollout to less advanced users. Here are some key issues that may need to be addressed in moving from "beta" to production so as to reduce the amount of complex end-user education necessary for less knowledgeable users to use and manage the feature.

(I would, of course, love to hear I'm wrong about these issues and there is already a solution).

  1. There are issues around the creation and deletion of Access Control List entries when entries are made via the new Bindings dialog box. These issues are being investigated, so hopefully they'll be solved soon. See Deleted Bindings also need to delete ACLs #1198
  2. What happens when a node is deleted?
    • Assume you have 3 nodes. Node A has a binding cluster and is bound to nodes B and C. Nodes B and C have ACL entries to authorize control by node A.
    • If Node A is deleted from the web interface, it seems there needs to be methods that "clean up" any bindings or ACL entries in Nodes B and C. Specifically, there needs to be a function where, for each entry in Node A's binding cluster (i.e., the Node B and C entries), the code updates the ACL of Nodes B and C to remove the control entry for Node A.
    • If Node B is deleted, then the code needs to look at all the nodes bound to it (i.e., Node A), and update the binding cluster at Node A.
  3. And What about node failure?
    • If Node X fails so there's no ability to read the ACL or Binding clusters of Node X, then there may be a need for a function that analyzes the ACL and Binding clusters of all the other nodes in the system to find any node (Nodes Y, Z) with a Binding cluster or ACL that references Node X and then update binding clusters and/or ACLs in Nodes Y, Z to remove the Node X references.
  4. Startup check
    • Similar to 3, above, maybe there needs to be a function that, at python matter server startup, and/or on clicking a "check node bindings" button, the server does a check of all of the ACLs and Binding clusters of all nodes to make sure they are still valid and reference existing nodes.

Unfortunately, I don't know the Python Matter Server code well enough to try and implement this, but wanted to at least track the issues for future development (I also understand there will be a move to matter.js based server, so maybe these are issues addressed as part of that move).

Metadata

Metadata

Assignees

No one assigned

    Labels

    frontendrevisit-with-matter.js-controllerRevisit/Revalidate/Recheck the issue or feature request with the matter,js based Matter Server

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions