Proyecto Fin de Carrera

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Proyecto Fin de Carrera"

Transcripción

1 FACULTAD DE CIENCIAS Facultad de Ciencias Proyecto Fin de Carrera PLATAFORMA WEB DE CREACIÓN Y GESTIÓN DE TIENDAS ONLINE (E-commerce web management platform) Para acceder al Título de INGENIERO EN INFORMÁTICA Autor: Iván González Fernández Director: Rafael Duque Medina Codirector: Javier Molleda González Julio

2 Agradecimientos Si bien es el último de los apartados en escribir, no por ello es el menos importante. Más bien todo lo contrario, ya que sin vuestra ayuda esto no podría haber sido posible. A mi familia y pareja, por todo el apoyo incondicional recibido durante tanto tiempo, sin importar si las cosas iban bien o mal. A Javier Molleda y Borja Mantecón, de Suomitech, por darme la oportunidad de realizar este proyecto, ayudarme desde el primer día hasta el último en la realización del mismo y abrirme las puertas de su pequeña empresa, creyendo y confiando en mí. A mis Profesores que tantas cosas me han enseñado a lo largo de todos estos años, y en especial a mi tutor, Rafael Duque, que a pesar de las dificultades y cambios surgidos desde que aceptó ser mi tutor de proyecto, me ha prestado toda la ayuda necesaria. A todas esas personas que, de una manera u otra, habéis estado junto a mí a lo largo de estos años, en especial a mis amigos, tanto a los de toda la vida como a los que hemos ido haciendo a lo largo del camino (y que duren). A veces puedo ser distante, pero sin vosotros no sería quien soy. A todos vosotros, de corazón, mil gracias. Página 1

3 Resumen El uso de las nuevas tecnologías en los negocios ha cambiado por completo en los últimos años, surgiendo un nuevo modelo conocido como e-commerce. Dicho modelo consiste en la compra y venta de productos, bienes o servicios a través de Internet. Bajo este contexto, la empresa Suomitech Soluciones Innovadoras ha querido desarrollar un sistema multi-sitio capaz de desplegar de forma automática una infraestructura que permita la instalación de una tienda virtual y la posterior interacción sobre ella a través de un usuario gestor. El objetivo será que todos aquellos usuarios interesados en el servicio, podrán dar de alta una nueva tienda, configurándola a su gusto y poniendo a la venta tantos productos como deseen sin ningún coste inicial. Para la implementación del sistema se ha decidido utilizar Commerce Kickstart, una distribución Open Source de Drupal que ofrece un framework de desarrollo orientado al comercio electrónico. A dicha distribución se le ha añadido la funcionalidad necesaria para cumplir con todos los requisitos planteados. Cabe destacar que se ha desarrollado un módulo personalizado capaz de conectar el sitio mediante una API con un servicio de logística para el envío de los pedidos. En base a las características del envío, se podrá obtener el servicio de mensajería más económico. El registro y creación de las tiendas por parte de los usuarios se realizará desde otro sitio paralelo, también desarrollado en Drupal. Desde este sitio, además se llevará un control por parte del administrador, de manera que se pueda controlar los ingresos obtenidos por cada tienda a través de los pedidos tramitados y, de esa forma, poder cobrar por el uso de los servicios únicamente a aquellos usuarios que superan un límite de ingresos. Palabras clave: comercio electrónico, sistema multi-sitio, servicio de logística Página 2

4 Abstract The use of the new technologies in the business has changed completely last years, arising a new model known as e-commerce. This model enables people to purchase and sale products, goods or services by means Internet. In this context, "Suomitech Soluciones Innovadoras" has developed a multi-site system that deploys automatically an infrastructure that allows us to install and manage a virtual shop. The main goal will be that the users, will be able to create a new shop according to their preferences and putting to the sale so many products as they want without any initial cost. For the implementation of the system, we have decided to use Commerce Kickstart, an Open Source Drupal's distribution that offers a framework of development orientated to the electronic commerce. We have added some additional features to that distribution to fulfill the requirements of this project. It is necessary to emphasize that we have developed module that connects the site by means of an API with a service of logistics for the sending of the orders. On the basis of the characteristics of the sending, it will be possible to obtain the most economic service of shipping. The shops are registered and created by the users using another parallel site, also developed in Drupal. Moreover, the administrators will manage the shops from this site. Thus, the administrators will manage the income obtained by the shops by means of the orders and they will be able to charge for the use of the services only to those users who come to a limit of income. Key words: ecommerce, multi-site system, logistics service Página 3

5 Índice Agradecimientos... 1 Resumen... 2 Abstract... 3 Índice... 4 Índice de Figuras... 7 Índice de Tablas Introducción Contexto Tecnológico Motivación y objetivos Material y Métodos Estado del Arte Tecnologías y herramientas Sistemas de Gestión de Contenidos (CMS) Wordpress Joomla! Drupal Comparativa de CMS Conexión con API de Envío Expres Metodología Análisis de Requisitos Técnicas de Recogida de Información Requisitos Funcionales Casos de uso para el rol Gestor Registrar tienda Autenticar en tienda Página 4

6 Configurar tienda Configurar métodos de pago Crear producto Modificar producto Eliminar producto Ver pedidos Actualizar pedidos Casos de uso para el rol Cliente Registrar en tienda Realizar compra Requisitos No Funcionales Usabilidad Compatibilidad Requisitos Legales Diseño e implementación Diseño del sistema Modelo de dominio Diseño Arquitectónico Implementación del sistema Despliegue inicial de plataforma de comercio electrónico Preparación de los datos Creación de nuevos módulos en Drupal Módulo de cálculo de gastos de envío Módulo de administración para gestor Despliegue sitio principal Replicar modelo de tienda Administración de la plataforma Interfaz Web Página 5

7 5. Evaluación y pruebas Pruebas unitarias Pruebas de integración Pruebas de sistema Pruebas de aceptación Conclusiones y trabajos futuros Conclusiones Trabajos futuros Referencias Anexo A: Acrónimos Página 6

8 Índice de Figuras Figura 1.1: Volumen de Comercio Electrónico B2C (en millones de ) [2]...9 Figura 1.2: Evolución en el nº de internautas vs internautas compradores (%) [2]...10 Figura 2.1: Servicios de tiendas online en 1&1 [6]..12 Figura 2.2: Servicios de subscripción ofrecidos por Xopie [8]...13 Figura 2.3: Logos de diferentes CMS [10] 14 Figura 2.4: Curva de aprendizaje de Drupal [22].21 Figura 2.5: Metodología de desarrollo iterativa e incremental [27]...24 Figura 3.1: Casos de uso.27 Figura 4.1: Modelo de Dominio del sistema.39 Figura 4.2: Capas de un CMS [29] 39 Figura 4.3: Ejemplo de distribución commerce kickstart [31] 41 Figura 4.4: Estructura de tipo de contenido producto.42 Figura 4.5: Archivo commerce_envioexpres.info...45 Figura 4.6: Función commerce_envioexpres_getproveedores($token)..46 Figura 4.7: Resultado de función commerce_envioexpres_getproveedores($token)..47 Figura 4.8: Función del archivo commerce_envioexpres.module 47 Figura 4.9: Selección de gastos de envío durante el proceso de checkout...48 Figura 4.10: hook_form de archivo site_config.module..49 Figura 4.11: hook_form_validate de archivo site_config.module 50 Figura 4.12: hook_form_submit de archivo site_config.module 50 Figura 4.13: Formulario de administración desde usuario gestor.51 Figura 4.14: Ejemplo contenido tipo tienda..52 Figura 4.15: Reglas para la creación de nuevas tiendas 53 Figura 4.16: Código PHP rules creación nueva base de datos 54 Figura 4.17: Código PHP rules réplica de archivos 55 Figura 4.18: Listado de gestión de pedidos de cada tienda.55 Figura 4.19: Home sitio principal...56 Página 7

9 Índice de Tablas Tabla 2.1: Comparativa entre Wordpress, Joomla! y Drupal 22 Tabla 4.1: Ejemplo de llamada de la API.44 Tabla 5.1: Prueba unitaria método commerce_envioexpress_getnombreproveedor($id,$list)...58 Página 8

10 1. Introducción En este capítulo se expone la motivación que ha impulsado a llevar a cabo este proyecto. Se compone de dos apartados: el primero incluye una pequeña descripción del contexto tecnológico dentro del que se ubica el proyecto, en el que se tratará la situación del comercio electrónico y las posibilidades que ofrece. El segundo apartado concreta los objetivos que se pretenden alcanzar con la construcción de un sistema capaz de desplegar automáticamente una infraestructura de una tienda virtual que reúna la funcionalidad necesaria para satisfacer las necesidades de los usuarios, facilitándoles de la forma más cómoda y sencilla posible la venta y administración de sus productos. 1.1 Contexto Tecnológico El uso de las nuevas tecnologías en los negocios ha cambiado por completo en los últimos años. Si bien es cierto que hasta hace relativamente poco tiempo Internet tenía poca incidencia en los negocios, ahora la no presencia en la red es prácticamente sinónimo de fracaso. Tanto es así, que incluso muchas empresas desarrollan su actividad únicamente por este medio. De esta manera surge un nuevo modelo de negocio, el comercio electrónico, también conocido como e-commerce. El e-commerce consiste en la compra y venta de productos, bienes o servicios mediante procesos electrónicos como Internet y otras redes informáticas, a través de un medio de pago [1]. El comercio electrónico ha crecido en los últimos años de forma extraordinaria a escala mundial, y particularmente en España este hecho no ha sido una excepción. Año tras año el volumen de comercio electrónico va ascendiendo, tal y como se puede ver en la Figura 1.1 Figura 1.1: Volumen de Comercio Electrónico B2C (en millones de ) [2] Página 9

11 Una de las claves de este incremento está en el aumento del número de internautas, y con ello, en el crecimiento del número de compradores. En la Figura 1.2 podemos ver esta evolución, en la que se aprecia que el porcentaje del número internautas compradores respecto al número de internautas totales ha crecido de forma excepcional en lo últimos 10 años, siendo de un 5% en el último año [2]. Es decir, cada vez la gente domina y utiliza mejor Internet, y la confianza en los sitios que ofrecen compras online va creciendo. Figura 1.2: Evolución en el número de internautas vs internautas compradores (%) [2] La presencia de Internet en los hogares españoles ha modificado las pautas de comportamiento de los compradores. La Red abre las posibilidades de elección entre tienda física y tienda online tanto para realizar la compra como para buscar información que permita tomar una mejor decisión de compra [3]. Por todo ello, cada vez más empresas buscan tener presencia tanto física como online, y en caso de dedicarse a la venta de productos, contar con una tienda virtual y así poder ofrecer al consumidor todas las facilidades para que pueda elegir el producto que más se adapta a sus necesidades, tanto funcionales como económicas. En definitiva, el entorno tecnológico y social en el que nos encontramos actualmente es propicio para que empresas opten por tener una mayor presencia en la Red, para poder incrementar sus ventas, y por consiguiente sus ingresos a través del modelos e-commerce y tiendas virtuales. Página 10

12 1.2 Motivación y objetivos Hoy en día la sociedad no puede ser concebida sin el uso de las nuevas tecnologías y las posibilidades que su uso genera, tanto para empresas como para posibles clientes. Es por ello que la mayor parte de las empresas se están adaptando a los cambios, y buscan tener más presencia y alcance dentro de la Red. Esta situación comienza a convertirse casi en una necesidad y en los últimos años muchas empresas han optado por abrir su abanico de negocio a través de las ventas mediante tiendas virtuales. El comprador cada vez siente más confianza y es este clima positivo el que convence a las empresas de abrir sus puertas a la red y competir por ganar nuevos clientes y llamar la atención de un mayor número de personas [4]. El objetivo principal de este proyecto es desarrollar un sistema multi-sitio capaz de desplegar automáticamente una infraestructura que permita la instalación de una tienda virtual. La interacción sobre las tiendas creadas será a través de usuarios gestores capaces de administrar el sitio web, dentro de unas limitaciones previamente indicadas y establecidas. Para la consecución de los objetivos de este proyecto, se definen de manera más específica los siguientes sub-objetivos: 1. Desplegar una tienda virtual a partir de una configuración inicial básica, permitiendo la elección de un catálogo de plantillas. a) Estructurar los usuarios. Capacidad de crear nuevos usuarios o editar los existentes. b) Estructurar y administrar los productos de la tienda, creando una estructura que permita controlar el peso y dimensiones de cada envío c) Modificar el aspecto visual de la tienda online y gestionar la cuenta personal para configurar los pagos. d) Configuración de Apache para la creación nuevos subdominios para cada una de las tiendas creadas. 2. Conectar mediante una API con un servicio de logística para el envío de los productos a través de un módulo personalizado. En base a las características del envío, se podrá obtener el servicio de mensajería más económico. 3. Facturar por ventas de forma variable, con acceso de la aplicación de gestión a cada una de las tiendas obteniendo las ventas de cada uno de los clientes (usuarios gestores de las tiendas). Se establecerá un límite de ingresos por ventas a partir del cual los usuarios gestores deberán pagar por el uso de la plataforma. 4. Personalizar la tienda a medida en base a una subscripción, dando la posibilidad a los gestores de cada tienda de registrar un dominio propio, usar un diseño personalizado, etc. Página 11

