william fabricio manual de sistemas sas

31
República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Universitaria MANUAL DEL SISTEMA DE AUTOGESTIONADO DE SALUD (SAS) AUTOR: Acarigua, Febrero de 2017. William Aparicio C.I. 19.799.425 Universidad Fermin Toro Nucleo-Portuguesa Facultad de Ingenieria

Upload: rafael-toro

Post on 14-Apr-2017

12 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: William fabricio manual de sistemas sas

República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Universitaria

MANUAL DEL SISTEMA DE

AUTOGESTIONADO DE SALUD (SAS)

Ministerio del Poder Popular para la Educación Universitaria

La Universidad de Portuguesa

AUTOR:

Acarigua, Febrero de 2017.

William Aparicio C.I. 19.799.425

Universidad Fermin Toro Nucleo-Portuguesa

Facultad de Ingenieria

Page 2: William fabricio manual de sistemas sas

Descripción del hardware (CPU, periféricos, utilidad) y software (aplicaciones, utilidad) necesarios para la implementación de su sistema. Para la implementación de este sistema es necesario contar con un buen servidor principal, conocer cuáles serán los requisitos mínimos en cuanto a las estaciones de trabajo donde tendrán el acceso al sistema y requerimientos del servidor web donde estará instalado el sistema. Servidor Web

Es necesario contar con un servidor principal que cumpla el rol de servidor web

para la instalación del sistema para que los usuarios puedan acceder y hacer

uso del mismo.

A continuación se nombra el servidor y se especifican cuáles son sus

características:

Servidor:

Modelo Dell optiplex 3200 cuenta con las siguientes características:

Hardware:

2 CPU Xeon de 8 núcleos.

8 GB de Ram.

Almacenamiento en discos duros trabajando en RAID 5.

Interfaces Red Gigabits.

Modem GSM con Comandos AT Software:

Sistema Operativo Debian 7.0 Estable.

Stack de Virtualización Basado en Xen y KVM.

Servidor Web Apache2 & PHP5

Servidor de Base Datos PostgresSQL.

Tecnologias Utilizadas: HTML5, CSS3, JS, Web Services, Json.

Estaciones de Trabajo:

Las estaciones deben contar con un Hardware básico: Procesador Pentium IV

3.2 Ghz, DiscoDuro 80 Gb, Memoria Ram 1 GB, Unidad de Dvd/ Rw, Ratón

teclado,

Software: Sistema Operativo Linux Ubuntu, o Microsoft Windows XP.

Page 3: William fabricio manual de sistemas sas

El manual del sistema tiene como objetivo ver cómo está diseñada la

aplicación, las herramientas utilizadas, los procesos de instalación y

configuración, como es su interacción con otros sistemas y/o módulos,

descripción de procesos de mantenimiento del mismo, descripción del contexto

de uso, detalles de implementación y las principales funciones del software,

diccionario de datos.

Pasos para la Instalación de PostqreSQL:

PostgreSQL es un potente motor de bases de datos, que tiene prestaciones

y funcionalidades equivalentes a muchos gestores de bases de datos

comerciales. Es más completo que MySQL ya que permite métodos

almacenados, restricciones de integridad, vistas, etc. aunque en las últimas

versiones de MySQL se han hecho grandes avances en ese sentido.

En Ubuntu disponemos paquetes para varias versiones de PostgreSQL: 7.4,

8.0, 8.1 y 8.2 de modo que instalaremos la última versión a no ser que

necesitemos alguna anterior. Los paquetes necesarios para una instalación

completa son los de la parte cliente (postgresql-client-8.2) y los de la parte

servidora (postgresql-8.2). En un ordenador que usemos como cliente sólo

necesitamos los paquetes del cliente. También es recomentable instalar un

cliente gráfico que nos facilitará la interacción con el servidor. Un cliente gráfico

recomendable es pgAdmin III, que funciona muy bien.

Si tienes dudas sobre que necesitas, puedes instalar los tres paquetes:

$ sudo aptitude install postgresql-8.2 postgresql-client-8.2 pgadmin3

Por razones de seguridad estableceremos la nueva contraseña al usuario del sistema creado por PostgreSQL:

$ sudo passwd postgres

Cambiar los privilegios de acceso al shell del usuario postgres con el siguiente comando:

$ sudo vipw

