---
title: Aplicar configuración en el panel de propiedades
slug: develop/es/aplicar-configuracion-en-el-panel-de-propiedades
docTags: 
createdAt: 2025-03-11T07:00:15.332Z
---

Las versiones más recientes de BrightSign Author y BrightSignOS contienen una función que permite a los usuarios ver y modificar la configuración mediante el panel **Panel de propiedades&#x20;**&#x6F; a través de la API de BSN.Cloud (también puede modificar algunas configuraciones del reproductor en BrightSign Control). Para evitar problemas de compatibilidad con versiones anteriores, el supervisor no respetará estas configuraciones a menos que primero se habilite en una presentación personalizada o una aplicación/plugin personalizada.

Esta función es compatible y está habilitada de forma nativa en las presentaciones de BrightSign Author que usan la versión 1.6.29 o posterior, pero debe habilitarla si ejecuta scripts personalizados. Los pasos necesarios para habilitar esta función se describen a continuación.

# Requisitos previos

- Debe estar usando BSN.Cloud
- Versión mínima de BrightSign Author: 1.6.29
- Versión mínima de BrightSignOS: OS 8.2.72

# Implementar el Settings Handler / Deshabilitar el bloqueo de propiedades

Un reproductor bajo el control de BSN.Cloud, de forma predeterminada, no permitirá actualizaciones enviadas desde la nube al reproductor si está usando una aplicación de socio. Para permitir que el reproductor acepte actualizaciones de propiedades desde BSN.Cloud, implemente el Settings Handler que le permite deshabilitar [Bloqueo de propiedades](docId\:a6Ali6u-szxHuansk6T3-). Los socios pueden hacer esto utilizando el Example Script de esta página.

Para habilitar el Settings Handler:

1. Incluya el fragmento de código de la sección Example Script en su presentación personalizada o aplicación/plugin personalizada.
2. En BrightSign Author, vaya a la red del reproductor (en la pestaña [Red](docId\:Uba8sfkMSAJsIBrbv4A6N) en la parte superior derecha). En esta sección, la configuración del reproductor está disponible en el panel Properties.

Una vez que la API del lado del dispositivo esté activada, la configuración del reproductor será accesible en el panel Properties de BrightSign Author (en la pestaña [Red](docId\:Uba8sfkMSAJsIBrbv4A6N)).

# Especificación de la API

Esta especificación de API es utilizada por presentaciones personalizadas o plugins, ya sea invocada por BrightScript o JavaScript, para habilitar el “Settings Panel” (Settings Handler).

La URL base o la dirección IP IPv4 del reproductor (el servidor de puerto predeterminado está alojado en el puerto 80) es *http\://localhost*

:::hint{type="info"}
Este es un endpoint interno y solo responderá a una aplicación Node o JavaScript que se ejecute en el reproductor (no forma parte del DWS local).
:::

## POST /api/v1/system/supervisor/capabilities

### Cuerpo de la solicitud

```text
{
	"script": {
	“type”: “Custom”
	“version”: “10.0.60” // Can be any version in a x.x.x format. Used to communicate script version to BSN.cloud,
	displayed in “Settings Panel” }
}
```

### Cuerpo de la respuesta

- Éxito: `{"success":true}`
- Error: `{"status”: , “message”: }`

# Script de ejemplo

Los socios que deseen actualizar para usar esta función deben incluir el siguiente fragmento de código en su presentación o plugin de BrightSign. 

Tenga en cuenta que este ejemplo es un autorun simple que puede ejecutarse tal cual. Sin embargo, la subrutina `EnableSettingsHandler()` debe copiarse y llamarse en una ubicación apropiada en relación con la otra lógica del script, o el código dentro de `EnableSettingsHandler()` puede copiarse y pegarse en una ubicación válida del script para ejecutarse dentro de la lógica existente. Esto supone que el desarrollador tiene conocimientos básicos de BrightScript.

```text
Sub main()
  EnableSettingsHandler()
end sub
 
Sub EnableSettingsHandler()
  localBaseUrl = "http://localhost"
  supervisorApiV1Route = "/api/v1"
   
  supervisorCapabilitiesUrlXfer = CreateObject("roUrlTransfer")
  supervisorCapabilitiesUrlXfer$ = localBaseUrl + supervisorApiV1Route + "/system/supervisor/capabilities"
  supervisorCapabilitiesUrlXfer.SetUrl(supervisorCapabilitiesUrlXfer$)
  supervisorCapabilitiesUrlXfer.SetTimeout(15000)
  supervisorCapabilitiesUrlXfer.SetProxyBypass(["127.0.0.1", "localhost"])
  supervisorCapabilitiesUrlXfer.addHeader("Content-type", "application/json")
   
  msgPort = CreateObject("roMessagePort")
  supervisorCapabilitiesUrlXfer.SetPort(msgPort)
  initiatorIdentity = supervisorCapabilitiesUrlXfer.GetIdentity()
   
  script = CreateObject("roAssociativeArray")
  scriptType$ = "Custom"
  version$ = "10.0.60" ' current autorun script version
     
  script.AddReplace("type", scriptType$)
  script.AddReplace("version", version$)
   
  body = {}
  body.AddReplace("script", script)
     
  stringifiedJson = FormatJson(body)
     
  ok = supervisorCapabilitiesUrlXfer.AsyncPostFromString(stringifiedJson)
   
  if not ok then
    print "=== Failed to send POST Request"
  else
    print "=== Settings Handler request sent"
  end if
   
  while true
    msg = Wait(0, msgPort)
    if (type(msg) = "roUrlEvent")
      receivedIdentity = msg.GetSourceIdentity()
      if (initiatorIdentity = receivedIdentity) then
        print "=== " + supervisorCapabilitiesUrlXfer$ + ", Response Code: " + strI(msg.GetResponseCode())
      end if
    end if
  end while
end sub

```

# Advertencias

- El settings handler puede sobrescribir configuraciones personalizadas aplicadas por el script de configuración.
- Las ediciones a la configuración de la hoja de propiedades en la interfaz no se aplicarán en el lado del dispositivo a menos que el fragmento de código anterior se agregue a la aplicación de runtime o se agregue como plugin a la presentación personalizada.

