Máquina virtual Win7

Enlace de descarga:  Permite descargar máquinas virtuales Win7 con el propósito de probar IE, disponible para las aplicaciones de virtualización más populares como VirtualBox, HyperV o VMWare. 

La clave de la VM es “Passw0rd!” y la máquina expira al de 90 días (recomiendan hacer un snapshot de la máquina al comenzar).

El fichero que IE8 – Win7.ova (3,77 GB) es para usar con VirtualBox (ver enlaces externos para hacerlo).

Win7 en el primer arranque:

Enlaces externos

 

 

 

Anuncios

GitHub Pages: Webs estáticas para nuestros proyectos como un repositorio más

El famoso gestor de versiones de código fuente GitHub ofrece otra funcionalidad no tan conocida. Con GitHub Pages podemos crear portales Web estáticos para documentar un proyecto (sin apenas conocimiento de HTML y de forma rápida), o un perfil profesional por ejemplo como carta de presentación.  Las Webs funcionan igual que cualquier otro repositorio de código fuente (operaciones push, commit… desde nuestra computadora local) y se editan en texto plano en un fichero con sintaxis Markdown.

En lo que se refiere al aspecto visual no destaca mucho (tampoco creo que sea el propósito), GitHub ofrece una serie de themes limitados.

Este ejemplo es de una página con el theme Leap day  aplicado por ejemplo:

Como funciona

Vamos a empezar creando una página con uno de los themes disponibles en pocos minutos. Creamos un nuevo repositorio en nuestra cuenta de GitHubUna vez creado vamos a las opciones de configuración (“Settings”), dentro encontramos el apartado “GitHub Pages”:

Seleccionamos un Theme:

Ya hemos creado nuestra primera página (con contenidos de ejemplo). Podemos editar la página editando el archivo README.md desde GitHub.

En mi caso el resultado es el siguiente: https://ikerlandajuela.github.io/Windows-Presentation-Foundation/

El proyecto solo contiene dos ficheros: README.md (con el contenido de la página) y _config.yml.

_config.yml es un archivo especial donde se define el theme Jekyll Midnight.

Enlaces externos

Redis: Almacenamiento de datos NoSQL clave-valor en memoria

Redis

Redis (REmote DIctionary Server) es un sistema de almacenamiento en memoria volátil en RAM basado en registros clave-valor NoSQL (opcionalmente podemos hacer que sea persistente o durable). También soporta la replicación de datos maestro-esclavo. Actualmente Redis es usado por: TwitterInstagramGitHubFlickr, o Digg.

¿Pero en que casos puede ser necesario un sistema así?

Por ejemplo para el análisis y procesamiento de datos en tiempo real, supongamos que obtenemos muestreos periódicos de un sensor y cada nueva lectura vuelve a calcular un valor basándonos en las lecturas previas, en ese caso un sistema de gestión de base de datos clásico como MySQL realizando transacciones a disco puede no ser muy eficiente comparado con Redis (tiempos de respuesta menores).

Un sistema de comunicaciones basado en mensajería por ejemplo.

