This account is locked en Magento Enterprise

A diferencia de la versión CE, la versión EE de Magento viene con soporte PCI Compliance.

Una de las funciones que provee el módulo, quizás la más simple, es la de controlar el acceso al backend a través de algunas reglas.

Dichas reglas pueden configurarse desde el backend en System -> Configuration -> Admin, en el grupo de Security.

Configuración de seguridad en Magento EE
Seguir leyendo «This account is locked en Magento Enterprise»

Magento 1.8.0.0 (muchos cambios, poca sorpresa)

Magento CE 1.8.0.0

Y en el día de ayer llegó, al fin, una nueva versión estable de Magento: Magento 1.8.0.0 ha llegado.

Si bien la versión 1.8.0.0-alpha1 fue anunciada el 24 de abril de este año, pasó sin penas ni gloria (ni reviews, ni nada en realidad).

La descripción pomposa de la nueva versión asegura que vamos a encontrar mejoras en el cálculo de impuestos, mejoras funcionales, mejora en la performance (tanto de frontend como de backend), mejoras de seguridad, integración para el uso de Redis y algunas cosas más.

Si revisamos el changelog, la lista es bastante más detallada.

Seguir leyendo «Magento 1.8.0.0 (muchos cambios, poca sorpresa)»

Bender 0.0.3

Bender 0.0.3

De a poco voy intentando agregar algunas funcionalidades core a la aplicación.

Antes de dar el salto a una versión un poco más robusta, ya se puede bajar la versión 0.0.3 de Bender.

El gran cambio de esta versión es la posibilidad de enviar emails desde cualquier acción, invocando un único método.

Lo primero será configurar los parámetros mínimos para poder conectarnos al servidor de correo que vayamos a usar.

Seguir leyendo «Bender 0.0.3»

Evitando conflictos de nombres entre Models y Controllers en CodeIgniter

En una época en cual las discusiones sobre qué framework usar, cuál es mejor, cuál es peor, etc, etc; yo sigo usando CodeIgniter para armar prototipos rápidos, para algunas pruebas de concepto e incluso para pequeñas aplicaciones (de hecho, la primera versión del módulo de traducciones para Magento, fue una aplicación CI).

Uno de los problemas que padece éste framework es que no puede usarse el mismo nombre para un modelo y para un controlador.

Normalmente esto se resuelve agregando un sufijo al modelo.

class Modulo_model extends CI_Model {
    //métodos de mi modelo
}

Como buen programador, la neurosis me persigue y me molesta de sobremanera tener que instanciar luego ese modelo usando:

$this->load->model('modulo_model');
Seguir leyendo «Evitando conflictos de nombres entre Models y Controllers en CodeIgniter»

Programando nuestra primera acción en Bender

El paso final para empezar a usar la aplicación, es programar nuestras propias acciones.

Bender está construido a partir del componente Console de Symfony 2.0. Leer la documentación sobre el componente no estará de más, y es una lectura bastante corta.

Volviendo sobre el tema del post, una acción no es más que una clase. Esa clase tiene muy pocos requisitos. Si revisamos la acción Sample/Simple, vamos a ver éste código.

namespace Action\Sample;
 
use Symfony\Component\Console as Console;
use Bender\Core as Core;
 
class Simple extends Core {
 
    public function __construct($name = null) {
        parent::__construct($name);
        $this->setDescription('Test action used on development');
        $this->setHelp('A simple action example.');
    }
 
    protected function execute(Console\Input\InputInterface $input, Console\Output\OutputInterface $output) {
        $output->writeln(sprintf('Message: %s', $this->_getMessage()));
    }
 
    private function _getMessage() {
        return 'Bite my shiny metal ass!';
    }
}

A manera de ejemplo, voy a crear la acción Prueba.

Seguir leyendo «Programando nuestra primera acción en Bender»