Ahora es bastante práctica estándar que las aplicaciones de escritorio se actualicen automáticamente. En la Mac, todos los programas que no son de Apple que usan Sparkle en mi libro son una victoria instantánea. Para desarrolladores de Windows, this has already been discussed at length. Todavía no he encontrado información sobre aplicaciones web autoactualizadas, y espero que pueda ayudar.¿Cuáles son las mejores prácticas para actualizar automáticamente las aplicaciones PHP + MySQL?
Estoy construyendo una aplicación web que debe instalarse como Wordpress o Drupal: descomprímala en un directorio, acceda a alguna página de instalación y estará lista para funcionar. Para tener una amplia compatibilidad de servidor, me han pedido que use PHP y MySQL, ¿es eso ** MP? En cualquier caso, tiene que ser ampliamente multiplataforma. Por contexto, esta es básicamente una aplicación de mensajería web unificada para pequeñas empresas. No es otra plataforma CMS, piensa en webmail.
Quiero saber sobre las aplicaciones web que se actualizan automáticamente. En primer lugar, (1) ¿es esta una mala idea? A partir de Wordpress 2.7, la actualización automática es un botón único, que parece fácil, y sin embargo, puedo imaginar tantas maneras en que esto podría ir terriblemente mal. Además, ¿no es la idea de que los archivos web son grabables por el proceso web un agujero de seguridad?
(2) ¿Vale la pena el tiempo de desarrollo? Probablemente existan millones de instalaciones de WP en el mundo, por lo que probablemente valga la pena el tiempo que le llevó al equipo de WP facilitar las cosas, ahorrando millones de horas hombre en todo el mundo. Solo puedo imaginar unos pocos miles de instalaciones de mi software: ¿la autoevaluación merece la pena invertir tiempo? ¿O puedo suponer que los usuarios lo suficientemente sofisticados para descargar e instalar el software web en primer lugar podrían pasar por una lista de verificación de actualización?
Si no es un desastre de seguridad o una pérdida de tiempo, entonces (3) estoy buscando sugerencias de cualquier persona que lo haya hecho antes. ¿Mantiene una tabla de versión en su base de datos? ¿Cómo manejas las actualizaciones de DB? ¿Qué método utiliza para deshacer una actualización parcial en el contexto de una aplicación web que se actualiza automáticamente? ¿El uso de una capa de ORM lo hizo más fácil o más difícil? ¿Mantiene un delta de cambios de versión o simplemente lo apaga todo?
Agradezco sus comentarios sobre esto.
gran pregunta. Creo que la actualización automática no solo reduce las horas de instalación, sino que también te permite corregir problemas de seguridad distribuidos sobre la marcha. muchas aplicaciones de código abierto se explotan en masa una vez que se encuentra un agujero de seguridad. pero tienes razón, hay tantas cosas que podrían salir mal. ¿y si el usuario personaliza su código para uno? – dqhendricks
He hecho una [pregunta similar] (http://stackoverflow.com/questions/558535/should-a-web-app-have-automatic-updates) hace un tiempo que podría ser útil. – VirtuosiMedia