Redis incluye clientes para la mayoría de los lenguajes de programación conocidos (PHP y C# entre ellos claro).

Redis está escrito en C y está ideado para sistemas Linux, aún así existe un desarrollo para sistemas MS Windows.

Instalación en Windows

Podemos descargar versiones binarias del instalador del siguiente enlace en GitHub. La versión que he descargado es Redis-x64-3.2.100.zip.

 

 

El paquete apenas ocupa 5MB.  Una vez descomprimido tenemos todos los binarios y utilidades básicas necesarias.

Abrimos una consola DOS y ejecutamos redis-server.exe.

Una vez ejecutado la consola nos muestra información valiosa, se está ejecutando a la escucha en el puerto 6379, para que ejecute el fichero de configuración copiamos el fichero redis.windows.conf a redis.conf y ejecutamos:

C:\> redis-server.exe redis.conf

Redis incluye la utilidad redis-benchmark.exe para poner a prueba su velocidad, simula la ejecución de comandos de forma simultanea desde varios clientes.

Enlaces externos

 

PrestaShop v1.7: Configuración básica

Cambiar la divisa

En la columna izquierda en el panel de administración se encuentran las opciones para configurar los datos del país local donde operemos:

Añadimos una nueva moneda si no está presente la que deseamos (probamos a añadir el peso chileno sin problemas). Para evitarnos problemas solo dejamos habilitadas las monedas que vaya a usar nuestra aplicación. Si probamos ahora a cargar el área cliente ya no se muestra el pequeño desplegable para seleccionar la moneda.

Idioma

International > Localization

 

Hacemos lo mismo, quitamos los idiomas superfluos que no nos interesan. Por alguna razón no me permite dejar sólo habilitado el idioma castellano, cuando trato de deshabilitar el ingles me arroja un error:

Habilitar modo depuración para pruebas

Cuando el tema se nos va de las manos (y te aseguro que a ti también te pasara probando opciones) lo mejor es habilitar modo depuración, en este modo todos los errores de PHP se mostrarán por pantalla, eso nos permite obtener una pista al menos de donde esta “cascando” el código. La opción de emergencia está en “CONFIGURE > Advanced Parameters > Perfomance”.

Por supuesto cuando la Web este habilitada de forma pública lo mejor es quitar esta opción.

Activación multitienda

En algunos casos podemos tener varias tiendas fisicas que queremos asociar a su escaparate virtual, una multitienda tiene un backend de admnistración desde donde controlar todas las tiendas, sin embargo para el cliente cada tienda es un portal diferente con su carrito (comparten cuenta de acceso a su área privada) y cada tienda ingresa sus ganancias en una cuenta ingresos separada.

Primero activamos la opción mutistore en “CONFIGURE > Shop Parameters > General”:

Una vez habilitado podemos ver una opción nueva en parámetros avanzados “Multistore”:

Lo primero es editar el grupo de tiendas:

Para compartir los clientes entre tiendas hay que modificar la tabla clientes ‘ps_customer’ liberando la clave relacional que asocia un cliente a una tienda.

update ps_customer set id_shop=null

Debemos usar estas opciones sólo si estamos seguros, en muchos casos volver atrás ya no será posible.

Productos

Crear un producto nuevo

Catalog > Products: New product.

Cada producto está ordenado por varias pestañas y campos asociados a cada sección.

Configuración básica

  • Añadimos una o varias fotos del producto.
  • Summary: Un breve resumen del producto (podemos formatear el texto e incluso insertar imágenes).
  • Descripción.
  • Añadir características adicionales, algo similar a los atributos de un producto (pero no se comparten entre distintos productos) (enlace PS16).
  • Marca del proveedor del producto.
  • Productos relacionados.

En  la columna derecha podemos definir los siguientes campos:

  • Combinaciones de productos.
  • Código interno de referencia (indispensable para mantener la trazabilidad con otros sistemas como un ERP).
  • Cantidad.
  • Precios y tasas.
  • Categorías: Lo veremos más adelante pero las categorías permiten ordenar nuestros productos a la venta y luego crear menús que agrupen productos a la venta basados en las categorías que los representan.

Por ejemplo en el theme usado en la captura inferior las categorías componen el menú vertical izquierdo (Jewelry, Eelectronics…)

Cantidades

Podemos definir la cantidad de existencias de un producto, una cantidad mínima de stock a partir de la cual estará el producto a la venta o el comportamiento de nuestra tienda cuando no hay stock disponible del producto.

Podemos definir una etiqueta cuando el producto tiene stock o no, incluso la fecha a partir de la que estará disponible.

Envíos

 

 

SEO

Ofrece opciones para posicionamiento de los productos en los buscadores.

Cuando acabamos de configurar el producto debemos acordarnos de activar (pasar de OFFLINE a ONLINE en la parte inferior de la pantalla).

El aspecto final del producto de prueba queda así:

 

PrestaShop: Administración básica del ECommerce

Instalación phpMyAdmin para administrar la BD

Vamos a instalar phpMyAdmin para administrar la base de datos de PrestaShop. phpMyAdmin se instala con APT con el siguiente comando:

$ sudo apt-get install phpmyadmin

Si va bien inmediatamente comienza la instalación guiada paso a paso. En este caso el servidor Web está montado sobre Apache.

En la siguiente pantalla seleccionamos “No” para configurar la BD más adelante.

A pesar de finalizar la instalación correctamente cuando introduzco http://192.168.1.157/phpmyadmin/ no carga correctamente. Edito el fichero de configuración de Apache:

$ sudo vim /etc/apache2/apache2.conf

y añado la siguiente línea al final de mismo:

Include /etc/phpmyadmin/apache.conf

Ahora reinicio el servidor Web:

$ sudo service apache2 restart

Accedemos con los datos de acceso a MySQL  usuario ‘root’ y clave ‘reverse’.

Problemas

Redirección automática a IP antigua

La VM al arrancar de nuevo me ha asignado una nueva dirección de red por DHCP, ahora cuando trato de acceder a Prestashop con la nueva dirección IP automáticamente me redirige a la dirección IP antigua “http://192.168.1.135/prestashop/index.php?”, usando phpMyAdmin vamos a cambiar de la BD prestashop en la tabla ‘ps_configuration’ los valores

Cambiamos a la IP correcta también en la tabla ‘php_shop_url’.

No carga frontend

Durante la instalación de PrestaShop junto con la plantilla (quickinstall) en el mismo instalador el backend de administración funciona correctamente pero cuando trato de acceder como cliente a “http://192.168.1.172/prestashop/” me regiride a otra URL “prestashop/es/” con error 404 (página no encontrada). He tratado de limpiar la cache, he probado con otro navegador, al final “creo” (preocupante) que lo han solucionado las siguientes línea mágicas al final del fichero /etc/apache2/apache.conf:

<Directory /var/www/html/prestashop/>
       Options Indexes FollowSymLinks
       AllowOverride All
</Directory>

 

Acceso backend de administración de PrestaShop

PrestaShop tiene un mecanismo ingenioso para acceder al área de administración y que sea más seguro, durante el proceso de instalación renombra la subcarpeta admin/ dándole un identificador único para cada tienda instalada, en mi caso se ha creado como admin437hist5h/, para acceder al panel de administración entonces:

http://192.168.1.157/prestashop/admin437hist5h/

Instalación de un theme nuevo

Si queremos que nuestra tienda destaque y tenga un aspecto que las diferencie de las demás yo personalmente recomiendo invertir algo de presupuesto en comprar un tema premium. Vamos a aprender como se instala un tema comprado y descargado comprimido, por ejemplo el tema

Con el archivo comprimido en nuestro PC local es super sencillo cargarlo en PrestShop en ‘Preferencias > Temas’ (Cuando instalamos el theme premium se genera una nueva opción de menú en el backend de administración).

Esta es la demo del theme que me he instalado.

Lo mejor es inspeccionar el código fuente de la demo para saber las dimensiones que deben tener las imágenes, en este tema el logo tiene una dimensiones (158×58), debemos respetar estas dimensiones para reemplazarlo por el de nuestro negocio (yo uso GIMP por ejemplo).