13 2. Material y Métodos Este capítulo describe las herramientas y métodos usados en este proyecto. Se dividirá en tres partes: en la primera se hará un análisis de los actuales servicios que ofrecen soporte para crear y administrar tiendas online. En la segunda se presentaran las principales herramientas y tecnologías utilizadas para el desarrollo del proyecto. Y por último, en la tercera se describirá la metodología de trabajo empleada. 2.1 Estado del Arte Con el auge del comercio electrónico y la evolución de las nuevas tecnologías, hay diferentes servicios que dan soporte para la creación y administración de tiendas online. Cada una ofrece unas características y unas funcionalidades específicas, pero todas tienen algo en común, un pago mínimo por suscripción de servicios. Quizás uno de los servicios más conocidos es el que ofrece 1and1 [5]. Dispone de una amplia oferta en lo que a funcionalidades se refiere, pero bien es cierto que bajo un módico precio. Cuenta con 3 tipos de subscripción, 1&1 Tienda Perfect (14.99 /mes), 1&1 Tienda Plus (24.99 /mes) y 1&1 Tienda Premium (49.99 /mes) diferenciados por las funcionalidades ofrecidas y el número de productos disponibles para la venta. Desde el punto de vista del diseño, las tiendas online de 1&1 permiten al cliente modificar la apariencias y las páginas de la tienda a su gusto, añadiendo tantas páginas adicionales y elementos HTML como sea necesario. La tienda online de 1&1, en particular, permitirá poner hasta artículos diferentes a la venta, gestionar el stock, e impulsar tus ventas con herramientas específicas como: venta cruzada de artículos, integración con ebay y Kelkoo, seguimiento de conversiones en Google Adwords, y hasta 75 para publicitar los productos Merecen especial interés características avanzadas, como 1&1 seguimiento de medios, para analizar la rentabilidad de tus campañas de una forma efectiva y 1&1 cupones descuento, para crear y gestionar fácilmente códigos de descuentos. Figura 2.1: Servicios de tiendas online en 1&1 [6] Página 12

14 Otro de los servicios que está acaparando bastante importancia dentro de este terreno es el de Xopie [7]. Es un servicio de tiendas online que permite crear una tienda de forma fácil y vender productos sin necesidad de conocimientos técnicos, alojamiento o dominio propio. Es bastante similar a lo que 1&1 ofrece, con la diferencia de que Xopie cuenta con un servicio gratuito, aunque bastante limitado. Al probar esta versión gratuita, se puede comprobar que cuenta con numerosas opciones de configuración. Una de las características más reseñables es que permite elegir entre numerosas plantillas ya prediseñadas para darle a la tienda una imagen bastante profesional y seria. En caso de querer personalizar más dicho diseño, es necesario contratar uno de los planes de subscripción. Además, como ya se ha señalado, esta versión gratuita es bastante limitada en cuanto a los productos, puesto que únicamente se permiten poner a la venta tan solo cinco productos, algo poco común en la mayoría de los casos. Por lo tanto, al final si lo que se quiere conseguir es una tienda en la que ofertar todos los productos disponibles del catálogo, habrá que recurrir a una modalidad de pago y asumir los riesgos que ello conlleva en caso de que la tienda no tenga éxito. Figura 2.2: Servicios de subscripción ofrecidos por Xopie [8] Página 13

15 2.2 Tecnologías y herramientas A continuación, se estudiaran las tecnologías y herramientas que se han empleado en el desarrollo de este proyecto. Se divide en dos apartados: el primero explicará qué es un sistema de gestión de contenidos (CMS) y cuál ha sido el elegido para este desarrollo. Por último, se realizará una descripción de los servicios utilizados para la conexión con la API de los servicios de mensajería Sistemas de Gestión de Contenidos (CMS) Los sistemas de gestión de contenidos, más conocidos por su acrónimo CMS (Content Management System), son un framework sobre la que se asienta el desarrollo, el diseño y el contenido de un sitio web. Mediante el uso de CMS s se facilita la creación y administración de sitios web, tales como páginas dinámicas, tiendas virtuales, intranets o sistemas de gestión documental [9]. Figura 2.3: Logos de diferentes CMS [10] Un CMS incluye en una interfaz que controla una o varias bases de datos donde se aloja el contenido del sitio. El sistema permite manejar de manera independiente el contenido y el diseño. Así, es posible manejar el contenido y darle en cualquier momento un diseño distinto al sitio sin tener que darle formato al contenido de nuevo, además de permitir la fácil y controlada publicación en el sitio a varios editores. Página 14

16 Los CMS se han convertido en una herramienta de gran importancia debido al auge de las páginas web con amplio contenido donde el usuario participa activamente (blogs, redes sociales, foros, etc) y a la necesidad de incluir ciertas restricciones mediante la inclusión de permisos. Es por ello que se componen de dos partes, una pública y una privada. - Parte pública: Es la que cualquier usuario ve al acceder a la URL donde hemos alojado el sitio. - Parte privada: A la parte reservada para la administración y edición del sitio, únicamente pueden acceder personas registradas mediante usuario y contraseña. A través de la parte privada, el editor o administrador dispone de un panel de herramientas mediante el cual puede modificar su página web o tienda online a su antojo. Las principales ventajas de un CMS son: - Coste reducido: el sistema se construye una vez y se puede utilizar en multitud de sitios web. A pesar de que existen costes de evolución y mantenimiento, resulta mucho más barato que desarrollar desde cero un sistema a medida para cada tienda. - Mantenimiento descentralizado: Actualización desde cualquier navegador y en cualquier momento. - Diseño sin editores de contenido: Los CMS vienen incorporados con editores WYSIWYG (What You See Is What You Get) que permiten la edición de contenidos sin conocimientos de programación web. - Restricciones configurables: Asignación de roles y permisos que evitan modificar contenido sin permiso para ello. - Consistencia de diseño: El contenido de todos los autores presenta el mismo diseño, ya que contenido y diseño son completamente independientes. - Información en Base de Datos: Utilizar el mismo contenido en diferentes páginas dentro de un mismo sitio. - Contenido dinámico: Se pueden incluir extensiones que añadan funcionalidad (foros, comercio, encuestas ). También permite la instalación de módulos desarrollados por el propio usuario. - Evolución: normalmente los CMS evolucionan a través de la entrega de nuevas versiones. Esto nos permite solucionar problemas existentes y mantenernos al día en un mundo tan cambiante como internet. - Comunidad: mucha otra gente utilizará el mismo sistema que se vaya a usar. Ante un problema es muy probable que alguien lo haya sufrido antes y se pueda encontrar información sobre cómo solucionarlo. Página 15

17 Por tanto, gracias a la funcionalidad que aporta un CMS, se pueden construir distintos tipos de sitios web como portales corporativos, comercio electrónico, webs de organizaciones o páginas personales. Actualmente existen en el mercado una gran cantidad de gestores de contenido, tanto comerciales como open source. Entre los CMS de código libre destacan sobre todo 3, Drupal [11], Joomla [12] y Wordpress [13]. A continuación se van a repasar las principales características de cada uno de estos CMS para saber cuál es el más adecuado a las características que requiere este proyecto Wordpress Wordpress es actualmente el más popular de todos los CMS. Inicialmente nace como plataforma de blogs siendo una de las mejores opciones para tal propósito. Su código puede ser descargado e instalado en un servidor web que disponga de PHP y un sistema gestor de base de datos MySQL. A través de la página de Wordpress (wordpress.com) pueden crearse blogs gratuitos aunque con menos funcionalidad que las de una plataforma instalada en un servidor propio. Desde hace unos años, Wordpress está intentando crecer como sistema integral de gestión de contenidos, con múltiples plugins creados por desarrolladores independientes. Algunos de los aspectos más significativos de Wordpress son [14]: - Código abierto: Es un sistema de código abierto, o sea que su código fuente está disponible bajo los términos de la Licencia Pública General de GNU (todo el código puede ser usado libremente, modificado según las necesidades y distribuido). Su uso es gratuito. - Comunidad: Comunidad bastante importante y que cuenta con muchos años de desarrollo. - Extensibilidad: Wordpress aumenta su funcionalidad mediante plugins, existiendo una gran cantidad de ellos, aunque no todos correctamente testados y válidos para su uso. - Interfaz de administración: Interfaz bastante sencilla aunque algo limitada, que no da demasiada flexibilidad. Página 16

18 - Facilidad de uso: La instalación de Wordpress en teoría es bastante sencilla, ya que por ejemplo la instalación de plugins se puede hacer en un solo paso. - Categorización: En Wordpress únicamente se puede categorizar los artículos de un blog, pero las páginas no pueden categorizarse. - Fácil personalización del diseño: El theming en Wordpress está diseñado para una fácil personalización. Cualquier persona con un poco de compresión de HTML y CSS puede personalizar los temas para adaptarlos a sus necesidades. - Seguridad: Dado que Wordpress es el CMS más utilizado, podría decirse que tiene una diana para que los hackers intenten buscar las vulnerabilidades de los sitios para acceder a ellos. - Flexibilidad: Pese a existir numerosos plugins desarrollados para Wordpress, encontrar alguno que satisfaga las necesidades para un proyecto determinado es un poco complicado. Esto limita bastante a la hora de desarrollar un sitio de acuerdo a unas especificaciones deseadas. - Optimización para buscadores: Permite usar URLs limpias y definir la estructura de la URL. Este sistema es mejor para que el sitio sea indexado en los buscadores. WordPress es un gran sistema para los proyectos de pequeña escala. Se puede manejar una gran cantidad de tráfico y los usuarios, y una gran cantidad de contenido sin problema. Es fácil de configurar y administrar, fácil de usar y rentable. La comunidad es enorme, y hay más plugins de lo que otros CMS combina Joomla! Joomla es un CMS que puede ser utilizado independiente entre cuyas principales virtudes está la de integrar, añadir o editar el contenido de un sitio web de forma sencilla. Al igual que Wordpress es código libre y está programado en PHP bajo licencia GPL, requiriendo una base de datos en MySQL y de un servidor Apache. Joomla cuenta principalmente con las siguientes características [15]: - Código abierto: Al igual que Wordpress, el uso de su código es gratuito. - Administración: Cuenta con un sistema de administración sencillo y bastante avanzado, con una interfaz de administración clara y concreta que permite gestionar todos los aspectos fundamentales clave de un sitio web y sus contenidos. - Categorización: Joomla está preparado para organizar eficientemente los contenidos de su sitio en secciones y categorías, lo que facilita la navegabilidad Página 17

19 para los usuarios y permite crear una estructura sólida, ordenada y sencilla para los administradores. - Publicación de contenidos: Joomla permite crear páginas ilimitadas y editarlas desde un sencillo editor, basado en WYSIWYG (estos editores permiten estar viendo en todo momento el texto que se escribe tal y como es mostrado una vez impreso), que permite formatear los textos con los estilos e imágenes deseados. Los contenidos son totalmente editables y modificables. - Escalabilidad: Joomla ofrece la posibilidad de instalar y desinstalar extensiones (componentes, módulos, plugins, plantillas, idiomas), que agregarán servicios de valor a los visitantes del sitio web. - Internacionalización: la interfaz de Joomla se encuentra traducida a muy diversos idiomas. Además, permite asignar contenido a un idioma, pudiendo de esta forma presentar contenido en diferentes idiomas, permitiendo seleccionarlo en la presentación de los contenidos de forma eficaz en la navegación. - Administración de usuarios: Joomla permite almacenar datos de usuarios registrados y también la posibilidad de enviar s masivos a todos los usuarios. La administración de usuarios es jerárquica de forma predeterminada, pues los distintos grupos de usuarios poseen diferentes niveles de permisos dentro de la gestión y administración del sitio; pero permite una variada y compleja gestión de permisos y niveles de acceso para organizar perfectamente cómo conseguir que los usuarios interactúen con los contenidos de nuestro sitio web de la mejor manera posible. - Diseño: es posible cambiar todo el aspecto del sitio web tan solo con un par de clics, gracias al sistema gestor de plantillas que utiliza Joomla En resumen, si se desea crear un sitio de forma rápida y con una bonita apariencia, capaz de asumir una cierta lentitud o poca categorización, Joomla puede resultar bastante adecuado. También para quienes desean instalar fácilmente un sitio sin casi conocimientos y no les importe el posicionamiento en buscadores. Es un gestor de contenido más completo en su paquete inicial y más sencillo de utilizar gracias a una amigable interfaz de administración, sin embargo, la presentación de contenidos es poco flexible y el desarrollo de módulos es muy costoso. Página 18

20 Drupal Drupal es un CMS de código libre. Está escrito en lenguaje PHP y se basa en una implementación base, más conocida como Drupal Core, que contiene los elementos básicos para la creación de un sitio web bajo este sistema [16]. Dicho Core cuenta con componentes primarios de Drupal, que incluyen capacidades para crear y manejar: - Contenido. - Archivos. - Menús. - Cuentas de usuarios. - Permisos y roles de usuarios. - Categorización (taxonomias). - Módulos - Apariencia Uno de los elementos más importantes con los que cuenta Drupal, y que al final es la base de todo lo que se crea con este gestor, son los tipos de contenido. Los tipos de contenido son tipos de nodos que se crean para añadir contenido al sitio web. Cada uno de estos tipos de contenidos tienen unas característica personalizadas definidas por el desarrollador, pudiendo tener un número ilimitado de campos de cualquier tipo (texto, numero, archivo, fecha, etc) con los que se generará la información de dará sentido al sitio web. Además de las capacidades comentadas anteriormente, Drupal cuenta con varias características que merece la pena destacar: - Control de versiones: El sistema de control de versiones de Drupal permite seguir las actualizaciones del contenido, es decir, qué es lo que se ha cambiado, quién lo ha cambiado, la fecha en que se ha cambiado, etc. - Drag-N-Drop: Con esta funcionalidad se simplifica al máximo el trabajo de reordenación de contenido, posicionamiento de los elementos del menú y bloques, etc, ya que permite reordenar arrastrando y soltando los elementos y grabar todos los cambios de una sola vez. - Independencia de la base de datos: Aunque la mayor parte de las instalaciones de Drupal utilizan MySQL como base de datos predeterminada, existen otras opciones. Drupal incorpora una capa de abstracción que soporta un amplio rango de bases de datos (MySQL, PostgreSQL, SQLite, etc). - Registros e informes: Todo lo que ocurre en el sistema es guardado en un registro de eventos que puede ser visualizado por un administrador. Lógicamente, estas capacidades son necesarias, pero insuficientes para crear un entorno web avanzado y adaptado a las necesidades de los usuarios. Por ello, y ante la necesidad de ampliación de la funcionalidad, existen los módulos externos. Página 19

