Sistema de gestión de solicitudes de compras - Tareas … · Versión prevista: Tiempo dedicado:...

5
Sistema de gestión de solicitudes de compras - Tareas #5863 Trabajo preliminar - Sistema de registro de solicitudes a Compras 11/07/2017 03:17 PM - Andrés Pías Status: En curso Start date: 11/07/2017 Priority: Normal Due date: Assignee: Andrés Pías % Done: 20% Category: Estimated time: 0.00 hour Target version: Spent time: 9.00 hours Description Vamos a ir trabajando en el desarrollo de un sistema de formularios web para que los docentes puedan enviar solicitudes a la gente de compras del Cenur Litoral Norte. Este debe permitir registrar la solicitud de cualquier tipo de artículo: - pasajes - reservas de hoteles - papelería - informática - cartuchos de impresora (rendimiento). - accesorios - ferretería - mobiliario. Pensamos en principio trabajar sobre un framework de desarrollo sobre Python. Se van a evaluar las opciones: Flask, Django y Webtopy. Se va a definir una rama del Git para ir trabajando, además definir que reuniones iremos realizando junto a la gente de Compras para relevar las especificaciones de los requerimientos del sistema. Related issues: Related to Servicios UdelaR - Tareas # 5794: Solución de formularios para fun... Rechazada 09/08/2017 Related to Sistema de gestión de solicitudes de compras - Tareas # 5875: Aná... En curso 12/15/2017 History #1 - 11/07/2017 03:17 PM - Andrés Pías - Description updated #2 - 11/09/2017 03:43 PM - Andrés Pías - Status changed from Nueva to En curso - % Done changed from 0 to 10 Entre los frameworks que conozco están Flask y Django. Webtopi no lo conozco pero si Miguel. - Flask es el más liviano de todos, no es recomendable porque está muy crudo, entonces tenes que programar todo. No incluye por defecto paquetes para hacer el mapeo ORM. - Webtopi es mas liviano que Django, es fácil de aprender, tiene menos prestigio, es mas adecuado para proyectos sencillos - Django es mas pesado, presenta mayor difícil de aprendizaje, pero tiene mayor prestigio, está muy bien documentado y es más adecuado para proyectos grandes e Intranets. Las cosas estarían entre Webtopi y Django. Como Django es más adecuado para Intranets, tiene mas plugins y yo ya tengo experiencia con él haciendo un proyecto mediano, sugiero quedarnos con esa opción como habíamos hablado. Algunos enlaces donde se hacen comparativas: - https://www.slant.co/topics/533/versus/~django_vs_flask_vs_web2py - http://grokbase.com/t/python/python-es/126gqs3c63/%C2%BFcual-usar-%C2%BFweb2py-o-django - https://programadorwebvalencia.com/Django-vs-Flask/ Todos los que vayamos a desarrollar sería bueno que nos instaláramos el IDE Pycharm para que se nos facilite el proceso de programación: https://stackoverflow.com/questions/23870365/how-to-setup-django-project-in-pycharm 09/29/2018 1/5

Transcript of Sistema de gestión de solicitudes de compras - Tareas … · Versión prevista: Tiempo dedicado:...

Sistema de gestión de solicitudes de compras - Tareas #5863

Trabajo preliminar - Sistema de registro de solicitudes a Compras

11/07/2017 03:17 PM - Andrés Pías

Status: En curso Start date: 11/07/2017

Priority: Normal Due date:

Assignee: Andrés Pías % Done: 20%

Category: Estimated time: 0.00 hour

Target version: Spent time: 9.00 hours

Description

Vamos a ir trabajando en el desarrollo de un sistema de formularios web para que los docentes puedan enviar solicitudes a la gente de

compras del Cenur Litoral Norte. Este debe permitir registrar la solicitud de cualquier tipo de artículo:

- pasajes

- reservas de hoteles

- papelería

- informática

