¿Qué hace deploying-ui-bundle?
DEBE activarse cuando el proyecto contiene un directorio uiBundles/*/src/ o sfdx-project.json y la tarea implica desplegar, enviar a una org o configuración posterior al despliegue. Utiliza esta skill al desplegar una aplicación de paquete UI en una org de Salesforce. Cubre la secuencia completa de despliegue: autenticación de org, compilación previa al despliegue, despliegue de metadatos, asignación de conjuntos de permisos, importación de datos, obtención del esquema GraphQL y generación de código. Actívala cuando existan archivos como *.uibundle-meta.xml o sfdx-project.json y el usuario mencione tareas de despliegue, envío, configuración de org o posteriores al despliegue.
Descripción General
Este flujo de trabajo despliega una aplicación de paquete UI en una org de Salesforce. Incluye los siguientes pasos:
- Autenticación en la org de Salesforce: Verifica que el usuario tenga una sesión activa con
sf org loginosfdx auth:web:login. - Compilación previa al despliegue: Ejecuta
npm installoyarn installen el directoriouiBundles/*/src/y luego construye el paquete connpm run buildo el comando correspondiente. - Despliegue de metadatos: Utiliza
sf project deploy startosfdx force:source:deploypara desplegar los archivos del paquete UI, incluyendo*.uibundle-meta.xml. - Asignación de conjuntos de permisos: Asigna los conjuntos de permisos definidos en los metadatos (por ejemplo,
PermissionSetoCustomPermission) a los usuarios especificados. - Importación de datos: Ejecuta
sf data import treeosfdx force:data:tree:importpara importar datos desde archivos CSV ubicados endata/. - Obtención del esquema GraphQL: Llama al endpoint de GraphQL de Salesforce mediante
sf data queryosfdx force:data:soql:querypara obtener el esquema personalizado. - Generación de código: Ejecuta herramientas de codegen (por ejemplo,
apollo codegen:generateographql-codegen) para generar tipos y consultas de Apollo basadas en el esquema obtenido.
Activación de la Skill
Esta skill debe activarse cuando:
- Existe un directorio
uiBundles/*/src/en el proyecto. - Existe un archivo
sfdx-project.json. - El usuario menciona uno de los siguientes términos: "desplegar", "deploy", "push", "org setup", "post-deploy", "configurar org".
Requisitos
- Salesforce CLI instalado y configurado.
- Node.js y npm o yarn instalados.
- Acceso a la org de Salesforce con permisos adecuados.
- Archivos de configuración como
sfdx-project.jsony*.uibundle-meta.xmlpresentes.
Ejemplo de Uso
# Autenticarse en la org
sf org login web -a miOrgAlias
# Desplegar el paquete UI
sf project deploy start -d uiBundles/miPaquete -o miOrgAlias
# Asignar conjunto de permisos
sf org assign permset -n MiPermiso -o miOrgAlias
# Importar datos
sf data import tree -f data/muestras/oportunidades.csv -o miOrgAlias
# Obtener esquema GraphQL
sf data query -q "SELECT QualifiedApiName, DeveloperName FROM FieldDefinition WHERE EntityDefinition.DeveloperName = 'Opportunity'" -o miOrgAlias > esquema.json
# Generar código
graphql-codegen --config codegen.yml
Solución de Problemas
- Error de autenticación: Asegúrate de que el alias de la org sea correcto y que tengas una sesión activa. Usa
sf org listpara verificar. - Fallo en la compilación: Verifica que Node.js esté instalado y que todos los paquetes necesarios estén en
package.json. Ejecutanpm installmanualmente para depurar. - Despliegue de metadatos fallido: Revisa los archivos XML en
uiBundles/para errores de sintaxis. Usasf project deploy validatepara probar sin cambios. - Importación de datos sin éxito: Asegúrate de que los archivos CSV estén en el directorio
data/y que sigan el formato de árbol de datos de Salesforce.
Notas Adicionales
- Si la org ya tiene los permisos configurados, el paso de asignación puede omitirse.
- La obtención del esquema GraphQL y la generación de código son opcionales; solo se ejecutan si hay archivos de configuración relevantes (por ejemplo,
codegen.ymloapollo.config.js). - Para despliegues incrementales, usa
sf project deploy start -d uiBundles/miPaquete -o miOrgAlias --ignore-conflicts.
Referencias
Skill mantenida por forcedotcom.