21 Un módulo es un fragmento de código que aporta una funcionalidad concreta al entorno Drupal escrito en base a unas reglas previamente establecidas [17]. Para poder realizar dicha función, basa su codificación en la utilización de un tipo especial de funciones predefinidas por el core de Drupal llamadas hooks. Cada función creada dentro de un módulo ha de implementar uno de estos hooks, de modo que Drupal sea capaz de realizar las llamadas a esas funciones en el momento concreto. Esto se debe a que cada hook está ligado a una posible acción en Drupal (apertura de un contenido, carga de una página, etc.), ejecutándose cada función de los módulos que implementen el hook correspondiente a la acción que se esté produciendo en ese momento en concreto. Existen infinidad de módulos disponibles para ampliar las funcionalidades de Drupal, aunque varios de los más importantes son el módulo Views [18] y Rules [19], así como para nuestro caso, los módulos pertenecientes al proyecto de Drupal commerce [20]. El módulo Views se podría considerar imprescindible a la hora crear un sitio web con un mínimo de complejidad, ya que aporta un método flexible para mostrar el contenido en la web. Proporciona el control que queramos sobre qué es lo que debe aparecer (tipos de contenido completos, información de usuarios, taxonomías, etc.) y cómo ha de hacerlo (filtrado, presentación dinámica, etc.). En cuanto al módulo Rules, permite a los administradores del sitio definir acciones que se ejecutan condicionalmente en base a los acontecimientos que ocurren (conocidas como reglas reactivas o ECA). Con este módulo se podrán crear flujos de trabajo personalizados, enviar s personalizados, mensajes del sistema, manejar eventos generados por una tienda online, etc. Además, cuenta con una distribución llamada Drupal Commerce, la cual aporta la funcionalidad necesaria para la creación de una tienda online. Permite crear tipos de productos con atributos personalizados, mostrar los productos de forma dinámica, aplicar el cálculo de impuestos, administrar las formas de pago, etc. Estos módulos son un ejemplo de las amplias posibilidades que Drupal ofrece, pudiendo construir plataformas web de múltiples tipos, estilos y características. Al tratarse de un gestor de contenidos de código abierto, existe una amplia y activa comunidad [21] de desarrolladores, que desarrolla módulos, parches para los posibles bugs que se encuentren, así como dar soporte y resolver los posibles problemas que le surgen a los usuarios de Drupal en un foro. Con todo esto, es común pensar que trabajar con Drupal es algo tan sencillo como juntar los elementos de forma automática y cargar el contenido en el sitio. Sin embargo, esto no es así, ya que no siempre los módulos disponibles satisfacen los requisitos pretendidos, sobre todo en el caso de proyectos complejos. En ese caso, a veces no queda más remedio que crear un nuevo módulo por parte del desarrollador, que aporte las soluciones que se solicitan. A medida que un CMS se especializa en una determinada dirección (ecommerce, e-learning, Wiki, blog, etc) aumentan sus prestaciones y facilidad de configuración en esa dirección, pero disminuye su flexibilidad dificultando la Página 20

22 implementación de funcionalidad que se salen del marco inicial de desarrollo. Por otra parte, cuando un CMS evita la especialización con el fin de ser más genérico aumenta su complejidad y dificultad de configuración, haciendo que el administrador tenga avanzados conocimientos de programación. Por esto, parece que funcionalidad y facilidad son variables inversamente relacionadas. Drupal trata de romper la relación anterior, al ofrecer un entorno altamente configurable para la construcción de sitios web manteniendo una facilidad de uso. Sin embargo, la curva de aprendizaje de Drupal es más pronunciada, pero superada esta barrera inicial, aparece un amplio abanico de posibilidades, alto rendimiento, flexibilidad y escalabilidad. Figura 2.4: Curva de aprendizaje de Drupal [22] En definitiva, Drupal ha sido creado para facilitar el trabajo de los desarrolladores web, simplificando la tarea de crear un entorno web más o menos complejo y apropiado a lo que se solicita, aunque se podría decir que requiere un nivel de conocimientos algo más elevado al resto de los CMS. Página 21

23 Comparativa de CMS Tal y como hemos podido comprobar, cada uno de los CMS ofrece unas determinadas características que vamos podemos ver resumidas en la Tabla 2.1. WordPress Joomla! Drupal Lenguaje PHP PHP PHP Precio Gratis Gratis Gratis Licencia Open Source Open Source Open Source Historial de logins Ampliación gratuita Si Si Gestión de Ampliación gratuita Si Si sesiones Replicación de Ampliación gratuita No Si BB.DD. Administración Si Si Si online Perfiles de usuario Ampliación gratuita Si Si extensibles Contenido Ampliación gratuita Ampliación gratuita Si multilenguaje Comunidad Soporte Si Si Si Flexibilidad para funcionalidades a medida Media Baja Muy Alta Tabla 2.1: Comparativa entre Wordpress, Joomla! y Drupal En base a todas estas características, se ha decidido optar por Drupal ya que gana la batalla en cuanto a potencia y flexibilidad. Puede manejar más contenidos y usuarios, se le da un mayor nivel de control y personalización, y tiene la seguridad de nivel empresarial y búsqueda. La comunidad de Drupal ha precompilado distribuciones con características específicas para las diferentes necesidades. Hay distribuciones para los sitios de la comunidad, la educación, el gobierno, las organizaciones no lucrativas, eventos, comercio electrónico, etc. Por ello, y aunque en ambos casos las limitaciones depende de la experiencia y recursos del usuario, dado el potencial que tiene Drupal, es más recomendable su uso al poder crearse sitios mucho más completos Conexión con API de Envío Expres Tal y como se indicó anteriormente en los objetivos del proyecto, una de las funcionalidades que se ha introducido dentro de la distribución de commerce que ofrece Drupal ha sido la elaboración de un módulo personalizado capaz de realizar la conexión con una API para obtener el precio del servicio de mensajería más económico de acuerdo a las características del producto y el envío. Dicha API pertenece a un nuevo servicio llamado Envío Expres [23]. Este servicio ofrece un buscador y comparador de empresas de paquetería, paquetería barata y mensajería low cost. Está desarrollada con funciones PHP [24], las cuales utilizan la librería curl [25] para la comunicación entre ambas parte, devolviendo en todos los casos una respuesta en formato JSON [26]. Página 22

24 El Hypertext Pre-Processor, más conocido globalmente como PHP, es un lenguaje de programación interpretado, de código abierto y diseñado originalmente para la creación de páginas web dinámicas. Se usa principalmente para la interpretación del lado del servidor aunque actualmente se puede utilizar desde una interfaz de línea de comandos o en la creación de otro tipo de programas que incluyan interfaz gráfica. Para su funcionamiento, el servidor se encarga de ejecutar el código fuente escrito en PHP y envía su resultado HTML al navegador. PHP es un lenguaje que cuenta con una amplia documentación, ya que tiene implementada multitud de funciones predefinidas. Por si eso fuera poco, y como complemento, tiene la capacidad de ampliar dichas funciones con el uso de librerías. En nuestro caso, la librería utilizada es la librería de curl (libcurl). curl es código libre distribuido bajo la Licencia MIT. El principal propósito y uso para curl es automatizar transferencias de archivos o secuencias de operaciones no supervisadas. Actúa como un envoltorio (wrapper) aislado para la biblioteca libcurl. Tal y como se ha dicho anteriormente, la API cuenta con varias funciones escritas en PHP. Para poder acceder a esas funciones, es necesario establecer una conexión autenticada con dicha API. Una vez establecida la conexión, todas las llamadas que se realizan con funciones de la API tienen como respuesta un resultado en formato JSON. JSON, acrónimo de JavaScript Object Notation, es un formato ligero para el intercambio de datos. JSON es un subconjunto de la notación literal de objetos de JavaScript que no requiere el uso de XML. La simplicidad de JSON ha dado lugar a la generalización de su uso, especialmente como alternativa a XML en AJAX. JSON se emplea habitualmente en entornos donde el tamaño del flujo de datos entre cliente y servidor es de vital importancia cuando la fuente de datos es explícitamente de fiar y donde no es importante el no disponer de procesamiento XSLT para manipular los datos en el cliente. Página 23

25 2.3 Metodología Para el desarrollo de un sistema, es necesario contar con una metodología, ya que con ella se estructura, planifica y controla las tareas necesarias durante el proceso. Para este caso, se ha seguido un desarrollo basado en modelo de ciclo de vida iterativo e incremental. Se trata de un proceso de desarrollo software creado en respuesta a las debilidades del modelo tradicional de cascada. A su vez, la construcción del sistema hará uso de diferentes tecnologías y herramientas para complementar la utilización del CMS utilizado, que en este caso será Drupal por una serie de características que posee y que como anteriormente se ha visto, es más apropiado que otros CMS con los que se ha comparado. Figura 2.5: Metodología de desarrollo iterativa e incremental [27] El principal objetivo que se persigue con este proceso iterativo es el desarrollo de programas de manera incremental, permitiéndole al desarrollador sacar partido de lo que ha descubierto y aprendido a lo largo del desarrollo anterior, incrementado, versiones entregables del sistema. El aprendizaje se obtiene de dos vertientes: el desarrollo del sistema, y su uso, siempre y cuando sea posible. Los pasos claves en el proceso son comenzar con una implementación simple de los requerimientos del sistema, e iterativamente mejorar la secuencia evolutiva de versiones hasta que el sistema esté completamente implementado. En cada una de las iteraciones, se realizan cambios en el diseño y se agregan nuevas funcionalidades y capacidades al sistema. Página 24

26 Las ventajas que aporta a un proyecto el empleo de este modelo iterativo son las siguientes: - Los clientes no esperan hasta el fin del desarrollo para empezar a utilizar y familiarizarse con el sistema. Son capaces de empezar a usarlo desde el primer incremento. - Los clientes pueden aclarar los requisitos que no tengan claros conforme ven las entregas del sistema. - La solución se va mejorando en forma progresiva a través de las múltiples iteraciones, ya que se pueden aclarar los requisitos que no tengan claros conforme ven las entregas del sistema. - Se disminuye el riesgo de fracaso de todo el proyecto, puesto que este se puede distribuir en cada incremento. - Las partes más importantes del sistema son implementadas primero, por lo cual se realizan más pruebas en estos módulos y se disminuye el riesgo de fallos. Página 25

27 3. Análisis de Requisitos Este capítulo está dedicado a definir todos los requisitos que se han tenido en cuenta para el desarrollo de este sistema. Para comenzar, se describen las técnicas de recogida de información que utilizadas para capturar los requisitos que formaran el sistema desarrollado. Posteriormente, se detallan los requisitos funcionales del sistema utilizando casos de uso. También habrá que tener en cuenta los requisitos no funcionales, de los cuales se hablará en la última parte de esta sección. 3.1 Técnicas de Recogida de Información Una de las primeras tareas que se debe realizar a la hora de concretar la funcionalidad y los requisitos de un sistema software es utilizar alguna técnica de recogida de información. En el caso de este proyecto, la interacción se ha producido con el equipo de la empresa Suomitech Soluciones Innnovadoras. La primera toma de contacto se produjo en una entrevista, donde se plantearon las ideas que tenían para la creación de una plataforma de comercio electrónico capaz de ofrecer soporte para la creación y administración de tiendas online. Tras esta primera reunión se sacaron los primeros requisitos que deberían servir como referencia para el desarrollo. La recogida de información no solo se ha limitado a los requisitos inicialmente planteados, sino que siguiendo la metodología empleada, durante el desarrollo del mismo se fueron refinando e incluso se fueron añadiendo nuevos requisitos al sistema hasta llegar a los que se van a definir a continuación. Página 26

28 3.2 Requisitos Funcionales En este apartado se van a definir los requisitos funcionales que se han determinado durante el proceso de desarrollo del proyecto en base a las especificaciones ofrecidas por la empresa Suomitech Soluciones Innnovadoras. Para ello vamos a tener dos tipos de usuario definidos: el gestor de la tienda y el cliente. La figura 3.1 muestra el diagrama de casos de uso que van a ser examinados en profundidad en los siguiente subapartados. Figura 3.1: Casos de uso Casos de uso para el rol Gestor Los gestores son los usuarios encargados administrar y configurar el sistema a su gusto, para conseguir vender lo que ellos desean. A continuación, se muestran cada uno de los casos de uso relacionados con este tipo de usuarios. Página 27

