Magento 1.6.0.0-alpha1 (versionando por versionar)

Con una cantidad importante de correcciones y cambios bastante profundos, el jueves 26 de mayo se publicó la versión 1.6.0.0-alpha1 de Magento.

A nivel mejoras, vamos a encontrarnos con opciones para SKU dinámico para productos configurables, cambios para Moneybookers y actualización de la librería Prototype a 1.7.

A nivel código, dados los fixes que se han hecho, son demasiados los cambios que vamos a ver.

En cuanto a lo inmediatamente visible, el primer cambio lo vamos a ver al instalar, ya que en la configuración de base de datos debemos elegir el tipo, si bien por el momento tenemos una única opción.

Como bien dice el changelog, Google Base se ha quitado. Tampoco vamos a encontrar las opciones de The Find (al menos no en ésta release), si bien el módulo está en el código.

Para la configuración HTTPS tenemos un nuevo parámatro.

Ya casi como un copy & paste, ésta versión NO debe ponerse productiva.

Magento 1.5.1.0 (sin sorpresas importantes hasta al versión 2)

Otra versión que reviso (minuciosamente) tarde. El 23 de abril se publicó la versión 1.5.1.0 de Magento. (Me sigue llamando la atención lo poco anunciadas de las últimas versiones.)

El changelog no es más que la suma de los cambos mostrados en la versión beta y la rc. Sólo para hacer memoria, los cambios destacados son:

  • Actualización de Magento Mobile a las versión 20.
  • Se agregan excepciones para los Mensajes de Regalo en la API.
  • Mensajes de Regalo para el Carrito.
  • Implementada compatibilidad WS-I para la API.
  • Se remplaza el uso de Varien_File_Uploader por Mage_Core_Model_File_Uploader.
  • Ha vuelto el uso de almacenamiento alternativo.

Revisando el código se ven ajustes al módulo de PayPal, al de Impuestos y XmlConnect, entre otros.

Si es que ya no la están usando, es condición probar la versión en un entorno no productivo antes de dar el salto en producción.

En mi caso, hace ya poco más de una semana que la estoy usando para un proyecto nuevo y no parece haber problemas (por el momento).

Magento 1.5.1.0-rc1 (extrañando el 2008)

El 31 de marzo se hizo pública la versión 1.5.1.0-rc1 de Magento. Al igual que su predecesora, sin mucho bombo ni platillo.

En éste caso, el changelog es significativamente menor. (Parecería que la versión beta fue la alpha y la primer rc la beta).

Sólo dos cambios vamos a encontrar (mencionados):

  • Actualización de Magento Mobile a la versión 19.
  • Se remplaza el uso de Varien_File_Uploader por Mage_Core_Model_File_Uploader (sigue avanzando la restauración de la funcionalidad de almacenamiento alternativo).

Ahora bien, de los cambios no mencionados, además de todas las correcciones, podremos encontrar: un nuevo modelo para filtrar contenido HTML malicioso y la asignación de permiso para la opción de Cache externo.

Por lo pronto todo parece indicar que nos estaríamos encontrando con la versión real de la 1.5.0.1, no más.

Ya tenemos claro que el foco está puesto en la plataforma mobile y en MagentoGo. Pensar en que la plataforma va a seguir creciendo funcionalmente como lo hizo en años anteriores es de ingenuo.

Lo de siempre: ni siquiera se les debe cruzar por la cabeza la posibilidad de probar ésta versión en producción.

Un detalle menor. Al ingresar al backend, ya no se te notifica que existe una última versión que es la misma que estás ejecutando.

Magento 1.5.1.0-beta1 (una versión casi anónima)

A diferencia de otros lanzamientos, éste pasó casi desapercibido. (Eso no tiene nada que ver con la demora del review, ha sido sólo trabajo el motivo).

El 17 de marzo se publicó la versión 1.5.1.0-beta1 de Magento, casi un mes después de haberse publicado la última (y fallida) versión estable. Lo llamativo es que no se escuchó demasiado al respecto de ésta nueva versión.

Según el changelog oficial, además de una buenas cantidad de errores corregidos, las mejoras y novedades son:

  • Actualización de Magento Mobile a las versión 18.
  • Se agregan excepciones para los Mensajes de Regalo en la API.
  • Implementada compatibilidad WS-I para la API.

Revisando el código, además, puede verse que se vuelve a al carga con la implementación de almacenamiento alternativo para media. En el backend aparece un nuevo Model, llamado LayoutUpdate, que se encargaría de controlar los updates custom de layout y proteger ciertas acciones (aún no lo he intentado probarlo).

Los módulos Sales y Tax siguen recibiendo cambios y correcciones a diestra y siniestra.

Vamos a encontrar un nuevo modelo para los precios de los productos de tipo Grouped y se nota que la energía está puesta en la ampliación de funcionalidad para la solución mobile.

De más está decir, y menos aún luego del último lanzamiento, que bajo ningún punto de vista ésta versión debe ser puesta en producción.

Magento 1.5.0.1 (problemas resueltos)

Varias horas después de haberse publicado la versión 1.5.0.0, debido a un problema de seguridad en dicha versión, se hizo pública la versión 1.5.0.1 de Magento.