- cartuchos de impresora (rendimiento).

- accesorios

- ferretería

- mobiliario.

Pensamos en principio trabajar sobre un framework de desarrollo sobre Python. Se van a evaluar las opciones: Flask, Django y

Webtopy.

Se va a definir una rama del Git para ir trabajando, además definir que reuniones iremos realizando junto a la gente de Compras para

relevar las especificaciones de los requerimientos del sistema.

Related issues:

Related to Servicios UdelaR - Tareas # 5794: Solución de formularios para fun... Rechazada 09/08/2017

Related to Sistema de gestión de solicitudes de compras - Tareas # 5875: Aná... En curso 12/15/2017

History

#1 - 11/07/2017 03:17 PM - Andrés Pías

- Description updated

#2 - 11/09/2017 03:43 PM - Andrés Pías

- Status changed from Nueva to En curso

- % Done changed from 0 to 10

Entre los frameworks que conozco están Flask y Django. Webtopi no lo conozco pero si Miguel.

- Flask es el más liviano de todos, no es recomendable porque está muy crudo, entonces tenes que programar todo. No incluye por defecto paquetes

para hacer el mapeo ORM.

- Webtopi es mas liviano que Django, es fácil de aprender, tiene menos prestigio, es mas adecuado para proyectos sencillos

- Django es mas pesado, presenta mayor difícil de aprendizaje, pero tiene mayor prestigio, está muy bien documentado y es más adecuado para

proyectos grandes e Intranets.

Las cosas estarían entre Webtopi y Django. Como Django es más adecuado para Intranets, tiene mas plugins y yo ya tengo experiencia con él haciendo

un proyecto mediano, sugiero quedarnos con esa opción como habíamos hablado.

Algunos enlaces donde se hacen comparativas:

- https://www.slant.co/topics/533/versus/~django_vs_flask_vs_web2py

- http://grokbase.com/t/python/python-es/126gqs3c63/%C2%BFcual-usar-%C2%BFweb2py-o-django

- https://programadorwebvalencia.com/Django-vs-Flask/

Todos los que vayamos a desarrollar sería bueno que nos instaláramos el IDE Pycharm para que se nos facilite el proceso de programación:

https://stackoverflow.com/questions/23870365/how-to-setup-django-project-in-pycharm

09/29/2018 1/5

#3 - 11/09/2017 05:20 PM - Andrés Pías

Creé un nuevo proyecto en nuestro Git del interior que se llama https://git.interior.edu.uy/apias/solcompras-litoralnorte. Le definí 1 rama del git mas llamada

desarrollo.

Pasos para trabajar en desarrollo.

- Instalarse la versión Community del Pycharm: https://www.jetbrains.com/pycharm/download/#section=linux

- Crearse una cuenta de usuario en https://git.interior.edu.uy.

- Luego se debe subir tu clave SSH pública/privada (de tu máquina de desarrollo) al perfil de tu usuario (desde la interfaz web).

- En nuestras máquinas hay que clonar el repositorio para trabajar.

- Se puede hacer desde consola:

git clone -b desarrollo --single-branch [email protected]:apias/solcompras-litoralnorte.git

- sino directo desde Pycharm indicando el repositorio GIT [email protected]:apias/solcompras-litoralnorte.git

- Luego solicitará la passphrase que hayas utilizado para generar tu clave SSH.

- En caso de hacer la clonación desde el Pycharm, como este clona todo junto, habría que pasarse en la rama de desarrollo. Para eso ir a VCS, GIT,

Branches. En Remote Branches, seleccionar origin/desarrollo y darle Checkout as new local branch.

#4 - 11/14/2017 11:38 AM - Andrés Pías

- Related to Tareas #5794: Solución de formularios para funcionarios added

#5 - 11/14/2017 04:38 PM - Andrés Pías

En cuanto la versión de Python a utilizar nos conviene optar por la 3, debido a que para la 2.7 vence el soporte en 2020