29 Registrar tienda El usuario accederá a la plataforma para la creación de una tienda. Para ello, ha de registrarse en la plataforma y de forma que se procederá al registro de la tienda, asignándole dentro de esta tienda el rol de gestor. Caso de uso: Registrar tienda Personal involucrado e interés: Gestor: Se registra en el sistema para crear una nueva tienda Postcondiciones: El gestor accede a la plataforma web. Escenario principal de éxito (o flujo básico): 1. El gestor accede a la plataforma web. 2. La plataforma le solicita que introduzca su nombre, de contacto, nombre de la tienda y contraseña. 3. El gestor introduce los datos. 4. La plataforma añade al gestor como usuario del sistema. 5. La plataforma crea una réplica de la tienda base a la que se asigna permisos de administración al gestor registrado. Extensiones (o flujos alternativos): 3 a. El gestor se equivoca al introducir los datos solicitados. - La plataforma permitirá al gestor revisar sus datos y repetirá la operación Autenticar en tienda El usuario se autenticará en la tienda creada como gestor para poder configurar y administrar el sitio creado. Caso de uso: Autenticar en tienda Personal involucrado e interés: Gestor: Se autentica en el sistema para acceder y administrar una tienda Precondiciones: El gestor está registrado en la plataforma. El gestor ha creado una nueva tienda. El gestor conoce sus datos como usuario (nombre y contraseña). Postcondiciones: El gestor accede a la plataforma web creada. El gestor se encuentra autenticado como usuario en el servidor. Escenario principal de éxito (o flujo básico): 1. El gestor se conecta a la plataforma web. 2. El sitio le solicita la introducción de su nombre de usuario y contraseña. Página 28

30 3. El gestor introduce los valores solicitados correctamente. 4. El sitio web recibe los datos y realiza una petición de login al servidor por parte del gestor. 5. El servidor recibe los datos y permite la conexión del gestor al sistema. 6. El servidor retorna al sistema la confirmación de que el proceso se ha ejecutado de forma correcta. 7. El gestor accede al sitio web. Extensiones (o flujos alternativos): 3 a. El gestor no introduce alguno de los valores solicitados - La plataforma indicará al gestor que revise sus datos e inserte los que faltan para posteriormente repetir la operación. 3 b. El gestor se equivoca al introducir los datos solicitados. - La plataforma permitirá al gestor revisar sus datos y repetirá la operación Configurar tienda El usuario gestor, una vez autenticado en la tienda, configurará datos básicos de la tienda, como su nombre, logo, dirección física de envío, datos de contacto o información de servicios. Caso de uso: Configurar tienda Personal involucrado e interés: Gestor: Debe de configurar los datos básicos de su tienda Precondiciones: El gestor se ha autenticado correctamente en la plataforma Postcondiciones: El gestor ha actualizado los datos de contacto de la tienda El sitio ha quedado configurado para que puedan contactar con el gestor La tienda tiene asignado su nombre y logo de forma correcta La tienda permite la conexión con la API de envíos para calcular los gastos de envío. Escenario principal de éxito (o flujo básico): 1. El gestor se autentica en la web de la tienda creada 2. El gestor accede a la administración del sitio. 3. El gestor inserta un de contacto válido y un nombre para la tienda. 4. El gestor inserta y sube un logo que se establecerá como logo de la tienda. 5. El gestor configura su dirección de envío para establecer desde qué lugar se producirán los envíos y así poder calcular los gastos de envío. 6. El gestor editará las páginas de contacto e información básicas para que los usuarios puedan estar al corriente todo lo referente a la tienda. Extensiones (o flujos alternativos): 3 a. El gestor introduce un de contacto no válido Página 29

31 - La plataforma indicará al gestor que revise su e inserte uno que sea válido 4 a. El gestor sube como logo un archivo no soportado por el sistema. - La plataforma le indicará que tiene que subir un fichero con uno de los formatos soportados. 5 a. El gestor establece datos de dirección de envío con un formato incorrecto. - La plataforma le indicará que tiene que revisar sus datos e insertarlos de forma correcta. 5 b. El gestor se olvida de insertar alguno de los datos necesarios para establecer la dirección de envío. - La plataforma le indicará que tiene que revisar sus datos e insertar aquellos que se indican como obligatorios Configurar métodos de pago El usuario gestor, una vez autenticado en la tienda, configurará los datos de conexión con las respectivas APIs de los servicios de pago que se ofrecen. Caso de uso: Configurar métodos de pago Personal involucrado e interés: Gestor: Debe de configurar los datos de conexión a las plataformas de pago. Precondiciones: El gestor se ha autenticado correctamente en la plataforma Postcondiciones: El gestor ha configurado los datos de conexión con las plataformas de pago disponibles Escenario principal de éxito (o flujo básico): 1. El gestor se autentica en la web de la tienda creada 2. El gestor accede a la administración del sitio. 3. El gestor inserta los datos de conexión con los servicios de pago Extensiones (o flujos alternativos): 3 a. El gestor introduce alguno de los datos con un formato incorrecto - La plataforma indicará al gestor que revise sus datos y los inserte de forma correcta. Página 30

32 3 b. El gestor se olvida de insertar alguno de los datos necesarios para configurar de forma correcta las plataformas de pago. - La plataforma le indicará que le falta por insertar alguno de los datos que son requeridos Crear producto El usuario gestor, una vez autenticado en la tienda, creará las visualizaciones de los productos que quiere vender. Tendrá que establecer su nombre, dimensiones y peso y precio de forma obligatoria. Caso de uso: Crear producto Personal involucrado e interés: Gestor: Debe crear un nuevo producto Precondiciones: El gestor se ha autenticado correctamente en la plataforma Postcondiciones: El gestor crea de forma correcta un producto Escenario principal de éxito (o flujo básico): 1. El gestor se autentica en la web de la tienda creada 2. El gestor accede a la zona de administración de los productos 3. El gestor decide añadir un nuevo producto 4. El gestor insertar todos los datos necesarios para crear un nuevo producto Extensiones (o flujos alternativos): 4 a. El gestor se olvida de insertar alguno de los datos necesarios para la creación de un nuevo producto. - La plataforma le indicará que le falta por insertar alguno de los datos que son requeridos Modificar producto El usuario gestor, una vez autenticado en la tienda, puede modificar datos de los productos ya creados. Caso de uso: Modificar producto Personal involucrado e interés: Gestor: Modifica uno de los productos existentes Página 31

33 Precondiciones: El gestor se ha autenticado correctamente en la plataforma Existen productos en la tienda Postcondiciones: El gestor modifica los atributos de un producto existente Escenario principal de éxito (o flujo básico): 1. El gestor se autentica en la web de la tienda creada 2. El gestor accede a la zona de administración de los productos 3. El gestor decide modificar uno de los producto ya existentes 4. El gestor modifica todos los datos que quisiera del producto Extensiones (o flujos alternativos): 4 a. El gestor no introduce alguno de los valores solicitados - La plataforma indicará al gestor que revise sus datos e inserte los que faltan para posteriormente repetir la operación Eliminar producto El usuario gestor puede optar por eliminar un producto ya creado en su tienda. Caso de uso: Eliminar producto Personal involucrado e interés: Gestor: Elimina uno de los producto Precondiciones: El gestor se ha autenticado correctamente en la plataforma Existen productos en la tienda Postcondiciones: El gestor elimina uno de los productos existentes Escenario principal de éxito (o flujo básico): 1. El gestor se autentica en la web de la tienda creada 2. El gestor accede a la zona de administración de los productos 3. El gestor decide eliminar uno de los producto ya existentes 4. El gestor elimina el producto deseado Extensiones (o flujos alternativos): 4 a. El gestor desea borrar un producto que todavía tiene un pedido en estado de tramitación - El sistema indica que la operación no puede ser realizada debido a que existe un pedido actual en el que está involucrado ese producto. Página 32

34 Ver pedidos El usuario gestor, una vez autenticado en la tienda, será capaz de acceder al listado de los pedidos realizados en la tienda. Caso de uso: Ver pedidos Personal involucrado e interés: Gestor: Puede acceder al listado de los pedidos Precondiciones: El gestor se ha autenticado correctamente en la plataforma Existen pedidos en la tienda Postcondiciones: El gestor accede al listado de pedidos existentes Escenario principal de éxito (o flujo básico): 1. El gestor se autentica en la web de la tienda creada 2. El gestor accede a la zona de administración de los pedidos Actualizar pedidos El usuario gestor, una vez autenticado en la tienda, podrá acceder al listado de los pedidos realizados en la tienda y cambiar datos de los mismos. Caso de uso: Actualizar pedidos Personal involucrado e interés: Gestor: Actualizar un pedido existente Precondiciones: El gestor se ha autenticado correctamente en la plataforma Existen pedidos en la tienda Postcondiciones: El gestor actualiza un pedido existente Escenario principal de éxito (o flujo básico): 1. El gestor se autentica en la web de la tienda creada 2. El gestor accede a la zona de administración de los pedidos 3. El gestor selecciona uno de los pedidos existentes 4. El gestor actualiza algún dato del pedido seleccionado Extensiones (o flujos alternativos): 4 a. El gestor desea actualizar un producto que todavía tiene un pedido en estado de tramitación Página 33

35 - El sistema indica que la operación no puede ser realizada debido a que existe un pedido actual en el que está involucrado ese producto. 4 b. El gestor olvida insertar algún dato necesario de un producto - La plataforma indicará al gestor que revise sus datos e inserte los que faltan para posteriormente repetir la operación Casos de uso para el rol Cliente Los clientes son los usuarios que se conectarán al sitio en busca de algún producto que les interese y puedan comprar. A continuación, se muestran cada uno de los casos de uso relacionados con este tipo de usuarios Registrar en tienda Los usuarios que deseen comprar en la tienda, se deben registrar y se les asignará un rol de cliente, que les permitirá realizar compras de los productos. Caso de uso: Registrar en tienda Personal involucrado e interés: Cliente: Debe registrarse como un nuevo usuario de la tienda Postcondiciones: El cliente se registra en la tienda Escenario principal de éxito (o flujo básico): 1. El cliente accede a la tienda 2. El cliente va a la zona de registro de usuarios 3. El cliente inserta los datos necesarios para el registro de un nuevo usuario 4. El cliente queda registrado en la tienda y ya tiene permitido realizar compras Extensiones (o flujos alternativos): 3 a. El cliente introduce alguno de los datos con un formato incorrecto - La plataforma indicará al usuario que revise sus datos y los inserte de forma correcta. 3 b. El cliente se olvida de insertar alguno de los datos necesarios para registrar correctamente un nuevo usuario. - La plataforma le indicará que le falta por insertar alguno de los datos que son requeridos. Página 34

36 Realizar compra Los clientes deciden realizar la compra de uno de los productos ofertados en la tienda, de manera que completan un pedido. Caso de uso: Realizar compra Personal involucrado e interés: Cliente: Desea realizar una compra en la tienda Precondiciones: El cliente está registrado en la tienda El cliente está autenticado correctamente en la plataforma Postcondiciones: El cliente se ha autenticado en la tienda El cliente elige y procede a comprar algún producto de la tienda El pedido realizado se ha completado Escenario principal de éxito (o flujo básico): 1. El cliente accede a la web de la tienda creada 2. El cliente selecciona y añade a la cesta de la compra uno de los productos 3. El cliente procede a tramitar el pedido de la cesta 4. El sistema solicita al cliente que inserte tanto su dirección de envío como la de facturación. 5. El cliente elige uno de los métodos de envío ofrecidos 6. El cliente selecciona uno de los métodos de pago 7. El sistema ofrece un resumen del pedido antes de proceder a realizar el pago 8. El sistema conecta con el servicio externo de pago para completar el mismo 9. El servicio externo de pago devuelve la conexión a la tienda y se da por finalizada la compra Extensiones (o flujos alternativos): 3 a. El cliente no está autenticado en la tienda - La plataforma indicará al usuario que necesita autenticarse o en caso de no estar registrado, proceder a registrarse para poder tramitar el pedido 4 a. El cliente introduce alguno de los datos con un formato incorrecto - La plataforma indicará al usuario que revise sus datos y los inserte de forma correcta. 4 b. El cliente se olvida de insertar alguno de los datos necesarios para conocer dónde realizar el envío. - La plataforma le indicará que le falta por insertar alguno de los datos que son requeridos. 5 a. El cliente establece una dirección de envío que los servicios de mensajería no tienen contemplada. - La plataforma no mostrará ningún método de envío, ya que la conexión con la Página 35

37 API de envíos no devolverá ningún resultado, y por lo tanto, el cliente debería ponerse en contacto con el administrador del sitio si quiere completar dicho pedido. 8 a. El gestor de la tienda ha configurado de forma errónea la conexión con los servicios de los métodos de pago. - Al intentar realizar la conexión con el servicio de pago externo, éste devolverá un mensaje indicando que no es posible realizar el pago, devolviendo la conexión a la tienda. Página 36

