Compartir por


Referencia da táboa/entidade do complemento (engadido) (Microsoft Dataverse)

Mensaxes

Na seguinte táboa listan as mensaxes para a táboa de complementos (engadidos). As mensaxes representan operacións que se poden realizar na mesa. Tamén poden ser eventos.

Nome
¿É un evento?
Operación da API web SDK para .NET
Assign
Evento: Verdadeiro
PATCH/plugins( id)
Actualización da ownerid propiedade.
AssignRequest
Associate
Evento: Verdadeiro
Rexistros asociados Rexistros asociados
Create
Evento: Verdadeiro
POST /engadidos
Ver Crear
Crear rexistros
CreateMultiple
Evento: Verdadeiro
CreateMultiple CreateMultipleRequest
Delete
Evento: Verdadeiro
DELETE/plugins( id)
Ver Borrar
Borrar os rexistros
Disassociate
Evento: Verdadeiro
Desasociar os rexistros Desasociar os rexistros
GrantAccess
Evento: Verdadeiro
GrantAccess GrantAccessRequest
IsValidStateTransition
Evento: Falso
IsValidStateTransition IsValidStateTransitionRequest
ModifyAccess
Evento: Verdadeiro
ModifyAccess ModifyAccessRequest
Retrieve
Evento: Verdadeiro
GET/plugins( id)
Ver recuperar
Recuperar rexistros
RetrieveMultiple
Evento: Verdadeiro
GET /engadidos
Ver datos de consulta
Consultar datos
RetrievePrincipalAccess
Evento: Verdadeiro
RetrievePrincipalAccess RetrievePrincipalAccessRequest
RetrieveSharedPrincipalsAndAccess
Evento: Verdadeiro
RetrieveSharedPrincipalsAndAccess RetrieveSharedPrincipalsAndAccessRequest
RevokeAccess
Evento: Verdadeiro
RevokeAccess RevokeAccessRequest
SetState
Evento: Verdadeiro
PATCH/plugins( id)
Actualizar o statecode e statuscode propiedades.
SetStateRequest
Update
Evento: Verdadeiro
PATCH/plugins( id)
Ver actualización
Actualizar os rexistros
UpdateMultiple
Evento: Verdadeiro
UpdateMultiple UpdateMultipleRequest
Upsert
Evento: Falso
PATCH/plugins( id)
Ver Upsert unha fila de táboa
UpsertRequest
UpsertMultiple
Evento: Falso
UpsertMultiple UpsertMultipleRequest

Propiedades

Na seguinte táboa listamos as propiedades seleccionadas para a táboa Complemento (engadido).

Propiedade Valor
Nome de visualización Engadido
DisplayCollectionName Engadidos
Nome do esquema plugin
CollectionSchemanameName plugins
EntitySetName plugins
Nome lóxico plugin
Colección LóxicaNome plugins
PrimaryIdAttribute pluginid
Atributo PrimaryNameAttribute name
Tipo de táboa Standard
Tipo de propiedade UserOwned

Columnas/atributos escritables

Estas columnas/atributos devolven true para IsValidForCreate ou IsValidForUpdate (normalmente ambos). Listado por SchemaName.

CustomAPI

Propiedade Valor
Descrición
Nome de visualización CustomAPI
IsValidForForm Verdadeiro
IsValidForRead Verdadeiro
Nome lóxico customapi
Nivel obrigatorio Ningunha
Tipo Busca
Obxectivos Api personalizado

Importar o número de secuencia

Propiedade Valor
Descrición Número de secuencia da importación que creou este rexistro.
Nome de visualización Importar o número de secuencia
IsValidForForm Falso
IsValidForRead Verdadeiro
Nome lóxico importsequencenumber
Nivel obrigatorio Ningunha
Tipo Número enteiro
Valor máximo 2147483647
Valor mínimo -2147483648

É personalizable

Propiedade Valor
Descrición Só para uso interno.
Nome de visualización Personalizable
IsValidForForm Falso
IsValidForRead Verdadeiro
Nome lóxico iscustomizable
Nivel obrigatorio SystemRequired
Tipo Propiedade xestionada

Idioma

Propiedade Valor
Descrición
Nome de visualización Lingua
IsValidForForm Verdadeiro
IsValidForRead Verdadeiro
Nome lóxico language
Nivel obrigatorio Aplicación obrigatoria
Tipo Lista despregable
Valor de forma predeterminada -1
Elección globalNome plugin_language

