code: def add_plugin(self, plugin):
          
  
          item = {}
          item.update(defaults["common"])
          item.update(defaults["plugin"])
  
          for member in ["pre11",
                         "name",
                         "label",
                         "optional",
                         "category",
                         "actions",
                         "id",
                         "order",
                         "doc",
                         "type",
                         "module",
                         "match",
                         "hasRepair",
                         "families",
                         "contextEnabled",
                         "instanceEnabled",
                         "__instanceEnabled__",
                         "path"]:
              item[member] = plugin[member]
  
          # Visualised in Perspective
          item["familiesConcatenated"] = ", ".join(plugin["families"])
  
          # converting links to HTML
          pattern = r"(https?:\/\/(?:w{1,3}.)?[^\s]*?(?:\.[a-z]+)+)"
          pattern += r"(?![^<]*?(?:<\/\w+>|\/?>))"
          if item["doc"] and re.search(pattern, item["doc"]):
              html = r"<a href='\1'><font color='FF00CC'>\1</font></a>"
              item["doc"] = re.sub(pattern, html, item["doc"])
  
          # Append GUI-only data
          item["itemType"] = "plugin"
          item["hasCompatible"] = True
          item["isToggled"] = plugin.get("active", True)
          item["verb"] = {
              "Selector": "Collect",
              "Collector": "Collect",
              "Validator": "Validate",
              "Extractor": "Extract",
              "Integrator": "Integrate",
              "Conformer": "Integrate",
          }.get(item["type"], "Other")
  
          for action in item["actions"]:
              if action["on"] == "all":
                  item["actionsIconVisible"] = True
  
          self.add_section(item["verb"])
  
          item = self.add_item(item)
          self.plugins.append(item)
docs: Append `plugin` to model
  
          Arguments:
              plugin (dict): Serialised plug-in from pyblish-rpc
  
          Schema:
              plugin.json