38 3.3 Requisitos No Funcionales Además de los propios requisitos funcionales del sistema, hay que tener en cuenta otras características importantes que le afectan desde diferentes ámbitos. A estos requisitos se los conoce como no funcionales, y comprenden un amplio rango de ámbitos Usabilidad La navegación en la web será intuitiva y amigable de modo que los usuarios puedan consultar los productos ofertados y realizar las compras de forma satisfactoria y con eficacia sin haber recibido ningún tipo de formación previa sobre el funcionamiento del sistema Compatibilidad Todas las páginas tendrán una estructura común para que el visitante se sienta siempre orientado durante su navegación. Además, la web deberá de visualizarse y tener el mismo comportamiento en los exploradores más importantes: - Internet Explorer (versión v11.0) - Mozilla Firefox (versión Firefox 20.0) - Google Chrome (versión 28) - Safari (versión 5.1.7) - Opera (versión 12.16) Requisitos Legales Uno de los puntos más importantes que hay que tener en cuenta a la hora de realizar un proyecto de estas características son las implicaciones legales que ello conlleva. En nuestro caso, al tratarse de tiendas online, implica que vamos a estar manejando y almacenando datos personales. Por ello, el sistema debe cumplir con las Ley Orgánica 15/1999, de 13 de diciembre de Protección de Datos de Carácter Personal (LOPD) [28]. Su objetivo principal es regular el tratamiento de los datos y los ficheros, de carácter personal, independientemente del soporte en el cual sean tratados, los derechos de los ciudadanos sobre ellos y las obligaciones de aquellos que los crean o tratan. Página 37

39 4. Diseño e implementación Tras definir los requisitos del proyecto, el siguiente paso es recoger la fase de diseño e implementación de la aplicación. En la primera parte de este capítulo se explica el diseño que se ha seguido para el desarrollo de este sistema, mientras que en la segunda parte, se detalla cómo se ha implementado el sistema en cada una de las iteraciones llevadas a cabo. 4.1 Diseño del sistema A continuación se recoge la fase de diseño del sistema. Se ha estructurado en dos subapartados. En el primero, se ha utilizado un modelo de dominio del sistema para representar la vista conceptual del mismo, mientras que en el segundo, se expone la arquitectura del sistema utilizada durante el desarrollo del proyecto Modelo de dominio Se entiende como modelo de dominio a la representación visual de las clases conceptuales u objetos del mundo real en un dominio de interés. No solo se trata de un conjunto de diagramas que describen clases software, u objetos software con responsabilidades, sino que trata de mostrar clases conceptuales significativas dentro de dicho dominio. La Figura 4.1 muestra el modelo de dominio del sistema planteado en este proyecto. Conceptualmente, el sistema se basa en la interrelación de diferentes elementos. Tantos usuarios (gestores) como quieran podrán registrar su tienda desde el gestor de sitios, de forma que sean capaces de gestionar tanto la tienda creada, como los productos y pedidos que la forman. De igual manera, los clientes serán los encargados de poder realizar pedidos formados por diferentes productos. Dichos clientes serán independientes entre diferentes tiendas, interactuando en una u otra sin ningún tipo de relación. Página 38

40 Figura 4.1: Modelo de Dominio del sistema Diseño Arquitectónico Como ya se ha comentado anteriormente, el sistema desarrollado ésta construido sobre el CMS de Drupal. Ya se han descrito sus características más significativas, pero si entramos un poco más en detalles de diseño, podemos ver que este CMS se basa en tres capas: Figura 4.2: Capas de un CMS [29] Página 39

41 - Capa de datos: Las bases de datos contienen toda la información de la página web. Normalmente se usan bases de datos MySQL, que guardan información sobre usuarios, configuraciones, menús del sitio En definitiva, aquí se almacena el contenido de la página. - Capa de aplicación: En esta capa, trabajan los ficheros internos de la aplicación. Generalmente los CMS se suelen basar en lenguaje PHP, por lo que en este nivel, el trabajo principal que se realiza es el del intercambio de datos desde el cliente hasta el servidor y viceversa. Aquí, cuando el usuario solicita que se muestre un contenido, el CMS lo busca en la base de datos del servidor donde se aloja la página web y lo envía al navegador del visitante. - Capa de presentación: Contiene la maquetación del sitio web, así como el código estático de la página. Sobre esta maquetación se mostrarán los datos obtenidos de la capa de aplicación. Las tecnologías usadas en esta capa son normalmente HTML y hojas de estilo CSS. Se suele complementar con Javascript para dotar de interactividad a las páginas. Alguna de las principales ventajas de una arquitectura de 3 capas es la posibilidad de dividir el desarrollo en varios niveles y que los cambios o actualizaciones que sean necesarias, puedan realizarse sin afectar al conjunto de la aplicación, requisito indispensable para este proyecto. Gracias a esta arquitectura, si alguno de los gestores de su tienda quiere realizar alguna modificación o desarrollo a medida, únicamente sería necesario realizar cambios en la capa de presentación y en la de datos, dejando intacta la capa de aplicación. 4.2 Implementación del sistema De acuerdo a la metodología empleada, la fase de implementación del proyecto se ha prologando durante más tiempo del inicialmente previsto. Esto se debe principalmente a los cambios en los requisitos que han ido surgiendo a lo largo de cada iteración Despliegue inicial de plataforma de comercio electrónico La primera iteración, y con ello el inicio de la implementación, consiste en el despliegue de un nuevo sitio con el CMS Drupal, utilizando una de sus distribuciones para comercio electrónico llamada Commerce Kickstart. Esta distribución trae con sigo multitud de módulos commerce muy buenos y útiles para poder empezar a montar una web sencilla, pero no son suficientes para conseguir todo lo que se desea implementar en este proyecto. Es por ello que en Página 40

42 iteraciones posteriores se añadirán nuevas funcionalidades al sistema en forma de módulos custom. Además, uno de los puntos interesantes con los que cuenta esta distribución de comercio electrónico es que la capa de presentación cuenta con un diseño responsive, de forma que el sitio se adapta a distintos dispositivos, sea móvil, tableta o pantalla de ordenador [30]. Figura 4.3: Ejemplo de distribución commerce kickstart [31] Para ello, necesitamos descargar dicha distribución y extraer los archivos, de forma que se cree un nuevo directorio de Drupal, el cual podemos mover al directorio de nuestro servidor web donde se encuentra el documento raíz del directorio HTML público. A continuación, se crea una nueva base de datos para nuevo sitio. MySQL pedirá la contraseña para el usuario db_user y luego creará los archivos iniciales de la base de datos. Luego se debe ingresar y establecer los permisos de acceso a la base de datos, para finalmente proceder a la creación e importación de las tablas con sus datos. Una vez creada y establecida la conexión entre la base de datos y el sitio de Drupal, ya se puede abrir el navegador e ingresar en él. De esta forma, podemos pasar a la siguiente de las iteraciones del proceso de desarrollo Preparación de los datos La segunda de la iteraciones consiste en configurar el sitio creado de acuerdo a lo que se va a querer ofrecer a los clientes. Drupal es una plataforma extremadamente flexible que permite muchas opciones para cambiar el aspecto del sitio, cómo los usuarios interaccionan con él, o los tipos de contenido que se pueden mostrar. Con esto se hace también referencia a cosas simples como pueden ser la configuración de los menús y bloques, eliminando algunos de los que vienen por defecto y añadiendo otros personalizados. Página 41

43 A medida que el sitio web evoluciona y la demanda crece, es necesario adaptar el aspecto o la funcionalidad a las necesidades. Primero ajustando las opciones de configuración, instalando nuevos módulos o temas visuales y, en último término, ya que tal y como se ha contentado con anterioridad, Drupal es un producto que se entrega con una licencia de "código abierto" (GNU/GPL) y se puede modificar el código adaptándolo hasta el infinito. Una parte importante de esta iteración es crear una estructura adecuada para los productos de cada una de las tiendas. Es necesario que a cada producto se le asignen unas dimensiones y un peso, de manera que posteriormente se pueda acceder a dichos datos a la hora de realizar la conexión con la API para calcular los gastos de envío. Además, un atributo a tener en cuenta de cada producto serán las variaciones. Dichas variaciones serán creadas y asignadas por los gestores que creen cada producto, de forma que de esta manera puedan definir atributos de cada producto como puede ser su talla, color, forma, etc. Otros atributos igual de importantes para cada producto son el precio, el stock, o las imágenes descriptivas de cada uno de ellos. La Figura 4.4 muestra la estructura de un producto a modo de ejemplo. Figura 4.4: Estructura de tipo de contenido producto Una vez creada la estructura de los productos, se crean paginas básica del sitio como son las de términos y condiciones, aviso legal, condiciones de compra, etc. Todas estas páginas incluyen información referente al sitio y posteriormente podrán ser configuradas por el gestor de la tienda. Además de estas páginas, también se crea una página de contacto, que incluirá los datos que establezca el gestor, así como un formulario web para que se pongan en contacto con el gestor del sitio. Página 42

44 4.2.2 Creación de nuevos módulos en Drupal Una vez se ha dejado configurado el sitio de forma básica, creando la estructura correcta de los productos y usuarios, la siguiente iteración se centró en el desarrollo de un módulo que permita la conexión con la API existente para el cálculo de los gastos de envío en función del peso y dimensiones de los productos, así como de la dirección a la que haya que enviar dicho producto. Además, dicho módulo ha de integrarse y ser compatible con el servicio de envíos que Drupal implementa Módulo de cálculo de gastos de envío Ya se ha comentado que Drupal es un gestor de contenido con gran potencial debido a la constante creación y actualización de módulos por parte de la comunidad de usuarios que posee, pero en ocasiones, con los módulos existentes surgen problemas o su funcionalidad no es la que se requiere. Es por ello que es necesario el desarrollo de un nuevo módulo que cubra esas necesidades. Durante el proceso de planteamiento y diseño del sistema, se analizaron varios módulos de conexión con sistemas de envío, como el commerce ups, perteneciente al servicio UPS, o el commerce fedex, que permite la conexión con la API de Fedex. Tras desgranar en detalle y comprobar el funcionamiento de estos dos módulos, similares a lo que se pretendía implementar, pero con otras APIs para el servicio de envíos, se decidió por crear un módulo propio. Como ya se comentó con anterioridad (véase Conexión API Servicio Mensajería), la API está desarrollada con funciones PHP, las cuales utilizan la librería curl para la comunicación entre las dos partes y devolviendo una respuesta en formato JSON. A continuación, se muestra el ejemplo de una de las llamadas a una función de la API utilizada: Página 43

45 Función lib_curl($url,$data,$method="get",$token="") $method GET $url $data Respuesta JSON o OK 0 id : "1" descripcion : "CHRONO 24" proveedorid : "1" proveedor : "CHRONOEXPRES, S.A." 1 id : "2" descripcion : "GREEN ECONOMY" proveedorid : "2" proveedor : "GREENPACKET S.L." 2 id : "3" descripcion : "GREEN MASIVO" proveedorid : "2" proveedor : "GREENPACKET S.L." 3 id : "5" descripcion : "TIPSA" proveedorid : "4" proveedor : "TIPSA S.L." 4 id : "6" descripcion : "MEX TRANSPORTE URGENTE" proveedorid : "5" proveedor : "MEX" 5 id : "7" descripcion : "HALCURRIER" proveedorid : "6" proveedor : "HALCURRIER" Ejemplo $remoto = new lib_curl(" ken]"); $remoto->peticion(); Tabla 4.1: Ejemplo de llamada de la API Los módulos de Drupal están codificados en lenguaje PHP, y constan principalmente de dos archivos obligatorios: el archivo.info y el archivo.module. El primero de ellos contiene la información básica sobre la configuración del módulo: su nombre, un pequeña descripción, el paquete de módulos al que pertenece, el core de Drupal para el que funciona y sus dependencias con otros módulos sin los cuales no puede instalarse en Drupal; además de la localización del fichero con la lógica del módulo (.module). Página 44

46 La Figura 4.5 muestra el contenido del archivo.info (commerce_envioexpres.info) de uno de los dos módulos creados en este proyecto. Figura 4.5: Archivo commerce_envioexpres.info La lógica del módulo se centra en el archivo.module (commerce_envioexpres.module). De esta forma básica, contiene varias funciones que apelan a un hook de Drupal donde deberá lanzarse la acción que realiza el módulo. En ese caso, son varias las funciones creadas, ya que el módulo es algo complejo. Además de los archivos.info y.module, los módulos pueden incluir otros ficheros con extensiones diferentes. En este caso, se han incluido.install y un.admin.inc. El primero (commerce_envioexpres.install), se ejecuta la primera vez que se habilita el módulo habilitado, y se utiliza para ejecutar procedimientos de configuración requeridos por el módulo. La tarea más habitual es la creación de las tablas de bases de datos y campos. El segundo (commerce_envioexpres.admin.inc) incluye parte del código necesario para realizar la conexión con la API de envíos utilizada. Además, en este fichero se han creado numerosas funciones que sirven para adaptar comunicación entre la API y el sitio, de forma que la respuesta obtenida esté formateada de forma correcta para poder manejar dichos datos. Página 45

47 La Figura 4.6 muestra una de dichas funciones creadas en el archivo commerce_envioexpres.admin.inc Figura 4.6: Función commerce_envioexpres_getproveedores($token) Esta función que se muestra como ejemplo, tras pasar como argumento un token válido obtenido al realizar una conexión con la API, realiza una nueva petición para obtener el listado de los proveedores disponibles. Dicha petición devuelve un resultado en formato JSON que será formateado hasta conseguir formar un array con todos los resultados. De esta forma podrá ser retornado para que se pueda acceder a dichos datos de manera más fácil. La Figura 4.7 muestra cuál sería el resultado de una llamada a esta función. Página 46

48 Figura 4.7: Resultado de llamada a función commerce_envioexpres_getproveedores($token) Como se está trabajando en crear un módulo que se integre con el cálculo de tasas envío para añadir a la tramitación de los pedidos ( order ), es necesario utilizar un hook que añada tal funcionalidad. Para tal caso, se ha creado la función commerce_envioexpres_service_rate_order($shipping_service, $order). Figura 4.8: Función del archivo commerce_envioexpres.module Página 47