Opcións / Opcións de idioma

Valor Etiqueta
100000000 PoweFx
100000001 C#

Nome

Propiedade Valor
Descrición Nome da entidade personalizada.
Nome de visualización Nome
IsValidForForm Verdadeiro
IsValidForRead Verdadeiro
Nome lóxico name
Nivel obrigatorio Aplicación obrigatoria
Tipo String
Formato Texto
Formato Texto
Modo ImeMode Automática
É localizable Falso
Lonxitude máxima 100

OverriddenCreatedOn

Propiedade Valor
Descrición Data e hora na que se migrou o rexistro.
Nome de visualización Rexistro creado o
IsValidForForm Falso
IsValidForRead Verdadeiro
Nome lóxico overriddencreatedon
Nivel obrigatorio Ningunha
Tipo Data e hora
CanChangeDateTimeBehavior Falso
ComportamentoDateTimeBehavior Usuario Local
Formato Só data
Modo ImeMode Inactivas
Máscara de tipo de fonte 0

Identificador do propietario

Propiedade Valor
Descrición Identificador do propietario
Nome de visualización Propietario
IsValidForForm Verdadeiro
IsValidForRead Verdadeiro
Nome lóxico ownerid
Nivel obrigatorio SystemRequired
Tipo Propietario
Obxectivos Usuario do sistema, equipo

PropietarioIdType

Propiedade Valor
Descrición Tipo de identificador do propietario
Nome de visualización
IsValidForForm Falso
IsValidForRead Verdadeiro
Nome lóxico owneridtype
Nivel obrigatorio SystemRequired
Tipo Nome da entidade

Identificador do engadido

Propiedade Valor
Descrición Identificador único para as instancias de entidades
Nome de visualización Engadido
IsValidForForm Falso
IsValidForRead Verdadeiro
Nome lóxico pluginid
Nivel obrigatorio SystemRequired
Tipo Identificador único

Paso de procesamento de mensaxes de SdkMessage

Propiedade Valor
Descrición
Nome de visualización SdkMessageProcessingStep
IsValidForForm Verdadeiro
IsValidForRead Verdadeiro
Nome lóxico sdkmessageprocessingstep
Nivel obrigatorio Ningunha
Tipo Busca
Obxectivos Procesamento de mensaxes sdkpaso

código do estado

Propiedade Valor
Descrición Estado do complemento
Nome de visualización Estado
IsValidForForm Verdadeiro
IsValidForRead Verdadeiro
Nome lóxico statecode
Nivel obrigatorio SystemRequired
Tipo Estado
Valor de forma predeterminada
Elección globalNome plugin_statecode

Opcións/Opcións do código estado

Valor Detalles
0 Etiqueta: Activo
Estado predeterminado: 1
Nome invariante: Active
1 Etiqueta: Inactivo
Estado predeterminado: 2
Nome invariante: Inactive

código de estado

Propiedade Valor
Descrición Razón do estado do complemento
Nome de visualización Motivo do estado
IsValidForForm Verdadeiro
IsValidForRead Verdadeiro
Nome lóxico statuscode
Nivel obrigatorio Ningunha
Tipo Estado
Valor de forma predeterminada
Elección globalNome plugin_statuscode

Código de estado Opcións/Opcións

Valor Detalles
1 Etiqueta: Activo
Estado: 0
Datos de transición: Ningún
2 Etiqueta: Inactivo
Estado: 1
Datos de transición: Ningún

Número de versión da regra do fuso horario

Propiedade Valor
Descrición Só para uso interno.
Nome de visualización Número de versión da regra do fuso horario
IsValidForForm Falso
IsValidForRead Verdadeiro
Nome lóxico timezoneruleversionnumber
Nivel obrigatorio Ningunha
Tipo Número enteiro
Valor máximo 2147483647
Valor mínimo -1

Tipo de gatillo

Propiedade Valor
Descrición
Nome de visualización Tipo de desencadeamento
IsValidForForm Verdadeiro
IsValidForRead Verdadeiro
Nome lóxico triggertype
Nivel obrigatorio Aplicación obrigatoria
Tipo Lista despregable
Valor de forma predeterminada -1
Elección globalNome plugin_triggertype

