La Gaceta de Linux ...¡ haciendo a Linux un poco más divertido !

closedShop - El Carrito de la Compra de Código Abierto

Por Chris Fleizach

Traducción al español por José Manuel Pérez
el día 24 de Enero de 2005, para La Gaceta de Linux

Topé con este programa al tratar de encontrar una alternativa de código abierto al software comercial para "carritos de la compra" (que estaba, en su mayor parte, pobremente escrito, e incluso en ocasiones, resultaba inservible. El enfoque de Chris me impresionó por su simplicidad, utilidad y facilidad de instalación - y se adapta a mis exigencias perfectamente.

Una de los argumentos que los adversarios de Linux esgrimen una y otra vez es que "Linux no da soporte a las empresas". IBM, Novell, Oracle, SAP e innumerables otras compañías los han estado echando por tierra en el mundo corporativo, solicitando artículos de autores de programas que se ocupan de las pequeñas y medianas empresas, como closedShop de Chris Fleizach. Espero cortar de raíz los argumentos en los cuales se basan estas críticas.
-- Ben


Hace unos tres años me enfrenté al desafío de realizar un sitio de comercio electrónico que no requiriera procesamiento on-line de tarjeta de crédito. Aunque no busqué demasiado, sólo encontré soluciones caras. Así empecé a trabajar en closedShop, un carrito de la compra de código abierto. Durante los últimos tres años, ha habido unas 13.000 descargas a través de 9 ediciones. Básicamente, closedShop es un carrito de la compra gratuito escrito en Perl usando la base de datos de mySQL como un back-end, que permite a cualquiera realizar una tienda sin necesidad del procesamiento de tarjetas de crédito on-line. Pueden procesar las tarjetas de crédito manualmente, como en la mayoría de empresas, que ya disponen de un procesador manual de tarjetas de crédito.

Antes de que entremos en un tutorial sobre cómo configurar y empezar a aceptar pedidos, es bueno saber lo que ofrece closedShop:

Si eso es lo que necesitas, entonces closedShop es una solución bastante buena para ti. Lo primero que necesitas hacer es descargar la última versión desde SourceForge.

Después de descargarla, descomprime el contenido en tu directorio de cgi-bin. Asegúrate de que todos los archivos tienen permisos 755 (closedShop no trabaja muy bien en servidores basados en Windows, sólo del tipo *nix). La mayoría de programas de FTP te permiten cambiar permisos (por medio del comando 'chmod'). Querrás hacer todos los archivos de lectura/escritura/ejecución para el administrador, lectura/ejecución para el grupo, y lectura/ejecución para los demás. Este conjunto de permisos es también conocido como 755.

También necesitas asegurarte de que el servidor Web está autorizado para escribir en el directorio en el que closedShop está almacenado. Esto es de suma importancia dado que el programa necesita guardar ciertos datos en archivos de texto plano. La mayoría de servicios que hospedan sitios Web permiten esto automáticamente. Si tu servidor no lo permite, entonces closedShop te lo dirá y no intentará la instalación. Si ves este mensaje, entonces puedes necesitar contactar con tu servicio de alojamiento y decirles que te gustaría permitir al servidor Web escribir en el directorio en el cual está closedShop (habitualmente el directorio cgi-bin.)

[ Anteriormente, el artículo de Chris se dejó de lado debido a lo que tiene que ver con la seguridad en las instrucciones del párrafo superior durante nuestro análisis técnico; hacer "cgi-bin" escribible para todo el mundo no es habitualmente aconsejable. Sin embargo, decidí finalmente que no era tan inseguro a primera vista (alguien tendría que crackear el servidor Web para obtener el acceso), y que una simple modificación de closedShop se desharía del requerimiento anterior en cualquier caso. Código abierto en acción, a tu servicio. :) -- Ben ]

Asumiendo que has superado el principal obstáculo, abre tu navegador y accede al archivo llamado Install.pl. Si metes closedShop en tu directorio cgi-bin (y dando por hecho que tu sitio está ubicado en "www.yoursite.com"), entonces, para acceder a Install.pl, teclea

http://www.yoursite.com/cgi-bin/Install.pl

Una página Web aparecerá y te pedirá que introduzcas algunos datos importantes. Algunos de ellos tratarán sobre tu compañía, alguna acerca de los impuestos, algo alrededor de cómo te gustarían que aparecieran las tablas. Para la mayor parte de los datos puedes dejar el valor por defecto. La información más importante trata sobre la base de datos de mySQL. Debes tener acceso a una base de datos de mySQL antes de la instalación. La mayoría de servicios que de hospedaje Web permiten este acceso, pero quizás necesites solicitarlo por adelantado. Luego te enviarán un nombre, una contraseña y el nombre de la base de datos de mySQL. Introduce estos datos en la sección de la base de datos de mySQL.

