<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3411586745073604267</id><updated>2012-02-16T14:54:50.785+01:00</updated><category term='linux'/><category term='PHP'/><category term='mail'/><category term='agencia de viajes'/><category term='sistema'/><category term='login único'/><category term='métrica v3'/><category term='AfterLogic'/><category term='samba'/><category term='postfix'/><category term='desarrollo'/><category term='viabilidad'/><category term='proyecto'/><category term='eclipse'/><category term='metodología'/><category term='sendmail'/><category term='estudio'/><category term='quanta'/><category term='webmail'/><category term='informático'/><title type='text'>Miguel Aznar Fajardo</title><subtitle type='html'>Desarrollo de proyectos informáticos.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://miazfa.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://miazfa.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Miguel Aznar Fajardo</name><uri>http://www.blogger.com/profile/02128267099010732552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_rvJICVXMQA0/SwGQIg2AJgI/AAAAAAAAAAM/8ZV1ozuzdrY/S220/maf.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3411586745073604267.post-6239530991033099448</id><published>2009-11-27T18:26:00.003+01:00</published><updated>2009-11-27T18:29:57.957+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sistema'/><category scheme='http://www.blogger.com/atom/ns#' term='viabilidad'/><category scheme='http://www.blogger.com/atom/ns#' term='metodología'/><category scheme='http://www.blogger.com/atom/ns#' term='estudio'/><title type='text'>expeges. EVS: Estudio de Viabilidad del Sistema</title><content type='html'>EVS 1.- Establecimiento del Alcance del Sistema&lt;br /&gt;&lt;br /&gt;EVS 1.1.- Estudio de la Solicitud&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Requisitos&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El sistema debe ser multiempresa, es decir, permitirá la creación de múltiples empresas, cada una de ellas a su vez podrá contar con múltiples agencias o sucursales, las cuales a su vez podrán contar con múltiples departamentos y cada departamento con múltiples puestos o mesas. Cada mesa podrá estar asignada a varios usuarios, para permitir, por ejemplo, su utilización compartida o por turnos. &lt;br /&gt;&lt;br /&gt;Se prevé un sistema jerárquico de 4 ó 5 niveles, aunque es posible que para agencias pequeñas, sea suficiente con 2 ó 3 niveles, por lo que el número de niveles y su descripción será totalmente flexible y a elegir por el usuario responsable. Cada nivel corresponderá con un rol, que se asignará a un grupo de usuarios; cada grupo de usuarios estará compuesto por uno o más usuarios. Un usuario puede pertenecer a varios grupos. A cada usuario le corresponderá el rol o roles del grupo o grupos a los que pertenezca. &lt;br /&gt;&lt;br /&gt;Se definirán roles y grupos funcionales, es decir a cada función del sistema se le asignara un rol, de forma que sólo los usuarios con dicho rol podrán interactuar con la función. También se podrá establecer la forma de interacción con la función (de menor a mayor permiso): consulta, modificación, alta y baja. De esta forma se establecerán los permisos de acceso a las funciones por parte de los usuarios.&lt;br /&gt;&lt;br /&gt;El sistema debe ser multiusuario, es decir, podrá ser usado simultáneamente por uno o más usuarios. Se preverán los correspondientes mecanismos de bloqueos/desbloqueo de forma que se eviten conflictos de concurrencia. Se tendrá en  especial  consideración los mecanismos que permitan compartir la información del sistema: clientes, proveedores, etc., pero siempre respetando los permisos de acceso.&lt;br /&gt;&lt;br /&gt;La concepción del sistema es la de una gestión de expedientes, por lo que se pondrá especial énfasis en la modularidad de esta función, ya que servirá de base para el desarrollo de otros proyectos. Los expedientes van a contener mucha información y documentos heterogéneos: datos en base de datos, correos, documentos de texto, imágenes, fax, audio, etc. Se integrarán en el sistema los visores de cada tipo de documento y si fuese necesario, se realizará una normalización o conversión previa a un formato único. Los documentos de texto se indexarán para permitir búsquedas en su contenido.&lt;br /&gt;&lt;br /&gt;Como norma, no debe ser necesario abandonar el sistema para realizar cualquier acción del flujo de trabajo de la agencia, es decir, que se procurará integrar en el sistema las herramientas o componentes necesarios para realizar todas las acciones.&lt;br /&gt;&lt;br /&gt;La arquitectura del sistema corresponderá con un modelo cliente/servidor en web, ya que esto permitirá un despliegue y mantenimiento más sencillo. También facilitará la utilización del sistema por los usuarios, independientemente de su localización geográfica, y según los casos, posibilitará la utilización de dispositivos móviles a la hora de realizar algunas acciones del flujo de trabajo (confirmaciones, pedidos, presupuestos, etc.) a perfiles de usuarios comerciales itinerantes, que hagan visita a proveedores y/o clientes. Se podrá acceder al sistema vía Internet. Se prevé que el desarrollo de esta parte del sistema se realice en PHP.&lt;br /&gt;&lt;br /&gt;El acceso al sistema debe estar protegido por contraseña, pero una vez validado el usuario no se le volverá a solicitar su identificación para el resto de funcionalidades, es decir, se proveerá de un mecanismo de login único.&lt;br /&gt;&lt;br /&gt;Algunas acciones requieren la utilización de dispositivos en o desde la máquina del usuario, a las que no se tendrá acceso desde el sistema en web, ya que técnicamente no se tiene control de los dispositivos locales en una aplicación web; en estos casos se dispondrán de aplicaciones locales que se comunicarán con el sistema, vía ficheros de intercambio, correos o cualquier otro mecanismo. Se prevé que el desarrollo de esta parte del sistema se realice en Gambas. Dentro de este tipo de acciones caben destacar las relacionadas con la utilización de telefonía, tanto fija como móvil, que deberán ser automatizadas en la medida de lo posible, permitiendo la marcación desde la agenda/contactos, reconocimiento de llamada, lo que desplegará la información disponible en el sistema relacionada con dicho número (expedientes del cliente, proveedor, etc.). Sería deseable que también se pudieran grabar las conversaciones, a efectos de control y de respaldo. También se automatizará la utilización del fax, de forma que tanto la generación electrónica, envío y recepción estén integrados en el sistema. Otro dispositivo a integrar será el escaner; los documentos escaneados se integrarán en el sistema de forma automática, sin más intervención del usuario que la imprescindible.&lt;br /&gt;&lt;br /&gt;El sistema debe ser muy eficiente en la captura de datos. Por ejemplo, en las páginas de los proveedores para realizar las reservas se introducen los datos del cliente y de la reserva (fechas, nombre de hoteles, etc., es decir los datos para describir la reserva). Estos datos deben ser capturados y almacenados temporalmente hasta que se incorporen al expediente. De esta forma se evita la introducción reiterada de la misma información, aunque sean sistemas distintos, con el consiguiente ahorro de tiempo y esfuerzo, a la vez que se evitan errores. De la misma forma, las páginas que se deban rellenar con datos ya incorporados en el sistema o que se puedan calcular a partir de ellos, por ejemplo, los datos para realizar transferencias en las que se deba indicar el importe y la referencia (habitualmente el número de localizador de la reserva), el rellenado debe hacerse de forma automática. Este caso es especialmente sensible a los errores ya que indicar un importe o referencia erróneos puede tener un gran impacto en tiempo, esfuerzo (anulación/modificación) y dinero (gastos de cancelación, etc.).&lt;br /&gt;&lt;br /&gt;Toda la documentación que se deba entregar al cliente debe poder ser generada de forma automática: recibos, facturas, etc.&lt;br /&gt;&lt;br /&gt;Toda la documentación generada, recibida, capturada, enviada, entregada, etc., se incorporará automáticamente al expediente, donde estará disponible para su consulta.&lt;br /&gt;&lt;br /&gt;La documentación que se reciba de los proveedores servirá para actualizar o disparar los eventos correspondientes que actualicen el estado de los expedientes afectados. Por ejemplo, la recepción de facturas, bonos, etc.&lt;br /&gt;&lt;br /&gt;Las acciones que se realicen con las entidades financieras (transferencias, pagos, ingresos, etc.) también deben poderse asignar a los expedientes, disparando los eventos o generando la documentación que corresponda. Por ejemplo, el pago de una reserva  debe actualizar el saldo pendiente de pagar al proveedor y en el caso de que el pendiente sea cero, generar la correspondiente factura de comisiones, que a su vez actualizará la contabilidad o estado de cuentas. También se generará, si ha lugar, el documento de confirmación de pago al proveedor, en el formato que éste solicite (fax, mail, etc.) y se procederá a su envío, dejando constancia del mismo y actualizando también el estado del expediente.&lt;br /&gt;&lt;br /&gt;En esta fase no se requiere el desarrollo de una contabilidad oficial integrada, con generación de apuntes contables, etc., aunque el sistema debe estar preparado para abordar este desarrollo en un futuro. Sí se generará un estado de cuentas de gastos e ingresos, que sin ser una contabilidad oficial, permita al gestor tener una idea del estado y evolución del negocio.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3411586745073604267-6239530991033099448?l=miazfa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miazfa.blogspot.com/feeds/6239530991033099448/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://miazfa.blogspot.com/2009/11/expeges-evs-estudio-de-viabilidad-del.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/6239530991033099448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/6239530991033099448'/><link rel='alternate' type='text/html' href='http://miazfa.blogspot.com/2009/11/expeges-evs-estudio-de-viabilidad-del.html' title='expeges. EVS: Estudio de Viabilidad del Sistema'/><author><name>Miguel Aznar Fajardo</name><uri>http://www.blogger.com/profile/02128267099010732552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_rvJICVXMQA0/SwGQIg2AJgI/AAAAAAAAAAM/8ZV1ozuzdrY/S220/maf.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3411586745073604267.post-165539673904650721</id><published>2009-11-26T20:12:00.004+01:00</published><updated>2009-11-27T18:30:28.496+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sistema'/><category scheme='http://www.blogger.com/atom/ns#' term='viabilidad'/><category scheme='http://www.blogger.com/atom/ns#' term='metodología'/><category scheme='http://www.blogger.com/atom/ns#' term='estudio'/><title type='text'>expeges. EVS: Estudio de Viabilidad del Sistema</title><content type='html'>EVS 1.- Establecimiento del Alcance del Sistema&lt;br /&gt;&lt;br /&gt;EVS 1.1.- Estudio de la Solicitud&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Descripción&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;La solicitud consiste en disponer de un sistema automatizado que facilite y/o soporte todas las tareas que se realizan en una agencia de viajes. En general, todas las tareas o procesos manuales deben poder ser automatizados, con el objeto de que siempre quede constancia de su realización y por quién, a efectos de documentación y seguimiento. Además, como objetivo adicional de la automatización, se pretende lograr la normalización y descripción de todos los procesos, lo cual facilite la obtención de una certificación de la calidad de la gestión ISO 9001.&lt;br /&gt;&lt;br /&gt;El espíritu del sistema debe ser el de facilitar la labor al usuario, evitando la introducción de datos innecesarios o duplicar las entradas de datos, utilizar búsquedas y ayudas automáticas para la selección de datos, disponer de la mayor información disponible al alcance del usuario en su relación con clientes o proveedores. El sistema debe ser amigable y estar orientado a generar eventos que faciliten el recordatorio de citas o acciones por parte del usuario, en general debe ser el sistema el que “recuerde” las acciones a realizar y se las presente al usuario asignado para que las cumplimente. En este sentido, no se desea un sistema tradicional con un árbol de funciones, sino que los formularios, pantallas o informes aparezcan y se presenten al usuario según las necesidades del flujo de trabajo. Se primara, por encima de todo, la eficiencia de los procesos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Restricciones&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El sistema debe ser lo más económico posible, tanto en su desarrollo como en su puesta en producción. Para ello, se debe contar con que todo, o al menos su mayor parte, el software necesario debe ser gratuito o de licencia libre: sistema operativo, herramientas de desarrollo, servidor web, base de datos, componentes, etc. Tampoco se deben requerir elementos hardware exóticos ni de elevado presupuesto.&lt;br /&gt;&lt;br /&gt;Las soluciones técnicas deben estar basadas, siempre que sea posible, en componentes ya desarrollados, contrastados y fiables. &lt;br /&gt;&lt;br /&gt;Se evitará la utilización de componentes software que requieran de una licencia. En principio no está previsto que el desarrollo se comercialice, aunque sería posible la utilización por terceros en un formato de “pago por uso”. También sería posible una implantación gratuita con el código desarrollado ofuscado y el establecimiento de un contrato de mantenimiento.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Objetivos del EVS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Como la justificación económica es obvia, el riesgo técnico bajo, se esperan pocos problemas legales y no existe ninguna alternativa razonable, no es necesario profundizar en el estudio de viabilidad del sistema, analizando posibles alternativas y realizando una valoración y evaluación de las mismas, sino que éste se orientará a la especificación de requisitos, descripción del nuevo sistema y planificación.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3411586745073604267-165539673904650721?l=miazfa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miazfa.blogspot.com/feeds/165539673904650721/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://miazfa.blogspot.com/2009/11/evs-estudio-de-viabilidad-del-sistema.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/165539673904650721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/165539673904650721'/><link rel='alternate' type='text/html' href='http://miazfa.blogspot.com/2009/11/evs-estudio-de-viabilidad-del-sistema.html' title='expeges. EVS: Estudio de Viabilidad del Sistema'/><author><name>Miguel Aznar Fajardo</name><uri>http://www.blogger.com/profile/02128267099010732552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_rvJICVXMQA0/SwGQIg2AJgI/AAAAAAAAAAM/8ZV1ozuzdrY/S220/maf.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3411586745073604267.post-6983101124142735351</id><published>2009-11-26T18:34:00.005+01:00</published><updated>2009-11-27T18:28:59.848+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='login único'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='AfterLogic'/><category scheme='http://www.blogger.com/atom/ns#' term='webmail'/><title type='text'>Preparando el entorno</title><content type='html'>Como un paso más, he instalado un servidor de mail en web, que se podrá embeber en la aplicación. Para ello, he elegido AfterLogic (&lt;a href="http://www.afterlogic.com/products/webmail-lite"&gt;http://www.afterlogic.com/products/webmail-lite&lt;/a&gt;), es muy sencillo de instalar, ya que está escrito en PHP y no se necesita compilar nada. Los correos se guardan en MySQL. Además, incluye una clase PHP para poder integrarse dentro de un iframe y recibir el usuario y contraseña desde otra aplicación PHP, con el objeto de implementar un login único. Emplea AJAX para recargar las páginas. Su aspecto es muy claro y de momento funciona muy bien.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3411586745073604267-6983101124142735351?l=miazfa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miazfa.blogspot.com/feeds/6983101124142735351/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://miazfa.blogspot.com/2009/11/preparando-el-entorno_26.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/6983101124142735351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/6983101124142735351'/><link rel='alternate' type='text/html' href='http://miazfa.blogspot.com/2009/11/preparando-el-entorno_26.html' title='Preparando el entorno'/><author><name>Miguel Aznar Fajardo</name><uri>http://www.blogger.com/profile/02128267099010732552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_rvJICVXMQA0/SwGQIg2AJgI/AAAAAAAAAAM/8ZV1ozuzdrY/S220/maf.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3411586745073604267.post-8519939731975102035</id><published>2009-11-22T20:37:00.004+01:00</published><updated>2009-11-22T20:47:50.379+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>Preparando el entorno</title><content type='html'>Después de trastear un poco con Quanta +, no he podido configurarlo bien, además, no he podido ejecutar PHP desde el entorno de desarrollo y mucho menos el debugger de PHP, así que voy a probar otro entorno: eclipse (&lt;a href="http://www.eclipse.org/pdt/"&gt;http://www.eclipse.org/pdt/&lt;/a&gt;). Es gratuito y viene con unas extensiones especiales para PHP. También puede disponer de un debugger de PHP (&lt;a href="http://www.zend.com/community/pdt?ecl=EclipseZend"&gt;http://www.zend.com/community/pdt?ecl=EclipseZend&lt;/a&gt;). Es muy fácil de instalar y configurar, tanto el entorno como el servidor (zend server está basado en apache) para el debugger. He hecho unas pruebas y me parece muy cómodo y el debugger funciona bien.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3411586745073604267-8519939731975102035?l=miazfa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miazfa.blogspot.com/feeds/8519939731975102035/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://miazfa.blogspot.com/2009/11/preparando-el-entorno_22.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/8519939731975102035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/8519939731975102035'/><link rel='alternate' type='text/html' href='http://miazfa.blogspot.com/2009/11/preparando-el-entorno_22.html' title='Preparando el entorno'/><author><name>Miguel Aznar Fajardo</name><uri>http://www.blogger.com/profile/02128267099010732552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_rvJICVXMQA0/SwGQIg2AJgI/AAAAAAAAAAM/8ZV1ozuzdrY/S220/maf.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3411586745073604267.post-8697251174499699097</id><published>2009-11-20T11:09:00.004+01:00</published><updated>2009-11-20T13:15:17.563+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quanta'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Preparando el entorno</title><content type='html'>Instalación y configuración de Quanta +.&lt;br /&gt;&lt;br /&gt;En OpenSuse 11.1 ya viene un paquete de Quanta, se instala, pero cuando se ejecuta Quanta se quedan unas extensiones que no son alcanzables: KFileReplace, KXSLDbg, KimageMapEditor y KLinkStatus. Ni que decir tiene que el entorno es Gnome y no KDE, que es el entorno para el que está pensado Quanta. Además, si se intentan instalar las extensiones, dan un error, ya que necesitan una versión superior de Kdebase4-runtime. Se pueden descargar e instalar todos esos paquetes desde el buscador de software de OpenSuse (&lt;a href="http://software.opensuse.org/search"&gt;http://software.opensuse.org/search&lt;/a&gt;). Después hay que configurar Quanta para que encuentre los paquetes (Preferencias → Configurar extensiones), poniendo la ruta y el nombre del paquete, por ejemplo, para KfileReplace la ruta es “/usr/lib/kde4” y el fichero “libkfilereplacepart.so”.&lt;br /&gt;&lt;br /&gt;Una vez todo instalado y configurado, se da a la ayuda (F1) y sale un error, ya que al parecer el fichero de la ayuda en español tiene un XML mal construido. Se puede corregir cambiando la carpeta de la ayuda en español (/opt/kde3/share/doc/HTML/es/quanta) por la que está en inglés (/opt/kde3/share/doc/HTML/en/quanta), aunque la ayuda aparecerá en inglés.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3411586745073604267-8697251174499699097?l=miazfa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miazfa.blogspot.com/feeds/8697251174499699097/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://miazfa.blogspot.com/2009/11/preparando-el-entorno.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/8697251174499699097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/8697251174499699097'/><link rel='alternate' type='text/html' href='http://miazfa.blogspot.com/2009/11/preparando-el-entorno.html' title='Preparando el entorno'/><author><name>Miguel Aznar Fajardo</name><uri>http://www.blogger.com/profile/02128267099010732552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_rvJICVXMQA0/SwGQIg2AJgI/AAAAAAAAAAM/8ZV1ozuzdrY/S220/maf.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3411586745073604267.post-5311598055674813830</id><published>2009-11-19T17:03:00.005+01:00</published><updated>2009-11-20T11:33:16.503+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='sendmail'/><category scheme='http://www.blogger.com/atom/ns#' term='mail'/><category scheme='http://www.blogger.com/atom/ns#' term='postfix'/><title type='text'>Pruebas de viabilidad y preparando el entorno</title><content type='html'>Hoy le ha tocado el turno al mail. &lt;br /&gt;&lt;br /&gt;En el proyecto va a ser fundamental la utilización de un programa integrado de mail en web, tipo squirrelmail (&lt;a href="http://squirrelmail.org/"&gt;http://squirrelmail.org/&lt;/a&gt;); es decir, poder enviar y recibir mail desde una página PHP. La recepción de mail en PHP no es complicada: función &lt;em&gt;imap_open()&lt;/em&gt;. Sin embargo para enviar mails, ya es otro cantar: la máquina del servidor HTTP y que ejecuta el PHP también debe tener un servidor de correo activo y configurado correctamente para que la función &lt;em&gt;mail()&lt;/em&gt; de PHP sea operativa. Yo estoy utilizando "postfix/sendmail" como servidor de correo.&lt;br /&gt;&lt;br /&gt;Pese a que ya había configurado la máquina de producción para enviar mails desde PHP con postfix/sendmail, al configurar la máquina de desarrollo me he tenido que "releer" los manuales. El principal problema es que se trata de una máquina sin ip fija. Estos son los pasos que he dado:&lt;br /&gt;&lt;br /&gt;1.- Configurar el Agente de transferencia de medios:&lt;br /&gt;Desde Yast -&gt; Agente de transferencia de medios; elegir "Estándar"; elegir "Permanente"; poner el servidor de correo saliente (smtp) que tengáis con vuestro operador (tipo "smtp.dominio.com") correspondiente a vuestra cuenta de correo; Pulsar botón "Autenticación"; Escribir el usuario y la contraseña de la cuenta de correo; pulsar aceptar hasta finalizar.&lt;br /&gt;&lt;br /&gt;2.- Actualizar el /etc/php5/apache2/php.ini para que sepa dónde está el ejecutable del sendmail:&lt;br /&gt;&lt;em&gt;sendmail_path = "/usr/sbin/sendmail -i -t"&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;3.- Configurar /etc/postfix/main.cf&lt;br /&gt;Es muy largo, pero las líneas claves son (cambiar NOMBREHOST por el nombre de la máquina y DOMINIO por el nombre del dominio de la cuenta de correo):&lt;br /&gt;&lt;em&gt;readme_directory = /usr/share/doc/packages/postfix-doc/README_FILES&lt;br /&gt;inet_protocols = all&lt;br /&gt;biff = no&lt;br /&gt;mail_spool_directory = /var/mail&lt;br /&gt;canonical_maps = hash:/etc/postfix/canonical&lt;br /&gt;virtual_alias_maps = hash:/etc/postfix/virtual&lt;br /&gt;virtual_alias_domains = hash:/etc/postfix/virtual&lt;br /&gt;relocated_maps = hash:/etc/postfix/relocated&lt;br /&gt;transport_maps = hash:/etc/postfix/transport&lt;br /&gt;sender_canonical_maps = hash:/etc/postfix/sender_canonical&lt;br /&gt;masquerade_exceptions = root&lt;br /&gt;masquerade_classes = envelope_sender, header_sender, header_recipient&lt;br /&gt;myhostname = NOMBREHOST.site&lt;br /&gt;myorigin = NOMBREHOST.site&lt;br /&gt;delay_warning_time = 1h&lt;br /&gt;message_strip_characters = \0&lt;br /&gt;program_directory = /usr/lib/postfix&lt;br /&gt;inet_interfaces = all&lt;br /&gt;masquerade_domains = DOMINIO.com&lt;br /&gt;mydestination = $myhostname, localhost.$mydomain&lt;br /&gt;defer_transports = &lt;br /&gt;mynetworks_style = subnet&lt;br /&gt;disable_dns_lookups = no&lt;br /&gt;relayhost = smtp.DOMINIO.com&lt;br /&gt;mailbox_command = &lt;br /&gt;mailbox_transport = &lt;br /&gt;strict_8bitmime = no&lt;br /&gt;disable_mime_output_conversion = no&lt;br /&gt;smtpd_sender_restrictions = hash:/etc/postfix/access&lt;br /&gt;smtpd_client_restrictions = &lt;br /&gt;smtpd_helo_required = no&lt;br /&gt;smtpd_helo_restrictions = &lt;br /&gt;strict_rfc821_envelopes = no&lt;br /&gt;smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination&lt;br /&gt;smtp_sasl_auth_enable = yes&lt;br /&gt;smtp_sasl_security_options = &lt;br /&gt;smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd&lt;br /&gt;smtpd_sasl_auth_enable = no&lt;br /&gt;smtpd_use_tls = no&lt;br /&gt;smtp_use_tls = no&lt;br /&gt;alias_maps = hash:/etc/aliases&lt;br /&gt;mailbox_size_limit = 0&lt;br /&gt;message_size_limit = 10240000&lt;br /&gt;smtp_generic_maps = hash:/etc/postfix/generic&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;4.- Modificar /etc/postfix/generic para poner los "alias" a los usuarios de correo por defecto. Añadir las siguientes líneas (en vez de usuario@dominio.com poner la dirección de mail que va a enviar los correos y cambiar NOMBREHOST por el nombre de la máquina):&lt;br /&gt;&lt;em&gt;wwwrun@NOMBREHOST.site usuario@dominio.com&lt;br /&gt;root@NOMBREHOST.site  usuario@dominio.com&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;5.- Para actualizar la lista de alias genericos, ejecutar en el terminal de comandos: &lt;br /&gt;&lt;em&gt;# postmap /etc/postfix/generic&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;6.- Parar y arrancar postfix:&lt;br /&gt;&lt;em&gt;# postfix stop&lt;br /&gt;# postfix start&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;7.- Parar y arrancar apache:&lt;br /&gt;&lt;em&gt;# /etc/init.d/apache2 stop&lt;br /&gt;# /etc/init.d/apache2 start&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;y ¡ya está!.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3411586745073604267-5311598055674813830?l=miazfa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miazfa.blogspot.com/feeds/5311598055674813830/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://miazfa.blogspot.com/2009/11/pruebas-de-viabilidad-y-preparando-el_19.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/5311598055674813830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/5311598055674813830'/><link rel='alternate' type='text/html' href='http://miazfa.blogspot.com/2009/11/pruebas-de-viabilidad-y-preparando-el_19.html' title='Pruebas de viabilidad y preparando el entorno'/><author><name>Miguel Aznar Fajardo</name><uri>http://www.blogger.com/profile/02128267099010732552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_rvJICVXMQA0/SwGQIg2AJgI/AAAAAAAAAAM/8ZV1ozuzdrY/S220/maf.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3411586745073604267.post-5326268593182985611</id><published>2009-11-17T19:42:00.004+01:00</published><updated>2009-11-20T11:34:06.329+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='samba'/><title type='text'>Pruebas de viabilidad y preparando el entorno.</title><content type='html'>Brrr. He intentado configurar el servidor Samba de la máquina de desarrollo (linux02) para conectarla a la red de Microsoft y lo he conseguido a medias. Después de mucho toquitear Samba, he dado con una configuración medio funcional: Todas las máquinas se "ven", pero la máquina Windows Vista (windows01) sólo puede escribir en la de producción (linux01). Las máquinas Linux no "ven" las carpetas de Windows. Está claro que es un problema de permisos y de crear los usuarios de Samba correctos, pero hoy no me ha alcanzado para "descubrir" el truco. El "atajo" ha consistido en copiar a linux01 los archivos que quiero de windows01 y desde ahí traerlos a linux02. Espero dar con una solución más "elegante".&lt;br /&gt;&lt;br /&gt;Curioso, estaba viendo el fichero de configuración de Samba para incluirlo aquí, y me he dado cuenta de que no había creado los usuarios de Samba:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;# smbpasswd -a  /* cambiar la contraseña de root&lt;br /&gt;# ...&lt;br /&gt;# smbpasswd -a nombreusuario /* dar de alta y poner contraseña a nombreusuario&lt;br /&gt;#...&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;El fichero /etc/Samba/smbpasswd debería quedar:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;#...&lt;br /&gt;root:0:...&lt;br /&gt;nombreusuario:1000:...&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Mi "nombreusuario" es el mismo que el usuario administrador de Windows. Además, he modificado los permisos del directorio compartido en linux02 para que cualquiera del grupo tenga control total del directorio. Los usuarios de Samba también están creados como usuarios de Linux y pertenecen al grupo con permisos sobre el directorio a compartir.&lt;br /&gt;&lt;br /&gt;El fichero de configuración de Samba en /etc/Samba/smb.conf&lt;br /&gt;&lt;br /&gt;&lt;em&gt;# smb.conf is the main Samba configuration file. You find a full commented&lt;br /&gt;# version at /usr/share/doc/packages/samba/examples/smb.conf.SUSE if the&lt;br /&gt;# samba-doc package is installed.&lt;br /&gt;# Date: 2008-12-03&lt;br /&gt;[global]&lt;br /&gt; workgroup = WRG&lt;br /&gt; security = user&lt;br /&gt; usershare allow guest = No&lt;br /&gt; add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$&lt;br /&gt; domain logons = No&lt;br /&gt; domain master = No&lt;br /&gt; passdb backend = smbpasswd&lt;br /&gt; wins support = No&lt;br /&gt; wins server = &lt;br /&gt;&lt;br /&gt;[htdocs]&lt;br /&gt; comment = web portatil&lt;br /&gt; path = /tmp/compartido&lt;br /&gt; read only = No&lt;br /&gt; browseable = Yes&lt;br /&gt; guest ok = Yes&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;No olvidar de escribir los nombres e ip's de las máquinas de la red en "Yast -&gt; Nombres de equipo".&lt;br /&gt;&lt;br /&gt;De momento ya puedo escribir en las máquinas Linux desde Windows, pero éstas siguen sin ver las carpetas compartidas en Windows.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3411586745073604267-5326268593182985611?l=miazfa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miazfa.blogspot.com/feeds/5326268593182985611/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://miazfa.blogspot.com/2009/11/pruebas-de-viabilidad-y-preparando-el.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/5326268593182985611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/5326268593182985611'/><link rel='alternate' type='text/html' href='http://miazfa.blogspot.com/2009/11/pruebas-de-viabilidad-y-preparando-el.html' title='Pruebas de viabilidad y preparando el entorno.'/><author><name>Miguel Aznar Fajardo</name><uri>http://www.blogger.com/profile/02128267099010732552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_rvJICVXMQA0/SwGQIg2AJgI/AAAAAAAAAAM/8ZV1ozuzdrY/S220/maf.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3411586745073604267.post-2924027253779757174</id><published>2009-11-16T20:08:00.005+01:00</published><updated>2009-11-20T11:35:59.500+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agencia de viajes'/><category scheme='http://www.blogger.com/atom/ns#' term='informático'/><category scheme='http://www.blogger.com/atom/ns#' term='proyecto'/><category scheme='http://www.blogger.com/atom/ns#' term='métrica v3'/><category scheme='http://www.blogger.com/atom/ns#' term='desarrollo'/><title type='text'>Proyecto expeges. Especificaciones de alto nivel.</title><content type='html'>El proyecto consiste en desarrollar un gestor de expedientes para una agencia de viajes. El nombre del proyecto es "expeges".&lt;br /&gt;&lt;br /&gt;Vamos a considerar una serie de requisitos previos: el sistema debe ser lo más económico posible, evitando en lo posible pagar por licencias de productos, herramientas o sistemas operativos, tanto en la fase de desarrollo como en las de producción y mantenimiento. &lt;br /&gt;&lt;br /&gt;De acuerdo con la anterior premisa, vamos a utilizar una metodología que está disponible de forma gratuita: Métrica v3 (&lt;a href="http://www.csae.map.es/csi/metrica3/index.html"&gt;http://www.csae.map.es/csi/metrica3/index.html&lt;/a&gt;) y además se puede utilizar para desarrollar todo tipo de proyectos: con orientación a objetos, multicapa (model-view-controler), cliente-servidor, etc.&lt;br /&gt;&lt;br /&gt;Pendiente de un estudio de viabilidad más formal, el sistema operativo elegido para el desarrollo y producción es Linux. Como comentario: después de unos tres o cuatro intentos infructuosos y desesperantes a lo largo de los últimos 5 años, he conseguido instalar y configurar una versión "satisfactoria" de Open Suse 11.1 en dos equipos: uno que actualmente funciona como servidor web de la página &lt;a href="http://www.viajes-m40.com"&gt;www.viajes-m40.com&lt;/a&gt; y un portátil que hará de máquina de desarrollo. En próximas entregas incluiré las especificaciones físicas de los equipos (verdaderamente humildes) y los "problemillas" de configuración de algunos sistemas: red, mail, firewall, etc.&lt;br /&gt;&lt;br /&gt;La aplicación debe ser multiempresa y multiusuario. Para facilitar el despliegue de la aplicación, ésta se ejecutará en web, en una arquitectura cliente-servidor. El lenguaje de desarrollo será PHP 5 y JavaScript con Quanta plus (&lt;a href="http://quanta.kdewebdev.org/"&gt;http://quanta.kdewebdev.org/&lt;/a&gt;) para la parte servidor y Gambas2 (&lt;a href="http://gambas.sourceforge.net/es/main.html"&gt;http://gambas.sourceforge.net/es/main.html&lt;/a&gt;) para los componentes que deban ejecutarse en cliente, además del browser Firefox (&lt;a href="http://www.mozilla-europe.org/es/firefox/"&gt;http://www.mozilla-europe.org/es/firefox/&lt;/a&gt;), naturalmente. Todo son herramientas gratuitas.&lt;br /&gt;&lt;br /&gt;El servidor HTTP será Apache (&lt;a href="http://www.apache.org/"&gt;http://www.apache.org/&lt;/a&gt;) y la base de datos MySQL (&lt;a href="http://www.mysql.com/"&gt;http://www.mysql.com/&lt;/a&gt;). De momento, todos componentes gratuitos.&lt;br /&gt;&lt;br /&gt;El resto de herramientas, componentes, programas, etc., las iremos exponiendo a medida que se utilicen.&lt;br /&gt;&lt;br /&gt;La arquitectura física final estará dimensionada a las características del proyecto y la estableceremos más adelante; aunque como adelanto, posiblemente incluirá un servidor algo más potente que el actual, aunque dentro del rango "económico" (de 300€ a 500€).&lt;br /&gt;&lt;br /&gt;Hay que procurar un desarrollo modular, que permita la reutilización de código para otros proyectos y acometer el proyecto en fases, con funcionalidades incrementales.&lt;br /&gt;&lt;br /&gt;El desarrollo se realizará y documentará en español, aunque sin descartar una posible traducción a otros idiomas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3411586745073604267-2924027253779757174?l=miazfa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miazfa.blogspot.com/feeds/2924027253779757174/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://miazfa.blogspot.com/2009/11/el-proyecto-consiste-en-desarrollar-un.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/2924027253779757174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/2924027253779757174'/><link rel='alternate' type='text/html' href='http://miazfa.blogspot.com/2009/11/el-proyecto-consiste-en-desarrollar-un.html' title='Proyecto expeges. Especificaciones de alto nivel.'/><author><name>Miguel Aznar Fajardo</name><uri>http://www.blogger.com/profile/02128267099010732552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_rvJICVXMQA0/SwGQIg2AJgI/AAAAAAAAAAM/8ZV1ozuzdrY/S220/maf.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3411586745073604267.post-8796587674692186961</id><published>2009-11-16T19:16:00.003+01:00</published><updated>2009-11-20T11:36:47.533+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='informático'/><category scheme='http://www.blogger.com/atom/ns#' term='proyecto'/><category scheme='http://www.blogger.com/atom/ns#' term='desarrollo'/><title type='text'>Declaración de intenciones</title><content type='html'>Después de finalizar el proyecto en el que estaba trabajando, se me plantea la oportunidad de iniciar un proyecto de desarrollo informático desde cero y he pensado en plasmar en éste bitácora todos los acontecimientos, ideas, decisiones, etc. que se vayan produciendo durante el proceso, con el objeto de: por si alguno de mis "descubrimientos" pueda serle útil a alguien y para mantener un registro de las acciones y poder revisarlas con posterioridad.&lt;br /&gt;&lt;br /&gt;Voy a ser sincero en mis opiniones, pero son eso, opiniones. Lo que a mi me puede parecer fácil o difícil, puede no serlo para otra persona com más (o menos) formación y/o experiencia. Sólo pretendo plasmar los problemas que se me planteen y cómo los resuelvo, sin sentar cátedra.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3411586745073604267-8796587674692186961?l=miazfa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://miazfa.blogspot.com/feeds/8796587674692186961/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://miazfa.blogspot.com/2009/11/despues-de-finalizar-el-proyecto-en-el.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/8796587674692186961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3411586745073604267/posts/default/8796587674692186961'/><link rel='alternate' type='text/html' href='http://miazfa.blogspot.com/2009/11/despues-de-finalizar-el-proyecto-en-el.html' title='Declaración de intenciones'/><author><name>Miguel Aznar Fajardo</name><uri>http://www.blogger.com/profile/02128267099010732552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_rvJICVXMQA0/SwGQIg2AJgI/AAAAAAAAAAM/8ZV1ozuzdrY/S220/maf.jpg'/></author><thr:total>0</thr:total></entry></feed>
