¿Qué módulos predeterminados puedo deshabilitar?

25

De esta pregunta y Sander Mangel responden:

Deshabilitar módulos: ¿mejora del rendimiento?

En primer lugar, menos módulos significa menos código para (potencialmente) cargar y procesar. Además de eso, muchos módulos, como por ejemplo el módulo Mage_Rss, ejecutan mucho código en segundo plano, como forzar reindexados en ciertos eventos.

Debido a que la pregunta anterior no estaba destinada directamente a compartir una lista de módulos, creo que es una buena idea recopilar información aquí.

Otros recursos útiles:

¿Alguna otra sugerencia de módulo?
¿Qué módulo tiene más impacto en el rendimiento?

ACTUALIZAR

Una lista de actualización con sugerencias de @Marius

  1. Mage_WishList: parece que rompe los detalles del cliente
  2. Mage_Rss
  3. Mage_PayPalUk
  4. Mage_Tag (cuando no se usa en un proyecto)
  5. Mage_Poll (porque quién usa las encuestas de todos modos)
  6. Phoenix_Moneybookers
  7. Mage_Sendfriend
  8. Mage_Rating (si el cliente no lo requiere)
  9. Mage_Bundle (si el cliente no lo requiere)
  10. Mage_Downloadable (si el cliente no lo requiere)
  11. Mage_GiftMessage: parece que lo necesita en 1.8 o los detalles del producto se romperán
  12. Mage_XmlConnect: si no tiene / necesita una aplicación móvil.
  13. Mage_Authorizenet
  14. Mage_Paypal (si no se usa como método de pago)
  15. Mage_Paygate (solo si deshabilita Mage_Paypal, Mage_PaypalUk y Mage_Authorizenet)
  16. Mage_Weee (solo si deshabilita Mage_XmlConnect también)
  17. Mage_Usa: solo en ce-1.8.1.0. (ver abajo por qué)
  18. Mage_GoogleCheckout: solo se puede deshabilitar en ce-1.8.1.0 y solo si deshabilita Mage_Usa. No funciona para versiones anteriores debido a esto http://www.magentocommerce.com/bug-tracking/issue/?issue=14359
  19. Mage_Oauth: si no necesita la API REST
  20. Mage_Api
  21. Mage_Api2: solo si deshabilita Mage_Oauth también.
Fra
fuente
Acabo de descubrir algo por las malas. No puedes deshabilitarlo Mage_Wishlist. Si lo hace, no podrá ver ningún detalle del cliente en el backend.
Marius
1
Tenga cuidado al deshabilitar Mage_Weee. Eso hizo que mi tienda calculara los impuestos dos veces (Magento 1.9.2.1).
Simon

Respuestas:

12

Puedo agregar a eso:

  • Mage_GiftMessage - costuras no es deshabilitable en 1.8
  • Mage_XmlConnect - si no tiene / necesita una aplicación móvil.
  • Mage_Authorizenet
  • Mage_Paypal (si no se usa como método de pago)
  • Mage_Paygate (Solo si deshabilita Mage_Paypal, Mage_PaypalUk y Mage_Authorizenet)
  • Mage_Weee (solo si deshabilita Mage_XmlConnect también)
  • Mage_Usa- solo en . (ver abajo por qué)
  • Mage_GoogleCheckout- solo se puede deshabilitar en y solo si se deshabilita Mage_Usa. No funciona para versiones anteriores debido a esto http://www.magentocommerce.com/bug-tracking/issue/?issue=14359
  • Mage_Oauth - si no necesita la API REST
  • Mage_Api
  • Mage_Api2- solo si deshabilita el Mage_Oauthtambién.