Y cambiamos el shell del usuario postgres de "/bin/false" a "/bin/bash". Luego salimos grabando con escape ":wq". Para verificar si la instalación fue satisfactoria accedemos a la shell del servidor de bases de datos:

Page 4: William fabricio manual de sistemas sas

$ sudo su postgres -c "psql template1"

Si el acceso ha sido satisfactorio cambiamos la contraseña al usuario predeterminado del servidor de bases de datos:

template1=# ALTER USER postgres WITH PASSWORD 'nueva_contraseña';

Te saldrá el siguiente mensaje confirmando la operación:

ALTER ROLE

Sal de la shell del servidor de bases de datos con el comando \q :

template1=# \q

Configuración:

Permitir conexiones remotas:

Por motivos de seguridad, la configuración por defecto no admite conexiones externas. Para habilitarlas tenemos que editar el fichero /etc/postgresql/8.2/main/postgresql.conf.

$ sudo gedit /etc/postgresql/8.2/main/postgresql.conf

Ahora buscamos las siguientes líneas que se encuentran comentadas:

#listen_addresses = 'localhost'

Y la substituimos por la siguiente línea:

listen_addresses = '*'

Posteriormente buscamos la siguiente línea y le quitamos la marca de comentario:

#password_encryption = on

Y nos debe quedar lo siguiente:

password_encryption = on

Guardamos los cambios y reiniciamos el demonio para que los cambios surjan efecto:

$ sudo /etc/init.d/postgresql-8.2 restart

Page 5: William fabricio manual de sistemas sas

Configurar la lista de acceso:

La configuración de la lista de acceso permite decirle a PostgreSQL qué método de autentificación usar y establecer relaciones de confianza para ciertas máquinas y redes. Hay que editar el fichero /etc/postgresql/8.2/main/pg_hba.conf:

$ sudo vi /etc/postgresql/8.2/main/pg_hba.conf

Al final del archivo se encuentra una lista de acceso predeterminada, ahora, dependiendo de su necesidad puedes hacer lo siguiente:

Si necesita que cualquier usuario se conecte por medio de una dirección IP en específico, agregue al final la siguiente línea:

host all all 192.168.1.4 255.255.255.0 md5

Si necesita que cualquier usuario se conecte por medio de una IP determinada sin importar el password (confiamos en dicha IP), la línea es:

host all all 192.168.1.4 255.255.255.255 trust

Si necesita que cualquier usuario (usuario de base de datos autentificándose, claro) se conecte por medio de cualquier dirección IP, agregue al final la siguiente línea:

host all all 0.0.0.0 0.0.0.0 md5

Si necesita que un usuario determinado se conecte a una base de datos determinada por medio de una dirección IP en específico, agregue al final la siguiente línea:

host MyDataBase MyUser 192.168.1.4 255.255.255.0 md5

Guarda los cambios realizados en el archivo y reinicia el demonio para que los cambios surjan efecto:

$ sudo /etc/init.d/postgresql-8.2 restart

Gestión de usuarios:

Los usuarios de PostgreSQL tienen un par de capacidades que definimos en su creación. Me explico: un usuario puede o no crear más usuarios y un usuario puede o no crear bases de datos. En el ejemplo que puedes ver a continuación creamos un usuario que no puede crear más usuarios (no es un administrador) pero puede crear más bases de datos. El modificador -P hace que nos

Page 6: William fabricio manual de sistemas sas

pregunte por el password que le asignaremos al usuario. De otra manera el usuario se creará sin password.

$ createuser -A -d -P -h host -U usuario nuevo_usuario Enter password for user "nuevo_usuario": Enter it again:

Como acabo de comentar, existen usuario administradores (pueden crear otros usuarios). Como es lógico este comando debe ser ejecutado por un usuario con esa característica.

Análogamente podemos eliminar un usuario de esta forma:

$ dropuser -h host -U usuario usuario_borrar

Copia de seguridad:

Para hacer una copia de seguridad de una base de datos tiene el siguiente comando:

$ pg_dump -h host -U usuario nombre_bd > nombre_bd.sql

Para hacer una copia de seguridad de todas las bases de datos PostgreSQL de un servidor, usa este escript:

#!/bin/bash ## BEGIN CONFIG ## HOST=localhost BACKUP_DIR=tmp ## END CONFIG ## if [ ! -d $BACKUP_DIR ]; then mkdir -p $BACKUP_DIR fi POSTGRE_DBS=$(psql -h $HOST -U postgres -l | awk ' (NR > 2) && (/[a-zA-Z0-9]+[ ]+[|]/) && ( $0 !~ /template[0-9]/) { print $1 }'); for DB in $POSTGRE_DBS ; do echo "* Backuping PostgreSQL data from $DB@$HOST..." pg_dump -h $HOST -U postgres $DB > $BACKUP_DIR/pg_$DB.sql done

Para restaurar una copia de seguridad:

psql -d nombre_base_datos -f archivo.pgdump.

Page 7: William fabricio manual de sistemas sas

Instalación de Github:

A través del navegador web ingresamos a la dirección: www.githud.com

Registro del usuario en la página web:

Se llenaran los siguientes campos: -Nombre de Usuario. -Correo Electrónico. -Contraseña con datos validos. -Presionar sign up for github nos redireccionara a otro enlace.

Page 8: William fabricio manual de sistemas sas

Seleccionar el plan de subscripción donde seleccionares la opción free y luego

finalizaremos el registro.

Al finalizar el registro pueden agregar la información personal relacionada a su

perfil.

Page 9: William fabricio manual de sistemas sas

QUE HACER LUEGO DE REGISTRARSE:

1. Luego de haber creado el usuario y actualizado su perfil lo

primero que deben hacer es iniciar sesión con su usuario y

contraseña recién creado para acceder a su cuenta de usuario.

Luego de iniciar sesión serán redirigidos a la pantalla principal de github pero

con su sesión abierta.

Page 10: William fabricio manual de sistemas sas

Dar click en su nombre de usuario en la parte superior serán redirigidos a la

pantalla principal de su perfil en esta pantalla se puede ver todos los aportes

que ustedes realicen a los diferentes proyectos.

2. Seguir un proyecto para seguir el proyecto sasv2 que es la

versión 2 del sistema autogestionado de salud podemos ingresar

a la siguiente dirección :

https://github.com/ArrozAlba/SASv2 o en la pantalla principal en el buscador.

Page 11: William fabricio manual de sistemas sas

Colocar la palabra “SASV2” luego de escribir la palabra seleccionamos la tecla

ENTER y nos aparecerá un resultado como el siguiente:

3. Debemos seleccionar el proyecto ARROZALBA/SASV2 esto nos

redireccionara a la página principal de proyecto.

Page 12: William fabricio manual de sistemas sas

Debemos seleccionar la opción WATCH se despliega un menú.

Seleccionar WATCHING, al hacer esto ya nuestra cuenta quedara pendiente

de todos los cambios que se realicen en el proyecto notificándonos por correo y

dejando la huella en el proyecto.

Después de seguir el proyecto debemos seleccionar la opción STAR que hará

que sea un proyecto favorito.

Page 13: William fabricio manual de sistemas sas

Luego de haber colocado el proyecto como favorito es importante realizar la

copia del proyecto a nuestra cuenta con la opción (FORK) esta opción lo que

hace es realizar una copia del código e información del proyecto principal a

nuestra cuenta donde podemos probarlo sin temor a que se dañe el proyecto

principal

Page 14: William fabricio manual de sistemas sas

Presionar la opción FORK el sistema realiza una copia de todo lo que se

encuentre en el proyecto y lo colocara en nuestra cuenta (repositorio)

4. Agregar ISSUES (cuestiones) un ISSUES es cualquier

observación que quieran agregar al proyecto para esto debemos

seleccionar la opción ISSUES en el proyecto principal

https://github.com/arrozalba/sasv2

Page 15: William fabricio manual de sistemas sas

Seguidamente nos redireccionara a la pantalla principal donde se gestionan las

ISSUES.

Aquellas donde hemos sido mencionados, para crear una seleccionamos new

ISSUES

Esto nos abrirá un formulario para agregar un título y un mensaje.

Page 16: William fabricio manual de sistemas sas

Después de llenar el mensaje debemos enviar la ISSUES para que los demás

usuarios puedan proceder a revisarla, ejecutarla, comentarla y posteriormente

cerrarla

5. MANEJO DE LA GESTION DOCUMENTAL DEL PROYECTO

(WIKI) utilizaremos el wiki para agregar toda la información del