Opcións/opcións de TriggerType

Valor Etiqueta
100000000 Instantáneo
100000001 Automático

UTCConversionTimeZoneCode

Propiedade Valor
Descrición Código do fuso horario que se utilizaba cando se creou o rexistro.
Nome de visualización Código do fuso horario de conversión UTC
IsValidForForm Falso
IsValidForRead Verdadeiro
Nome lóxico utcconversiontimezonecode
Nivel obrigatorio Ningunha
Tipo Número enteiro
Valor máximo 2147483647
Valor mínimo -1

Columnas/atributos de só lectura

Estas columnas/atributos devolven false tanto para IsValidForCreate como para IsValidForUpdate. Listado por SchemaName.

ComponentIdUnique

Propiedade Valor
Descrición Só para uso interno.
Nome de visualización Identificador da fila único
IsValidForForm Falso
IsValidForRead Verdadeiro
Nome lóxico componentidunique
Nivel obrigatorio SystemRequired
Tipo Identificador único

Estado do compoñente

Propiedade Valor
Descrición Só para uso interno.
Nome de visualización Estado do compoñente
IsValidForForm Falso
IsValidForRead Verdadeiro
Nome lóxico componentstate
Nivel obrigatorio SystemRequired
Tipo Lista despregable
Valor de forma predeterminada
Elección globalNome componentstate

Opcións/opcións de ComponentState

Valor Etiqueta
0 Publicado
1 Inédito
2 Eliminado
3 Borrado sen publicar

Creado por

Propiedade Valor
Descrición Identificador único do usuario que creou o rexistro.
Nome de visualización Creado por
IsValidForForm Verdadeiro
IsValidForRead Verdadeiro
Nome lóxico createdby
Nivel obrigatorio Ningunha
Tipo Busca
Obxectivos usuario do sistema

Creado en

Propiedade Valor
Descrición Data e hora na que se creou o rexistro.
Nome de visualización Creado o
IsValidForForm Verdadeiro
IsValidForRead Verdadeiro
Nome lóxico createdon
Nivel obrigatorio Ningunha
Tipo Data e hora
CanChangeDateTimeBehavior Falso
ComportamentoDateTimeBehavior Usuario Local
Formato Data e hora
Modo ImeMode Inactivas
Máscara de tipo de fonte 0

Creado en nome de By

Propiedade Valor
Descrición Identificador único do usuario delegado que creou o rexistro.
Nome de visualización Creado por (delegado)
IsValidForForm Verdadeiro
IsValidForRead Verdadeiro
Nome lóxico createdonbehalfby
Nivel obrigatorio Ningunha
Tipo Busca
Obxectivos usuario do sistema

Xestionado

Propiedade Valor
Descrición Indica se o compoñente da solución forma parte dunha solución xestionada.
Nome de visualización Está xestionado
IsValidForForm Falso
IsValidForRead Verdadeiro
Nome lóxico ismanaged
Nivel obrigatorio SystemRequired
Tipo booleano
Elección globalNome ismanaged
Valor predeterminado Falso
Etiqueta verdadeira Xestionado
Etiqueta falsa Non xestionado

Modificado por

Propiedade Valor
Descrición Identificador único do usuario que modificou o rexistro.
Nome de visualización Modificado por
IsValidForForm Verdadeiro
IsValidForRead Verdadeiro
Nome lóxico modifiedby
Nivel obrigatorio Ningunha
Tipo Busca
Obxectivos usuario do sistema

Modificado

Propiedade Valor
Descrición Data e hora na que se modificou o rexistro.
Nome de visualización Modificado en
IsValidForForm Verdadeiro
IsValidForRead Verdadeiro
Nome lóxico modifiedon
Nivel obrigatorio Ningunha
Tipo Data e hora
CanChangeDateTimeBehavior Falso
ComportamentoDateTimeBehavior Usuario Local
Formato Data e hora
Modo ImeMode Inactivas
Máscara de tipo de fonte 0

Modificado en nome de por

Propiedade Valor
Descrición Identificador único do usuario delegado que modificou o rexistro.
Nome de visualización Modificado por (delegado)
IsValidForForm Verdadeiro
IsValidForRead Verdadeiro
Nome lóxico modifiedonbehalfby
Nivel obrigatorio Ningunha
Tipo Busca
Obxectivos usuario do sistema