Python 3 is recommended. Django 1.11 is the last version to support Python 2.7. Support for Python 2.7 and Django 1.11 ends in 2020.

#6 - 11/29/2017 01:19 PM - Andrés Pías

Aclaro que la idea de utilizar un sistema más terminado para solucionar estas necesidades particulares de compra fue descartada.

Hace un tiempo hice relevamiento si en otros lados del interior ya había en marcha algún sistema general:

Consulta general, como están manejando las solicitudes de compras en CCi Y CURE? a través del correo?

Daniel Viñar

En CCI Sí.

En la wiki (http://wiki.cci.edu.uy/Seccion+Compras) logueado, hay un formulario (nada muy elaborado) para llenar una solicitud.

y la verdadera gestión, es en papel, con OCE:

Daniel Viñar

se estudió usar el módulo de compras y de portal de Odoo, pero no está muy adaptado...

Victor

En el CURE, en conjunto con un proyecto de formación de la idr, vamos a desarrollar algo para compras y suministros

Pero va para largo plazo

Lo que fundamenta el hecho de hacer un sistema propio. Dentro de poco haremos una reunión con compras. Acá vamos escribiendo la batería de

preguntas para hacerles en la reunión: https://pad.softwarelibre.uy/p/PreguntasSistemaCompras

#7 - 11/29/2017 05:37 PM - Andrés Pías

- File CatalogoArticulosComprasEstatales.png added

09/29/2018 2/5

Estuve mirando los datos abiertos de las compras estatales. Si hubiera que importar todo estos datos, el sistema tendría una estructura compleja para

empezar:

CatalogoArticulosComprasEstatales.png

Además habría que trabajar bien la parte de middleware ya que el catálogo de productos puede ser accedido y descargado de forma directa a través de

Web Services en las siguiente URLS (las cuales parecen caídas):

SOAP 1.1:

http://10.255.50.202:8080/ws/ActualizacionCatalogoWS/ActualizacionCatalogoService.ActualizacionCatalogoServiceHttpSoap11Endpoint?wsdl

SOAP 1.2:

http://10.255.50.202:8080/ws/ActualizacionCatalogoWS/ActualizacionCatalogoService.ActualizacionCatalogoServiceHttpSoap12Endpoint?wsdl

#8 - 12/04/2017 05:36 PM - Andrés Pías

Instalación de Python y Django

Anoto algo que nunca me acuerdo. Para chequear que versión se va a instalar de un paquete se puede utilizar apt-cache show :

apt-cache show python3-django

Recuerdo que conviene instalar Python3:

En cuanto la versión de Python a utilizar nos conviene optar por la 3, debido a que para la 2.7 vence el soporte en 2020

Python 3 is recommended. Django 1.11 is the last version to support Python 2.7. Support for Python 2.7 and Django 1.11 ends in 2020.

Siguiendo esta y esta indicación instale Python3 y Django en mi máquina de esta manera:

sudo apt-get update

sudo apt-get install python3-django

Vemos que Python3 quedó instalado en la versión 3.5 Con esto:

dpkg -l "*python*" | grep ii | less

Mientras Django quedó en la versión 1.8.7:

django-admin --version

1.8.7

También se comprueba la versión como dice acá :

python3

>>> import django

>>> print(django.get_version())

1.8.7

Sin embargo, haciendo la comprobación que dice acá vemos que no encuentra el paquete:

root@batareload:/home/apias# python3 -m django --version

/usr/bin/python3: No module named django.__main__; 'django' is a package and cannot be directly executed

root@batareload:/home/apias# python -m django --version

/usr/bin/python: No module named django

09/29/2018 3/5

Probablemente de esta manera no funciona para Ubuntu.

#9 - 12/06/2017 01:13 PM - Andrés Pías

Crear proyecto Django de pruebas y configurar Pycharm

Como forma de ir estudiando Django se creó un proyecto de pruebas que se corrió desde Pycharm.

Intentamos seguir esto:

- https://docs.djangoproject.com/es/1.9/intro/tutorial01/

- https://stackoverflow.com/questions/23870365/how-to-setup-django-project-in-pycharm

- https://www.youtube.com/watch?v=LhiVHo_hkW0

Me paré en el directorio de los proyectos de Pycharm, luego le dí:

apias@batareload:~/PycharmProjects$ django-admin startproject PruebaDjango

Ponemos a correr el proyecto de Django:

apias@batareload:~/PycharmProjects/PruebaDjango$ python3 manage.py runserver

Al acceder desde el navegador a la url http://127.0.0.1:8000/ vemos que quedó andando.

Después se abre Pycharm, se elije el proyecto "/home/apias/PycharmProjects/PruebaDjango" y se le da abrir. Luego ir a File, Settings, seleccionar el

proyecto Project: PruebaDjango, Project Interpreter y se elije la versión Python3.5, se le da Apply y luego Ok.

Para definir como se debe correr Django, Edit Configurations, se hace click en el símbolo de +, luego se completan los datos de la nueva configuración:

Name: DjangoManage

Script: manage.py

Script parameters: runserver

Working Directory: /home/apias/PycharmProjects/PruebaDjango

De esta manera ya tenemos un proyecto Django vacío que se puede correr desde el IDE PyCharm.

#10 - 12/13/2017 04:57 PM - Andrés Pías

Instalación y configuración de Base de datos

Como motor de base de datos, uno de los mas robustos es Postgres. Para insepccionar los articulos de la compras estatales, me bajé la estructura de

este catálogos y los dumps sql de los datos. Luego me instalé postgres:

sudo apt-get install postgresql

Creación del usuario y de la base de datos (en consola):

sudo su

su postgres

psql

CREATE USER usdjango WITH PASSWORD 'fR9qfPkgNd';

CREATE DATABASE bdcompras1 OWNER usdjango;

Después procedí a importar los datos desde la línea de comandos:

root@batareload:~# psql -U usdjango -h 127.0.0.1 -d bdcompras1 <

/media/datos/Trabajo-ESCRITORIO/SistemaFormCompras/Materiales/imp_catalogo/crear_tablas_catalogo.sql

Si bien quedaron los artículos cargados normalmente tuve algunos errores a nivel de consola que pueden indicar el falló al importar alguna fila por

problemas con la codificación UTF 8:

09/29/2018 4/5

INSERT 0 1

ERROR: invalid byte sequence for encoding "UTF8": 0xd1 0x41

INSERT 0 1

ERROR: invalid byte sequence for encoding "UTF8": 0xd1 0x41

INSERT 0 1

INSERT 0 1

INSERT 0 1

Al revisar la información se ve que en este catálogo se manejan 2 tipos de pasajes. En nuestro caso lo más común será el código 772:

772;"PASAJE EN OMNIBUS DENTRO DEL PAIS"

781;"PASAJE EN OMNIBUS FUERA DEL PAIS, CONTRATADO EN URUGUAY"

#11 - 12/15/2017 01:50 PM - Andrés Pías

- Related to Tareas #5875: Análisis y Diseño del sistema de registro de solicitudes de compras added

#12 - 12/29/2017 04:17 PM - Andrés Pías

- Project changed from CENUR Litoral Norte to Sistema de gestión de solicitudes de compras

- Subject changed from Sistema de registro de solicitudes a Compras to Trabajo preliminar - Sistema de registro de solicitudes a Compras

#13 - 01/02/2018 12:42 PM - Andrés Pías

- % Done changed from 10 to 20

Actualicé los links de la [[wiki]] del proyecto para que puedan acceder a los documentos compartidos en la nube

Files

CatalogoArticulosComprasEstatales.png 187 KB 11/29/2017 Andrés Pías

09/29/2018 5/5