PXP
SUPPORT :
Youtube chanel (https://www.youtube.com/channel/UCSk4IfCR6swJYu3zPOEiGuw)
Interface maestro Detalle (https://www.youtube.com/watch?v=uUVevOzYDy4)
Support forum (request an invitation! to rensi@kplian.com or jaime@kplian.com)
DEMO :
http://gema.kplian.com/sis_seguridad/vista/_adm/index.php
user: admin
password: admin
INSTALLATION :
https://github.com/kplian/instalador_framework.pxp for centos 6.x and 7.x
(how to install ... https://www.youtube.com/watch?v=fIQbMXl5Jdg)
NEXT ... (if you want another instance):
FOR CREATE A NEW INSTANCE:
-
Create folder for your project (example mypro)
-
Inside the folder of your project clone this repository (This will create the pxp folder) #git clone https://github.com/kplian/pxp.git
-
Create a empty database for your project 3.1 Create database user for connection:
Example: CREATE ROLE db_conexion NOINHERIT LOGIN PASSWORD 'db_conexion';
-
You must create soft-links inside your project root folder to:
- lib
ln -s pxp/lib lib (execute inside your project root folder) - index.php
ln -s pxp/index.php index.php (execute inside your project root folder) - sis_seguridad
ln -s pxp/sis_seguridad sis_seguridad (execute inside your project root folder) - sis_generador
ln -s pxp/sis_generador sis_generador (execute inside your project root folder) - sis_parametros
ln -s pxp/sis_parametros sis_parametros (execute inside your project root folder) - sis_organigrama ln -s pxp/sis_organigrama sis_organigrama (execute inside your project root folder)
- sis_workflow ln -s pxp/sis_workflow sis_workflow (execute inside your project root folder)
All these folders and files are inside pxp.
- lib
-
Create two folders one named "reportes_generados" and other "uploaded_files" inside your project root folder with write access for Apache user.
-
Create a file named "DatosGenerales.php" inside pxp/lib. This file could be a copy of DatosGenerales.sample.php wich already exists in the same folder. It's necesary to do some configurations in that file according to the database.
-- ejm Create user dbweb_conexion in your database with superuser privileges $_SESSION["_BASE_DATOS"]= "dbweb"; $_SESSION["_USUARIO_CONEXION"] = "conexion" ; $_SESSION["_CONTRASENA_CONEXION"] = "pass_user_web_web_conexion" $_SESSION["_FOLDER"] = "/mypro/";
-
As postgres user execute "pxp/utilidades/restaurar_bd/restaurar_todo.py" (This will generate the database). Postgres user needs execution access to restaurar_todo.py (./restaurar_todo.py)
-
ejm create user conexion in your database
$_SESSION["_USUARIO_CONEXION"] = "conexion" ; $_SESSION["_CONTRASENA_CONEXION"] = "dbweb_conexion" ; ...
-
7.1. Configure postgres file, pg_hba.conf in direccion /var/lib/pgsql/9.1/data/, add next line:
local all postgres, dbweb_conexion trust
7.2. Restart postgres service
/etc/init.d/postgresql-9.1 restart
or service postgresql-9.1 restart
- You can use the framework now!!! (user:admin, password:admin)
TO CREATE A NEW SYSTEM:
- Create a folder for the system. Inside it create this structure:
- vista
- control
- modelo
- base
- funciones
- schema.sql (name of database schema for the system)
- data000001.sql (Scripts with initial data )
- dependencies000001.sql (Scripts to create objects with dependency: create view, add foreing key constraints, etc.)
- patch000001.sql (Scripts to create objects with no dependency: create table, add columns, etc.)
- test_data.sql (Test data for the system)
The folder "funciones" must contain one file for every function in the system.
- Create or update a file named "sistemas.txt" inside your project root folder wich contains the path for every system of your project.Eg: "../../../sis_mantenimiento/" One path should be one line in the file
TO CLONE AN EXISTING SYSTEM:
For this, yo should have an instance already running and follow these steps:
- Go to your project root folder
- Clone your system git repository. If you have more than one system, you have to clone them all #git clone yourrepository.git
- Create or update a file named "sistemas.txt" inside your project root folder wich contains the path for every system of your project.Eg: "../../../sis_mantenimiento/" One path should be one line in the file
- Execute the script: "./restaurar_todo.py" It whould be in your project folder and pxp/utilidades/restaurar_bd (Execute it as postgres user)
- If you have data to loose in the system select option 2, if there is nothing to loose select option number 1
TO UPDATE THE DATABASE ON PULL OR MERGE:
After pull, the code is updated,but database scripts are not executed yet. It's possible to execute folowing these steps:
- Go to "/pxp/utilidades/restaurar_bd/" folder
- Change user to postgres: "su postgres -"
- Execute the script: "./restaurar_todo.py"
- Now we have a menu with 4 options:
- Option 1 Drops all tables and functions an restore them from scripts ¡¡¡You lose information here!!!!
- Option 2 Keeps tables with data, drop functions and restore them from scripts and execute new script ¡¡¡You don't lose information here!!!!
- Option 3 Generate a backup from the current database
- Option 4 Exit the application
CODE GENERATOR:
This video explains to use code generator for PXP
https://www.youtube.com/watch?v=uUVevOzYDy4
LICENSE
See the LICENSE file for license rights and limitations (GPLv3).