Tempo de sobrescritura

Propiedade Valor
Descrición Só para uso interno.
Nome de visualización Tempo de sobreescritura de gravación
IsValidForForm Falso
IsValidForRead Verdadeiro
Nome lóxico overwritetime
Nivel obrigatorio SystemRequired
Tipo Data e hora
CanChangeDateTimeBehavior Falso
ComportamentoDateTimeBehavior Usuario Local
Formato Data e hora
Modo ImeMode Inactivas
Máscara de tipo de fonte 0

Nome de PropietarioIdentificación

Propiedade Valor
Descrición Nome do propietario
Nome de visualización
IsValidForForm Falso
IsValidForRead Verdadeiro
Nome lóxico owneridname
Nivel obrigatorio SystemRequired
Tipo String
Formato Texto
Formato Texto
Modo ImeMode Automática
É localizable Falso
Lonxitude máxima 100

PropietarioIdYomiName

Propiedade Valor
Descrición Nome do propietario
Nome de visualización
IsValidForForm Falso
IsValidForRead Verdadeiro
Nome lóxico owneridyominame
Nivel obrigatorio SystemRequired
Tipo String
Formato Texto
Formato Texto
Modo ImeMode Automática
É localizable Falso
Lonxitude máxima 100

Unidade de negocio propietaria

Propiedade Valor
Descrición Identificador único para a unidade empresarial propietaria do rexistro
Nome de visualización Unidade de negocio propietaria
IsValidForForm Verdadeiro
IsValidForRead Verdadeiro
Nome lóxico owningbusinessunit
Nivel obrigatorio SystemRequired
Tipo Busca
Obxectivos unidade de negocio

Equipo propietario

Propiedade Valor
Descrición Identificador único para o equipo que posúe o rexistro.
Nome de visualización Equipo propietario
IsValidForForm Falso
IsValidForRead Verdadeiro
Nome lóxico owningteam
Nivel obrigatorio Ningunha
Tipo Busca
Obxectivos equipo

Usuario propietario

Propiedade Valor
Descrición Identificador único para o usuario que posúe o rexistro.
Nome de visualización Propietario do usuario
IsValidForForm Falso
IsValidForRead Verdadeiro
Nome lóxico owninguser
Nivel obrigatorio Ningunha
Tipo Busca
Obxectivos usuario do sistema

Identificador da solución

Propiedade Valor
Descrición Identificador único da solución asociada.
Nome de visualización Solución
IsValidForForm Falso
IsValidForRead Verdadeiro
Nome lóxico solutionid
Nivel obrigatorio SystemRequired
Tipo Identificador único

Identificador da solución de soporte

Propiedade Valor
Descrición Só para uso interno.
Nome de visualización Solución
IsValidForForm Falso
IsValidForRead Falso
Nome lóxico supportingsolutionid
Nivel obrigatorio Ningunha
Tipo Identificador único

Número de versión

Propiedade Valor
Descrición Número de versión
Nome de visualización Número de versión
IsValidForForm Falso
IsValidForRead Verdadeiro
Nome lóxico versionnumber
Nivel obrigatorio Ningunha
Tipo BigInt
Valor máximo 9223372036854775807
Valor mínimo -9223372036854775808

Relacións de moitos a un

Estas relacións son moitas a unha. Listado por SchemaName.

business_unit_plugin

RelaciónTo-Many: business_unit_plugin unidade de negocio

Propiedade Valor
Entidade referenciada businessunit
Atributo referenciado businessunitid
Atributo de referencia owningbusinessunit
ReferencingEntityNavigationPropertyName owningbusinessunit
É xerárquico
Configuración en fervenza Arquivo: Restrict
Asignar: NoCascade
Borrar: Restrict
Fusión: NoCascade
Reparente: NoCascade
Vista de enrollamento: NoCascade
Compartir: NoCascade
Descompartir: NoCascade

customapi_plugin_CustomAPI

Relación deTo-Many: customapi customapi_plugin_CustomAPI

Propiedade Valor
Entidade referenciada customapi
Atributo referenciado customapiid
Atributo de referencia customapi
ReferencingEntityNavigationPropertyName CustomAPI
É xerárquico
Configuración en fervenza Arquivo: RemoveLink
Asignar: NoCascade
Borrar: RemoveLink
Fusión: NoCascade
Reparente: NoCascade
Vista de enrollamento: NoCascade
Compartir: NoCascade
Descompartir: NoCascade

