131717709 introduccion a phprunner

Upload: carrizof

Post on 31-Oct-2015

497 views

Category:

Documents


3 download

TRANSCRIPT

  • Introduccin a PHPRunner, es un tutorial para aprender y practicar realizando

    una aplicacin de simple a compleja y administrar una base de datos en MySQL

    con PHP para un grupo de clientes y mandantes con sistema de usuarios, grupos

    y administracin sin tener previo conocimiento de programacin.

    1: Comenzando:

    Hace no mucho descubr PHPRunner, una aplicacin de Xlinesoft bastante

    interesante que permite desarrollar un administrador de base de datos incluso a

    personas que en su vida han utilizado PHP o MySql y con aspectos bastantes

    profesionales, sin embargo al momento de abordarlo por primera vez sin tener

    mucho conocimiento de ingls, base de datos y programacin, puede volverse

    engorroso y tedioso.

    No soy un experto programador o administrador de base de datos (db), no tengo

    experiencia mayor con PHPRunner de la cual quizs tengan ustedes, sin embargo

    como usuario comn quiero compartir mis experiencias al comenzar a desarrollar

    aplicaciones por medio de esta plataforma y de esta forma y por medio de

    ejemplos poder orientarlos y resolver sus dudas bsicas respecto al uso que

    pueden llegar a tener y lo que pueden ser capaz de lograr en unas pocas horas de

    su tiempo.

    Una definicin ms comercial:

    Descripcin obtenida de PHPNuke

    PHPRunner es un programa que permite gestionar las bases de datos desde una

    interfaz Web sencilla, vistosa e intuitiva, sin necesidad de contar con

    conocimientos en programacin.

  • Las prestaciones que ofrecen los sitios Web que trabajan con bases de datos son

    prcticamente ilimitadas, el problema es que gestionarlas no es sencillo, en la

    mayora de los casos es necesario contar con extensos conocimientos en

    programacin para lograr buenos resultados.

    PHPRunner es un aplicacin sencilla para gestionar bases de datos, incluye

    soporte para MySQL, Oracle, PostgreSQL, MS Access, etc.

    PHPRunner permite gestionar completamente una base de datos de forma fcil y

    rpida, la aplicacin Web funciona a modo de asistente y todas las opciones se

    encuentran correctamente detalladas para mejorar la adaptacin de los nuevos

    usuarios.

    Pueden obtener mas informacin de:

    1. Pagina oficial de PHPRunner 2. Que es PHPRunner? (Ingles)

    Para este tutorial usaremos PHPRunner 6.1 Build 12662 la versin Trial que

    expira en 21 das y es completamente funcional.

    2: Requerimientos

    Apache 2.4.3 o superior

    PHP 5.4.7 o superior

    MySql 5.5.27 o superior

    phpMyAdmin 3.5.2.2 o superior

    PHPRunner 6.1 o superior

    Mnimos conocimientos de PHP y SQL

    Para los primeros 4 requerimientos, basta instalar xampp en tu ordenador y el se

    encargara de cargar todo los componentes y configurarlos por ti y mejor aun si

    tienes un Hosting Web, el te proporcionara todo lo necesario para comenzar con

    tu proyecto.

    3: Que queremos?

    Lo mas importante antes de comenzar, es tener claro que pretendemos lograr con

    nuestra aplicacin, cuales son los datos que debemos almacenar, como deben ir

    ordenados y que relacin tiene entre ellos..

  • La forma mas fcil de lograr esto es graficar nuestras ideas en lpiz y papel, de

    tal forma que podamos entenderlo.

    Un ejercicio practico que funciona bastante bien, es realizar el bosquejo y

    luego explicrtelo a ti mismo como si desconocieras de que se trata, de este

    forma responders tus dudas y aclaras de una vez los inconvenientes. No es

    recomendable este primer paso de dos o mas personas ya que cada

    una interferirn en las ideas del otro, sin embargo pueden trabajar por separados

    y luego reunirse a discutir los bosquejos y agregar nuevas ideas.

    Ahora antes de proseguir, asumir que todos saben lo que es una base de datos,

    de modo contrario, por qu querran administrar algo que no conocen?

    Bien para este ejemplo intentaremos algo bsico y quizs no con mucho sentido,

    pero la idea es lograr cubrir la mayora de los aspectos posibles:

    1. Tenemos varias empresa "M" que vende repuestos de vehculos a varias empresas "C" y con sus ventas ofrecen a sus clientes (Empresas "C") la

    instalacin, cambio y mantencin de los repuestos en terreno.

    2. Para que las empresas "M" pueda entregar el servicio prometido a las empresas "C", debe contratar una empresa a la que denominaremos

    empresa "S", la cual se encarga de la instalacin y mantencin de dichos

    repuestos y equipos y le facturara a las empresas "M" quienes son las que

    ofrecen el servicio.

    3. La empresa "S" para obtener un mayor nmero de empresas "M", ofrece como gancho un servicio donde las empresas "M" podrn ver en lnea,

    todo los servicios que se hallan realizado ya sea instalacin de repuestos,

    mantenciones a equipos, las fechas y horas en que se realizaron, un valor

    de servicio, presupuesto y reportes donde podrn filtrar por fechas o

    clientes y obtener el valor total a facturar entre los periodos

    correspondientes. Adems les ofrece a las empresas "M" la posibilidad de

    que sus clientes, empresas "C" puedan ver las instalaciones, compras,

    servicios que se han realizado, podrn filtrar por fechas o equipos y tener

    un reporte en lnea de que equipo ocupa mayor cantidad de repuestos,

    servicios, etc.

    Lograr que la empresa "S" pueda llevar el registro y control de todo esto, puede

    ser un grave problema al manejar tanta cantidad de informacin, tenerla en lnea

    y asumir el costo. Lo que intentaremos hacer es manejar todo esto en una base de

    datos de tal manera que una sola persona pueda hacerse cargo de ella y crearemos

    grupos para que la empresa "S" tenga permisos de aadir nuevos datos, clientes,

    mandantes, las empresas "M" pueda ver a todo sus clientes y equipos de sus

  • clientes, por categoras y costos asociados y que las empresas "C" sea los

    clientes, puedan ver sus equipos y los servicios que se le realizan, pero no podrn

    ver equipos de otras empresas ni tampoco el valor o costo de servicio.

    Desde mi punto de vista, este puede ser un buen ejemplo bsico para comenzar

    nuestra travesa en PHP y MySQL donde gracias a nuestro amigo PHPRunner

    seremos capaz de desarrollar un administrador de datos de calidad profesional en

    pocas horas.

    Definamos:

    Empresa "S" = Servidora: Acceso total a la base de datos, para aadir o

    eliminar datos, mandantes, clientes, equipos e historial de trabajos.

    Empresa "M" = Mandante: Acceso restringido, solo podr ver a sus

    clientes y los equipos e historiales de sus clientes, adems tendr acceso a

    filtros y reportes donde podr observar el flujo de trabajo y costos

    asociados por fechas, equipos y/o clientes.

    Empresa "C" = Clientes: Acceso restringido, no pueden ver costos de

    servicios ni valores asociados, no pueden ver otros clientes o equipos que

    no sean de su propiedad.

    4: Antes de comenzar

    Es necesario tener un servidor de base de datos y un espacio donde alojar nuestro

    contenido.

    La forma ms fcil de obtener esto es instalando los servicios en tu computadora

    y xampp es el candidato ideal para que lo haga por ti, en caso contrario puedes

    buscar un hosting gratuito que te entregue todo lo necesario o pagar por uno

    segn tus necesidades.

    5: PHPRunner

  • Esta es la pantalla de inicio de PHPRunner en ella podrn elegir varias planillas

    ya predefinidas muy vistosas pero bastante simples, puedes

    comenzar eligiendo una para tener un ejemplo de su funcionamiento.

    Esta vez crearemos un proyecto nuevo seleccionamos la primera

    opcin "Application wizzard", en "Project name" le damos el nombre y luego

    en "Location" la ubicacin donde se guardaran los Sources de nuestro proyecto.

  • Como comentamos en un principio, trabajaremos con MySQL, as que deben

    seleccionar la casilla marcada en rojo, sin embargo el programa les da

    la posibilidad de trabajar con cualquier tipo de base de datos incluso MS Access

    la cual puede ser una opcin interesante para una intranet sin mucho movimiento.

  • El siguiente paso nos solicitara los datos de conexin de nuestra base de datos.

    Donde estan esos datos?.

    Si estas usando xampp, los tendrs que crear ingresando a http://localhost, luego

    a phpMyAdmin con el usuario root sin contrasea. (a menos que le hayas puesto

    alguna). y crear un nuevo usuario otorgndole todo los privilegios a esa base de

    datos en particular.

    para no profundizar mucho en esto, colocare una imagen con los pasos resumidos

    y remarcado lo que deben rellenar.

  • el nombre que seleccionaron y la contrasea son los datos que necesitan para

    conectarse a la db desde PHPRunner, si tienen hosting de pago o

    gratuito, debern hacer algo similar, pero desde el panel de administracin de su

    sitio.

    Host/Server name (or ip): localhost

    User: Nombre del usuario de la base de datos (suele ser el mismo nombre de la

    base de datos)

    Password: (su-contrasea)

    Port: por defecto, a menos que se especifique lo contrario.

    1 Base de datos:

    En el articulo anterior, revisamos como crear una base de datos con

    phpMyAdmin y su respectivo usuario para conectarnos con PHPRunner.

    A continuacin crearemos las tablas y campos correspondientes que

    necesitaremos para nuestra aplicacin de ejemplo.

    Nota: si accedes como root o usuario con privilegios puedes crear la tabla desde

    PHPRunner directamente como en este ejemplo, al final de la aplicacin

    luego podrs editar los datos por un usuario y contrasea seguros.

  • Ejemplo: como crear una tabla desde PHPRunner

    A lo nuestro. Luego de tener La db, el usuario y los privilegios listos ya sea desde

    phpMyAdmin o desde la interfaz de PHPRunner, comenzaremos a crear las

    tablas y campos necesarios para nuestra aplicacin de ejemplo. (Pueden ver las

    caractersticas que buscamos en nuestra aplicacin en la primera parte del

    tutorial).

    PHPRunner, nos entrega una interfaz bastante amigable a la hora de crear tablas

    y relaciones entre ellas, las caractersticas principales que ofrece son Views,

    Reports, Charts y obviamente las tablas. Trataremos de ver todas en este captulo,

    donde mi objetivo es que puedan ver las diferencias de cada una de ellas.

  • Para crear una tabla en PHPRunner, debemos darle click al botn "Add Table" y

    nos aparecer una ventana donde podremos crear los campos, elegir el tipo de

    campo, tamao, cual sera el indice y si usa o no Auto Increment.

    Existen diferentes tipos de campos, todos ya definidos para una base de datos,

    por lo cual no creo sea necesario profundizar demasiado en ellos, para su

    proyecto ustedes podran agregar los campos que crean necesarios y el tipo que

    corresponda segn el uso que decidan darle, por ejemplo si solo quieren

    son nmeros "int", texto "varchar", Fecha "date", imagenes "mediumblob". etc

    Nota: si almacenan imgenes en su base de datos, pueden

    sobrecargarla demasiado tengan cuidado con esa opcin, les recomiendo

    guardar la imagen en una carpeta del servidor.

  • Para comenzar he creado 4 tablas esenciales para nuestro proyecto, "Mandantes",

    "Clientes", "Equipos", "Historial", pueden agregar ms tablas si lo desean, pero

    con estas nos debera bastar para nuestro ejemplo. (Recuerden que la versin

    trial, solo soporta 15 tablas en total)

    Cada tabla mencionada arriba lleva un nmero predeterminado de campos, los

    cuales nos servirn para ordenar y clasificar nuestros trabajos en la db. Los

    campos que estos incluyan pueden ser muchos pocos o varios y depende 100%

    de ustedes con excepcin de los que nombrare a continuacin pues son esenciales

    para que nuestro proyecto funcione.

    2 Campos y relaciones:

    Los campos necesarios:

    Tabla Mandantes: IDMandante; NombreMandante

    Tabla Clientes: IDCliente; IDMandante; Usuario; Contrasea; NombreCliente

    Tabla Equipos: IDEquipo; IDMandante; IDCliente; Patente (o identificador)

    Tabla Historial: IDHistorial; IDMandante; IDCliente; IDEquipo; NumeroOrden

  • Antes de proseguir, reordenemos nuestra idea para que podamos entender por

    qu son esenciales los siguientes campos y qu relacin tienen cada uno de ellos.

    En una situacin normal, bastara identificar cada tabla con su propio ID y

    relacionar la ID entre tablas, sin embargo en el ejemplo estamos creando un id

    por cada tabla y repitiendo en cada sub tabla siguiente, creando una cadena de

    hijos y sub tablas que podran parecer innecesarias.

    Nuestra idea en un principio es crear dos grupos de usuarios, los mandantes y

    clientes. Los mandantes pueden ver a todos los clientes que tengan relacionados,

    todos los equipos de sus clientes, los valores, trabajos e historiales

    correspondientes a ellos. Sin embargo los clientes, solo pueden ver los equipos

    que les pertenecen y no pueden ver el valor de los trabajos si cuando fueron

    realizados y filtrar la bsqueda por Fecha, hora y servicio.

    Ya con nuestras tablas creadas y campos listos procederemos a relacionarlas con

    sus respectivas ID.

  • Para crear una relacin en PHPRunner, basta arrastrar con el mouse el campo que

    desees hacia el campo que se relacionara en la siguiente tabla donde se les abrir

    una ventana como en la de imagen de arriba indicando el tipo de relacin creada.

    Para este ejemplo, relacionaremos como maestra siempre la de la izquierda y la

    relacin ser de uno a mucho 1 --> donde cada vez los campos a relacionar sern ms dependiendo de qu tan a la derecha este la tabla (Como el ejemplo de

    la imagen).

    3 Custom Views

    Podrn percatarse que solo la tabla cliente tiene Usuario y Contrasea, sin

    embargo mandante y cliente son usuarios diferentes pues tienen diferentes rango

    de acceso a la informacin y para esto PHPRunner, nos ofrece una magnifica

    solucin llamada Custom Views.

    Para crear un custom view, deben dar click en "Add View" y crear 5 Custom

    diferentes tal cual se muestra en la imagen de arriba.

  • 3 Custom para mandantes: clientes, Equipos e Historial y 2 para clientes:

    Equipos e Historial.

    Expliquemos un poco de que trata esto, los Custom View, son forma de decirle a

    PHPRunner que realice consultas y cree nuevo tipo de relaciones entre tablas sin

    la necesidad de crear nuevas tablas, pues son un espejo de las tablas originales,

    por lo tanto obtienen como resultados sus mismos datos.

    Al igual que con las tablas originales, crearemos las relaciones para los Custom

    Views y ms adelante en un tutorial prximo veremos como asignar los permisos

    para las tablas y Custom Views correspondientes.

    Para Finalizar aadiremos un Report de la tabla clientes y un Charts de los

    equipos los cuales configuraremos ms adelante y deberamos quedar con algo

    similar a la siguiente imagen.

  • En el prximo tutorial, revisaremos las consultas y configuraciones bsicas de

    nuestra aplicacin para luego proceder con la asignacin de permisos e interfaz.