49 Dicha función es bastante extensa, por lo que no se puede mostrar por completo. Lo que esta función hace es devolver el listado de los servicios de envío disponibles, teniendo en cuenta las dimensiones y peso total del pedido obtenido en base al total de los productos que están añadidos en el carro de la compra, así como la dirección a la que el usuario desea que envíen su pedido. Finalmente, tras mucho desarrollo y pruebas, con todo esto se consiguió realizar una conexión e integración correcta, consiguiendo obtener un módulo completamente funcional listo para ser activado desde el gestor de contenido. Una vez activado, durante el proceso de compra ya podemos obtener un listado de servicios de mensajería con su correspondiente precio de envío en relación al peso y dimensiones del producto y la dirección a la que se debe enviar dicho pedido. La Figura 4.9 muestra el resultado final obtenido durante el proceso de compra, más en concreto en la parte de envíos. Figura 4.9: Selección de gastos de envío durante el proceso de checkout Página 48

50 Módulo de administración para gestor La siguiente de las iteraciones también consistiría en el desarrollo de otro módulo custom, en este caso para posibilitar al gestor actualizar datos del sitio, establecer su dirección de origen, que servirá como referencia a la hora de calcular los gastos de envío de los pedidos, o establecer los datos de conexión a los métodos de pago disponibles. En esta ocasión, el módulo sí que únicamente dispone de dos archivos, el.info y el.module. En este último será donde se implemente toda la lógica que permitirá al gestor configurar las opciones permitidas del sistema. En dicho archivo se crean las funciones necesarias para generar un nuevo formulario (site_config_form). La Figura 4.10 muestra un extracto de dicha función Figura 4.10: hook_form de archivo site_config.module Con esta función se crea el formulario, realizando consultas a la base de datos para poder obtener algunos valores por defecto necesarios en algunos campos del formulario. Página 49

51 Además de la función en la que se definen los campos que formarán el formulario, es necesario definir una función de validación (site_config_form_validate) y otra de acción al ejecutar el formulario (site_config_form_submit). Desde la función de validación, se comprueba que el que inserta el gestor como de contacto tenga un formato válido. Figura 4.11: hook_form_validate de archivo site_config.module Por otro lado, la función de submit se encarga, una vez el formulario ha pasado la validación anterior, de actualizar en la base de datos los valores de dicho formulario. Con estas tres funciones, creamos un módulo completamente funcional para la administración del sitio. Figura 4.12: hook_form_submit de archivo site_config.module Página 50

52 Como resultado, se generará una zona de administración en la que el gestor podrá establecer los datos de configuración, tanto del sitio como de la dirección y los métodos de pago. Figura 4.13: Formulario de administración desde usuario gestor Página 51

53 4.2.3 Despliegue sitio principal Tras finalizar esta iteración, prácticamente se da por concluido el desarrollo de un modelo de tienda básico, el cual servirá de base para generar todas las tiendas. A lo que se procede a continuación, es al despliegue del sitio principal, aquel desde el que se registrarán y crearán sus tiendas los usuarios interesados. Para ello, se crea un sitio básico de Drupal, pero en el que se crearán y manejaran datos muy importantes del sistema como son las tiendas. El despliegue del sitio se realizará de forma muy similar al realizado en una iteración previo con el despliegue de la distribución de commerce kickstart (Véase 4.2.1). Este sitio no cuenta con la lógica y módulos dedicados al commerce, ya que únicamente se van a registrar las tiendas creadas, con sus datos de conexión, y datos del usuario gestor de cada una de ellas. Lo más importante será crear un tipo de contenido llamado tienda, en el cual se almacenarán datos necesarios para poder realizar más adelante la conexión con las bases de datos que almacenan toda la información de cada una de las tiendas. También es necesario establecer la estructura de los usuarios de este sitio, ya que por cada usuario que se registre querrá decir que se ha creado una nueva tienda. Los usuarios registrados tendrán la posibilidad de ampliar las funcionalidades de su tienda mediante suscripción. Lo que esto quiere decir es que aquellos usuarios que lo deseen, pueden establecer un dominio propio para su tienda, previo pago de una suscripción tras ponerse en contacto con la administración de la plataforma. La Figura 4.9 muestra un ejemplo de cómo quedaría estructurado un nuevo contenido de tienda. Figura 4.14: Ejemplo contenido tipo tienda Página 52

54 Una vez desplegado el sitio, creada la estructura de las tiendas y la estructura de los usuarios, se configura la página de registro de los usuarios y por lo tanto, de sus tiendas Replicar modelo de tienda Para conseguir realizar tal tarea de creación de una nueva tienda en base a un modelo ya establecido, lo que se hace es recurrir al módulo rules de Drupal, el cual se ejecuta en base a un evento y unas condiciones [32]. Para este proyecto, en concreto son dos las reglas que ejecutan gran parte de la lógica. Primero, tras registrarse un nuevo usuario, se crea un nuevo contenido de tipo tienda que será el desencadenante de que se ejecute la segunda regla, la más importante. Figura 4.15: Reglas para la creación de nuevas tiendas Esta regla es primordial, ya que es la encargada de replicar el sitio base importando sus archivos en un nuevo directorio para la nueva tienda creada. Para poder tener el nuevo, sitio con tener simplemente una réplica de los ficheros no es necesario, se necesitan datos. Es por ello que se conecta con la base de datos original del sitio base y se hace una copia, la cual se importará en una nueva base de datos creada. Página 53

55 Figura 4.16: Código PHP rules creación nueva base de datos Con esto, se consigue replicar por completo la tienda original y únicamente falta por actualizar valores en la nueva base de datos, como son el nombre de la tienda, o el sustituir en nombre del usuario gestor por el del usuario que ha creado la nueva tienda, y que por consiguiente, será a partir de ahora el nuevo gestor en dicha tienda creada. Ambas operaciones se ejecutan dentro de esta misma regla. Página 54

56 Figura 4.17: Código PHP rules réplica de archivos Con ambas reglas ejecutadas, ya tenemos disponible la nueva tienda. En el sistema de administración quedarán almacenados datos que referencian a dichas tiendas, como son su datos de conexión con la base de datos, usuario que las creó, dominio que utilizan, etc Administración de la plataforma Finalizadas todas las iteraciones anteriores, se está llegando a la parte final del proyecto. Esta parte se centra en la parte de administración de todas las tiendas generadas desde el sitio principal. Para ello se crean varios listados utilizando uno de los módulos más habituales para ello dentro de Drupal, el módulo views. Se generan varias vistas, para obtener por ejemplo un listado de los usuarios que han generado tiendas. Aunque los listados más importantes son y significativos son los que se han creado mostrando las tiendas creadas. En dichos listados se ejecutan mediante PHP y SQL consultas remotas a las bases de datos de cada una de las tiendas para poder obtener datos relativos a los pedidos tramitados en cada una de las tiendas. Lo que se pretende con esto es poder calcular el número total de pedidos de cada tienda, para obtener cuánto dinero llevan generado a través de estas ventas. Figura 4.18: Listado de gestión de pedidos de cada tienda Página 55

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá Gestor de Contenidos CMS Que es un CMS? CMS son las siglas de Content Management System, que se traduce directamente al español como Sistema Gestor de Contenidos. Como su propio nombre indica, es un sistema

Más detalles

PRESENTACIÓN DEL PRODUCTO

PRESENTACIÓN DEL PRODUCTO PRESENTACIÓN DEL PRODUCTO esernet, s.l. Sebastián Elcano, 32 Planta 1 Oficina 22 28012 Madrid Teléfono: 91 433 84 38 -- Fax. 91 141 21 89 www.esernet.com -- esernet@esernet.com 1. Introducción 2. Descripción

Más detalles

DESARROLLA TU BLOG O PÁGINA

DESARROLLA TU BLOG O PÁGINA 1 DESARROLLA TU BLOG O PÁGINA WEB CON WORDPRESS Introducción a los sistema de gestión de contenidos. Instalación de Wordpress PROGRAMA DEL TALLER Introducción a los sistemas de gestión de contenidos. Instalación

Más detalles

#SoftwareLibre14. Páginas Web con Software Libre. WordPress

#SoftwareLibre14. Páginas Web con Software Libre. WordPress Páginas Web con Software Libre WordPress Qué es WordPress? WordPress es un popular sistema de gestión de contenidos (CMS), más orientado a lo que son los blogs, o bitácoras en línea, pero también usado

Más detalles

3. Qué necesitamos para usar Wordpress?

3. Qué necesitamos para usar Wordpress? Contenido 1. Objetivos de este tutorial... 2 2. Qué es Wordpress?... 2 3. Qué necesitamos para usar Wordpress?... 2 3.1 Alojamiento web... 3 3.2 DOMINIO O DIRECCIÓN DE INTERNET... 3 3.3 Cuenta FTP... 4

Más detalles

Manual hosting acens

Manual hosting acens Manual hosting acens Contenido Acceso al panel de control de cliente... 3 Asociar un dominio a mi Hosting... 5 Acceso al panel de administración del hosting... 7 INICIO - Visión general del estado de nuestro

Más detalles

CÓMO MANEJAR SU NUEVO SITIO WEB SOBRE DRUPAL Manual técnico y de usuario. Pontificia Universidad Javeriana Grupo PSU 2009-1 CDI

CÓMO MANEJAR SU NUEVO SITIO WEB SOBRE DRUPAL Manual técnico y de usuario. Pontificia Universidad Javeriana Grupo PSU 2009-1 CDI CÓMO MANEJAR SU NUEVO SITIO WEB SOBRE DRUPAL Manual técnico y de usuario Pontificia Universidad Javeriana Grupo PSU 2009-1 CDI Sobre Drupal Instalación y configuración Drupal es un sistema de gestión de

Más detalles

GUÍA BÁSICA DE INSTALACIÓN

GUÍA BÁSICA DE INSTALACIÓN Bienvenido a creomicomercio.com, donde podrá crear y personalizar su propia tienda de comercio electrónico. Esta operación la podrá realizar en pocos minutos y on-line. Desde el hosting hasta la logística

Más detalles

1 Itinerario. 2 Descripción y funcionalidades principales. Google Docs. 1.1 Qué vamos a hacer? 1.2 Qué pasos vamos a seguir?

1 Itinerario. 2 Descripción y funcionalidades principales. Google Docs. 1.1 Qué vamos a hacer? 1.2 Qué pasos vamos a seguir? Google Docs 1 Itinerario 1.1 Qué vamos a hacer? En este tutorial aprendemos a manejar la herramienta Google Docs, de esta forma nos introduciremos en el llamado cloud computing, que podemos traducir como,

Más detalles

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red. Comercio electrónico. (e-commerce) Las empresas que ya están utilizando la red para hacer comercio ven como están cambiando las relaciones de la empresa con sus clientes, sus empleados, sus colaboradores

Más detalles

Usuarios y Permisos. Capítulo 12

Usuarios y Permisos. Capítulo 12 Capítulo 12 Usuarios y Permisos La gente simplemente intenta utilizar el sitio web Joomla! que has creado - ya sea de forma activa o pasiva. Cuanto mejor sea la experiencia que tenga al hacerlo, mejor

Más detalles

Objetivos del proyecto:

Objetivos del proyecto: Crear una página web corporativa atractiva, fácil de usar, que permita dar a conocer nuestra empresa, nuestros servicios y nuestros productos, a través de un medio con tanta importancia como es Internet.

Más detalles

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD Manual de usuario 1 - ÍNDICE 1 - ÍNDICE... 2 2 - INTRODUCCIÓN... 3 3 - SELECCIÓN CARPETA TRABAJO... 4 3.1 CÓMO CAMBIAR DE EMPRESA O DE CARPETA DE TRABAJO?...

Más detalles

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009) JOOMLA! ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009) Es necesario comentar que este manual ha sido diseñado en su mayor parte por comunidadjoomla.org. Este manual es una

Más detalles

Figura 4.6: Prototipo de la pantalla de inicio.

Figura 4.6: Prototipo de la pantalla de inicio. Por lo tanto el siguiente paso ha sido realizar el prototipo a más alto nivel del sitio web, para conocer cómo quiere la empresa que se estructure el contenido y qué aspecto darle. Para ello se ha utilizado

Más detalles

Joomla! La web en entornos educativos

Joomla! La web en entornos educativos Joomla! La web en entornos educativos Módulo : 2012 ACL (I). Usuarios. Estructura predeterminada. 4 Las versiones 2.5 de Joomla! poseen un avanzado ACL (Access Control List), que especifica qué usuarios

Más detalles

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib Manual de uso de la plataforma para monitores CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib [Manual de uso de la plataforma para monitores] 1. Licencia Autor del documento: Centro de Apoyo Tecnológico

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

Contenido Qué es Joomla?... 2 Tipos de extensiones... 4 Referencias... 8

Contenido Qué es Joomla?... 2 Tipos de extensiones... 4 Referencias... 8 Contenido Qué es Joomla?... 2 Qué es un sistema de gestión de contenidos (CMS)?... 2 Principales caracteristicas... 2 Multilenguaje... 2 Extensibilidad... 2 Gestion de contenido... 2 Frontend Edición...

Más detalles

Sistema de SaaS (Software as a Service) para centros educativos