Page 17: William fabricio manual de sistemas sas

proyecto en todas sus fases y adicionalmente agregar el manual

de usuario del sistema para de esta manera tener un repositorio

(o almacén) donde se guarde toda la información que generamos

adicional al código. Es importante que cada usuario cumpla con

crear una página del WIKI con información correspondiente al

área que le corresponde cubrir.

Para acceder al WIKI seleccionamos la opción WIKI.

Se selecciona la opción WIKI nos redireccionara a la pantalla principal del

mismo

Page 18: William fabricio manual de sistemas sas

En esta pantalla podemos agregar información (NEW PAGE), editar la

existente y registrar todo el contenido del proyecto.

Después de agregar la información seleccionamos la opción SAVE PAGE

Page 19: William fabricio manual de sistemas sas

Al final agregamos una nota del cambio que se realizó para dejar un histórico

de modificaciones y saber quién hizo alguna modificación.

Luego podremos ver como quedo la información que se agregó al proyecto y

en el lateral el listado de páginas creadas.

Page 20: William fabricio manual de sistemas sas

COMO INSTALAR CUMBIAPHP:

Requisitos:

Servidor web capaz de ejecutar PHP: Apache en cualquier versión bajo

Windows 2000/XP/Vista/7 ó Linux/UNIX, IIS con Isapi_Rewrite instalado,

Cherokee Web server, Lighttpd (soporte experimental), o cualquier web server

con soporte de PHP y módulo de reescritura URL (mod_rewrite o su

equivalente).En caso de usar un servidor no nombrado aquí debe realizar la

adaptación.

PHP 5.2.x (Se debe seleccionar una versión que posea PHP 5.2.x, KumbiaPHP

no tolera los bugs de PHP 5.3.x) instalando y funcionando en el servidor

Motor de base de datos soportado si se necesitase. (Ejemplo: MySQL Server,

Oracle, Firebird...)

Descargar KumbiaPHP Framework

Kumbia se distribuye en un paquete comprimido listo para usar. Se puede

descargar la última versión de: http://www.kumbiaphp.com/

http://sourceforge.net/projects/kumbia/ El nombre del paquete tiene un

nombre como kumbia-version-notes.extensión, por ejemplo: kumbia-0.4.7a-

stable.tar.gz

Configurando apache:

KumbiaPHP Framework utiliza un módulo llamado mod_rewrite para la

reescritura de URLs y hacerlas más comprensibles y fáciles de recordar en

nuestras aplicaciones. Por esto, el módulo debe ser configurado e instalado en

Apache. Para esto, debe chequear que el módulo esté habilitado en el

httpd.conf (de acuerdo a la versión de apache)

<Directory "/to/document/root">

Options Indexes FollowSymLinks

AllowOverride All

Order allow,deny

Allow from all

</Directory>

Page 21: William fabricio manual de sistemas sas

-En el DocumentRoot (Directorio Raíz de Apache) debe llevar la opción

AllowOverride All para que Apache lea el archivo .htaccess y llame a

mod_rewrite. Habilitando Mod_Rewrite en S.O. Basados en GNU/Linux

(Debian, Ubuntu y derivadas) Nos aseguramos primero de activar el

mod_rewrite de esta manera y como usuario root:

#a2enmod rewrite

-Para windows hay que activar el mododulo

LoadModule rewrite_module modules/mod_rewrite.so en el archivo

httpd.conf

-Es decir Sustituir esta línea de código

#LoadModule rewrite_module modules/mod_rewrite.so

-Por esta

LoadModule rewrite_module modules/mod_rewrite.so

-Despues de este paso editamos el siguiente archivo:

$ sudo vi /etc/apache2/sites-enabled/000-default

Recuerde que puede escoger cualquier editor: vi, nano, gedit, etc en este

ejemplo usamos vi. Cuando estemos dentro de dicho archivo, vamos a cambiar

las siguientes líneas que aparezcan así: AllowOverride None por esta otra:

AllowOverride All

¿Por qué es importante Mod-Rewrite?

ReWrite es un módulo de apache que permite reescribir las urls que han

utilizado nuestros usuarios a otras más complicadas para ellos. KumbiaPHP

Framework encapsula esta complejidad permitiéndonos usar URLS bonitas o

limpias como las que vemos en blogs o en muchos sitios donde no aparecen