La otra parte importante es la contraseña de administrador y la contraseña mercaderil. El usuario administrador te permitirá realizar todo tipo de cambios en el programa, mientras la cuenta de comercio muestra menos cambios administrativos y es más para procesar pedidos. Permite que dos personas se conecten al mismo tiempo. Recuerda esas contraseñas, las necesitarás para poder hacer login.

Después de rellenar el resto de datos, pulsa 'Instalar' y tardará unos 30 segundos en preparar todo. Después, verás una pantalla donde dice que vayas al script Admin.pl. Hay cuatro scripts que realizan diferentes funciones. Admin.pl maneja tareas administrativas. Cart.pl es para el carrito de compras y procedimientos de caja. User.pl es para que clientes individuales accedan y miren el seguimiento del pedido, así como también manejar su lista de peticiones. Item.pl muestra artículos y categorías y también permite realizar búsquedas.

Una vez que accedes a Admin.pl verás las diferentes opciones. Quizás quieras editar primero la información de categorías para las categorías que introdujiste en el Install. Nota: Si quieres añadir más categorías o cambiar el nombre, entonces ve a "Editar Variables de Programa". Más información acerca de las categorías puede ser vista también dentro de la sección "Editar Categorías". Después de editar las categorías, deberías empezar a añadir productos, ya sea a través de la opción "Añadir Producto" o a través de importar. Al añadir un producto, también tienes la opción de publicar el artículo en eBay al mismo tiempo. La información de eBay estará bajo la información principal y no es necesaria.

Finalmente, necesitas integrar closedShop en tu sitio Web. Encontrarás enlaces importantes bajo la opción "Ver Enlaces Importantes". Esto te dice los URLs para cada categoría, Búsqueda, acceso de Usuarios y el Carrito de la Compra. Si tienes un diseño determinado en tu sitio, entonces puedes dar ocasión a closedShop para usar ese diseño con el encabezado y las variables de pie de página en "Editar Variables de Programa". El encabezado es un archivo que contiene la cabecera del HTML para tu diseño. El pie de página es un archivo que contiene la parte inferior del HTML de tu diseño. closedShop lo insertará en el centro. Estos archivos pueden realizarse y ponerse en el directorio de cgi-bin. Normalmente, los nombrarías cabecera.html y pie.html y poner esos valores en las variables de programa.

Luego deberías coger los enlaces que quieras usar, como Búsqueda, y enlazarlos en tu diseño. Un ejemplo de esto aparece en el Sitio de Demostración en el sitio Web de closedShop (http://closedshop.sourceforge.net)

Por supuesto, también deberías usar SSL si es posible. Los clientes introducirán sus tarjetas de crédito en el sitio y tú las verás. Si no usas SSL entonces hay una posibilidad mayor de robar los datos. La mayoría de servicios que hospedan Web permiten a los clientes usar sus certificados SSL y procesamiento SSL. Puede ser un enlace distinto al que estás acostumbrado a ver, sin embargo, algo que se le parezca proviene del servicio de hospedaje. En este caso, querrás cambiar las variables de programa y cambiar los nombres de los archivos para usar el https:// y luego introducir el URL completo para el sitio seguro. También necesitarás cambiar el URL del directorio de imagen, pues de otra forma los usuarios pueden quejarse al ver una mezcla de seguridad e inseguridad. Siempre deberías acceder al script Admin.plusando la conexión segura, de lo contrario te haces a ti mismo vulnerable para los ladrones.

El programa ha sido diseñado para ser lo más claro y llano posible. Si te metes en cada script, verás que inicialmente aparece la pantalla por defecto. Hay también más información en la documentación que viene con cada edición. De interés particular podrían ser las opciones de plantilla, que te podrían permitir mezclar programación Perl con tu plantilla para personalizar completamente la apariencia de los Item y categorías.

Si hay cualquier pregunta, comentarios, dudas, o cualquier sugerencia, pueden ser dirigidas a email.

 


[BIO] Chris es voluntario en el Cuerpo de Paz en el Reino de Tonga y les ha estado mostrando el mundo del Código Abierto durante casi dos años. Es también miembro fundador de FightLiteracy.com, la única organización en el mundo dedicada a la alfabetización.

Derechos de Autor © 2004, Chris Fleizach. Publicado bajo la Open Publication license

Publicado en el número 107 de la Gaceta de Linux, Octubre de 2004