lk_plugin_createdby

Relación deTo-Many un: systemuser lk_plugin_createdby

Propiedade Valor
Entidade referenciada systemuser
Atributo referenciado systemuserid
Atributo de referencia createdby
ReferencingEntityNavigationPropertyName createdby
É xerárquico
Configuración en fervenza Arquivo: NoCascade
Asignar: NoCascade
Borrar: NoCascade
Fusión: NoCascade
Reparente: NoCascade
Vista de enrollamento: NoCascade
Compartir: NoCascade
Descompartir: NoCascade

lk_plugin_createdonbehalfby

Relación deTo-Many: systemuser lk_plugin_createdonbehalfby

Propiedade Valor
Entidade referenciada systemuser
Atributo referenciado systemuserid
Atributo de referencia createdonbehalfby
ReferencingEntityNavigationPropertyName createdonbehalfby
É xerárquico
Configuración en fervenza Arquivo: NoCascade
Asignar: NoCascade
Borrar: NoCascade
Fusión: NoCascade
Reparente: NoCascade
Vista de enrollamento: NoCascade
Compartir: NoCascade
Descompartir: NoCascade

lk_plugin_modifiedby

Relación deTo-Many: lk_plugin_modifiedby systemuser

Propiedade Valor
Entidade referenciada systemuser
Atributo referenciado systemuserid
Atributo de referencia modifiedby
ReferencingEntityNavigationPropertyName modifiedby
É xerárquico
Configuración en fervenza Arquivo: NoCascade
Asignar: NoCascade
Borrar: NoCascade
Fusión: NoCascade
Reparente: NoCascade
Vista de enrollamento: NoCascade
Compartir: NoCascade
Descompartir: NoCascade

lk_plugin_modifiedonbehalfby

Relación deTo-Many: systemuser lk_plugin_modifiedonbehalfby

Propiedade Valor
Entidade referenciada systemuser
Atributo referenciado systemuserid
Atributo de referencia modifiedonbehalfby
ReferencingEntityNavigationPropertyName modifiedonbehalfby
É xerárquico
Configuración en fervenza Arquivo: NoCascade
Asignar: NoCascade
Borrar: NoCascade
Fusión: NoCascade
Reparente: NoCascade
Vista de enrollamento: NoCascade
Compartir: NoCascade
Descompartir: NoCascade

owner_plugin

Relación deTo-Many: propietario owner_plugin

Propiedade Valor
Entidade referenciada owner
Atributo referenciado ownerid
Atributo de referencia ownerid
ReferencingEntityNavigationPropertyName ownerid
É xerárquico
Configuración en fervenza Arquivo: NoCascade
Asignar: NoCascade
Borrar: NoCascade
Fusión: NoCascade
Reparente: NoCascade
Vista de enrollamento: NoCascade
Compartir: NoCascade
Descompartir: NoCascade

sdkmessageprocessingstep_plugin_SdkMessageProcessingStep

One-To-Many Relación: sdkmessageprocessingstep sdkmessageprocessingstep_plugin_SdkMessageProcessingStep

Propiedade Valor
Entidade referenciada sdkmessageprocessingstep
Atributo referenciado sdkmessageprocessingstepid
Atributo de referencia sdkmessageprocessingstep
ReferencingEntityNavigationPropertyName SdkMessageProcessingStep
É xerárquico
Configuración en fervenza Arquivo: RemoveLink
Asignar: NoCascade
Borrar: RemoveLink
Fusión: NoCascade
Reparente: NoCascade
Vista de enrollamento: NoCascade
Compartir: NoCascade
Descompartir: NoCascade

team_plugin

RelaciónsTo-Many: equipo team_plugin

Propiedade Valor
Entidade referenciada team
Atributo referenciado teamid
Atributo de referencia owningteam
ReferencingEntityNavigationPropertyName owningteam
É xerárquico
Configuración en fervenza Arquivo: NoCascade
Asignar: NoCascade
Borrar: NoCascade
Fusión: NoCascade
Reparente: NoCascade
Vista de enrollamento: NoCascade
Compartir: NoCascade
Descompartir: NoCascade

user_plugin