La versión estable ha quedado con las siguientes funcionalidades destacadas:

  • Mejoras en el importador y exportador de Productos y Clientes.
  • Actualización de Zend Framework a la 1.11.1.
  • Inclusión de la extensión Mobile como funcionalidad por defecto.
  • Gestión de los estados de la Orden.
  • Se agrega Payflow Link como opción de pago.
  • Manejo del Carrito a través de la API.
  • Se agrega el módulo PageCache.
  • Inclusión de MagentoConnect Manager 2.
  • Mejoras al módulo Wishlist.
  • Mejoras al Carrito, soportando ahora la edición de configuraciones de productos.

En el changelog pueden verse la cantidad de cambios, mejoras y correcciones que se han hecho.

Continue reading

Magento 1.5.0.0 (shame on all of us)

En medio del Magento Imagine se hizo pública la versión 1.5.0.0 de Magento.

Ya se sabía que no habría grandes novedades entre lo que se vio desde la segunda versión alpha. El único cambio significativo fue la inclusión de MagentoConnect Manager 2.

El resúmen de mejoras quedó de la siguiente forma:

  • Mejoras en el importador y exportador de Productos y Clientes.
  • Actualización de Zend Framework a la 1.11.1.
  • Inclusión de la extensión Mobile como funcionalidad por defecto.
  • Gestión de los estados de la Orden.
  • Posibilidad de configurar el almacenamiento para el contenido de media.
  • Se agrega Payflow Link como opción de pago.
  • Manejo del Carrito a través de la API.
  • Se agrega el módulo PageCache.
  • Inclusión de MagentoConnect Manager 2.
  • Mejoras al módulo Wishlist.
  • Mejoras al Carrito, soportando ahora la edición de configuraciones de productos.

Hasta acá todo muy lindo, pero con gusto a poco para mi gusto.

Lo que destaca realmente a ésta versión y a su lanzamiento, fue el problema de seguridad originado por la inclusión de un archivo llamado get.php en la raíz de la plataforma.

Dicho archivo permite obtener el contenido de cualquier archivo de la plataforma. Por ejemplo, si usáramos la url http://www.dominio.com/get.php/app/etc/local.xml, obtendríamos algo como esto.

<!--
 
/**
 * Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Academic Free License (AFL 3.0)
 * that is bundled with this package in the file LICENSE_AFL.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/afl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@magentocommerce.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magentocommerce.com for more information.
 *
 * @category   Mage
 * @package    Mage_Core
 * @copyright  Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
 * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
 */
-->
<config>
    <global>
        <install>
            <date>Tue, 15 Feb 2011 19:12:14 +0000</date>
        </install>
        <crypt>
            <key>a3a94d4d2bdffaba9b0a9ef9942a6760</key>
        </crypt>
        <disable_local_modules>false</disable_local_modules>
        <resources>
            <db>
                <table_prefix></table_prefix>
            </db>
            <default_setup>
                <connection>
                    <host>localhost</host>
                    <username>user</username>
                    <password>password</password>
                    <dbname>database</dbname>
                    <active>1</active>
                </connection>
            </default_setup>
        </resources>
        <session_save>files</session_save>
    </global>
    <admin>
        <routers>
            <adminhtml>
                <args>
                    <frontname>admin</frontname>
                </args>
            </adminhtml>
        </routers>
    </admin>
</config>

O, sabiendo qué clases tenemos disponibles, probando con ésta otra http://www.dominio.com/get.php/app/code/core/Mage/Admin/Model/Acl.php, se puede ver la clase completa.

< ?php
/**
 * Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Open Software License (OSL 3.0)
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/osl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@magentocommerce.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magentocommerce.com for more information.
 *
 * @category    Mage
 * @package     Mage_Admin
 * @copyright   Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
 * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 */
 
 
/**
 * Acl model
 * 
 * @category   Mage
 * @package    Mage_Admin
 * @author      Magento Core Team <core@magentocommerce.com>
 */
class Mage_Admin_Model_Acl extends Zend_Acl
{
    /**
     * All the group roles are prepended by G
     *
     */
    const ROLE_TYPE_GROUP = 'G';
 
    /**
     * All the user roles are prepended by U
     *
     */
    const ROLE_TYPE_USER = 'U';
 
    /**
     * Permission level to deny access
     *
     */
    const RULE_PERM_DENY = 0;
 
    /**
     * Permission level to inheric access from parent role
     *
     */
    const RULE_PERM_INHERIT = 1;
 
    /**
     * Permission level to allow access
     *
     */
    const RULE_PERM_ALLOW = 2;
 
    /**
     * Get role registry object or create one
     *
     * @return Mage_Admin_Model_Acl_Role_Registry
     */
    protected function _getRoleRegistry()
    {
        if (null === $this->_roleRegistry) {
            $this->_roleRegistry = Mage::getModel('admin/acl_role_registry');
        }
        return $this->_roleRegistry;
    }
 