Sistema de SaaS (Software as a Service) para centros educativos Sistema de SaaS (Software as a Service) para centros educativos Definiciones preliminares: Qué es SaaS? SaaS (1) es un modelo de distribución del software que permite a los usuarios el acceso al mismo

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

IMPLEMENTAMOS y GESTIONAMOS GESTOR DE CONTENIDOS. Gestiona tu propia web

IMPLEMENTAMOS y GESTIONAMOS GESTOR DE CONTENIDOS. Gestiona tu propia web Gestiona tu propia web y Beneficios Requisitos Antecedentes PROBLEMÁTICA Sabemos que generar contenidos interesantes en nuestra web aumentan el tráfico y con ello la posibilidad de una mayor venta de nuestros

Más detalles

Mi Negocio en Línea. DESCRIPCIÓN y CONCEPTO DEL PRODUCTO

Mi Negocio en Línea. DESCRIPCIÓN y CONCEPTO DEL PRODUCTO DESCRIPCIÓN y CONCEPTO DEL PRODUCTO INTRODUCCIÓN A LA HERRAMIENTA MI NEGOCIO EN LINEA es una revolucionaria herramienta online para crear y administrar sitios Web. Está orientado a Pequeñas y Medianas

Más detalles

Manual para la utilización de PrestaShop

Manual para la utilización de PrestaShop Manual para la utilización de PrestaShop En este manual mostraremos de forma sencilla y práctica la utilización del Gestor de su Tienda Online mediante Prestashop 1.6, explicaremos todo lo necesario para

Más detalles

MANUAL ECOMMERCE 2.0

MANUAL ECOMMERCE 2.0 MANUAL ECOMMERCE 2.0 1.- INTRODUCCIÓN Nuevas características añadidas al módulo: - Gestión de atributos de productos. - Gestión de cupones - Mejoras en métodos de envío - Descuentos a nivel de productos,

Más detalles

MANUAL DE USUARIO: AGENCIA DE VIAJES Configuración. Principales funcionalidades

MANUAL DE USUARIO: AGENCIA DE VIAJES Configuración. Principales funcionalidades MANUAL DE USUARIO: AGENCIA DE VIAJES Configuración. Principales funcionalidades ÍNDICE DE CONTENIDOS RESUMEN.2 DESARROLLO 1. Registro..2 2. Configuración.4 2.a) Ver y editar perfil..5 2.b) Configurar la

Más detalles

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd Maxpho Commerce 11 Gestión CSV Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd Índice general 1 - Introducción... 3 1.1 - El archivo CSV... 3 1.2 - Módulo CSV en Maxpho... 3 1.3 - Módulo CSV

Más detalles

Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia

Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com La puesta en marcha de WordPress es muy sencilla,

Más detalles

Toda base de datos relacional se basa en dos objetos

Toda base de datos relacional se basa en dos objetos 1. INTRODUCCIÓN Toda base de datos relacional se basa en dos objetos fundamentales: las tablas y las relaciones. Sin embargo, en SQL Server, una base de datos puede contener otros objetos también importantes.

Más detalles

GedicoPDA: software de preventa

GedicoPDA: software de preventa GedicoPDA: software de preventa GedicoPDA es un sistema integrado para la toma de pedidos de preventa y gestión de cobros diseñado para trabajar con ruteros de clientes. La aplicación PDA está perfectamente

Más detalles

[8 ] Contenidos: tipologías y organización.

[8 ] Contenidos: tipologías y organización. [8 ] Contenidos: tipologías y organización. Con Drupal podemos construir casi cualquier tipo de web, definiendo tipos de contenidos, estructurados, permisos, sistema de registro de usuarios, sistemas de

Más detalles

Qué es una página web?, qué conoces al respecto?, sabes crear una página

Qué es una página web?, qué conoces al respecto?, sabes crear una página Semana 13 13 Empecemos! Bienvenidos a una nueva sesión, llena de aprendizajes! En semanas anteriores estudiamos lo que son bases de datos, estructuras de datos y métodos de ordenamientos, todo lo cual

Más detalles

Nosotros nos encargamos de la parte técnica, tú de las ventas. Tiendas online Gorile Qué es Gorile? Visita nuestra web: gorile.com

Nosotros nos encargamos de la parte técnica, tú de las ventas. Tiendas online Gorile Qué es Gorile? Visita nuestra web: gorile.com Qué es Gorile? Una tienda online que te permite vender productos o servicios en internet. Sin preocuparse de la parte técnica, con todas las herramientas enfocadas a la venta online. Cómo crece una tienda

Más detalles

PROPUESTA DE DESARROLLO DE SITIO WEB AVANZADO

PROPUESTA DE DESARROLLO DE SITIO WEB AVANZADO Diseño Gráfico y Desarrollo Web PROPUESTA DE DESARROLLO DE SITIO WEB AVANZADO 2014 Tel: 66460338-55114997. 12 avenida 2-76 Z.13 Email: info@teknigt.com www.teknigt.com Contenido del paquete de sitio web

Más detalles

Conceptos Generales en Joomla 1.7.2.

Conceptos Generales en Joomla 1.7.2. 1.- Tipos de usuarios en Joomla! JOOMLA 1.7 USUARIOS. Los usuarios de sitios web de Joomla! pueden dividirse en dos categorías principales: Invitados. Usuarios registrados. Los Invitados son sencillamente

Más detalles

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS MANUAL DE USUARIO APLICACIÓN SYSACTIVOS Autor Edwar Orlando Amaya Diaz Analista de Desarrollo y Soporte Produce Sistemas y Soluciones Integradas S.A.S Versión 1.0 Fecha de Publicación 19 Diciembre 2014

Más detalles

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora Plataforma e-ducativa Aragonesa Manual de Administración Bitácora ÍNDICE Acceso a la administración de la Bitácora...3 Interfaz Gráfica...3 Publicaciones...4 Cómo Agregar una Publicación...4 Cómo Modificar

Más detalles

STRATO LivePages Inicio rápido

STRATO LivePages Inicio rápido STRATO LivePages Inicio rápido LivePages es la práctica herramienta de creación de páginas web de STRATO. En pocos pasos podrá crear su propia página web y publicarla en Internet sin necesidad de conocimientos

Más detalles

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha 2006-08

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha 2006-08 PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet Revisión 1.1 Fecha 2006-08 Índice 1. Acceder 2. Menú 3. Gestión Básica 3.1 Añadir 3.2 Editar 3.3 Eliminar 3.4 Eliminación de registros

Más detalles

MANUAL DE USO DE LA APLICACIÓN

MANUAL DE USO DE LA APLICACIÓN MANUAL DE USO DE LA APLICACIÓN ÍNDICE 1. Acceso a la aplicación 2. Definición de funciones 3. Plantillas 4. Cómo crear una nueva encuesta 5. Cómo enviar una encuesta 6. Cómo copiar una encuesta 7. Cómo

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

Guía de Apoyo Project Web Access. (Jefe de Proyectos)

Guía de Apoyo Project Web Access. (Jefe de Proyectos) Guía de Apoyo Project Web Access (Jefe de Proyectos) 1 ÍNDICE Contenido INTRODUCCIÓN... 3 CAPITULO I: ELEMENTOS INICIALES DE PROJECT WEB ACCESS... 4 Configuración General... 4 Área de Trabajo del Proyecto...

Más detalles

El e-commerce de Grupo JAB es una herramienta que permite a los clientes del Grupo, realizar un amplio conjunto de servicios de consulta, petición y

El e-commerce de Grupo JAB es una herramienta que permite a los clientes del Grupo, realizar un amplio conjunto de servicios de consulta, petición y El de Grupo JAB es una herramienta que permite a los clientes del Grupo, realizar un amplio conjunto de servicios de consulta, petición y compra en los diversos almacenes del Grupo JAB. En concreto podremos:

Más detalles

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN INTRANET DE UNA EMPRESA Autor: Burgos González, Sergio. Director: Zaforas de Cabo, Juan. Entidad colaboradora: Colegio de Ingenieros del ICAI. RESUMEN DEL PROYECTO El proyecto consiste en el desarrollo

Más detalles

Paso de la Tienda Física a Tienda On-line

Paso de la Tienda Física a Tienda On-line Paso de la Tienda Física a Tienda On-line 1 ÍNDICE 1. Objetivos... 3 2. Introducción... 4 3. Pasos a dar en la puesta en marcha... 6 4. Qué evitar?... 9 5. Aspectos legales... 10 6. Razones del paso de

Más detalles

GUÍA RED SOCIAL FACEBOOK

GUÍA RED SOCIAL FACEBOOK GUÍA RED SOCIAL FACEBOOK Qué es una Red Social? Una Red Sociales un sitio en internet donde compartir información, mensajes, ideas, fotos, etc., con amigos, conocidos y desconocidos. Para acceder a una

Más detalles

CIF-KM. GUÍA DE LOS PRIMEROS PASOS

CIF-KM. GUÍA DE LOS PRIMEROS PASOS CIF-KM. GUÍA DE LOS PRIMEROS PASOS Secciones 1. CONCEPTOS PREVIOS. 2. INSTALAR CIF-KM. 2.1 Descargar e instalar CIF-KM. 2.2 Configuración de CIF-KM. 2.3 Acceso externo al servidor de CIF-KM. 3. PRIMERA

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en

Más detalles

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L. Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.

Más detalles

MANUAL DE USUARIO PANEL DE CONTROL Sistema para Administración del Portal Web. www.singleclick.com.co

MANUAL DE USUARIO PANEL DE CONTROL Sistema para Administración del Portal Web. www.singleclick.com.co MANUAL DE USUARIO PANEL DE CONTROL Sistema para Administración del Portal Web www.singleclick.com.co Sistema para Administración del Portal Web Este documento es una guía de referencia en la cual se realiza

Más detalles

Cómo sabes si tus esfuerzos en Social Media te están dando resultados? Para eso hay que medir, y Google Analytics ha venido a ayudarnos.

Cómo sabes si tus esfuerzos en Social Media te están dando resultados? Para eso hay que medir, y Google Analytics ha venido a ayudarnos. Cómo sabes si tus esfuerzos en Social Media te están dando resultados? Para eso hay que medir, y Google Analytics ha venido a ayudarnos. Hoy en día, las piedras angulares de los negocios son las páginas

Más detalles

Instalar y configurar W3 Total Cache

Instalar y configurar W3 Total Cache Instalar y configurar W3 Total Cache en WordPress Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com La velocidad de carga de una web influye mucho a la hora de mejorar el

Más detalles

Integración de Magento & Dynamics NAV

Integración de Magento & Dynamics NAV Integración de Magento & Dynamics NAV Integración de Magento & Dynamics NAV Integración de Magento & Dynamics NAV Presentamos una nueva solución que comunica la plataforma de Tiendas virtuales de Magento

Más detalles

SalesPlus.es SugarCRM - Manual del Usuario 1

SalesPlus.es SugarCRM - Manual del Usuario 1 SalesPlus.es SugarCRM - Manual del Usuario 1 Objetivo Conocer SugarCRM como herramienta que permita mejorar el proceso comercial dentro de la PYME. Aprender las variables clave a la hora de llevar a cabo

Más detalles

Para instalar el software FacturaScripts, primero deberemos descargarlo. Para ello, accedemos a la url:

Para instalar el software FacturaScripts, primero deberemos descargarlo. Para ello, accedemos a la url: 1 QUÉ ES FACTURASCRIPTS? Facturascripts es un software de facturación y contabilidad fácil, libre y con actualizaciones constantes. Está especialmente indicado para PYMES y es compatible con otras herramientas

Más detalles

Informe Final de Pasantías: Desarrollo de un Sistema de Gestión de Contenidos (CMS) en CodeIgniter

Informe Final de Pasantías: Desarrollo de un Sistema de Gestión de Contenidos (CMS) en CodeIgniter Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Informe Final de Pasantías: Desarrollo de un Sistema de Gestión de Contenidos (CMS) en CodeIgniter Autor:

Más detalles

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid MANUAL DE EMPRESA Modo de entrar en ÍCARO Para comenzar a subir una oferta de empleo, el acceso es a través del siguiente enlace: http://icaro.uam.es A continuación, aparecerá la página de inicio de la

Más detalles

1.4.1.2. Resumen... 1.4.2. ÁREA DE FACTURACIÓN::INFORMES::Pedidos...27 1.4.2.1. Detalle... 1.4.2.2. Resumen... 1.4.3. ÁREA DE

1.4.1.2. Resumen... 1.4.2. ÁREA DE FACTURACIÓN::INFORMES::Pedidos...27 1.4.2.1. Detalle... 1.4.2.2. Resumen... 1.4.3. ÁREA DE MANUAL DE USUARIO DE ABANQ 1 Índice de contenido 1 ÁREA DE FACTURACIÓN......4 1.1 ÁREA DE FACTURACIÓN::PRINCIPAL...4 1.1.1. ÁREA DE FACTURACIÓN::PRINCIPAL::EMPRESA...4 1.1.1.1. ÁREA DE FACTURACIÓN::PRINCIPAL::EMPRESA::General...4

Más detalles

SERVICIOS PARA EL DISEÑO E IMPLEMENTACIÓN DEL PROGRAMA INTEGRAL DE TRANSFORMACIÓN DIGITAL DE LA PROVINCIA DE LUGO: TRANSFORM@TIC

