Firmando y ditribuyendo su complemento (add-on)
Una vez que tenga una primera compilación de su complemento, usted querrá distribuirlo para que otros puedan darle una oportunidad. Si va a distribuir su complemento públicamente o privadamente a través de addons.mozilla.org (AMO) o en otro lugar, usted necesita tener su complemento firmado.
Firmando su complemento
A partir de Firefox 43, hay algunas restricciones para la distribución de complementos. Extensiones e instaladores multi-paquete que soporta Firefox tienen que ser firmados por Mozilla con el fin que ellos puedan ser instalados en versiones beta y finales de Firefox. Tenga en cuenta que esto solo aplica en complementos tipo 2 y 32; otros tipos de "complementos", como temas y paquetes de idioma no requieren firma. También son excluido complementos que solo soportan otras aplicaciones como Thunderbird y SeaMonkey. Complementos no firmados pueden ser instalados en las Edición para desarrolladores, Nightly, y versiones ESR de Firefox, tras cambiar la opción de la preferencia xpinstall.signatures.required en about: config.
Sólo Mozilla puede firmar su complemento para que Firefox lo instale por defecto. Los complementos son firmados mediante el envío de ellos a AMO o usando la API (Interfáz para Programación de Aplicaciones) pasando ya sea un examen automatizado, o manual del código. Tenga en cuenta que usted no está obligado a listar o distribuir su complemento a través de AMO. Si usted está distribuyendo el complemento por su cuenta, usted puede elegir la opción de no listarlo, AMO sólo servirá como camino para obtener su paquete firmado.
Firmando API
Usted puede firmar sus archivos XPI usando la addons.mozilla.org assinando API. Si usted usa la herramienta jpm, el comando jpm sign trabajará con la API para firmar su complemento.
Enviando a AMO
Los nuevos complementos son subidos a AMO a través de este formulario de envío. El primer paso es leerlo y aceptar nuestro Contrato de Desarrollador.
A continuación, usted tendrá que decidir si desea distribuir y listar su complemento a través de AMO o no. Aquí hay algunas cosas que usted debe considerar para tomar esta decisión:
- AMO es una muy popular plataforma de distribución, con millones de visitantes e instalaciones mensuales. Está integrado al Administrador de complementos de Firefox, permitiendo una fácil instalación de los complementos publicados en AMO directamente desde la interfaz de usuario de Firefox.
- Todos los complementos que aparecen listados en AMO, son códigos probados y revisados por un equipo de empleados y voluntarios. Los mimsos tienen que cumplir con varias políticas técnicas y de contenido con el fin de ser aceptado. Debido a esto, los tiempos de revisión puede variar entre unas pocas horas a un número de semanas, dependiendo de la complejidad del complemento y otros factores.
- Los complementos no listados, en su mayor parte, están revisados y firmados de forma automática. El equipo para revisión de complementos, de vez en cuando, puede realizar una revisión manual de los archivos firmados y le dará a usted una realimentación acerca de ello.
- Cuando actualize su complemento a la nueva versión para agregar funciones o corregir errores, usted necesitará alguna versión del complemento instalada anteriormente.
- Si usted lista su complemento en AMO, entonces todo lo que tiene que hacer aquí es enviar la nueva versión a AMO: por defecto deben comprobarse en AMO las nuevas versiones de los mismos.
- Si usted no lista su complemento en AMO, usted necesita indicarle a la aplicación huésped (por ejemplo Firefox) dónde se pueden encontrar las nuevas versiones del complemento. Para ello, incluya un URL en el manifiesto del complemento llamado updateURL: la aplicación huésped irá aquí para obtener información sobre las actualizaciones. En el updateURL usted alojará un archivo en formato update RDF: entre otras cosas, este archivo incluye otro URL llamado updateLink que apunta a la misma XPI actualizada. Si usted está utilizando el complemento SDK, vea Supporting updates for self-hosted add-ons.
Usted debe tomar esta decisión cuidadosamente, ya que en la actualidad no es fácil cambiar la opción entre Listados y No Listados. Debido a algunas limitaciones de la plataforma, y con el fin de hacer el cambio, usted necesitará eliminar la entrada de su complemento y luego ponerse en contacto con la lista de Administradores de AMO para habilitar el identificador de su complemento (add-on ID) para que usted pueda enviarlo nuevamente. También debe saber que si se cambia de Listado a No Listado, los usuarios actuales no serán migrados automáticamente a las versiones de su complemento no listadas. El cambio, es más fácil pasar de No Listado a Listado porque Firefox buscará actualizaciones sobre AMO si un complemento no tiene un updateURL en su manifiesto de instalación.
Complementos no listados
Después de aceptar el Contrato de desarrollador, se le preguntará si desea listar su complemento en AMO. Asegúrese de elegir: no incluirla.
A continuación, se le preguntará si desea que el complemento sea "side-loaded" o no. "Side-loaded" es cuando el complenmento XPI no está instalado directamente por los usuarios, sino que se incluye en un instalador de la aplicación. Un ejemplo de esto sería un paquete de software antivirus que incluye una extensión de seguridad acompañante. Si se va a instalar el complemento XPI directamente desde la web o descargarse e instalarse manualmente por los usuarios, entonces usted no necesita esta opción.
Internamente, AMO etiqueta envíos de complementos no listados que requieren side-loading como envíos de versión final, y todo lo demás como envíos de versiones preliminares. Usted puede encontrar estas etiquetas al examinar el estado de revisión de su complemento. Tenga en cuenta que no hay diferencia entre la revisión completa y preliminar para los complementos no listados, aparte de la característica de side-load del complemento.
Elija las plataformas que admite su complemento y suba su XPI. El archivo será escaneado por un validador automático del código que mostrará una serie de advertencias o errores dependiendo de lo que detecte. Los errores sólo aparecen para los complementos listados si hay algo mal en el paquete que deba ser corregido antes de que pueda ser aceptado. Las advertencias pueden variar según a la importancia y gravedad; usted debe leer a través de todos ellos con cuidado y ver si hay algo que se puede arreglar en su complementos con el fin de evitar que aparezcan. Esto no significa que usted deba camuflar su código para eludir las advertencias de validación. Esa práctica esto puede conducir a que sus complementos sean rechazados y potencialmente usted sea agregado a la lista de bloqueo.
Los complementos listados pueden ser sometidos a revisión preliminar o Revisión completa. La revisión preliminar consiste en controles de seguridad y contenido, enfocado en el código del complemento. La revisión completa es una norma más elevada y las revisiones incluyen pruebas de características y controles de rendimiento. Los complementois con revisión completa tienen más protagonismo en el sitio y pueden ser nominados para ser presentado. Los complementos que están nominados para la revisión completa y no cumplen con esa norma pueden recibir en su lugar una aprobación preliminar.
Versiones Beta
Los canales Beta sólo están disponibles para complementos totalmente revisados.
Para crear un canal beta, hay que subir un archivo con una única cadena de versión que contenga cualquiera de las siguientes cadenas: a,b,alpha,beta,pre,rc,
con un número opcional al final. Este texto debe venir al final de la cadena de versión. Si usted entiende el formato regex, esto es lo que buscamos en el número de versión: "(a|alpha|b|beta|pre|rc)\d*$".
Una vez que el archivo alcanza este criterio, éste se carga en AMO y será detectado automáticamente como una versión beta. Los usuarios de los complementos con estos números de versión únicas, automáticamente se les servirán las más recientes actualizaciones beta. Las versiones beta son tratados como complemento de versiones no listadas, en la que van a ser aceptadas y firmadas inmediatamente si pasan la validación automática. Tampoco pueden ser side-loaded, y no deben ser impulsadas como actualizaciones a versiones side-loaded si usted también está utilizando estas versiones fuera de AMO.
Mientras que llamamos a estas "versiones Beta", usted puede utilizar este canal para llamarla nightlies, o alfas, o versiones preliminares, como usted lo desee. Tenga en cuenta que sólo hay un canal para este fin y todos los usuarios en este canal recibirán los últimos complementos presentadas. Por ejemplo, si carga 1.0beta1
al canal de liberación y luego subir 1.1alpha1
todos los usuarios de 1.0beta1
se ofrecerá una actualización a 1.1alpha1
Las actualizaciones son impulsadas por fecha de presentación y no el número de versión, por lo que los usuarios siempre tendrán la actualización de canales más reciente, independientemente de cualquier tipo de clasificación alfabética.
Propiedad
Los complementos pueden tener múltiples usuarios con permiso para actualizar y gestionar el listado. Los autores existentes de un complemento pueden transferir la propiedad y añadir desarrolladores adicionales a los complementos listados, a través de las herramientas de desarrollo previstas. Para la transferencia de propiedad no es necesaria la interacción con los representantes de Mozilla.
Disputas de Código
Muchos complementos permiten que su código fuente sea visto en público. Esto no significa que el código fuente sea de código abierto, o esté disponible para su uso en otro complemento. El autor original de un complemento conserva los derechos de autor de su trabajo a menos que se indique lo contrario en la licencia del complemento.
En el caso de que se nos notifique que un derecho de autor o licencia se encuentre en infracción, tomaremos las medidas para hacer frente a la situación por la DMCA (Ley de "Milenio Digital" Derechos de Autor ), que puede incluir quitar de la lista el complemento. Los detalles sobre este proceso y cómo informar de cuestiones de marcas o licencias se pueden encontrar aquí.
Si usted no está seguro de la situación actual de derechos de autor del código fuente de un complemento, debe comunicarse con el autor original y recibir permiso explícito antes de usar el código fuente.