    /**
     * Add parent to role object
     *
     * @param Zend_Acl_Role $role
     * @param Zend_Acl_Role $parent
     * @return Mage_Admin_Model_Acl
     */
    public function addRoleParent($role, $parent)
    {
        $this->_getRoleRegistry()->addParent($role, $parent);
        return $this;
    }
}

Semejante error podría tener consecuencias bastante serias si esto se combinara con otros elementos poco fortuitos. No deja de ser, bajo ningún punto de vista, una demostración de cómo se lleva adelante el desarrollo de la plataforma.

Continue reading

Magento 1.5.0.0-rc2 (sin novedades en el frente)

Se publicó la versión 1.5.0.0-rc2 de Magento y ya no hay sorpresas de lo que vamos a ver en la versión estable.

Entre los cambios y correcciones, nos vamos a encontrar con lo que ya es una constante, ajustes para el manejo de impuestos y precios. Algún pequeño ajuste a las órdenes y a PayPal también son parte de la lista.

El que sigue creciendo de forma constante es el módulo XmlConnect. Definitivamente la estrella y motivo de ésta nueva versión. No cabe duda que el motivo de éste nuevo release será la extensión de la plataforma a dispositivos móviles.

El changelog se ha reducido bastante en ésta oportunidad, motivo por el cuál no debería faltar mucho para el lanzamiento de la versión definitiva.

Magento 1.5.0.0-rc1 (XmlConnect como punta de lanza)

El 27 de enero se hizo pública la versión 1.5.0.0-rc1 de Magento.

Habiendo seguido la evolución de las versiones alpha y beta, no es ninguna sorpresa ver dónde se ha puesto el foco en ésta oportunidad. Quizás si se extraña la presencia de funcionalidades más generales.

Como puntos destacables, contamos con los mismos que hasta ahora.

  • Mejoras en el importador y exportador de Productos y Clientes.
  • Actualización de Zend Framework a la 1.11.1.
  • Inclusión de la extensión Mobile como funcionalidad por defecto.
  • Gestión de los estados de la Orden.
  • Posibilidad de configurar el almacenamiento para el contenido de media.
  • Se agrega Payflow Link como opción de pago.
  • Manejo del Carrito a través de la API.
  • Se agrega el módulo PageCache.

Revisando el código, se puede ver que siguen habiendo ajustes referentes al manejo de precios e impuestos, algún pequeño ajuste al módulo de Authorize.net y otro al de PayPal.

En XmlConnect comienzan a verse código para el soporte para Android e Ipad.

El Downloader también ha recibido algunos fixes en cuanto a la forma de conectarse y manejar los paquetes.

Si prestan atención al changelog verán que, básicamente, se ha hecho corrección de bugs.

Magento 1.5.0.0-beta2 (mobile, mobile & mobile)

Anticipando la próxima versión estable, se publicó la versión 1.5.0.0-beta2 de Magento.

Hasta ahora los cambios más significativos eran:

  • Mejoras en el importador y exportador de Productos y Clientes.
  • Actualización de Zend Framework a la 1.11.1.
  • Inclusión de la extensión Mobile como funcionalidad por defecto.
  • Gestión de los estados de la Orden.
  • Posibilidad de configurar el almacenamiento para el contenido de media
  • Se agrega Payflow Link como opción de pago.
  • Manejo del Carrito a través de la API.
  • Se agrega el módulo PageCache.

En ésta versión, además de las correcciones detalladas en el changelog, se puede ver que se agrega soporte para Ipad y Android en Mobile (cosa que no sucede en la extensión por si sola, al menos no por el momento) y que se han hecho algunos cambios en el manejo de emails.

Si bien ésta versión no debe ponerse en producción, ya estaría siendo lo suficientemente madura como para comenzar a validar extensiones.

Supongo que vamos a tener que seguir esperando por la nueva versión de MagentoConnect Manager.

Magento 1.5.0.0-beta1 (carrito vía API)

Desde hace unos días se encuentra publicada la versión 1.5.0.0-beta1 de Magento.

De los cambios comentados en el post del blog oficial, sólo se agrega la posibilidad de interactuar con el carrito a través de la API.

También se han hecho mejoras en el manejo del modelo de Productos y, como no podía ser de otra forma, más cambios para PayPal.

El detalle de los bugs corregidos está disponible en el changelog.

Un detalle menor, y porque lo he seguido puntualmente, es que el bug 24991 que reporté en su momento, fue cerrado por duplicado con el bug 24831. Lo llamativo es que ese bug fue reportado a comienzos de diciembre y en la versión actual, la beta 1, sigue siendo un bug.

A nivel código, claro que se ven los cambios. Muchos de ellos están relacionados con cuestiones del manejo de Precios. La herramienta para la creación de un CDN también ha sufrido algunos arreglos, y se ha agregado cómo módulo el cache de páginas (otra herencia de la EE).

Se supone que en el día de hoy podría estar saliendo la segunda beta, la cual podría sorprendernos (es un deseo) con nuevas funcionalidades.

A pesar de ser retiterativo con esto, hay que recordar no instalar éstas versiones en entornos productivos.

Sigue siendo habitual ver gente que en los foros se queja porque su tienda productiva ya no funciona luego de actualizar a una alpha o una beta.