Como regla general, puede deshabilitar (casi) cualquier módulo, pero debe verificar app/etc/modules/*.xmlsi hay algún otro módulo dependiendo del módulo que desea deshabilitar. Si no hay ninguno, puedes hacerlo. Si los hay, debe desactivarlos también.

Como excepción a la regla general, hay algunos módulos que pueden romper el administrador si los deshabilita debido a la forma en que se construye Magento 1.x. El Mage_Adminhtmlmódulo contiene referencias a los otros módulos (como cliente, ventas, ...). Parece que en Magento 2.0 esto cambiará.

Marius
fuente
¿Qué pasa con el módulo API / API2 ... si no lo necesito?
Fra
1
@Francesco. Sí. Tienes razón. Me olvidé de ellos. He actualizado la respuesta.
Marius
¿Qué pasa si no necesito ningún módulo de expedición?
Fra
1
@Francesco. Vea mi última actualización a partir de "Como regla general"
Marius
1
hmm ... parece que esta es una de las 'excepciones' de la regla
Marius
3

Me gustaría agregar un enlace al módulo Magento Mock de SchumacherFM . Si tiene problemas (lea las excepciones) cuando deshabilita ciertos módulos, puede ser una solución para que use el módulo simulado. Aunque no conozco ninguna prueba de rendimiento con respecto a este módulo. Sería interesante saber si hay algún problema de rendimiento con él.

Simon
fuente
parece un proyecto muy interesante gracias por compartir
Fra
3

Todavía no puedo comentar ya que necesito un representante de 50 ... así que:

Gracias Simon por mencionar :-)

Durante el desarrollo del Mock Module me encontré con muchas ocurrencias extrañas de diferentes módulos en diferentes lugares.

Mi objetivo también era eliminar completamente los archivos en lugar de un simple <active>false</active>.

No puede simplemente deshabilitar, por ejemplo, Mage_Adminnotifications, Mage_WishList, Mage_Tag, Mage_GoogleCheckout o Mage_GiftMessage porque se usan algunas constantes y métodos estáticos en Mage_Adminhtml o en algunos módulos frontend.

Por ejemplo, si deshabilita Mage_WishList o Mage_GiftMessage, la sección de edición del cliente adminhtml ya no se cargará.

Incluso es posible deshabilitar Mage_Shipping. Todavía no puedo encontrar un caso de uso para qué sirve ;-)

Si también intenté crear un simulacro para un módulo Mage_Payment deshabilitado y eliminado, pero eso definitivamente no es posible. Después de 8-19 horas me di por vencido.

Con el módulo Mock puedes crear tu propia versión de https://github.com/colinmollenhour/magento-lite

Cirilo
fuente
Mage_Shippingpuede deshabilitarse si vende solo servicios o productos descargables
Fra
Mage_GoogleCheckout se puede deshabilitar en 1.8, pero creo que también debes eliminar un atributo del producto (disponible_para_googlecheckout o algo así).
Marius
¡Creo que Mock es una idea genial e inteligente! ¿Ve algún problema de licencia al usar Magento como un tipo de marco ... en su opinión, cuáles son los límites de la licencia?
Fra
3

Me gustaría señalar algo que descubrí hoy con respecto a la desactivación de Mage Modules y la ACL. Si está utilizando un rol con permisos establecidos en "Todos", y desactiva un Módulo Core Mage, es probable que el código del módulo aún se ejecute y rompa algo.

No necesitamos Mage_Newsletter ya que utilizamos una solución personalizada, por lo que desactivé Mage_Newsletter en Mage_All.xml. Sin embargo, esto provocó que el panel Customer Adminhtml se rompiera porque el administrador aún intentaba ejecutar código dentro del Mage_Newslettermódulo.

El problema es cómo la ACL verifica los permisos. En mi caso, dentro de la Tabs.phpclase de bloque de clientes , el código que genera la pestaña del boletín se encapsula dentro de una verificación de permisos de ACL. Como el Mage_Newslettermódulo está desactivado, esas opciones de ACL ya no aparecen con el menú de permisos del rol del sistema.

Sin embargo , si el permiso de su rol se establece en 'todos', Magento no le da una rata voladora detrás si un módulo está activo o no. Devolverá verdadero (permiso permitido), permitiendo que se ejecute cualquier lógica cerrada incluso si la intención es omitirla.

Si desea apagar los módulos principales, no puede usar 'todos' para los permisos de ACL del rol. Debe usar la opción 'personalizada' y luego otorgar manualmente al rol todos los permisos necesarios. Esa es la única forma (que he encontrado) de asegurarme de que Magento esté verificando correctamente los permisos contra los módulos desactivados.

Jonathan Eltgroth
fuente
1
Buena observación +1 por los hallazgos relacionados con ACL y por la "rata voladora detrás"
Marius