los ? ó los & o las extensiones del servidor (.php, .asp, .aspx, etc).

Además de esto, con mod-rewrite, KumbiaPHP puede proteger nuestras

aplicaciones ante la posibilidad de que los usuarios puedan ver los directorios

del proyecto y puedan acceder a archivos de clases, modelos, lógica, etc, sin

que sean autorizados.

Con mod-rewrite el único directorio que pueden ver los usuarios es el contenido

del directorio public, el resto permanece oculto y sólo puede ser visualizado

cuando ha realizado una petición en forma correcta y también es correcto

según nuestra lógica de aplicación. Cuando escribes direcciones utilizando este

tipo de URLs, estás ayudando también a los motores de búsqueda a indexar

mejor tu información.

Page 22: William fabricio manual de sistemas sas

NOTA: Se trabaja actualmente para que este requisito no sea indispensable.

¿Porque KumbiaPHP utiliza PHP5?

KumbiaPHP trabaja sólo con PHP5 ya que es la versión más avanzada, estable

y es el futuro de este lenguaje. Posee un soporte más completo a la orientación

a objetos. Esta características de PHP5 proporcionan un toque profesional a

las aplicaciones desarrolladas esto con la intención que se abandone el uso de

PHP4.

Configurando Oracle:

Kumbia trabaja con la extensión de PHP OCI8. Estas funciones le permiten

acceder a bases de datos Oracle 10, Oracle 9, Oracle 8 y Oracle 7 usando la

Interfaz de Llamados Oracle (OCI por sus siglas en Inglés). Ellas soportan la

vinculación de variables PHP a recipientes Oracle, tienen soporte completo

LOB, FILE y ROWID, y le permiten usar variables de definición entregadas por

el usuario.

Para que OCI8 trabaje es necesario instalar el cliente instantáneo de oracle.

Luego hay que agregar a la variable de entorno PATH del sistema la ruta a

donde fue descomprimido el cliente instantáneo.

PATH=%PATH%; c:\instantclient10_2\

Reiniciar Apache

Advertencia: En Oracle la funcionalidad limit podría no funcionar como se

espera. Utilice la condición rownum < numero_filas para hacer esto.

En el caso de la distribución Ubuntu y Xubuntu, existen 4 líneas de estas dentro

del archivo 000-default.

Ahora solo reiniciamos nuestro servicio Apache

#/etc/init.d/apache2 restart

Instalando KumbiaPHP en centOS5 y RHEL5

El método para centOS5 es exactamente igual al de RHEL5, sin embargo no

recomendamos hacer las modificaciones que acá se sugieren a un RHEL5 a

menos que sea estrictamente necesario y tiene que tomar en cuenta que su

licencia de soporte RHEL no cubre aplicaciones sobre paquetes que no son

oficiales de RHEL.

Primero que todo, la versión de php que trae centOS5 y RHEL5 es la 5.1.X, así

que kumbiaphp puede instalarse, sin embargo funciona mal, es posible que en

los logs de errores de su apache vea algo parecido a:

Page 23: William fabricio manual de sistemas sas

PHP Fatal error: Call to undefined method XMLWriter

Y que algunas vistas no se carguen adecuadamente, eso es debido a que la

versión de php-xml que trae php 5.1.X no es muy compatible con los

requerimientos de kumbiaphp, para que kumbiaphp trabaje adecuadamente

debe estar sobre php 5.2.x, por lo tanto para instalar php 5.2.x de forma

sencilla agregue el repositorio de http://www.atomicorp.com, como root:

wget http://www.atomicorp.com/channels/atomic/centos/5/i386/RPMS/atomic-

release-1.0-10.el5.art.noarch.rpm

rpm -ivh atomic-release-1.0-10.el5.art.noarch.rpm

yum clean all

yum install php

Esto podrá actualizar todos los paquetes de php a una versión adecuada para

kumbiaphp, debe tomar en cuenta que debe tener mucho cuidado debido a que

si realiza este procedimiento en un hosting compartido con otras aplicaciones,

posiblemente algunas de ellas dejen de funciona adecuadamente, sobre todo si

tiene versiones muy viejas de CMS, si esto sucede y quiere regresar todo a

como estaba puede hacer rollback de la siguiente manera:

rpm -e atomic-release

yum clean all

rpm -qa | grep php

