Version 29.0: Winter ’14
Contenido
Capítulo 1: Introducción...1
Funciones en el ciclo de vida de la aplicación...2
Capítulo 2: Inicio rápido de ISVforce...3
Tutorial n.º 1: Inscripción...4
Paso 1: Inscribirse en el programa de socios...4
Paso 2: Generar entornos de desarrollo y prueba...5
Paso 3: Obtener una organización de negocio...5
Paso 4: Editar la lista del publicador...6
Resumen de inscripción...7
Tutorial n.º 2: Desarrollo de su aplicación...7
Paso 1: Crear una aplicación...7
Paso 2: Empaquetar la aplicación...9
Paso 3: Asignar un espacio de nombres...9
Paso 4: Cargar una versión beta...9
Paso 5: Instalar y probar la versión beta...10
Resumen de la tarea de desarrollo...11
Tutorial n.º 3: Publicación y licencias...11
Paso 1: Cargar en AppExchange...11
Paso 2: Crear la lista de aplicaciones...12
Paso 3: Completar la lista...12
Paso 4: Instalar la LMA...13
Paso 5: Licencias y gestión de aplicaciones...14
Resumen de publicación y licencias...14
Tutorial n.º 4: Actualización de la aplicación...14
Paso 1: Crear una organización de parche...15
Paso 2: Desarrollar un parche...16
Paso 3: Cargar el parche...16
Paso 4: Instalar o enviar un parche...17
Resumen de la actualización de la aplicación...17
Capítulo 3: Arquitectura y desarrollo de aplicaciones...19
Concepto de paquetes gestionados y no gestionados...20
Planificación de la edición de paquetes gestionados...20
Componentes disponibles...21
Modificación de componentes y atributos después de la instalación...25
Los componentes se agregan automáticamente a paquetes...31
Comportamiento especial de los componentes en paquetes...33
Componentes protegidos...41
Consideraciones arquitectónicas para Group Edition y Professional Edition...42
Funciones disponibles en Group Edition y Professional Edition...43
Límites para Group Edition y Professional Edition...43
Control de acceso en Group Edition y Professional Edition...44 Contenido
Uso de Apex en Group Edition y Professional Edition...44
Acceso a API en Group Edition y Professional Edition...44
Acceso a la API de REST en Group Edition y Professional Edition...45
Diseño de la aplicación para que sea compatible con varias ediciones...46
Compatibilidad con varias ediciones mediante un paquete de ampliación...46
Compatibilidad con varias ediciones mediante Apex dinámico...47
Escenarios de diseño de ejemplo para Group Edition y Professional Edition...48
Concepto de dependencias...49
Creación de aplicaciones empaquetadas con Chatter ...50
Aspecto de Salesforce coincidente...51
Desarrollo de la documentación de las aplicaciones...51
Creación de configuración de perfil personalizado...52
Acerca de los conjuntos de permisos y la configuración de perfil...52
Descripción general de las aplicaciones conectadas...55
Creación de una aplicación conectada...55
Modificación, empaquetado o eliminación de una aplicación conectada...58
Instalación de una aplicación conectada...59
Visualización de detalles de la aplicación conectada ...59
Gestión de una aplicación conectada...60
Modificación de una aplicación conectada...60
Monitoreo del uso de una aplicación conectada...62
Desinstalación de una aplicación conectada...63
Acerca del WSDL de socio...63
Trabajo con servicios externos...63
Aprovisionamiento de servicios externos...64
Protección de la propiedad intelectual...64
Núcleo de entorno...65
Configuración del Núcleo de entorno...66
Configuración de Mi dominio para el Núcleo de entorno...68
Mejores prácticas del Núcleo de entorno...69
Conexión de una organización al Núcleo de entorno...69
Consulta de los detalles de un miembro del Núcleo de entorno...70
Modificación de los detalles de un miembro del Núcleo de entorno...72
Creación de una organización nueva desde el Núcleo de entorno...73
Activación del inicio de sesión único en el Núcleo de entorno...73
Desactivación del inicio de sesión único en el Núcleo de entorno...74
Asignación de usuarios para inicio de sesión único en el Núcleo de entorno...74
Capítulo 4: Empaquetado y pruebas de la aplicación...76
Registro de un prefijo de espacio de nombres...77
¿Qué son las versiones beta de los paquetes gestionados?...77
Creación y carga de un paquete en versión beta...78
Acerca de los entornos de desarrollo y prueba del socio...79
Cómo inscribirse en entornos de prueba...79
Instalación de un paquete...79 Contenido
Disponibilidad de componentes tras la implementación...81
Configuración de paquetes instalados...81
Solución de errores en la instalación...83
Desinstalación de un paquete...84
Instalación de paquetes gestionados mediante la API...85
Creación y carga de un paquete gestionado...86
Acerca de las versiones de paquetes...87
Ejecución de Apex en la actualización/instalación del paquete...88
Ejecución de Apex en la desinstalación del paquete...91
Capítulo 5: Superación de la revisión de seguridad...94
Acerca de la revisión de seguridad...95
Pasos en la revisión de seguridad...95
El cuestionario de la revisión de seguridad...97
Creación de una organización de publicación de AppExchange...98
Cambio de la organización de publicación de AppExchange...99
Actualización de la versión del paquete en la lista de AppExchange...100
Envío de una aplicación móvil al proceso de revisión de seguridad...100
Envío de un paquete de extensión para someterlo a la revisión de seguridad...101
Recursos para la revisión de seguridad...101
Preguntas más frecuentes sobre la revisión de seguridad...102
¿Cuánto tarda el proceso de la revisión de seguridad? ¿Cada cuánto tiempo es obligatorio realizarla?...103
¿Hay alguna tasa?...103
¿Por qué tengo que hacer pruebas en mi aplicación antes de la revisión si el equipo de seguridad va a hacerlas de todos modos?...103
¿Puedo enviar mi aplicación para someterla a la revisión de seguridad antes de que esté terminada con el fin de tener este proceso hecho pronto?...104
¿Por qué el equipo de revisión tiene que hacer pruebas en la parte X o Y de mi oferta?...105
¿Debo solucionar todos los problemas que el equipo de revisión de seguridad detecte?...105
¿Por qué el equipo de revisión no puede enviarme todas las instancias de todo lo que encuentre en mi revisión?...105
Si actualizo mi aplicación, ¿debe pagar de nuevo la tasa de la revisión de seguridad para vuelva a ser revisada?...106
Cuando creo un paquete gestionado nuevo (en realidad, una actualización de mi primera aplicación), ¿tendré que pagar de nuevo la tasa para que vuelva a ser revisada la seguridad de la aplicación?...106
¿Por qué debo realizar revisiones de seguridad periódicas?...106
Entiendo que las soluciones revisadas pueden funcionar con las organizaciones con PE y GE. ¿Cómo funciona esto?...106
Capítulo 6: Publicación de la aplicación...107
¿Qué es AppExchange?...108
Vender en AppExchange...108
¿Cómo funciona AppExchange?...108
¿Quién puede utilizar AppExchange?...109
Gestión de las organizaciones de Salesforce...109
Publicación de la aplicación o el servicio...110
Publicación de aplicaciones en AppExchange...110 Contenido
Creación o modificación del perfil de proveedor...110
Creación o modificación de listas...111
Marca de la aplicación...119
Envío de la lista para su aprobación...119
Registro del paquete y elección de la configuración de la licencia...121
Notificaciones por email...121
Uso de Checkout de AppExchange...122
Preguntas más frecuentes sobre Checkout de AppExchange...123
Trabajo con prospectos de AppExchange...125
Reportes de análisis para publicadores...128
Reporte Instalaciones (Obtener ahora) (Installs [Get It Now])...129
Reporte Prospectos...129
Reporte Recursos y promociones...130
Reporte Pruebas, demostraciones y capturas de pantalla...130
Reporte Más información, videos y capturas de pantallas...131
Preguntas más frecuentes sobre AppExchange...131
Capítulo 7: Gestión de licencias y asistencia administrativa...137
Descripción general de la Aplicación de gestión de licencias (LMA)...138
Concepto de gestión de licencias...138
Diagrama de relaciones de la entidad...138
Terminología de LMA...139
Instalación de la LMA...140
Configuración de la LMA...141
Asociación de paquetes con su LMO...142
Valores predeterminados de licencias...143
Uso de la LMA...143
Acerca de los prospectos...144
Acerca de los paquetes...144
Detalles del paquete...144
Modificación de los propietarios de paquetes...145
Modificación del gestor de prospectos para un paquete...146
Acerca de las versiones de paquetes...146
Detalles de la versión del paquete...147
Acerca de las licencias...147
Detalles de licencias...147
Modificación de propietarios de licencias...149
Modificación de licencias...149
Integración con ventas y marketing...151
Mejores prácticas...151
Preguntas más frecuentes sobre la Aplicación de gestión de licencias...152
Solución de problemas...153
Capítulo 8: Prueba gratuita de la aplicación...155
¿Por qué utilizar Trialforce?...156 Contenido
Descripción general de Trialforce...156
Configuración de Trialforce...157
Vinculación de un paquete a su organización de publicación de AppExchange...158
Vinculación de un paquete con la organización de gestión de licencias...159
Solicitud de una organización de gestión de Trialforce...159
Configuración de una marca personalizada para Trialforce...160
Creación de emails con imagen de marca...161
Creación de una página de inicio de sesión con marca...161
Creación de una organización de origen de Trialforce...162
Vinculación de una organización de origen de Trialforce con la APO...163
Creación de una plantilla de Trialforce...163
Obtención de una plantilla de Trialforce revisada...164
Pruebas gratuitas en AppExchange...164
Proporcionar pruebas gratuitas en AppExchange mediante Trialforce...165
Configuración de una unidad de prueba en AppExchange...165
Prueba gratuita en AppExchange disponible cuando se instala la aplicación...166
Pruebas gratuitas en el sitio Web...166
Solicitud de un formulario de inscripción para Trialforce...166
Vinculación de una plantilla de Trialforce con el formulario de inscripción...167
Personalización del formulario de registro de HTML...168
Aprovisionamiento de organizaciones de prueba nuevas...168
Modificación de la prueba para una actualización...169
Mejores prácticas de Trialforce...169
Creación de inscripciones usando la API...170
SignupRequest...171
Inicio de solicitud de inscripción...177
Creación de una solicitud de inscripción...177
Visualización de los detalles de solicitud de inscripción...177
Agregar campos personalizados a las solicitudes de inscripción...178
Ejecución de reportes en solicitudes de inscripción...179
Uso de desencadenadores con solicitudes de inscripción...179
Creación de inscripciones de proxy para acceso de OAuth y a API...180
Preguntas más frecuentes sobre Trialforce...182
Capítulo 9: Asistencia a sus suscriptores...183
Ficha Soporte...184
Consola de compatibilidad del suscriptor...184
Visualización de detalles del suscriptor...185
Solicitud de acceso de inicio de sesión...185
Iniciar sesión en Organizaciones del suscriptor...186
Mejores prácticas...186
Solución de problemas en Organizaciones del suscriptor...186
Capítulo 10: Actualización de la aplicación...187
Creación y carga de parches...189 Contenido
Trabajo con versiones de parche...190
Versiones del código Apex...191
Efectos de la desaprobación de Apex para los suscriptores...192
Capítulo 11: Envío de una actualización...193
Acerca de las actualizaciones mediante envío...194
Mejores prácticas en las actualizaciones mediante envío...195
Asignación de acceso a los componentes y campos nuevos...196
Secuencia de comandos posterior a la instalación de ejemplo para una actualización mediante envío...196
Limitaciones conocidas en las actualizaciones mediante envío...198
Programación de actualizaciones mediante envío...198
Visualización de detalles de actualización mediante envío...200
Visualización del historial de actualizaciones de una organización...201
Apéndices...202
Apéndice A: Desarrollo y distribución de paquetes no gestionados...202
Apéndice B: Comparación de licencias de usuario de ISVforce...206
Apéndice C: Comparación de licencias de usuario de OEM...209
Glosario...213
Índice...216
Capítulo 1
Introducción
La guía de ISVforce está destinada a los proveedores de software independientes (ISV) que quieren compilar y vender aplicaciones compiladas en la plataforma Force.com. Se organiza en los capítulos siguientes:
En este capítulo...
• Funciones en el ciclo de vida de la aplicación
• Inicio rápido: punto de partida para obtener y configurar todos los entornos que va a necesitar para compilar y vender aplicaciones.
• Arquitectura y desarrollo de aplicaciones: ante de empezar a desarrollar, es importante saber que todas las piezas encajan. En este capítulo se explican las decisiones de arquitectura que hay que tomar antes del desarrollo. • Empaquetado y pruebas de la aplicación: en este capítulo también se explican
aspectos específicos del desarrollo y la realización de pruebas de aplicaciones incluidas en paquetes.
• Superación de la revisión de seguridad: más información sobre las mejores prácticas de seguridad y la planificación para la revisión de seguridad. • Publicación de la aplicación: incorporación de la aplicación en el mercado
de AppExchange.
• Gestión de licencias y asistencia administrativa: uso de la aplicación de gestión de licencias para gestionar los clientes y las licencias de las aplicaciones.
• Trialforce: creación de una prueba gratuita para ayudarle a vender la aplicación a clientes que no sean de Salesforce.
• Asistencia a sus suscriptores: prestación de asistencia técnica a los clientes para instalar y utilizar su aplicación.
• Actualización: cuando es el momento de actualizar su aplicación
Funciones en el ciclo de vida de la aplicación
En esta guía se explica el ciclo de vida completo de una aplicación de paquete por lo que algunos de los temas podrían no ser relevantes para sus intereses. En la lista siguiente se sugieren temas según la función para la que sean relevantes.
Arquitecto de aplicaciones
El arquitecto de aplicaciones determina el ámbito de la aplicación y las estructuras internas que la sustentan. Necesita conocer detalles sobre la plataforma Force.com subyacente que determinen no solo el uso de la aplicación sino también las ediciones con las que es compatible y el modo de instalación, configuración y actualización. El arquitecto debe conocer bien esta guía completo pero en especial los capítulos siguientes:
• Arquitectura y desarrollo de aplicaciones en la página 19 • Superación de la revisión de seguridad en la página 94 Desarrollador que crea, empaqueta y carga aplicaciones
El desarrollador, o con frecuencia el equipo de desarrolladores, se encarga de crear la aplicación, empaquetarla y cargarla en AppExchange. Además, actualiza la aplicación con soluciones a los problemas detectados y con funciones nuevas. El desarrollador debe consultar los capítulos siguientes:
• Arquitectura y desarrollo de aplicaciones en la página 19 • Empaquetado y pruebas de la aplicación en la página 76
• Desarrollo de la documentación de las aplicaciones en la página 51 • Actualización de la aplicación en la página 187
Publicador que distribuye y vende la aplicación y presta servicio de asistencia
El publicador de una aplicación es aquella persona o compañía que tiene un perfil y una o varias listas para la aplicación en AppExchange. Las listas de los publicadores contienen vínculos a las aplicaciones que han cargado en AppExchange o a un sitio Web de terceros. Los publicadores también establecen las configuraciones de licencias predeterminadas. El publicador debe consultar los capítulos siguientes:
• Publicación de la aplicación en la página 107 • Prueba gratuita de la aplicación en la página 155 • Asistencia a sus suscriptores en la página 183 Administrador que instala la aplicación
El administrador se encarga de descargar la aplicación desde AppExchange y de instalarla en su organización. También pueden personalizar la aplicación para adaptarla mejor a sus necesidades de negocio. En el tema siguiente puede conocer cuál es la interacción de los administradores con las aplicaciones:
• Instalación de un paquete en la página 79
Funciones en el ciclo de vida de la aplicación Introducción
Capítulo 2
Inicio rápido de ISVforce
La finalidad de este inicio rápido es introducirle en el ciclo de vida de la aplicación lo más rápido posible. Cuando lo termine, tendrá todo lo que necesita para desarrollar y publicar una aplicación empaquetada.
En este capítulo...
• Tutorial n.º 1: Inscripción • Tutorial n.º 2: Desarrollo de su
aplicación Nota: Para poder efectuar todos los pasos de este inicio rápido, deberá ser un socio de ISVforce/OEM, ya que algunas de las funciones solo están disponibles para los socios aptos.
• Tutorial n.º 3: Publicación y licencias • Tutorial n.º 4: Actualización de la
aplicación
¿Cómo se organiza el inicio rápido?
El inicio rápido se desglosa en cuatro tutoriales que deben completarse en orden. Como algunos de los pasos requieren una respuesta de email automática, el tiempo necesario para completarlos puede variar de uno a otro. No obstante, puede pararse en cualquier paso y retomar posteriormente donde lo haya dejado. • En el tutorial n.º 1 se explica el proceso de inscripción en el programa de
socios de Salesforce ISV y la obtención de todas las organizaciones (entornos) que va a necesitar.
• En el tutorial n.º 2 se explica el proceso de creación de una aplicación Hello World sencilla.
• En el tutorial n.º 3 se describe el proceso de publicación y gestión de la aplicación.
• En el tutorial n.º 4 aprenderá a actualizar su aplicación para ediciones principales y menores.
Quiero más....
Al final de cada paso, existe una sección opcional denominada Quiero más. Si quiere hacer las cosas con rapidez, vaya al siguiente paso. Sin embargo, si le gusta ir con calma y profundizar más, aquí encontrará mucha información de gran utilidad.
• Para consultar una lista de términos útiles, vea el glosario en la página 213. • Para obtener más información acerca de Force.com y obtener acceso a
muchos más recursos, visite Developer Force en http://developer.force.com. • Para leer una introducción suave al desarrollo en Force.com, consulte el
libro de trabajo de Force.com en la Web http://developer.force.com/workbook.
Tutorial n.º 1: Inscripción
En este tutorial va a poder recopilar todas las partes que necesitará para desarrollar sus aplicaciones, venderlas y prestar asistencia. Todo comienza con la inscripción en el programa de socios de AppExchange. Gracias a esta tendrá acceso al portal de socios de donde puede obtener las organizaciones de desarrollo y prueba (entornos) y donde puede crear casos para que se activen otras funciones. El primer caso que va a registrar corresponde a la solicitud de una organización de CRM que utilizará para gestionar la publicación, las licencias y las posibles ventas de su aplicación. Aunque no necesite esa organización inmediatamente, es mucho más fácil si se quita de encima cuanto antes estas tareas administrativas.
Si está familiarizado con Salesforce, sabrá que una organización es una nube en sí misma. Si no ha usado Salesforce antes, piense en la organización como un entorno aparte donde podría desarrollar, probar o publicar su aplicación.
Ilustración 1: Las organizaciones (entornos) son nubes
Paso 1: Inscribirse en el programa de socios
El primer paso es inscribirse en el programa de socios de AppExchange.1. En el navegador, vaya a www.salesforce.com/partners y haga clic en Únase ahora (Join Now).
2. Seleccione la primera casilla de verificación: Compilar y comercializar aplicaciones comerciales mediante tecnologías de
salesforce.com (Build & Market Commercial Applications using salesforce.com Technologies) (proveedor de software independiente, socio ISV).
3. Rellene los campos en los que se solicita información suya y de la compañía.
4. En el área Preguntas adicionales (Additional Questions), haga clic en los cuadros desplegables y seleccione la respuesta
adecuada.
5. Ingrese las palabras del sistema Captcha mostradas y haga clic en Enviar inscripción (Submit Registration).
6. Enseguida recibirá un email con su nombre de usuario y una contraseña temporal. Haga clic en el vínculo para acceder al
portal de socios (https://sites.secure.force.com/partners/PP2PartnerLoginPage) e inicie sesión en él.
7. Acepte los términos de uso y rechace el mensaje emergente que aparezca. 8. Guarde esta página en Favoritos porque la va a utilizar bastante.
Felicitaciones, ya forma parte del programa de socios ISV de Salesforce.
Tutorial n.º 1: Inscripción Inicio rápido de ISVforce
Paso 2: Generar entornos de desarrollo y prueba
Para compilar y vender aplicaciones en la plataforma Force.com, necesitará varios entornos donde llevar a cabo distintas tareas. Estos entornos se denominan organizaciones. Puede obtener las organizaciones necesarias a través del portal de socios de un modo sencillo. La primera que necesita es una organización con Partner Developer Edition, que es donde va a llevar a cabo las tareas de desarrollo y posiblemente el empaquetado de la aplicación. Aunque ya disponga de una organización con Developer Edition, debería inscribirse en la edición Partner Developer Edition, ya que esta permite un mayor almacenamiento de datos, licencias y usuarios.
1. Debería haber iniciado ya sesión en el portal de socios. Si no es así, haga clic en el elemento guardado como favorito e inicie
sesión ahora.
2. En el portal de socios, en la sección Vínculos rápidos, haga clic en Crear una organización de prueba (Create a Test Org).
Ilustración 2: Generación de una organización
3. En el cuadro desplegable Edition, elija Partner Developer Edition. En lo sucesivo, y por razones de simplicidad, vamos
a denominarla organización de desarrollo.
4. Seleccione la casilla de verificación para aceptar los términos y haga clic en Enviar. En pocos minutos, recibirá un email
con un vínculo de inicio de sesión.
5. Mientras espera ese mensaje de email, puede aprovechar a generar otras organizaciones que va a necesitar. Después, se
inscribirá en una organización de prueba que será la que se utilice para probar la aplicación que desarrolle. En el área Vínculos rápidos, haga clic de nuevo en Crear una organización de prueba, pero esta vez elija Enterprise/Platform Edition. En lo sucesivo, y por razones de simplicidad, vamos a denominarla organización de prueba.
6. Unos minutos después, recibirá mensajes de email en los que se le pide iniciar sesión y cambiar la contraseña para las
organizaciones de desarrollo y prueba. Haga clic en el vínculo, cambie la contraseña y cree una pregunta y repuesta para la contraseña.
Quiero más....
Quizás ha observado que hay varios tipos diferentes de organizaciones de prueba en las que puede inscribirse. Las distintas ediciones de Salesforce tienen funciones diferentes y si tiene previsto distribuir la aplicación a otras ediciones, será conveniente probar la aplicación y asegurarse de que funciona correctamente en cada una de estas ediciones. Esto no se incluye entre los objetivos de este inicio rápido, de modo que si quiere obtener más información, consulte Consideraciones arquitectónicas para Group Edition y Professional Edition en la página 42.
Paso 3: Obtener una organización de negocio
En el paso anterior, ha obtenido organizaciones específicas para llevar a cabo las tareas de desarrollo y pruebas. Para poder publicar su aplicación y gestionar las licencias de la aplicación, necesitará una organización diseñada de forma específica para tal fin. En este paso, va a registrar un caso en el portal de socios para que se le proporcione una ISV CRM Edition. Esta edición será su “organización de negocio”, ya que se utilizará para publicar y gestionar las ventas y la distribución de su aplicación.
Nota: Esta función está disponible a los socios aptos. Para obtener más información sobre el programa de socios,
incluidos los requisitos de aptitud, visite el sitio Web www.salesforce.com/partners.
1. En el portal de socios, en la sección Vínculos rápidos, haga clic en Crear un caso (Create a Case).
Paso 2: Generar entornos de desarrollo y prueba Inicio rápido de ISVforce
Ilustración 3: Creación de un caso 2. En la sección Categoría (Category), elija la primera opción.
3. En el cuadro de la primera categoría, elija AppExchange y listas de servicios (AppExchange and Service Listings). 4. En el cuadro de la segunda categoría, elija Solicitar CRM para socio (Request CRM for Partner).
5. En el cuadro desplegable Motivo (Reason), elija Solicitud de administración (Administration Request). 6. En el cuadro desplegable Gravedad (Severity), elija Alta (High).
7. En el asunto, ingrese Necesito CRM para ISV.
8. En el campo Descripción (Description), indíquenos si ya tiene una organización o si necesita una nueva. Si ya tiene una
organización de Salesforce, puede proporcionar el Id. de esta en el campo Descripción y se agregarán dos licencias de CRM adicionales a su organización. En caso de que no tenga una organización existente, le proporcionaremos una nueva. En cualquiera de los dos casos, no se olvide de ingresar la dirección de su compañía. Después, haga clic en Guardar.
Ilustración 4: Creación de un caso en el portal de socios
9. En pocos minutos, recibirá otro email en el que se le pedirá que inicie sesión y cambie su contraseña. Hágalo e incluya la
página en los marcadores de favoritos como ha hecho antes.
Quiero más....
• Su organización de negocio puede tener muchos nombres. Algunas veces, nos podemos referir a ella como su organización de publicación de AppExchange APO, siglas en inglés), su organización de gestión de licencias (LMO, siglas en inglés) o como la CRM ISV Edition. Su organización es todas estas al mismo tiempo, por lo que lo más sencillo es denominarla “organización de negocio”.
• El cierre del caso puede tardar entre 24 y 48 horas. Haga clic en Mis casos (My Cases) en el menú Vínculos rápidos para ver el estado de sus casos.
Paso 4: Editar la lista del publicador
En este paso va a iniciar sesión en AppExchange y proporcionar información sobre su compañía.
Paso 4: Editar la lista del publicador Inicio rápido de ISVforce
1. La sesión en la organización de negocio debería seguir iniciada. En la esquina superior derecha, haga clic en Agregar aplicaciones de AppExchange (Add AppExchange Apps).
2. En la esquina superior derecha, haga clic en Iniciar sesión o registrarse (Login or Register).
3. En la página de inicio de sesión, utilice su nombre de usuario y contraseña para la organización de negocio. 4. Haga clic en la ficha Publicando (Publishing).
5. Haga clic en Su perfil de proveedor (Your Provider Profile).
6. Rellene la información en el perfil de proveedor y haga clic en Guardar.
Resumen de inscripción
En este primer tutorial, se ha inscrito en el programa de socios y en todas las organizaciones que necesitará principalmente para desarrollar, probar y vender su aplicación. Recapitulemos y veamos en qué se ha inscrito y la finalidad de cada uno de estos elementos.
Programa de socios de ISV
El programa de socios le proporciona acceso al portal de socios, que es el lugar donde puede crear organizaciones, registrar casos y encontrar información general sobre el programa de socios.
Partner Developer Edition
También denominada organización de desarrollo, se trata de la organización donde va a desarrollar la aplicación y posiblemente empaquetarla para su distribución.
Organización de prueba con Enterprise Edition
También denominada organización de prueba, se trata de la organización donde va a instalar y probar su aplicación, exactamente igual que lo harán los clientes.
Organización CRM ISV
También denominada organización de negocio, se trata de la organización que se utiliza para la publicación de su aplicación, las licencias y la gestión de esta desde un punto de vista de negocio. Como ayuda para la gestión de su licencia, ha instalado la aplicación de gestión de licencias (LMA) en su organización de negocio.
Tutorial n.º 2: Desarrollo de su aplicación
En este tutorial va a aprender a crear una aplicación muy sencilla que hemos denominado “Hello World”. Esta aplicación no hará grandes cosas pero bastará para aprender dónde tiene lugar el desarrollo dentro del ciclo de vida de una aplicación en paquetes.
Paso 1: Crear una aplicación
En este paso va a crear una aplicación que contiene una página y una ficha en la que se mostrará la página.
1. En el navegador, inicie sesión en su organización con Partner Developer Edition. En lo sucesivo, vamos a denominarla
“organización de desarrollo”.
2. En Configuración, haga clic en Desarrollo > Páginas. 3. En la lista de Visualforce, haga clic en Nuevo. 4. En el campo Etiqueta (Label), ingrese Saludo.
5. En el área de marca de Visualforce, sustituya el contenido de la etiqueta <h1> por Hello World.
Resumen de inscripción Inicio rápido de ISVforce
Ilustración 5: Editor de páginas de Visualforce 6. Haga clic en Guardar.
Ahora va a asociar la página a una ficha.
1. En el menú de la barra lateral, haga clic en Crear > Fichas (Create > Tabs). 2. En la lista de fichas de Visualforce, haga clic en Nuevo.
3. En el asistente para crear una nueva ficha de Visualforce, haga clic en el cuadro desplegable y seleccione la página Hello
World que acaba de crear.
4. Para la etiqueta de fichas, ingrese Hello.
5. Haga clic en el campo Estilo de la ficha (Tab Style) y elija cualquier icono que represente a la ficha. 6. Haga clic en Siguiente, de nuevo en Siguiente y, en la página final, en Guardar.
Ahora va a crear una aplicación nueva que contenga la ficha y la página.
1. En el menú de la barra lateral, haga clic en Crear > Aplicaciones (Create > Apps). 2. Haga clic en Nuevo.
3. En el campo Etiqueta de la aplicación (App Label), ingrese Hello World y haga clic en Siguiente y, en la página siguiente,
de nuevo en Siguiente.
4. En la página Elegir fichas (Choose the Tabs), desplácese a la parte inferior de la lista de fichas disponibles, encuentre la
ficha Hello y agréguela a la lista de fichas selecconadas. Haga clic en Siguiente.
5. Seleccione la casilla de verificación Visible para que todos los perfiles puedan ver esta aplicación. Después, haga clic en Guardar.
Quiero más....
Si le da la sensación de que acaba de crear una página dentro de un contenedor, que ha colocado dentro de otro contenedor, efectivamente lo ha hecho. Y está a punto de poner todo dentro de otro contenedor más. ¿Qué son estos contenedores y qué hacen?
• Una ficha es un contenedor de cosas que quiere que se muestren en la misma página: un gráfico, una tabla o la página de Visualforce que ha creado.
• Una aplicación es un contenedor de fichas que aparecen las unas junto a las otras. Cuando se crea una aplicación, está se muestra disponible en el selector de aplicaciones en la esquina superior derecha de la pantalla.
• Un paquete es un contenedor de cosas que ha cargado en AppExchange. Normalmente, un paquete contiene una aplicación que los clientes pueden instalar en su organización pero también puede cargar paquetes que amplíen las aplicaciones existentes. No ha creado aún un paquete; esto lo hará en el paso siguiente.
Paso 1: Crear una aplicación Inicio rápido de ISVforce
Paso 2: Empaquetar la aplicación
En este paso, va a empaquetar la aplicación para que pueda distribuirla en AppExchange. Un paquete no es más que un contenedor de componentes. En este caso, se trata de su aplicación, la ficha y la página.
1. En el menú de la barra lateral, haga clic en Crear > Paquetes (Create > Packages) y, a continuación, en Nuevo. 2. En el campo Nombre de paquete (Package Name), ingrese Hello World y haga clic en Guardar.
3. En la página Detalles de paquete (Package Detail), haga clic en Agregar componentes (Add Components). 4. Seleccione la aplicación Hello World y haga clic en Agregar a paquete (Add to Package).
Quiero más....
Cuando ha hecho clic en Agregar a paquete, ¿se ha dado cuenta de que la ficha Hello y la página de saludo se han agregado de forma automática al paquete? Cuando se crea un paquete, el marco detecta automáticamente componentes dependientes y los agrega al paquete.
Paso 3: Asignar un espacio de nombres
En este paso va a elegir un identificador único denominado espacio de nombres. Un espacio de nombres establece la diferencia entre los distintos componentes y permite hacer cosas tales como la actualización de la aplicación después de su instalación. Escoja con cuidado el espacio de nombres, ya que no podrá modificarlo después.
1. En el menú de la barra lateral, haga clic en Crear > Paquetes (Create > Packages).
2. En la lista Configuración de desarrollador, haga clic en Modificar y, en la página siguiente, haga clic en Continuar. 3. En el campo Prefijo de espacio de nombres (Namespace Prefix), ingrese un Id. alfanumérico de entre 1 y 15 caracteres y,
después, haga clic en Comprobar disponibilidad (Check Availability). Repita este paso hasta que tenga un espacio de nombres exclusivo.
4. En el campo Paquete que debe gestionarse (Package to be managed), elija el paquete Hello World y haga clic en
Revise sus selecciones (Review Your Selections).
5. Revise la información de la página y haga clic en Guardar.
Quiero más....
En el código subyacente, el espacio de nombres se antepone en todos los componentes incluidos en paquetes desde su organización de desarrollo. Esto permite que el paquete y su contenido se distinga de los paquetes de otros desarrolladores y garantiza un control exclusivo de todos los componentes empaquetados.
Paso 4: Cargar una versión beta
Antes de cargar una versión de producción de su aplicación, habitualmente se carga una versión beta para probarla.
1. En el menú de la barra lateral, haga clic en Crear > Paquetes (Create > Packages).
2. En la página Paquetes, haga clic en su paquete Hello World y, a continuación, en Cargar (Upload). 3. En la página Cargar paquete (Upload Package), ingrese un nombre y número de versión.
4. Para el tipo de versión, asegúrese de elegir Gestionado en versión beta (Managed — Beta).
5. Desplácese a la parte inferior y haga clic en Cargar (Upload). La carga puede tardar unos momentos hasta que termina.
Felicitaciones, ha cargado una aplicación en AppExchange. Su aplicación no está disponible al público pero puede acceder a ella a través de un vínculo de instalación. Lo hará en el paso siguiente.
Paso 2: Empaquetar la aplicación Inicio rápido de ISVforce
Quiero más....
La finalidad de una versión beta es únicamente probar sus funciones. Por tanto, solo se puede instalar una organización de prueba, una organización con Developer Edition o un sandbox (se explicará más adelante). El paso siguiente consiste en instalar la versión beta en la organización de prueba que ha creado en el paso 2: Generar entornos de desarrollo y prueba.
Paso 5: Instalar y probar la versión beta
La instalación de la versión beta es sencilla: basta con hacer clic en el vínculo y proporcionar el nombre de usuario y la contraseña que va a utilizar para la organización de prueba.
1. Haga clic en la URL de instalación.
Ilustración 6: Vínculo de URL de instalación
2. En la página de inicio de sesión, ingrese el nombre de usuario y la contraseña de la organización de prueba.
3. En la página Detalles de instalación del paquete (Package Installation Details), haga clic en Continuar (Continue). 4. Haga clic en Siguiente.
5. En la página Nivel de seguridad (Security Level), otorgue acceso a todos los usuarios y haga clic en Siguiente. 6. Haga clic en Instalar.
7. Cuando finalice la instalación, podrá seleccionar su aplicación en el selector de aplicación situado en la esquina superior
derecha.
Ilustración 7: Aplicación Hello World 8. En su página, debería ver la ficha Hello y el texto de saludo.
Ilustración 8: Ficha y página Hello World
Paso 5: Instalar y probar la versión beta Inicio rápido de ISVforce
Llegados a este punto, normalmente debería probar la aplicación y asegurarse de que funciona tal y como se ha diseñado. Su aplicación se instala con facilidad y muestra lo que se pretende, pasemos a otra cosa.
Quiero más....
Los paquetes de versión beta también se pueden instalar en entornos de sandbox. Un sandbox es una réplica de la organización de su cliente donde se puede desarrollar, probar o instalar aplicaciones, así como comprobar los cambios que se quieren introducir. Ninguna de las organizaciones en las que se ha inscrito en este libro de trabajo tiene un sandbox pero si lo tuviera en otra instalación y quisiera instalar allí la aplicación, deberá sustituir la parte inicial de la URL de instalación con
http://test.salesforce.com.
Resumen de la tarea de desarrollo
Felicitaciones, acaba de finalizar una parte fundamental del ciclo de vida de desarrollo de software. Los cambios que quiera hacer en un futuro en la aplicación seguirán el mismo procedimiento:
1. Modificar la aplicación existente en la organización de desarrollo 2. Incluir la aplicación en un paquete
3. Cargar el paquete como una versión beta
4. Instalar la versión beta en una organización de prueba 5. Probar la aplicación instalada
Tutorial n.º 3: Publicación y licencias
Imagine que ha pasado por varios ciclos de desarrollo con su versión beta y ya está preparado para publicar una aplicación pública. El paso siguiente consiste en cargar una aplicación de producción, también llamada versión gestionada y editada de la aplicación. Después, puede crear una lista para que otras personas puedan encontrar la aplicación y saber qué hace. Por último, va a conectar la aplicación a la organización de negocio para que pueda gestionar las licencias de las personas que instalen su aplicación.
Paso 1: Cargar en AppExchange
Este paso le puede resultar familiar, ya que se parece al paso para cargar una versión beta.
1. Si ha seguido los tutoriales sin parar, probablemente continúe su sesión iniciada en la organización de prueba. Ahora, vamos
a iniciar sesión en la organización de desarrollo.
2. Observará en la esquina superior derecha que hay un vínculo que dice Desarrollo de Hello World, versión 1.0 (Developing
Hello World, version 1.0). Haga clic en ese vínculo para acceder directamente a la página Detalles del paquete.
Ilustración 9: Desarrollo de Hello World, versión 1.0 3. En la página Detalles del paquete, haga clic en Cargar.
4. En Tipo de versión, elija Gestionado y editado.
Resumen de la tarea de desarrollo Inicio rápido de ISVforce
5. Desplácese a la parte inferior y haga clic en Cargar (Upload). 6. En el mensaje emergente, haga clic en Aceptar.
Paso 2: Crear la lista de aplicaciones
En este paso va a modificar la lista de aplicaciones y va a conectar su organización de negocio a la aplicación.
1. Después de la carga del paquete, verá un vínculo para publicar en AppExchange, haga clic en él.
Ilustración 10: Publicar en AppExchange
2. Se mostrará un cuadro de diálogo de inicio de sesión; esta vez, utilice el nombre de usuario y la contraseña de su organización
de negocio.
3. Lea y acepte los términos y condiciones, y haga clic en Acepto (I Agree).
4. En la primera pregunta se cuestiona si ya aparece en AppExchange. Lo hizo en el Tutorial n.º 1: Inscribirse, Paso 4: Editar la lista del publicador en la página 6, de modo que debe seleccionar Sí y hacer clic en Continuar.
5. Haga clic en Vincular organización nueva (Link New Organization).
6. Se le pedirá el nombre de usuario y la contraseña. Ingrese los valores correspondientes a la organización de desarrollo. 7. Haga clic en la ficha Publicando (Publishing).
8. Haga clic en Crear lista nueva (Create New Listing).
9. En la ventana emergente, ingrese un título de lista de Aplicación Hello World de <su nombre>. Será conveniente agregar el nombre porque el título de la lista debe ser exclusivo y no podemos tener a todo el mundo listando aplicaciones Hello World genéricas.
10. Seleccione el botón de opción Aplicación y, a continuación, haga clic en Enviar. 11. Rellene los campos obligatorios en la página Información básica (Basic Information). 12. Haga clic en Guardar.
Su lista ya está preparada pero aún quedan cosas por hacer, incluido el rellenado de las fichas de la parte superior. Lo haremos en el paso siguiente.
Quiero más....
No se preocupe demasiado por tener la lista perfecta, todavía no es pública y puede cambiar la lista en cualquier momento.
Paso 3: Completar la lista
En la parte superior se muestran otras fichas: Ofertas (Offering), Descripción general (Overview), Especificaciones (Specs), Asistencia técnica (Support), Contenido cargado (Uploaded Content) y Prospectos (Leads). Deberá rellenar los campos obligatorios en estas fichas para que la lista esté completa.
1. Haga clic en Ofertas.
2. Para vincular su aplicación, haga clic en Cambiar paquetes (Change Packages).
3. Seleccione su aplicación y trasládela a la lista de aplicaciones seleccionadas; a continuación, haga clic en Aceptar.
Paso 2: Crear la lista de aplicaciones Inicio rápido de ISVforce
4. En el cuadro desplegable etiquetado Seleccione la versión más reciente de la aplicación (Select the latest version of your application), seleccione su aplicación.
5. Haga clic en Guardar.
6. Haga clic en la ficha Descripción general. 7. Seleccione Gratis (Free).
8. Rellene el campo Descripción completa (Full Description) y haga clic en Guardar. 9. Haga clic en la ficha Especificaciones.
10. Haga clic en Cambiar ediciones (Change Editions).
11. En el mensaje emergente, traslade todas las ediciones a la lista de elementos seleccionados y haga clic en Enviar. Nota: La página de Visualforce que ha creado está disponible en todas las ediciones pero no siempre es así con
las demás funciones. Antes de desarrollar una aplicación completa, seguro que le interesa tener en cuenta a sus destinatarios y la edición que estos tienen. Para obtener más información sobre las ediciones y las funciones compatibles, consulte el apartado: Consideraciones arquitectónicas para Group Edition y Professional Edition en la página 42
12. Haga clic en Cambiar idiomas (Change Languages).
13. Elija el idioma en el que ha desarrollado la aplicación (inglés, probablemente) y haga clic en Enviar. 14. Haga clic en Guardar.
Las demás fichas no contienen campos obligatorios por lo que puede dejarlos en blanco de momento. Como hasta ahora, puede volver atrás cuando quiera y cambiar los valores.
Paso 4: Instalar la LMA
La aplicación de gestión de licencias (LMA, siglas en inglés) permite gestionar las ventas, las licencias y el servicio de asistencia de su aplicación. Para instalar la LMA, deberá archivar un caso en el portal de socios. Cuando el caso esté resuelto, instale la LMA en la organización de negocio.
Nota: Esta función está disponible a los socios aptos. Para obtener más información sobre el programa de socios,
incluidos los requisitos de aptitud, visite el sitio Web www.salesforce.com/partners.
1. En el mensaje de email que reciba, haga clic en el vínculo de LMA.
2. Puede leer la reseña sobre la aplicación y hacer clic en Obtener ahora (Get It Now).
3. En la ventana emergente, elija En mi Salesforce de producción (In my production Salesforce). 4. Lea y acepte los términos y condiciones, y haga clic en Instalar (Install).
5. Compruebe su contraseña y haga clic en Enviar (Submit).
6. En la página Detalles de instalación del paquete (Package Installation Details), haga clic en Continuar (Continue). 7. Haga clic en Siguiente, Siguiente e Instalar.
8. Haga clic en Implementar ahora (Deploy Now) y, en la página siguiente, haga clic en Implementar (Deploy). 9. Haga clic en la esquina superior derecha y observará que hay una aplicación nueva instalada.
Paso 4: Instalar la LMA Inicio rápido de ISVforce
Ilustración 11: Aplicación de gestión de licencias
La LMA no se utiliza directamente, sino que primero hay que desarrollar una aplicación y publicarla. Es lo que va a hacer en el paso siguiente.
Paso 5: Licencias y gestión de aplicaciones
En este paso va a conectar su aplicación a la aplicación de gestión de licencias (LMA) en su organización de negocio.
1. Haga clic en la ficha Publicando (Publishing).
2. Junto al paquete que ha cargado, haga clic en Gestionar licencias (Manage Licenses). 3. Haga clic en Registrar (Register).
4. Haga clic en Asignar (solo una vez) (Assign [One-Time Only]).
5. Ingrese las credenciales de inicio de sesión de su organización de negocio y haga clic en Enviar. 6. Haga clic en Guardar.
La aplicación tardará hasta 30 minutos en conectarse a la LMA. Descanse un rato, se lo ha ganado.
Resumen de publicación y licencias
En este tutorial, ha cargado su aplicación gestionada y editada en AppExchange y ha creado una lista para su aplicación. También ha instalado la aplicación de gestión de licencias y la ha vinculado a su aplicación. Puede usar la LMA para gestionar y renovar las licencias, así como para establecer la configuración de licencias predeterminada. Por ejemplo, puede otorgar licencia a su aplicación como prueba gratuita que caducará tras un número específico de días. Para obtener más información, consulte Gestión de licencias y asistencia administrativa en la página 137.
Ahora su aplicación tiene una lista privada en AppExchange que puede compartir con posibles clientes pero que el público general no verá a menos que se disponga del vínculo necesario. Antes de incluir la aplicación en una lista pública, deberá superar una revisión de seguridad. Esta revisión se explica en otros capítulos. Para obtener más información, consulte Pasos en la revisión de seguridad en la página 95.
Tutorial n.º 4: Actualización de la aplicación
Si está familiarizado con Salesforce, sabrá que hacemos versiones de parches semanales para solucionar problemas y varias veces al año publicamos una versión principal en la que introducimos funciones nuevas. Como proveedor de software independiente (ISV), puede hacer lo mismo: entregar versiones de parches para solucionar problemas y una versión principal para agregar funciones nuevas.
• En el caso de las funciones nuevas, el proceso es el mismo que ya conoce. Debe comenzar por modificar la aplicación, incluirla en un paquete, subir una versión beta, probar la versión beta y cargar una versión gestionada y editada. Las versiones
Paso 5: Licencias y gestión de aplicaciones Inicio rápido de ISVforce
principales aumentan el número de versión al siguiente número entero, del 1.0 al 2.0, por ejemplo, mientras que las versiones menores aumentan en una unidad el número tras el punto, de 1.0 a 1.1, por ejemplo. No hay reglas estrictas que definan exactamente lo que constituye una versión principal o una menor. Todo depende de usted.
• En el caso de las soluciones de problemas, el proceso varía un poco. Debe comenzar por crear una organización de parches, un entorno especial con funcionalidad limitada que solo se puede usar para desarrollar un parche para un paquete específico. Después de cargar el parche, puede enviarlo a sus clientes para que obtengan las soluciones a los problemas cuando inicien sesión de nuevo. Las versiones menores aumentan el número de versión al segundo decimal, de 1.0 a 1.0.1, por ejemplo. • Los clientes deben encargarse de instalar las versiones principales o menores. Sin embargo, puede enviar versiones de parche
directamente a las organizaciones de los clientes. Esta función solo está disponible para los socios de ISVforce/OEM registrados. Para obtener más información sobre el programa de socios, incluidos los requisitos de aptitud, visite el sitio Web www.salesforce.com/partners.
Como ya conoce bien el proceso para desarrollar una versión principal, trataremos aquí el desarrollo de una versión de parche y su entrega mediante envío a nuestros clientes.
Paso 1: Crear una organización de parche
Para crear un parche, debe generar una organización de desarrollo de parches nueva. Para crear una versión del parche:
1. Desde Configuración, haga clic en Crear > Paquetes. 2. Haga clic en el nombre de su paquete gestionado.
3. Haga clic en la ficha Organización de parche y, a continuación, en Nueva.
4. Seleccione la versión del paquete cuyo parche desea crear en la lista desplegable Aplicación de parche a la versión principal.
El tipo de versión debe ser Gestionado y editado.
5. Introduzca un Nombre de usuario para iniciar sesión en su organización de parche.
6. Introduzca una Dirección de email asociada con su inicio de sesión.
7. Haga clic en Guardar.
Nota: Si pierde su información de inicio de sesión, haga clic en Restablecer en la página de detalles del paquete
en Organización de desarrollo de parche para restablecer el inicio de sesión en su organización de desarrollo de parche.
En unos minutos, recibirá un email con las credenciales de inicio de sesión. Después de haber iniciado sesión y cambiado su contraseña, continúe en el paso siguiente.
Quiero más....
El desarrollo en una organización de parche está limitado. A continuación se incluye una lista de advertencias: • No se pueden agregar componentes de paquete.
• No se pueden eliminar los componentes de paquete actuales.
• Los controles de acceso de API y Apex dinámica no se pueden cambiar para el paquete. • No se puede desaprobar ningún tipo de código Apex.
• No se pueden agregar nuevas relaciones de clase de Apex, como extends.
• No se pueden agregar nuevos modificadores de acceso de Apex, como virtual o global. • No se pueden añadir nuevos servicios Web.
• No se pueden añadir nuevas dependencias de funciones.
Paso 1: Crear una organización de parche Inicio rápido de ISVforce
Paso 2: Desarrollar un parche
Vamos a hacer un cambio sencillo en la aplicación. En lugar de que se muestre solo Hello World, va a agregar la fecha del día actual.
1. En la organización de parche, en Configuración haga clic en Crear > Paquetes y, después, en el paquete Hello World. 2. En la lista de componentes de paquetes, haga clic en la página de saludo.
3. Haga clic en Modificar.
4. Justo después de la etiqueta de cierre </h1>, ingrese lo siguiente: <br/>
<apex:outputText value="The date and time is: {!NOW()}"/>
5. Haga clic en Guardar.
6. Para ver el resultado, haga clic en la ficha Hello y verá que se muestra la fecha y hora actuales.
Ilustración 12: Mostrar la fecha y hora
Esto es todo lo que necesitamos hacer en este parche. Continuemos.
Quiero más....
La función !NOW devuelve la fecha en un formato estándar. Existen muchas funciones incorporadas y maneras de dar formato al resultado. Para obtener más información, consulte la Guía del desarrollador de Visualforce.
Paso 3: Cargar el parche
Normalmente, el paso siguiente consiste en cargar un parche beta e instalarlo en una organización de prueba. Como el proceso es muy parecido al que ha seguido en el Paso 4: Cargar una versión beta y en el Paso 5: Instalar y probar la versión beta que ya realizó en el tutorial n.º 2: Desarrollo de su aplicación, no vamos a repetirlo.
1. En la organización de parche, en Configuración haga clic en Crear > Paquetes y, después, en el paquete Hello World. 2. En la página Carga del paquete, haga clic en Cargar.
3. Ingrese un nombre de versión, por ejemplo, la fecha actual.
4. Tenga en cuenta que el Número de versión ha aumentado su Número de parche.
5. Seleccione Gestionado y editado (Managed — Released).
Paso 2: Desarrollar un parche Inicio rápido de ISVforce
6. De forma opcional, introduzca y confirme una contraseña para compartir el paquete de forma privada con cualquiera que
tenga contraseña. No introduzca una contraseña si desea que el paquete esté disponible para cualquiera en AppExchange y compartir el paquete públicamente.
7. Salesforce selecciona automáticamente los requisitos que encuentra. Además, seleccione cualquier otro componente
obligatorio de las secciones Requisitos del paquete y Requisitos del objeto para notificar a los instaladores de los requisitos de este paquete.
8. Haga clic en Cargar.
Felicitaciones, ha cargado una versión de parche. Seguro que le interesa compartir el parche con otras personas. Eso es precisamente lo que vamos a hacer a continuación.
Paso 4: Instalar o enviar un parche
Hay dos maneras de entregar un parche: puede requerir que sean los clientes quienes lo instalen o puede enviárselo. Las actualizaciones mediante envío se realizan automáticamente; es decir, cuando el cliente inicia sesión, encuentra las actualizaciones. Vamos a probar esta opción.
1. Inicie sesión en la organización de desarrollo.
2. En la esquina superior derecha, haga clic en Desarrollo de Hello World, versión 1.0 (Developing Hello World, version
1.0).
Ilustración 13: Desarrollo de Hello World, versión 1.0 3. En la página Detalles del paquete, haga clic en Actualizaciones de envío (Push Upgrades). 4. Haga clic en Programar actualizaciones mediante envío.
5. En la lista desplegable Versión de parche (Patch Version), selecicone la versión de parche que va a enviar. 6. En el campo Fecha de inicio programado (Scheduled Start Date), ingrese la fecha del día actual.
7. En la sección Seleccionar organizaciones de destino (Select Target Organizations), seleccione la organización de prueba. 8. Haga clic en Programar.
¡Ya lo ha hecho! Ha enviado una versión de parche al suscriptor para que este obtenga de forma automática las actualizaciones. Debería comprobar que los clientes han recibido el parche y asegurarse de que lo han instalado correctamente.
Quiero más....
Las versiones beta no son aptas para las actualizaciones mediante envío. En este caso, deberá desinstalar la versión beta e instalar después la nueva versión beta.
Resumen de la actualización de la aplicación
En este tutorial ha aprendido a actualizar su aplicación en una organización de parche y a enviar dicha actualización a los clientes. Comenzó por crear una organización de parche específica de una versión de paquete editado. Después, modificó la aplicación, la cargó y programó la actualización mediante envío para sus clientes.
Paso 4: Instalar o enviar un parche Inicio rápido de ISVforce
Felicitaciones, ¡ha terminado! ¿O quizás esto no haya hecho más que empezar? Puede modificar la aplicación actual como quiera que sea o bien puede crear una nueva organización de desarrollo en el portal de socios y compilar otra aplicación. Puede utilizar las mismas organizaciones de prueba y ventas, así como todo lo que haya configurado para publicar y gestionar muchas más aplicaciones. Va a conseguir que ISVforce sea un éxito.
Resumen de la actualización de la aplicación Inicio rápido de ISVforce
Capítulo 3
Arquitectura y desarrollo de aplicaciones
En esta sección se incluyen conceptos importantes y decisiones de arquitectura que debe tener en cuenta antes de comenzar el desarrollo. Son los siguientes:
En este capítulo...
• Concepto de paquetes gestionados y
no gestionados • Componentes disponibles
• Límites para Group Edition y Professional Edition • Componentes disponibles
• Comportamiento especial de los componentes en paquetes
• Protección de la propiedad intelectual • Concepto de dependencias
• Consideraciones arquitectónicas para Group Edition y Professional Edition
Consulte también:
Consideraciones arquitectónicas para Group Edition y Professional Edition • Concepto de dependencias
• Creación de aplicaciones empaquetadas con Chatter • Aspecto de Salesforce coincidente • Desarrollo de la documentación de
las aplicaciones
• Creación de configuración de perfil personalizado
• Acerca de los conjuntos de permisos y la configuración de perfil
• Descripción general de las aplicaciones conectadas • Acerca del WSDL de socio • Trabajo con servicios externos • Protección de la propiedad intelectual • Núcleo de entorno
Concepto de paquetes gestionados y no gestionados
Los paquetes tienen dos formas: gestionados y sin gestionar. Paquetes no gestionados
Los paquetes sin gestionar se suelen utilizar para distribuir proyectos de código abierto o plantillas de aplicaciones y ofrecer a los desarrolladores los fundamentos de una aplicación. Una vez haya instalado los componentes de un paquete sin gestionar, los componentes se pueden modificar en la organización en la que se instalan. El desarrollador que ha creado y cargado el paquete sin gestionar no tiene control sobre los componentes instalados y no podrá cambiarlos ni actualizarlos. Los paquetes sin gestionar no se deben utilizar para migrar componentes de un Sandbox a una organización de producción. En su lugar, utilice Conjuntos de cambios.
Paquetes gestionados
Los clientes de salesforce.com suelen utilizar los paquetes gestionados para distribuir y vender aplicaciones a los clientes. Estos paquetes se deben crear a partir de una organización de Developer Edition. Mediante AppExchange y la aplicación de gestión de licencias (LMA), los desarrolladores pueden vender y gestionar licencias basadas en usuarios en la aplicación. Los paquetes gestionados también son totalmente actualizables. Para garantizar actualizaciones sin problemas, puede que algunas modificaciones destructivas como la eliminación o modificación de objetos o campos no se realicen. Los paquetes gestionados también ofrecen los siguientes beneficios:
• Protección de la propiedad intelectual de Apex
• Compatibilidad de versiones para componentes accesibles de API integrada • Capacidad para aplicar divisiones y parches a versiones anteriores
• Capacidad de enviar actualizaciones de parches a los suscriptores de manera sencilla
• Asignación de nombres únicos a todos los componentes para garantizar instalaciones sin conflictos Las siguientes definiciones ilustran estos conceptos:
Componentes
Un componente es una parte constituyente de un paquete. Define un elemento, como un objeto personalizado o un campo personalizado. Puede combinar componentes de un paquete para producir funciones o aplicaciones potentes. En un paquete sin gestionar, los componentes no se pueden actualizar. En un paquete gestionado, algunos componentes pueden actualizarse y otros no.
Atributos
Un atributo es un campo de un componente, como el nombre de una plantilla de email o la casilla de verificación Permitir reportes de un objeto personalizado. En un componente no actualizable de un paquete gestionado o sin gestionar, los atributos son modificables por el desarrollador (el creador del paquete) y el suscriptor (el instalador del paquete). En un componente actualizable de un paquete gestionado, el desarrollador puede modificar algunos atributos, otros los puede modificar el suscriptor y algunos están bloqueados, por lo que no se pueden modificar.
Planificación de la edición de paquetes gestionados
La edición de un paquete de AppExchange es parecida a la edición de cualquier otro programa en el desarrollo de software. Puede que desee implementarlo mediante repeticiones para garantizar que cada componente funciona como se espera. Incluso puede ofrecer una versión beta a aquellos usuarios que se hayan ofrecido para instalar una primera versión de su paquete y enviarle sus comentarios.
Una vez haya editado un paquete publicándolo en el directorio de AppExchange, cualquiera podrá instalarlo. Por ello, planifique cuidadosamente su edición. Revise los estados definidos a continuación para familiarizarse con el proceso de edición. Salesforce
Concepto de paquetes gestionados y no gestionados Arquitectura y desarrollo de aplicaciones
aplica automáticamente el estado adecuado a su paquete y componentes dependiendo de la configuración de carga que seleccionara y el punto en el que se encuentre dentro del proceso de edición.
Descripción Estado
El paquete no se ha convertido en un paquete gestionado o el componente no se ha agregado a un paquete gestionado. Tenga en cuenta un componente que esté Sin gestionar
"Gestionado en versión beta" puede pasar al estado "No gestionado" si se retira de un paquete gestionado. Todos los paquetes son no gestionados a menos que se indique lo contrario con uno de los siguientes iconos gestionados.
El paquete o componente se ha creado en la organización de Salesforce actual y está gestionado, pero no se ha editado por una de las tres razones siguientes: Gestionado en versión beta
• No se ha cargado.
• Se ha cargado habiendo seleccionado Gestionado en versión beta. Esta opción evita que se publique y esté disponible de forma pública en AppExchange. El desarrollador todavía puede modificar cualquier componente pero tal vez el instalador no pueda dependiendo de qué componentes se han incluido en el paquete.
El paquete o componente se ha creado en la organización de Salesforce actual y está gestionado. También se ha cargado con la opción Gestionado y editado Gestionado y editado
seleccionada, indicando que puede publicarse y estar disponible de forma pública en AppExchange. Tenga en cuenta que una vez que pase un paquete a este estado, ni el desarrollador ni el instalador podrán modificar algunas propiedades de los componentes.
Este tipo de edición se considera una edición principal.
Si tiene que proporcionar una actualización menor para un paquete gestionado, considere la creación de un parche en lugar de una edición principal. Un parche Parche
permite a un desarrollador cambiar la funcionalidad de los componentes existentes en un paquete gestionado, mientras garantiza a los suscriptores experimentar que no hay cambios visibles en el paquete.
Este tipo de edición se considera una versión de parche.
El paquete o componente se ha instalado desde otra organización de Salesforce pero está gestionado.
Gestionado e instalado
Un desarrollador puede decidir redefinir las funciones de un paquete gestionado con el paso del tiempo al evolucionar los requisitos. Esto puede implicar la necesidad de volver a diseñar algunos componentes del paquete gestionado. Los desarrolladores no pueden eliminar algunos componentes en un paquete Gestionado y editado, pero pueden desaprobar un componente en una versión posterior del paquete para que los nuevos suscriptores no reciban el componente, mientras que el componente continúa funcionando para los suscriptores existentes y las integraciones de API.
Componentes disponibles
No todos los componentes se pueden incluir en paquetes para su distribución. Si crea una aplicación que utiliza componentes que no se pueden incluir en paquetes, sus suscriptores tendrán que crear y configurar esos componentes después de instalar su aplicación. Si la facilidad de instalación es un importante preocupación para sus suscriptores, tenga en cuenta los componentes que no se pueden incluir en paquetes en su proceso de desarrollo.
Componentes disponibles Arquitectura y desarrollo de aplicaciones
La siguiente tabla muestra los componentes disponibles en un paquete gestionado y si son o no actualizable o eliminables. Las siguientes secciones describen las columnas de la tabla y sus valores.
Actualizable
Algunos componentes se actualizan a una versión más reciente cuando se actualiza un paquete. • No: El componente no se puede actualizar.
• Sí: El componente se puede actualizar. Suscriptor que se puede eliminar
Un suscriptor o instalador de un paquete puede eliminar el componente. • No: El suscriptor no puede eliminar el componente.
• Sí: El suscriptor puede eliminar el componente. Desarrollador que se puede eliminar
Un desarrollador puede eliminar algunos componentes después de cargar el paquete como Gestionado y editado. Los componentes eliminados no se eliminan en la organización del suscriptor durante la actualización de un paquete. El atributo Se puede proteger contiene más detalles acerca de la eliminación de componentes.
• No: El desarrollador no puede eliminar un componente Gestionado y editado.
• Sí: El desarrollador puede eliminar un componente Gestionado y editado. Se puede proteger
Los desarrolladores pueden marcar ciertos componentes como protegidos. Los componentes creados en la organización del suscriptor no se pueden vincular o hacer referencia a componentes protegidos. Un desarrollador puede eliminar un componente protegido en una futura versión sin necesidad de preocuparse de errores en las instalaciones. Sin embargo, si se marca un componente como no protegido y se publica de forma global, el desarrollador no podrá eliminarlo. Cuando el suscriptor actualiza a una versión del paquete donde se ha eliminado el componente, éste último de elimina de la organización del suscriptor.
• No: No se puede marcar el componente como protegido.
• Sí: Se puede marcar el componente como protegido. Protección de IP
Algunos componentes incluyen automáticamente la protección de propiedad intelectual, como la confusión del código Apex. Las únicas excepciones son métodos de Apex declarados como globales, lo que significa que se puede ver las firmas del método por el suscriptor. La información en los componentes que incluye en paquetes y publica puede ser visible para usuarios en AppExchange. Tenga cuidado cuando agregue su código a un custom s-control, una fórmula o página de Visualforce, o cualquier otro componente que no puede ocultar en su aplicación.
• No: El componente no es compatible con la protección de propiedad intelectual.
• Sí: El componente es compatible con la protección de propiedad intelectual
Protección de IP Se puede proteger Desarrollador que se puede eliminar Suscriptor que se puede eliminar Actualizable Componente No No No No Sí Acción No No Sí Sí No Instantánea analítica Componentes disponibles Arquitectura y desarrollo de aplicaciones
Protección de IP Se puede proteger Desarrollador que se puede eliminar Suscriptor que se puede eliminar Actualizable Componente Sí No Sí (si no está establecido como acceso global) No Sí Clase de Apex No No No No Sí Razón de colaboración de Apex No No Sí Sí No Nuevo cálculo de colaboración de Apex Sí No Sí (si no está establecido como acceso global) No Sí Desencadenador de Apex No No Sí Sí No Aplicación No No No No Sí Tipo de artículo No No No Sí No Centro de llamadas No No Sí No Sí Formato compacto No No Sí Sí Sí Aplicación conectada No No, excepto vínculos Sí, si está protegido No Sí Botón o vínculo personalizado personalizados (para la página de inicio únicamente) No No Sí Sí Sí Campo personalizado No Sí Sí, si está protegido No Sí Etiqueta personalizada No No No No Sí Objeto personalizado No No No No Sí Tipo de reporte personalizado Sí No No No Sí Configuración personalizada No No Sí Sí No Tablero No No Sí Sí No Documento No No Sí Sí No Plantilla de email No No No No Sí Conjunto de campos Componentes disponibles Arquitectura y desarrollo de aplicaciones