Servidor de actualización para extensiones comerciales

8

Joomla proporciona la capacidad de agregar un servidor de actualización que permite a los usuarios instalar una actualización de extensión cuando se suelta con solo hacer clic en un botón.

Por supuesto, esto es excelente para las extensiones gratuitas, sin embargo, para las extensiones comerciales, uno se encontraría con un problema en el que alguien simplemente podría obtener la URL de descarga del archivo XML de actualización y publicarla, por lo que no se puede.

Lo que sí tenía en mente era hacer algo en la misma línea, pero simplemente notificaría al usuario que hay una actualización y que tendrían que ir al sitio web del desarrollador y descargarla manualmente, sin embargo, no utilicé ninguna suscripción extensiones, por lo tanto, no hay permisos especiales para obtener acceso a estas extensiones comerciales. En cambio, usé un componente que simplemente permite al usuario comprar la extensión y eso es todo.

Entonces, mi pregunta es, ¿hay algún método incorporado que desconozca que permita un servidor de actualización para extensiones comerciales? Creo recordar que esto se discutió hace mucho tiempo, pero no estoy seguro de si se implementó algo en Joomla para ello.

O tal vez, en cambio, ¿sería una idea evitar el acceso directo al XML si uno escribe la URL en su navegador usando un archivo htaccess ?

Nota : me estoy refiriendo a un módulo, de lo contrario podría haber buscado algo como Akeeba Live Update

Lodder
fuente
1
Me pondría en contacto con uno de los creadores de extensiones que ya lo hacen. Los chicos de Rocket Theme crearon su propio complemento que valida su servidor y aún utiliza el mecanismo de actualización incorporado. Akeeba lo hace sin un complemento adicional, pero se actualizará si su código se ingresa en la configuración del componente. También puede preguntar a los chicos de watchful.li ya que su sistema puede aprovechar todo esto y ejecutar la actualización por usted. Alguien puede estar dispuesto a contarte cómo lo hacen.
Brian Peat
@BrianPeat: gracias por tu aporte. Sin embargo, encontré un commit en Github de Nick de Akeeba que permite exactamente lo que quiero (y tal vez solo estoy teniendo un momento rubio), pero no creo que la "guía del desarrollador" sea suficiente. No menciona dónde poner el código. La persona con la que trabajo le pedirá más detalles sobre el asunto, así que espero que esto me lleve a algún lado.
Lodder

Respuestas:

5

Mi versión de implementación sería ...

El Cliente: - Simplemente dé a cada usuario suscrito una clave única (secreta) y simplemente páselo como variable GET cuando busque nuevas actualizaciones.

El Servidor: - Del mismo modo, sólo comprobar las peticiones entrantes para esa variable, y hacerlo coincidir con una base de datos, cool? allow : deny;.

El uso indebido: - Mantenga un registro de cada clave que se esté utilizando, y establezca un número de solicitudes posibles permitidas, más allá de lo cual solo marque esa clave y su usuario como suspenso, luego haga lo que piense hacer, advirtiéndole al usuario, el bloqueo es por algún tiempo, o simplemente por la terminación de la suscripción ... etc., las posibilidades son infinitas.

Mohd Abdul Mujib
fuente
¿Qué sucede después de que el servidor respondió como 'permitir'? En otras palabras, ¿cómo funciona esta validación junto con el servidor de actualización?
Malaiselvan
allowsignifica que el servidor ha decidido enviar el archivo de actualización como respuesta.
Mohd Abdul Mujib
Gracias @ 9ksoft. Su solución permitirá al usuario descargar la extensión actualizada. Creo que no puede realizar ninguna instalación automática con el servidor de actualización, ¿verdad? ¿O tiene una solución para hacer una actualización automática después de la validación? Perdón por hacer muchas preguntas ... :-)
Malaiselvan