SERVICIOS PARA EL DISEÑO E IMPLEMENTACIÓN DEL PROGRAMA INTEGRAL DE TRANSFORMACIÓN DIGITAL DE LA PROVINCIA DE LUGO: TRANSFORM@TIC Diputación de Lugo SERVICIOS PARA EL DISEÑO E IMPLEMENTACIÓN DEL PROGRAMA INTEGRAL DE TRANSFORMACIÓN DIGITAL DE LA PROVINCIA DE LUGO: TRANSFORM@TIC Manual usuario ERP Marzo 2015 ÍNDICE 1 INTRODUCCIÓN...

Más detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...

Más detalles

GUÍA DE USUARIO: GOOGLE DRIVE

GUÍA DE USUARIO: GOOGLE DRIVE GUÍA DE USUARIO: GOOGLE DRIVE Google Drive es una herramienta telemática de la web 2.0 que permite el trabajo virtual de forma colaborativa. En Google Drive podemos encontrar una barra de navegación en

Más detalles

OFERTA DE SERVICIOS INTEGRALES PARA SU DESPACHO. CloudAbogados diseñamos, mantenemos y posicionamos para que su despacho no pase desapercibido

OFERTA DE SERVICIOS INTEGRALES PARA SU DESPACHO. CloudAbogados diseñamos, mantenemos y posicionamos para que su despacho no pase desapercibido OFERTA DE SERVICIOS INTEGRALES PARA SU DESPACHO CloudAbogados diseñamos, mantenemos y posicionamos para que su despacho no pase desapercibido Introducción CloudAbogados ofrece servicios integrales para

Más detalles

Unidad Didáctica 12. La publicación

Unidad Didáctica 12. La publicación Unidad Didáctica 12 La publicación Contenido 1. Desarrollar y explotar 2. Definición del Sitio 3. Alojar nuestra primera página Web 4. Configurar la conexión FTP U.D. 12 La publicación 1. Desarrollar y

Más detalles

Gestión de Extensiones en Joomla!

Gestión de Extensiones en Joomla! Gestión de Extensiones en Joomla! Aplicaciones web. 2º SMR 1. Tipos de extensiones en Joomla 2. Crear un canal electrónico RSS 3. Inserción de anuncios (Banners) en nuestro sitio 4. Crear un foro con el

Más detalles

Oasis es una fábrica para el bien común de los datos mediante la utilización de aplicaciones propuestas.

Oasis es una fábrica para el bien común de los datos mediante la utilización de aplicaciones propuestas. 1. Manual de usuario 1.1 Esquema de Oasis Oasis es una fábrica para el bien común de los datos mediante la utilización de aplicaciones propuestas. Gracias a OASIS usted podrá comprar o seleccionar aplicaciones

Más detalles

APOLO GESTION INTEGRAL.

APOLO GESTION INTEGRAL. APOLO GESTION INTEGRAL. APOLO Gestión es una aplicación realizada en Visual Studio, y apoyada en una potente base de datos SQL, que le proporciona grandes ventajas a la hora de trabajar tanto sobre redes

Más detalles

MANUAL DE. manual de Joomla JOOMLA

MANUAL DE. manual de Joomla JOOMLA MANUAL DE manual de Joomla JOOMLA Tabla de contenido 1. Instalación de Joomla y características... 2 2. Configuración del sitio web... 3 3. Gestión de usuario... 8 4. Gestión de artículos... 11 5. Otros

Más detalles

Plataforma Helvia. Manual de Administración Administración General. Versión 6.08.05

Plataforma Helvia. Manual de Administración Administración General. Versión 6.08.05 Plataforma Helvia Manual de Administración Administración General Versión 6.08.05 Índice de contenidos INTRODUCCIÓN... 3 ENFOQUE...3 LA ADMINISTRACIÓN GENERAL...3 ACCESO A LA ADMINISTRACIÓN GENERAL...

Más detalles

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian Guía de Instalación Página 1 Índice ESCUDO MOVISTAR.... 3 1. INSTALACIÓN DEL SERVICIO ESCUDO MOVISTAR... 3 1.1. VERSIONES SOPORTADAS... 3

Más detalles

Pack Web Empresa. Componentes adicionales

Pack Web Empresa. Componentes adicionales Pack Web Empresa Ésta es la versión de sitio Web más parecido a una tarjeta de visita, ya que podrás darte a conocer a tus potenciales clientes y ellos así ver a qué te dedicas, los servicios que ofreces,

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

Cómo tener tu Tumblr con un domino propio

Cómo tener tu Tumblr con un domino propio Cómo tener tu Tumblr con un domino propio Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com Desde hace algunos años, las redes sociales han adquirido una gran importancia

Más detalles

Curso de PHP con MySQL Gratis

Curso de PHP con MySQL Gratis Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este

Más detalles

Administración de portales Joomla (II) antonio.duran.terres@gmail.com

Administración de portales Joomla (II) antonio.duran.terres@gmail.com Administración de portales Joomla (II) antonio.duran.terres@gmail.com Módulos Con la instalación base de Joomla vienen varios módulos Algunos ya los vimos, como encuestas o Quien está en línea? Hay otros

Más detalles

UNIVERSIDAD DE SALAMANCA

UNIVERSIDAD DE SALAMANCA UNIVERSIDAD DE SALAMANCA FACULTAD DE CIENCIAS INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Resumen del trabajo práctico realizado para la superación de la asignatura Proyecto Fin de Carrera. TÍTULO SISTEMA

Más detalles

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB Objetivos Generales: Al término de esta acción formativa los participantes alcanzarán los siguientes objetivos: Preparar profesionales para el desarrollo

Más detalles

Algunos Administradores de Contenido se presentan a continuación:

Algunos Administradores de Contenido se presentan a continuación: El Administrador de Contenido es una herramienta que le permite administrar desde su casa o empresa la información y las fotografías de su página web de manera fácil, rápida e inmediata. Algunos Administradores

Más detalles

CASO PRÁCTICO. CASOS PRÁCTICOS Internet (CP15 y CP16)

CASO PRÁCTICO. CASOS PRÁCTICOS Internet (CP15 y CP16) CASO PRÁCTICO CASOS PRÁCTICOS Internet (CP15 y CP16) Índice Internet CP15: Subir a Internet... 1 CP16: Publicar en blog... 7 Internet Una vez que tenemos un montaje audio realizado, ya tenemos una nueva

Más detalles

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo INDICE Cómo crear una cuenta en ARQA? 4 Cómo tener un grupo en ARQA? 5 Secciones y funcionalidades de los grupos 6 Muro del Grupo 6 Compartir Textos 8 Compartir Imágenes 9 Compartir videos 10 Compartir

Más detalles

Contacto. Primeros pasos en MiAulario. Curso de Formación. Primeros pasos en MiAulario

Contacto. Primeros pasos en MiAulario. Curso de Formación. Primeros pasos en MiAulario Contacto Curso de Formación Primeros pasos en MiAulario Centro Superior de Innovación Educativa Hezkuntza Berrikuntzaren Goi Mailako Ikastegia Edificio Sario, Módulo 2-1ª Planta aulariovirtual@unavarra.es

Más detalles

Las nuevas tecnologías contribuyen de forma esencial para que esta comunicación sea efectiva, fluida y útil.

Las nuevas tecnologías contribuyen de forma esencial para que esta comunicación sea efectiva, fluida y útil. Páginas Web Personales. wep Introducción En el mundo moderno las nuevas tecnologías se van incorporando a nuestra vida cotidiana en forma de elementos indispensables que contribuyen tanto a nuestro bienestar.

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

Práctica del paso de generación de Leads

Práctica del paso de generación de Leads Práctica del paso de generación de Leads La parte práctica de este módulo consiste en poner en marcha y tener en funcionamiento los mecanismos mediante los cuales vamos a generar un flujo de interesados

Más detalles

Detectar y solucionar infecciones en un sitio web

Detectar y solucionar infecciones en un sitio web Detectar y solucionar infecciones en un sitio web Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com Las infecciones que sufren los sitios web son uno de los principales

Más detalles

LantaWeb es un sistema:

LantaWeb es un sistema: by LantaWeb. El sistema modular de creación de páginas web. En Lantalau hemos desarrollado un nuevo sistema de creación de páginas web pensando en optimizar los costes a la hora de crear una nueva página

Más detalles

Con esta nueva versión, si un artículo que está incluido dentro de un Paquete de Ventas tiene precio 0,00, significará gratis.

Con esta nueva versión, si un artículo que está incluido dentro de un Paquete de Ventas tiene precio 0,00, significará gratis. NOVEDADES Y MEJORAS Continuando con nuestra política de mejora, innovación y desarrollo, le presentamos la nueva versión 9.50 de datahotel que se enriquece con nuevas funcionalidades que aportan soluciones

Más detalles

Sobre mí. Mario Galán Alonso Desarrollador Drupal. mariogalan.com mario.galan@gmail.com @poquitopaquito

Sobre mí. Mario Galán Alonso Desarrollador Drupal. mariogalan.com mario.galan@gmail.com @poquitopaquito Drupal Commerce Sobre mí Mario Galán Alonso Desarrollador Drupal mariogalan.com mario.galan@gmail.com @poquitopaquito Qué vamos a ver? Drupal Drupal Commerce Commerce Kickstart Demo Tipos de usuarios Visitantes/clientes

Más detalles

APLICATECA. Guía para la contratación y gestión de. Te Destaco

APLICATECA. Guía para la contratación y gestión de. Te Destaco APLICATECA Guía para la contratación y gestión de Te Destaco INDICE 1 QUÉ ES TE DESTACO?... 1 1.1 PARA QUÉ SIRVE?... 1 1.2 CARACTERÍSTICAS DE TE DESTACO... 1 2 CONTRATACIÓN DE TE DESTACO... 2 2.1 INICIAR

Más detalles

Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica)

Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica) Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica) Servinet Sistemas y Comunicación S.L. www.softwaregestionsat.com Última Revisión: Octubre 2014 FUNCIONALIDADES SAT

Más detalles

LAS FACTURAS ELECTRÓNICAS.COM

LAS FACTURAS ELECTRÓNICAS.COM 2014 Las Facturas Electrónicas.com Gustavo Arizmendi Fernández LAS FACTURAS ELECTRÓNICAS.COM Manual de usuario de Las Facturas Electrónicas.com. INDICE INTRODUCCIÓN... 3 REQUISITOS DEL SISTEMA... 4 HARDWARE...

Más detalles

Escrito por Agustin Luna Miércoles, 11 de Abril de 2012 10:07 - Actualizado Viernes, 23 de Noviembre de 2012 10:24

Escrito por Agustin Luna Miércoles, 11 de Abril de 2012 10:07 - Actualizado Viernes, 23 de Noviembre de 2012 10:24 Joomla Horas del curso: 40 Precio del Curso: Con este curso formaremos al alumnado en la creación de webs 2.0 de una alta interactividad y profesionalidad. Joomla es sin lugar a dudas la mejor opción.

Más detalles

MANUAL DEL USUARIO: EDITOR E-COMMERCE

MANUAL DEL USUARIO: EDITOR E-COMMERCE MANUAL DEL USUARIO: EDITOR E-COMMERCE 0. Antes de empezar... 2 0.1 Elige una plantilla... 2... 2 1. Área de usuario... 4 1.1 Inicio:... 4 1.2 Pedidos... 6 1.3 Ajustes generales... 7 1.4 IVA... 8 1.5 Opciones

Más detalles

CMS JOOMLA. Características

CMS JOOMLA. Características CMS JOOMLA Joomla es un sistema gestor de contenidos dinámicos (CMS o Content Management System) que permite crear sitios web de alta interactividad, profesionalidad y eficiencia. La administración de

Más detalles

Administración Local Soluciones

Administración Local Soluciones SISTEMA INTEGRADO DE GESTIÓN DE EXPEDIENTES MODULAR (SIGM) MANUAL DE USUARIO DE ARCHIVO PRÉSTAMOS Y CONSULTAS SIGM v3 Administración Local Soluciones Control de versiones Versión Fecha aprobación Cambio

Más detalles

Novedades de Adobe Dreamweaver CS5

Novedades de Adobe Dreamweaver CS5 Durante el mes de mayo del 2011, se produjo el lanzamiento de la versión estable de Adobe Dreamweaver CS5. Como es de suponerse, antes de realizar la compra del nuevo producto (o la actualización desde

Más detalles

Colección. Aprende Drupal con Forcontu

Colección. Aprende Drupal con Forcontu Colección Aprende Drupal con Forcontu Sobre Forcontu - Forcontu nace como fruto de nuestra experiencia en: - Dirección y desarrollo de proyectos web en general (10 años) - Dirección y desarrollo de proyectos

Más detalles

Sistema de Mensajería Empresarial para generación Masiva de DTE

Sistema de Mensajería Empresarial para generación Masiva de DTE Sistema de Mensajería Empresarial para generación Masiva de DTE TIPO DE DOCUMENTO: OFERTA TÉCNICA Y COMERCIAL VERSIÓN 1.0, 7 de Mayo de 2008 CONTENIDO 1 INTRODUCCIÓN 4 2 DESCRIPCIÓN DE ARQUITECTURA DE

Más detalles

Contenido. Email: capacitacion@u cursos.cl / Teléfono: 9782450

Contenido. Email: capacitacion@u cursos.cl / Teléfono: 9782450 GMI Contenido PUBLICAR AVISO... 3 CREAR PROCESO DE SELECCIÓN... 6 VER/ELIMINAR AVISOS PUBLICADOS... 8 ETAPAS DE UN PROCESO DE SELECCIÓN... 10 SECCIONES DE LOS PROCESOS DE SELECCIÓN (GPS)... 21 PERSONALIZAR

Más detalles