Una nueva "diferencia de opiniones" ha comenzado en Twitter.
Algunos desarrolladores de alto valor están comenzando a eliminar sus extensiones de Magento Connect por la razón de que las personas no técnicas no deberían instalar extensiones.
Otros desarrolladores no están de acuerdo con este motivo.
Lo pregunto porque considero que ambas partes son válidas de alguna manera.
Dado que 140 caracteres son mucho menos de lo necesario para explicar los motivos, ¿por qué no centralizarlos aquí?
De esta forma, las personas técnicas y no técnicas pueden leerlos.
Sé que las respuestas se basarán principalmente en la opinión, pero prometo cerrar esta pregunta una vez que se expresen algunas opiniones.
O, si un moderador considera que esto sería más adecuado en meta, esto se puede mover en meta.
fuente
Respuestas:
Creo que eliminar extensiones en MC es un poco demasiado extremo. Connect no es solo para mecants sino también para desarrolladores (me encanta la función de actualización). Pero estoy de acuerdo en que las personas sin las habilidades adecuadas no deberían instalar la extensión, ya que rara vez son compatibles con los temas utilizados, existen demasiados conflictos potenciales y, en la mayoría de los casos, causará una mala reputación totalmente innecesaria entre el comerciante y el proveedor de extensión (gratuito). O entre comerciante y desarrollador del sitio.
Gente, construir tiendas es como hacer música, es mejor dejarla para profesionales.
fuente
Instalación de extensión y las consecuencias
La idea de tener un sistema extensible es genial, pero como sabemos los desarrolladores, no es tan simple. Muchas cosas pueden (y, desafortunadamente, hacerlo) salir mal.
Visión de conjunto
Comenzaré con una lista de problemas potencialmente causados por la instalación de extensiones. Luego, haré mi punto principal y expondré las conclusiones que personalmente saco de todo eso, y finalmente sugeriré una solución. (Esto probablemente se prolongará, disculpas de antemano. Trataré de escribir lo menos posible y aún cubriré el tema).
Para comenzar, aquí hay una lista de problemas comunes encontrados debido a la instalación de extensiones.
Seguridad
No se realiza ninguna revisión de código antes de que se acepte una extensión en Magento Connect. Como consecuencia, muchas extensiones contienen vulnerabilidades. Hay muchas razones, como desarrolladores inexpertos o perezosos, el uso de código de terceros vulnerable y algunas extensiones incluso contienen código malicioso dañino. La ejecución remota de código, las inyecciones SQL y el tiempo de inactividad son una realidad. Las consecuencias son pérdida de datos del cliente, pérdida de credenciales de pago, pérdida de ingresos, pérdida de tiempo y pérdida de confianza.
Actuación
Una extensión puede funcionar bien en un sitio o en una instancia de desarrollador, pero con un catálogo o base de clientes diferente, puede causar serios problemas de rendimiento. Puede haber muchas razones concretas que van desde la carga ineficiente de entidades, uniones SQL no optimizadas, una gran cantidad de solicitudes ajax, una gran cantidad de opciones de atributos o atributos, y muchas más. Como cada llamada comercial nos dice a los desarrolladores, el rendimiento es importante. Esto cuesta un ingreso comercial.
Conflictos
Incluso dos extensiones, incluso cuando se desarrollan utilizando las mejores prácticas, pueden entrar en conflicto. Esto se debe principalmente a la forma en que el marco de Magento combina la configuración XML. En el mejor de los casos, estos conflictos son visibles a través de un seguimiento de pila o una pantalla en blanco, en el peor de los casos, el sitio inhibe un comportamiento extraño y difícil de depurar. Un comerciante no podrá solucionar los problemas y hacer que coexistan extensiones conflictivas sin la ayuda de un desarrollador. Esto cuesta tiempo y dinero.
Capacidad de actualización
No actualizar no es una opción, aunque solo sea por razones de seguridad. Las extensiones deben mantenerse, como bases de código individuales y como parte del marco Magento. Si se está utilizando una extensión y el desarrollador original no continúa manteniendo la extensión, algún otro desarrollador tiene que hacerse cargo. No tener un desarrollador a menudo hace imposible que un comerciante actualice, lo que a su vez hace que los sitios sean más lentos de lo que tienen que hacerlo, se explotan los problemas de seguridad y, por lo tanto, se pierden ingresos.
Extensibilidad
Agregar nuevas funciones a un sitio existente se vuelve cada vez más complejo y, por lo tanto, costoso, porque cada extensión del sistema agrega su deuda técnica. La deuda general es mucho mayor que cada extensión individual, ya que la complejidad combinada también es mayor que cada una por sí sola. No poder experimentar fácilmente con nuevas características y cambios causa a un comerciante una gran cantidad de ingresos perdidos.
Desinstalación
Las siguientes cosas causan rotura en Magento al desinstalar una extensión:
La rotura del sitio, por supuesto, cuesta dinero.
Magento Connect
Dada la lista de problemas anteriores, ¿cómo puede alguien esperar que un no desarrollador instale una extensión y evalúe si funciona en un sitio determinado?
No hay una desinstalación limpia garantizada, por lo que a menudo una instalación dañada ni siquiera puede repararse. La única opción es hacer una copia de seguridad completa de antemano, y luego hacer una reversión manual si algo sale mal. ¿Puede una persona no técnica hacer eso? En mi experiencia, no.
Supongamos que todo se ve bien. ¿El comerciante sabe que todo está bien?
¿Qué hay de la seguridad? ¿Qué pasa con los problemas de rendimiento? ¿Qué pasa con los problemas de actualización?
No hay forma de que un no desarrollador pueda evaluar estas cosas.
El mensaje que comunica Magento Connect es que es fácil ampliar su tienda Magento instalando Magento sin un desarrollador. Puede ser útil en un argumento de venta decirle a alguien que es así, pero simplemente no es cierto.
Lo que más experimento es que, en la comunicación, la necesidad de un desarrollador simplemente está implícita y no se comunica. Como consecuencia, muchos propietarios de tiendas rompen su tienda instalando extensiones. Eso cuesta dinero, tiempo, nervios y reputación de desarrolladores y Magento.
Me gusta que mis clases tengan una interfaz explícita, y creo que sería bueno que los requisitos del desarrollador para Magento también se comuniquen explícitamente.
Conclusiones
Esto no es bueno para el ecosistema en absoluto, incluso si la reparación de sitios rotos proporciona ingresos para algunos desarrolladores de Magento. El mismo dinero podría usarse para crear un valor real para los clientes comerciantes.
En Twitter, alguien dijo que los comerciantes son adultos, que pueden decidir por sí mismos si instalan una extensión o no. Estoy en desacuerdo. Si un comerciante no es desarrollador al mismo tiempo, no puede decidir por sí mismo.
Magento Connect no debería facilitar que las personas no técnicas se disparen en el pie.
Personalmente, estoy cansado de ver las instalaciones de Magento jodidas debido a las extensiones. Prefiero crear cosas que simplemente limpien un desastre.
Estoy pensando en eliminar mis extensiones de Magento Connect porque ya no quiero apoyar la idea defectuosa.
Solución
En mi opinión, la solución es fácil y barata. No se trata de crear otro nuevo mercado de extensiones , comercial o gratuito. Este no es un problema técnico, se trata de comunicación.
Si Magento Connect declara que es un recurso de desarrollador, y que las extensiones deben revisarse antes de la instalación, y que solo los desarrolladores deben instalar extensiones, esto no sería un problema. Los comerciantes que aún instalan extensiones lo hacen sabiendo los riesgos.
Así que aquí hay tres pasos simples que harían que Magento sea más amigable para los comerciantes:
Palabras finales
Me encanta compartir extensiones. Amo el código abierto. ¡Creo que la comunidad de desarrolladores de Magento es increíble!
Revisar extensiones es una excelente manera de aprender. Magento Connect no es malo, solo el mensaje que proyecta a personas no técnicas.
Cada sitio de Magento es una aplicación. Es único y debe tratarse como un esfuerzo de desarrollo único.
Debería haber un consenso general en el ecosistema de que las extensiones pueden ser útiles, pero instalarlas con más frecuencia no requerirá que se escriba o modifique el código, y por lo tanto requiere un desarrollador.
EDITAR : publiqué información de antecedentes menos técnica en mi blog .
fuente
Muchos clientes han instalado extensiones a través de Connect y, como resultado, conozco miles de sitios que utilizan nuestra extensión con éxito. Connect necesita una renovación, todos lo saben. Pero como proveedores de soluciones tecnológicas deberíamos hacer que nuestros productos sean cada vez más fáciles, y mi objetivo final en WebShopApps es llegar a un punto en el que un comerciante pueda instalar, desinstalar y usar una extensión sin tener un desarrollador involucrado, y espero que la próxima versión de Connect sirve de alguna manera para apoyar ese objetivo.
Necesitamos una tienda de aplicaciones. Porque entonces permitirá a los desarrolladores ser desarrolladores, centrarse en nuestras fortalezas allí, en lugar de tener que construir nuestro propio sitio web, soporte, marketing, etc., cuando recién comenzamos. Y esto fomentará la innovación y garantizará un lugar central para que los comerciantes aprendan sobre lo más nuevo, lo mejor y todo lo demás.
Claramente, hay una gran cantidad de extensiones que necesitan ayuda del desarrollador y, de hecho, ayuda del proveedor, si pudiéramos explicar que de una manera más fácil sería excelente (por ejemplo, dificultad de instalación / configuración / mercado objetivo / etc.). Pero también hay muchas extensiones plug / play, no debemos reprimirlas.
Tal vez esto sea utopía, no estoy seguro, pero ¿no deberíamos estar siempre apuntando a mejorar? Personalmente, realmente creo en habilitar a los comerciantes. Quieren hacer esto, quieren tener más control a veces (no siempre), y si tiene que pagarle a un desarrollador cada vez que quiera probar algo que sea un error de la OMI. Esto debería estar en el corazón de la estrategia de crecimiento de las PYME para Magento.
Podría seguir pero no lo haré. No creo que haya una guerra, aunque;)
fuente
Después de leer la opinión de otras personas, decidí escribir la mía.
No aceptaré esta respuesta porque lo prometí. :)
Solo tengo una extensión publicada en Magento Connect (MC), debido a la última política que tiene.
Soy desarrollador y solo sé cómo desarrollarme.
No tengo habilidades artísticas en absoluto, lo único que sé sobre Photoshop es que existe y que puedes hacer "cosas" con él.
En mi opinión, MC se ha convertido en un comerciante orientado. Al enviar una extensión, tengo que subir una bonita imagen como el logotipo de la extensión. No tengo idea de cómo crear uno y nadie se ofreció a hacerlo de forma gratuita.
Así que estoy limitado a publicar mis extensiones en github. Las personas no técnicas no van a github.
Estoy de acuerdo en que hay un problema con la forma en que funciona MC y se presenta en este momento, pero representa una autoridad respetada y una fuente válida de extensiones.
Sé que hay muchas extensiones de mierda, pero seguro que las personas que las crearon no las quitarán solo porque personas no técnicas las instalen.
Veo que desarrolladores de confianza como Vinai o Tim están eliminando las extensiones. Esta no es una solución para el ecosistema. Lo empeora. Pero, de hecho, hay una solución para el individuo que está cansado de recibir quejas sobre las extensiones de personas que ni siquiera leen un archivo de "cómo" o al menos lo que hace la extensión.
En mi opinión, la educación es mejor que la restricción.
Especialmente educación sobre restricciones. :). Los desarrolladores deben deshabilitar Magento Connect al implementar un sitio web. Es sencillo. Simplemente cree un archivo
app/etc/modules/Z_z.xml
con este contenido.Luego simplemente elimine la
downloader
carpeta de la instancia de magento.Enseñe a los clientes que usar una extensión no significa simplemente instalarla. Requiere una revisión de una persona técnica.
Estos son mis 2 centavos.
fuente
Creo que realmente depende del desarrollador: eliminar sus extensiones de los intentos de conexión para obligar a las personas a administrar mejor su base de código ya que no pueden instalar desde el administrador, pero al mismo tiempo significa que es mucho menos probable que realmente encuentren la extensión en El primer lugar. En última instancia, las personas van a tener sus tiendas desarrolladas exactamente como quieran, ya sea usando connect o FTP para instalar extensiones, o usando el mejor repositorio -> configuración de implementación y la falta de extensiones en connect no forzará su mano de ninguna manera. Soy esencialmente de la opinión de que simplemente estás disparándote en el pie al eliminarlos de la conexión.
fuente
Nos estamos olvidando de cuán excelente fue 'Connect' cuando salió Magento por primera vez. Demostró que Magento era una plataforma de desarrollo en lugar de uno de esos proyectos de código abierto que nadie usa. Aunque 'Connect' fue útil para asegurar que Magento obtuviera adopción, el tiempo ha avanzado y creo que la gente espera ser un poco menos feliz y tener suerte con las extensiones hoy en día.
Personalmente, como 'desarrollador', prefiero verificar el código de una extensión y verificarlo en el control de versiones. 'Conectar' debería ser más así: descarga el tarball o el clon de git.
Estoy con @karen para permitir a los usuarios finales minoristas y no 'ocultarles' cosas de desarrolladores. Además de cualquier otra cosa, un poco de transparencia hace que los desarrolladores sean honestos: "llevará una semana desarrollar este módulo con otra semana para probar ..." esto podría ser cierto, pero la comprobación de la realidad es cuando hay un módulo similar disponible en 'Conectar' se vuelve más difícil justificar xxx horas en algo.
Con módulos como los escritos por el equipo de @ karen, preferiría que estos estén escritos y probados por otros módulos en 'conectar' instalados por un 'usuario final' a cualquier código de desarrollador aleatorio (a menos que esté escrito por Vinai) que requiera la instalación de un 'desarrollador' .
fuente
Nosotros (ebizmarts) hemos eliminado extensiones de MagentoConnect en el pasado, a lo largo de los años solo hemos conservado las que estamos dispuestos a apoyar y son financieramente viables para nosotros. Al aceptar estas reglas básicas, pudimos mantener el soporte bajo control y los comerciantes / desarrolladores felices.
MagentoConnect como lo es ahora, solo funciona para la lista, el descubrimiento y, finalmente, la calificación del desarrollador (área gris aquí, Karen lo dejó claro en MMNYC). Necesitamos un mercado mejor, curado, validado y con políticas de calidad sólidas, e incluso teniendo eso, todavía enfrentaremos problemas como los descritos aquí, está en nuestra naturaleza creando problemas, por cualquier razón, las cosas malas seguirán sucediendo, y no es necesario por culpa de los comerciantes, todos sabemos que un mal desarrollador es 100 veces peor que un comerciante "analfabeto de Magento".
Creo en el libre albedrío y el libre mercado. Los desarrolladores son libres de usar o no usar MagentoConnect, los comerciantes (siempre y cuando sean conscientes de las consecuencias), no deben meterse con tareas exclusivas del desarrollador (como instalar extensiones). La eliminación de una extensión de MagentoConnect hará que el mercado la reemplace rápidamente (sí, Magento es tan grande), y la nueva opción, podría o no ser mejor o causar menos problemas a los comerciantes que la anterior.
No existe una solución simple ni única para este problema, pero estoy de acuerdo en que mejorar la comunicación y establecer algunas restricciones para dificultar un poco la instalación de una extensión por parte de los comerciantes (una simple lista de verificación de tareas a realizar antes de la instalación, como copias de seguridad) , revisión del código de desarrollador, prueba en el sitio DEV, etc. haría el truco).
No creo que eliminar extensiones de MagentoConnect ayudaría a hacer de este mundo un lugar mejor para los comerciantes, pero nosotros, los desarrolladores, deberíamos mantener solo las extensiones que estamos ansiosos por apoyar y mejorar, y tenemos que tomar la iniciativa. comunicando buenas prácticas, eso depende de nosotros como comunidad.
fuente
Los interesados no técnicos no deberían instalar extensiones en mi opinión.
Magento Connect no es la App Store y el proceso de aprobación no es tan consistente como creo que debería ser con respecto a la calidad.
Magento Connect podría ser un buen lugar de referencia, pero la mayoría de las veces una extensión no proporciona una coincidencia del 100% de los requisitos. Tal vez una buena idea es controlar Magento Connect a través de ACL para que no lleguemos al extremo de eliminar las extensiones del mercado oficial de la plataforma.
En mi experiencia personal, tengo un par de extensiones pagas y una gratuita que está tanto en Connect como en GitHub, siendo la única en GitHub con más avances en términos de características. El repositorio de GitHub se encuentra en la descripción en Magento Connect. No ha impedido que los usuarios descarguen la extensión y vean el código al mismo tiempo, y también que forjen tenedores y soliciten solicitudes con nuevas funciones.
fuente
Realmente depende de cuánto trabajo quiera realizar un desarrollador para hacer que su extensión sea infalible, cuánto tiempo está dispuesto a pasar con el soporte y si exigen o no una tarifa por la extensión. Entonces, si cree que su extensión no debería ser instalada por personas no técnicas, desconéctela si lo desea, pero no puedo aceptar una idea general de que todas las extensiones serían demasiado exigentes de habilidad técnica para los usuarios promedio.
fuente
Magento Connect (MC) confunde a algunos comerciantes / desarrolladores aficionados al pensar que MC sirve como una especie de tienda de aplicaciones para Magento.
Por ejemplo, en MC pueden encontrar e instalar extensiones que afirman agregar alguna característica a su sitio de Magento, pero MC / extensiones generalmente dicen poco o nada sobre los posibles conflictos de extensión / módulo, riesgos de seguridad, problemas de velocidad, costos posteriores del desarrollador y pérdida de ingresos que la instalación de la extensión puede causar a su tienda Magento.
El comerciante ignorante instala CUALQUIER extensión en su sitio en vivo para agregar alguna característica. Eventualmente, en algún ciclo de actualización o nueva necesidad comercial, se debe llamar a algún desarrollador futuro para que resuelva el desorden de código resultante, los posibles riesgos de seguridad y las extensiones enredadas. Luego, el desarrollador debe informar al comerciante que todas las extensiones que instaló en MC estaban en conflicto entre sí, ralentizando el sitio, lo que podría exponer los datos del cliente, destruir la experiencia de usuario del sitio y matar las ventas.
Quizás las advertencias dirigidas a los comerciantes que piensan agregar una extensión de MC deberían ser más grandes y más imponentes, con otra capa de descargos de responsabilidad añadidos.
La comunidad de Magento realmente podría beneficiarse mucho más de MC si hubiera un proceso activo de revisión / discusión de extensión más visible. Las extensiones que son revisadas / evaluadas por pares o de mayor calificación / revisada deben promoverse y mostrarse primero. Un sistema de distinción / honor más prominente, como el que tenemos aquí en SE, también ayudaría.
Es útil para la comunidad tener MC, pero necesita un refinamiento definitivo. Esperemos que el refinamiento ocurra antes de que los desarrolladores de extensiones acreditados abandonen MC para siempre.
fuente
Siempre considere que Magento Community Edition en sí es gratuito para todos sin una garantía oficial y creo que (como comerciante), es una de las razones más importantes para que la popularidad de Magento sea el software de tienda más completo (gratuito) del mundo, sobre todo porque de la gran cantidad de extensiones fácilmente accesibles en Magento Connect.
Los desarrolladores especializados en Magento pueden tener una visión aislada de su software de tienda (¡no tiene rival!), Pero como un pequeño comerciante de Start Up, usted compara cada software de tienda con otro antes de comenzar su proyecto y el mayor peligro para Magento sería volverse impopular, y eso definitivamente sucede, si el acceso a la fuente más importante para las extensiones de Magento Connect estuviera restringido.
En este caso, nunca diferencie completamente entre desarrolladores profesionales y comerciantes ("expertos en tecnología"). No siempre tiene que estudiar informática durante "10 años" para administrar su propia tienda web (sin duda, se necesita mucho conocimiento para poder evaluar todo el sistema), pero por ejemplo trabajo con dos libros bien hechos para configurar en mi propia tienda En esos libros (escritos por el desarrollador) se describen muchas extensiones con sus ventajas, desventajas y riesgos para el sistema, entonces, ¿por qué prohibirme esas extensiones (bien conocidas)?
Tampoco es completamente realista contratar a un desarrollador cada vez que desea instalar extensiones que conoce perfectamente, solo porque no tiene acceso a ellas. ¡Un comerciante tiene que trabajar económicamente! Es su propia tienda, es su propia responsabilidad y NO es imposible informarse sobre los riesgos de lo que desea hacer.
Así que mantengamos a Magento CE como es: la plataforma de comercio electrónico más poderosa del mundo, gratuita para todos . De aquí proviene la popularidad de Magento.
fuente
Desde hace algún tiempo, rara vez instalaremos extensiones a través de Magento Connect simplemente porque un cliente podría iniciar sesión en esto, ver que una extensión está desactualizada e intentar actualizar potencialmente eliminando cualquier modificación o rompiendo partes de su sitio web.
Solo usamos Magento Connect para instalar extensiones que sabemos que serían 99% seguras de actualizar sin intervención si un cliente se topa con esto.
El único beneficio que veo con el uso de Magento Connect de todos modos es ver rápidamente si hay una actualización a una extensión disponible. Aparte de esto, no veo ningún beneficio en la instalación a través de Magento Connect en lugar de soltar manualmente los archivos en la instalación de Magento.
Incluso si un cliente tiene una mentalidad técnica, preferiría no darles esa flexibilidad para potencialmente romper su sitio web, especialmente si se olvidan convenientemente de aconsejar cualquier cosa que hayan hecho ellos mismos para causar el problema. Esto al menos nos ahorra tiempo de depuración y ellos, el costo adicional de nuestro tiempo de rectificación, un costo que estoy seguro a largo plazo, preferirían evitar.
Por lo que vale, creo que este es un buen punto de discusión y es algo que a menudo me he preguntado en términos de lo que todos los demás hacen en Magento a diario.
fuente
En mi opinión, eliminar la extensión de Magento Connect no es una solución ideal ni con el desarrollador ni con la perspectiva del cliente.
Como desarrollador, cada vez que mi cliente desea que se implemente una nueva funcionalidad en su sitio web, lo primero que hago es verificar si alguna de las extensiones puede ser GRATUITA o COMERCIAL disponible en Magento Connect, lo que puede cumplir con los requisitos de mi cliente. Es como un google para mí, donde podemos buscar una consulta y, independientemente de si está bien o mal, me sugerirá el resultado. Está completamente en mí elegir el adecuado.
A continuación, tengo la oportunidad de evaluar la mejor solución, es decir: necesito usar GRATIS, ir a COMERCIAL o implementarlo yo mismo. La mayoría de las veces recomiendo las tres opciones a mi cliente con plazos y cotizaciones por separado. Al eliminar la extensión de Connect, se eliminará esta opción o será más difícil, ya que tendré que buscar en la web para buscar las extensiones.
En lugar de eliminar la extensión de Connect, deberíamos intentar educar a nuestro cliente. Lo que hago es que cuando mi cliente opta por una extensión GRATUITA, solicito horas adicionales para revisar el código y así asegurarme de que el código esté limpio. Además, explico al cliente sobre los inconvenientes de usar el código de otra persona y la mayoría de las veces el cliente lo entiende y no tiene problemas para darme tiempo para optimizar el código o volver a codificarlo.
Además, cada vez que hago que el sitio web sea EN VIVO, elimino el permiso de escritura del descargador, por lo que, aunque sea accidental o por curiosidad si mi cliente intenta instalar la extensión, no podrá hacerlo. Por lo tanto, salva tanto al cliente como a mí de riesgos invisibles. Cuando mi cliente se acerca a mí al respecto, simplemente le explico la razón para hacerlo y la mayoría de las veces está agradecido por ello.
Desde la perspectiva del cliente, mientras más cosas GRATIS obtienes, más te atraen. Un ejemplo simple es WORDPRESS. Con una comunidad tan grande y muchos complementos gratuitos, WordPress está floreciendo como cualquier cosa. Creo que de la misma manera, si queremos que la comunidad de Magento siga creciendo y floreciendo, diría que en lugar de eliminar las extensiones de conexión, intentamos educar a nuestros clientes.
Sin embargo, si tendemos a eliminar la extensión de Magento Connect, el mundo de magento quedará desierto. Sin un foro comunitario, con la eliminación de paquetes de idiomas, con la extinción de la extensión, parece una caída de una estrella.
fuente