yum remove php*

yum install php

Si le hace falta alguna librería de php, simplemente instalela vía yum y luego

siga las instrucciones para habilitar Mod-Rewrite en Fedora.

Si le da problemas la conexión a base datos revise /var/log/messages y

verifique si SELINUX está lanzando mensajes similares a:

setroubleshoot: SELinux está negando al demonio http que se conecte a una

base de datos. For complete SELinux messages. run sealert -l 3d5d

si es así, puede desactivar SELINUX hasta que consiga la regla de contexto

que permita al webserver acceder a base de datos:

setenforce 0

O de plano desactive SELINUX de forma definitiva editando el archivo

/etc/selinux/config.

Page 24: William fabricio manual de sistemas sas

[editar] Habilitando Mod-Rewrite en Fedora

#vi /etc/httpd/conf/httpd.conf

Buscar la línea...

#LoadModule rewrite_module modules/mod_rewrite.so

El "#" al principio indica que la línea esta comentada, lo que quiere decir que

apache no cargara el modulo si fuese este el caso quitar el "#".

En el mismo archivo buscar...

<Directory />

Options FollowSymLinks

AllowOverride None

</Directory>

Donde dice None reemplazarlo por All, para que apache interprete los archivos

.htaccess.

Reiniciar el servicio httpd (apache)

# service httpd restart

Instalando XAMPP bajo GNU/Linux

El procedimiento para instalar XAMPP en cualquier distribución GNU/Linux es

el siguiente:

1. Descargar XAMPP de Apache Friends. Se debe seleccionar una versión

que posea PHP 5.2.x, KumbiaPHP no tolera los bugs de PHP 5.3.x.

2. Instalar XAMPP

3. Copiar el paquete de Kumbia a /opt/lampp/htdocs/

4. Continuar la instalación normalmente

Instalando XAMPP bajo Debian/Ubuntu Linux Instala Apache2+MySQL5+PHP5

si no lo tienes instalado usando la guia en este blog o en Ubuntu-es. En

Debian/Ubuntu tienes que usar el comando para habilitar mod_rewrite en

Apache:

1. a2enmod rewrite

y luego en editas el archivo:

Page 25: William fabricio manual de sistemas sas

/etc/apache2/sites-enabled/000-default

Buscas la línea para el directorio /var/www donde dice: AllowOverride None y

cambiar por AllowOverride All

Posterior a esto hay que indicar al servidor web cual será el orden de

preferencias en cuanto a los archivos index, por defecto en primer orden se

ejecutan los archivos index.html esto hay que cambiarlo por index.php. En

version 2.2.x de apache solo hay que editar el archivo que se encuentra en:

/etc/apache2/mods-enabled/dir.conf

1. DirectoryIndex index.php index.html ...

Reinicias Apache con:

1. # /etc/init.d/apache2 restart

-Continuar normalmente

Verificar la instalación de Kumbia

La verificación del buen funcionamiento de Kumbia y la instalación realizada es

muy simple. Debéis abrir el navegador web ( explorer, firefox, opera ) y escribir:

http://localhost/<directorio_paquete_kumbia>/

<directorio_paquete_kumbia> lo debéis substituir por la carpeta donde habéis

descomprimido el paquete.

Si todo esta correcto os mostrará una pantalla de bienvenida, en caso contrario

os informará sobre error o errores detectados.

Configurando Lighttpd:

Lo primero que debemos hacer es activar el módulo mod_rewrite, lo que nos

permitirá el usa de URL amigables, buscamos en el archivo de configuración

del lighttpd la siguiente directiva, server.modules, y verás algo como esto:

server.modules = (

"mod_access",

"mod_alias",

"mod_accesslog",

"mod_compress",

"mod_fastcgi",

# "mod_rewrite",

Page 26: William fabricio manual de sistemas sas

# "mod_redirect",

# "mod_evhost",

# "mod_usertrack",

# "mod_rrdtool",

# "mod_webdav",

"mod_expire"

# "mod_flv_streaming",

# "mod_evasive"

)