Relación deTo-Many un: user_plugin systemuser

Propiedade Valor
Entidade referenciada systemuser
Atributo referenciado systemuserid
Atributo de referencia owninguser
ReferencingEntityNavigationPropertyName owninguser
É xerárquico
Configuración en fervenza Arquivo: NoCascade
Asignar: NoCascade
Borrar: NoCascade
Fusión: NoCascade
Reparente: NoCascade
Vista de enrollamento: NoCascade
Compartir: NoCascade
Descompartir: NoCascade

Relacións un a moitos

Estas relacións son un a moitos. Listado por SchemaName.

plugin_AsyncOperations

Relacións de moitosTo-One: operación asíncrona plugin_AsyncOperations

Propiedade Valor
Entidade de referencia asyncoperation
Atributo de referencia regardingobjectid
ReferencedEntityNavigationPropertyName plugin_AsyncOperations
É personalizable True
Configuración do menú asociado DispoñibleOffline: Verdadeiro
Comportamento: DoNotDisplay
Grupo: Details
Etiqueta:
Identificador do menú: nulo
Orde:
QueryApi: null
Identificador da vista: 00000000-0000-0000-0000-000000000000

plugin_BulkDeleteFailures

MoitosTo-One relación: bulkdeletefailure plugin_BulkDeleteFailures

Propiedade Valor
Entidade de referencia bulkdeletefailure
Atributo de referencia regardingobjectid
ReferencedEntityNavigationPropertyName plugin_BulkDeleteFailures
É personalizable True
Configuración do menú asociado DispoñibleOffline: Verdadeiro
Comportamento: DoNotDisplay
Grupo: Details
Etiqueta:
Identificador do menú: nulo
Orde:
QueryApi: null
Identificador da vista: 00000000-0000-0000-0000-000000000000

plugin_MailboxTrackingFolders

Relacións de moitosTo-One: mailboxtrackingfolder plugin_MailboxTrackingFolders

Propiedade Valor
Entidade de referencia mailboxtrackingfolder
Atributo de referencia regardingobjectid
ReferencedEntityNavigationPropertyName plugin_MailboxTrackingFolders
É personalizable True
Configuración do menú asociado DispoñibleOffline: Verdadeiro
Comportamento: DoNotDisplay
Grupo: Details
Etiqueta:
Identificador do menú: nulo
Orde:
QueryApi: null
Identificador da vista: 00000000-0000-0000-0000-000000000000

plugin_PrincipalObjectAttributeAccesses

Relación: Many-To-One: principalobjectattributeaccess plugin_PrincipalObjectAttributeAccesses

Propiedade Valor
Entidade de referencia principalobjectattributeaccess
Atributo de referencia objectid
ReferencedEntityNavigationPropertyName plugin_PrincipalObjectAttributeAccesses
É personalizable True
Configuración do menú asociado DispoñibleOffline: Verdadeiro
Comportamento: DoNotDisplay
Grupo: Details
Etiqueta:
Identificador do menú: nulo
Orde:
QueryApi: null
Identificador da vista: 00000000-0000-0000-0000-000000000000

plugin_ProcessSession

Relacións deTo-One múltiples: proceso plugin_ProcessSession

Propiedade Valor
Entidade de referencia processsession
Atributo de referencia regardingobjectid
ReferencedEntityNavigationPropertyName plugin_ProcessSession
É personalizable True
Configuración do menú asociado DispoñibleOffline: Verdadeiro
Comportamento: DoNotDisplay
Grupo: Details
Etiqueta:
Identificador do menú: nulo
Orde:
QueryApi: null
Identificador da vista: 00000000-0000-0000-0000-000000000000

plugin_SyncErrors

Relacións de moitosTo-One: syncerror plugin_SyncErrors

Propiedade Valor
Entidade de referencia syncerror
Atributo de referencia regardingobjectid
ReferencedEntityNavigationPropertyName plugin_SyncErrors
É personalizable True
Configuración do menú asociado DispoñibleOffline: Verdadeiro
Comportamento: DoNotDisplay
Grupo: Details
Etiqueta:
Identificador do menú: nulo
Orde:
QueryApi: null
Identificador da vista: 00000000-0000-0000-0000-000000000000

Véxase tamén

Referencia de táboa/entidade de Dataverse
Referencia á API web de Dataverse
plugin