Debemos remover la almohadilla (#) delante del mod_rewrite, y que quede

algo como:

server.modules = (

"mod_access",

"mod_alias",

"mod_accesslog",

"mod_compress",

"mod_fastcgi",

"mod_rewrite",

# "mod_redirect",

# "mod_evhost",

# "mod_usertrack",

# "mod_rrdtool",

# "mod_webdav",

"mod_expire"

# "mod_flv_streaming",

# "mod_evasive"

)

Page 27: William fabricio manual de sistemas sas

Si no había ningún # antes del mod_rewrite omite el paso anterior. Luego de

eso agrega al final del archivo algo como esto:

url.rewrite += ( "^/kumbiaphp/$" => "/kumbiaphp/app/public/" )

url.rewrite += ( "^/kumbiaphp/([^\.]*)$" =>

"/kumbiaphp/app/public/index.php?url=/$1" )

url.rewrite += ( "^/kumbiaphp/(.+)$" => "/kumbiaphp/app/public/$1" )

Debes sustituir "kumbiaphp" (sin las comillas) por el nombre del directorio

donde esta KumbiaPHP. Luego de esto reinicia el servidor y prueba.

Crear una aplicación en:

Una vez obtenida la copia del framework descomprimimos y renombramos la

carpeta con el nombre de nuestro proyecto, para efecto del ejemplo

llamaremos a nuestro proyecto kumbia, tal como se muestra en la imagen.

Dentro del directorio Kumbia y se hace énfasis que kumbia es nuestro proyecto

este podría tener cualquier otro nombre, tendremos un árbol de directorios tal

como se muestra en la siguiente imagen.

Antes de continuar vamos a verificar que todo esté trabajando bien en nuestras

configuraciones a nivel de servidor web, para esto abrimos nuestro navegador

web y colocamos http://localhost/kumbia, si todo está funcionando bien

debería mostrarnos la siguiente imagen.

Ahora tenemos que escribir el famosos Hola KUMBIA! pero nosotros hicimos

un pequeño cambio y sera Hola Kumbia! Pensando en esto recordemos el

modelo MVC. Según esto, Kumbia debería aceptar una petición que buscaría

en controlador y en éste, una acción que atendería la petición, luego el

controlador utilizaría una vista para mostrar la información al usuario. Para

escribir el código de nuestro Hola Kumbia!, no necesitamos sino un controlador

y una vista. No necesitamos modelos ya que no estamos trabajando la

información de una base de datos.

Nos ubicamos en el directorio apps/default/controllers aquí estarán nuestros

controladores, para crear un controlador es importante tener en cuenta las

convenciones de nombre que utiliza el Framework, para entender mejor

nosotros llamaremos a nuestro controlador saludo_controller.php nótese el

sufijo _controller.php esto forma parte de la convención de nombre y esto hace

que Kumbia identifique ese archivo como un controlador.

Dentro de este archivo colocaremos las siguientes lineas de codigo.

saludo_controller.php

Page 28: William fabricio manual de sistemas sas

1. <?php

2. class SaludoController extends ApplicationController {

3. public function index() {}

4. }

5. ?>

Como vemos en una clase con un método index, notese que también esta el

sufijo Controller al final de la declaración de la clase esto la identifica como una

clase controladora y esta hereda (extends) de la superclase

ApplicationController con lo que adquiere las propiedades de una clase

controladora.

Para continuar de una manera que vayamos entendiendo el funcionamiento del

framework es importante entender sus URL, hagamos una descomposición de

esta URL http://localhost/kumbia/saludo/index

http://localhost => Dominio

/kumbia => Nombre del Proyecto

/saludo => Nombre del Controlador

/index => Nombre de una Accion del Controlador

Cualquier otra información pasada por URL es tomada como parámetro para

propósito de nuestra aplicación.

Vamos a ejecutar desde el navegador nuestro controlador saludo y la acción

index de la siguiente manera http://localhost/kumbia/saludo/index

1. <?php

2. class SaludoController extends ApplicationController {

3. function index(){

4. }

5. }

6. ?>

Como podemos darnos cuenta tenemos una acción vacía sin nada que mostrar

al usuario que realizo la solicitud, esto es sencillo de deducir ya que no

tenemos ninguna vista asociada a nuestra acción. Agreguemosle contenido a la

Page 29: William fabricio manual de sistemas sas

acción index, esto lo hacemos creando un directorio con el mismo nombre de

nuestro controlador en este caso deberia llamarse saludo y dentro de este

estaran todas las vistas asociadas a las acciones que necesiten mostrar alguna

información.

Para efecto del ejemplo llamamos a una acción llamada index por lo tanto

creamos un archivo llamado index.phtml fijese que el archivo se llama igual

que la acción, este archivo lo creamos en el directorio

apps/default/views/saludo/index.phtml

Una vez creado este archivo le agregamos un poco de contenido...

1. <h1>Hola Kumbia</h1>

Ahora si volvemos ejecutar desde nuestro navegador

web http://localhost/kumbia/saludo/index si nos debe mostrar el contenido

del archivo index.phtml

Ahora si visualizamos en el explorador se entiende que Kumbia

automáticamente carga la vista con el mismo nombre la acción en el directorio

con el nombre del controlador seleccionado. Poniendo a consideración

podríamos decir que las vistas permiten la salida al usuario usando PHP

embebido en HTML. Por esto las vistas poseen extensión phtml a diferencia de

los controladores que poseen PHP puro y por esto su extensión .php.

Pues como se ve ya hemos ejecutado la primera acción en Kumbia esto nos

permite apreciar el comportamiento del framework.

Agregando más Contenido:

Ahora vamos a mostrar la hora y fecha haciendo uso de la función date(), con

esto evitamos tener un contenido estático y tener un sitio más dinámico,

editamos el archivo saludo_controller.php.

1. <?php

2. class SaludoController extends ApplicationController {

3. public function index() {

4. $this->fecha = date("Y-m-d H:i");

5. }

6. }

7. ?>

Y la vista index.phtml quedaria asi:

Page 30: William fabricio manual de sistemas sas

index.phtml

1. <h1>Hola Kumbia</h1>

2. <?php echo $fecha ?>

Nota: Cuando hacemos uso de $this sobre una variable en el controlador,

como se puede apreciar con $this->fecha, automáticamente tenemos esa

variable en la vista de la siguiente manera $fecha, esto porque Kumbia trabaja

con variables de instancia. Ahora si volvemos a

ejecutar http://localhost/kumbia/saludo/index obtendremos la hora y fecha

del momento en que se haga la petición.

Ahora vamos a crear otro controlador que lo llamaremos despedida haciendo

memoria tendremos un archivo en:

apps/default/controllers/despedida_controller.php

1. <?php

2. class DespedidaController extends ApplicationController {

3. public function adios() {

4. }

5. }

6. ?>

Tal como se menciona arriba creamos una vista con el nombre de la acción en

este caso nuestra vista en:

apps/default/views/despedida/adios.phtml

1. <h1>Adiós</h1>

2. <?php echo link_to("saludo/index", "Volver a Saludar") ?>

Ahora colocamos en nuestro

navegador http://localhost/kumbia/despedida/adios obtendremos un texto y

un vínculo hacia nuestro controlador saludo y la acción index.

link_to, es un helper que ofrece kumbia para facilitar al momento de

programar, este helper es equivalente a hacer

1. <a href="kumbia/saludo/index">Volver a Saludar</a>

Esto funciona bien, pero que sucedería si decidimos cambiar el nombre de la

aplicación de kumbia a demo por ejemplo, significa que deberías cambiar los

vínculos de la aplicación para que apunten a la nueva ubicación.

Page 31: William fabricio manual de sistemas sas

Descripción de los diferentes módulos o solicitudes: Tenemos las siguientes

solicitudes

-Solicitud de medicamentos

-Atención primaria

-Solicitudes odontológicas

-Exámenes

-Carta Aval

-Reembolso

-Servicios funerarios

En la Configuración tenemos:

A través del usuario administrador del sistema se accede al menú

configuración:

-Sucursal: nos permite agregar el nombre de cada una de las sucursales a

medida que la empresa se vaya expandiendo.

-Profesión: nos permite agregar a una lista desplegable la profesión de cada

uno de los beneficiarios.

-Cargo: Nos permite agregar los tipos de cargos asignados a los usuarios de la

aplicación.

-Cobertura: nos permite modificar el monto establecido para cada cobertura. -Departamento: nos permite agregar el tipo de departamento. -Discapacidad: nos permite agregar en una lista los tipos de discapacidad de

los beneficiarios

-Patología: nos permite agregar el tipo de patología la cual el usuario está solicitando

-Recaudos: permite la configuración del almacenamiento de los recaudos establecidos por el sistema, documentos personales, fotos, escaneos.