Author: Mario Carrocera
Viewers: 44
Last month viewers: 1
Package: PHP NoSQL Database OnTime
La mejor opción para almacenar datos que estén siempre disponibles, ya que usa únicamente el sistema de archivo, esto lo hace la perfecta elección para crear paginas web dinámicas.
NoSql Database
Once you have downloaded the package, the best practice is to protect the code and information of the database, this is achieved by moving the ontime directory from being inside the location of your web page to being parallel to it , with this it cannot be accessed directly from the internet, however, it is easily called from the front simply by changing the line
$ base = 'ontime / ';
include_once ($ base. "OnTime.php");
$ demo = new OnTime ('ontime');
for$ base = ' ../ontime/ ';
include_once ($ base. "OnTime.php");
$ demo = new OnTime ();
With that, the structure of your project will be similar to the one shown in the following image
Regardless of whether the database is accessed from the local server, from apis or through web service, the source is the same therefore fully aligned with each other
The files generated should never be modified manually since there is at least double access, the configurations can be made directly from code or using the frontend modules, nor once installed should the security of the files be modified manually. that security is breached
The NOSQL database contains all the necessary elements to be able to generate a useful and complete frontend, and at the same time flexible and customizable
Once the files are copied to their destinations using the browser run the Setup.php file, save the environment and delete itself leaving your database ready to operate
Definition
Without trying to implement a standard in the industry, as creators of ontime we have our own language to define elements of our framework
Feature .- It is defined as a specific operation that includes several procedures in the class that support its operation.
Container .- It is defined as a specific space in the database, which groups information of different types but logically related to each other, physically it is a directory.
Basic content .- It is defined as a specific space in the database, which groups records of the same type of information, physically it is a file. < / p>
Contents .- It is defined as a specific space in the database, which groups records of the same type of information as well as supporting information for its correct operaion, it is physically a group of files with the same base name.
Security
When configuring the database, the admin user is pre-installed, which cannot be eliminated or required to be assigned, has access to the entire database without the need to make any declaration, security assigns for each generic element that they integrate the framewok, each of them with its own levels, which is data associated with assigning accesses
For reading content there are two similar to a user, "anonymous" which is when no user is active in the frontend and "public" available when any user is active in the frontend, this is specifically designed for the information that is present on a page
Groups and Users
The database has an advanced security control which allows you to define an unlimited number of user accounts, as well as the functions of each one, the length of the user's password is not limited, nor is the password access, which is encrypted.
The best practice is to create groups according to their responsibilities, which allows you to guarantee the operation of the system, facilitating its maintenance in case of movements in the staff, in case a user level is defined access and is in a group that intends to modify the assignment at user level always remains ignoring what is specified at group level
The database can only be used with a single user or good global access to all, it is the simplest but it is definitely a bad practice
Levels
When a user or group is assigned to any of the elements of the database, the level that is in it must be indicated, the levels are stratified, each level inherits the characteristics of the immediately preceding one by adding new ones, the levels are static and cannot be modified or translated as the system crashes
They are numbered below:
vmine .- You can only view information that is directly related to an information that you own
view .- You can only view owner information indistinctly
umine .- You can edit the information you own
update .- You can modify the information Indistinctly from the owner
insert .- You can add information, if the content type applies it owns the record
delete .- It allows deleting records in the information
admin .- You can perform operations such as compaction, encryption and others specially with the information
access .- Allows to view container specifications in a characteristics
change .- Allows to modify the container's deny to specifications in a feature
create .- Allows you to create containers in a feature
remove .- Allows removing containers in a feature
owner .- It allows to modify specifications in a characteristics
Basic Content
The basic content is the simplest way to store information, where a key is associated with a description, creating basic lists, these lists tend to be static so they do not need to be blocked when updating, and constitute what They are called possible values, the description is displayed on the screen and the key is stored in the information
Tables
The tables have defined field structures and are validated when adding or removing.
Data Dictionary
Before using a field it is necessary to define its characteristics in type and validation, for example, if an Image field is defined, its content is character type, but it must exist in the location that we have to indicate
Records
There are two models, the records and the sub-records, the first one is a grouping of related data, it is mandatory that one and only one is defined as an access key, the sub-registries are groups without a key, which simplify the definition of the records, for example defines an address sub-record which includes the fields street, exterior number, interior number, neighborhood, municipality, state and country, when it is used in tables of customers, suppliers, etc, just call the address subregister.
If a new field is added to a sub-record, in the previous example, if we add the postal code, just do it once, it is not necessary to fix all the related tables
A Record can be used in an unlimited number of tables
Multilanguage
Using google's automatic translation is the simplest solution, however, it is not always the most professional since each region, even being the same language, has different nuances, so the database has the ability to have layers of languages to give the desired meaning
Base de Datos NoSql
Una vez que has descargado el paquete, la mejor practica consiste en proteger el codigo e informacion de la base de datos, esto lo consigue moviendo el directorio ontime de estar dentro de la localización de tu pagina web a quedar paralelo a la misma, con esto no puede ser accesado directamente desde internet, sin embargo, se llama fácilmente desde el front simplemente cambiado la linea
$base='ontime/';
include_once($base."OnTime.php");
$demo=new OnTime('ontime');
por$base='../ontime/';
include_once($base."OnTime.php");
$demo=new OnTime();
Con eso, la estructura de tu proyecto sera similar al que se muestra en la siguiente imagenSin importar si la base de datos se accede desde el servidor local, desde apis o mediante web service la fuente es la misma por lo tanto totalmente alineados entre ellos
Los archivos generados nunca deben de ser modificados manualmente ya que se cuenta con al menos doble acceso, las configuraciones pueden hacerse directamente desde codigo o utilizando los módulos de frontend, tampoco una vez instalado debe de modificarse manualmente la seguridad de los archivos ya que se vulnera la seguridad
La base de datos NOSQL contiene todos los elementos necesarios para poder generar un frontend util y completo, y al mismo tiempo flexible y personalizable
Una vez que los archivos se copian en sus destinos usando el navegador ejecute el archivo Setup.php, grabara el medio ambiente y se autoeliminara dejando su base de datos lista pra operar
Nomenclatura
Sin pretender instrumentar un estándar en la industria, como creadores de ontime tenemos nuestro propio lenguaje para definir elementos de nuestro framework
Característica.- Se define como una operatividad especifica que incluye varios procedimientos en la clase que soportan su funcionamiento.
Contenedor.- Se define como un espacio especifico en el la base de datos, que agrupa informacion de diferentes tipos pero relacionada logicamente entre si, fisicamente es un directorio.
Contenido basico.- Se define como un espacio especifico en el la base de datos, que agrupa registros de el mismo tipo de informacion, fisicamente es un archivo.
Contenido.- Se define como un espacio especifico en el la base de datos, que agrupa registros de el mismo tipo de informacion asi como informacion de apoyo para su correcta operaion, fisicamente es un grupo de archivos con el mismo nombre base.
Seguridad
Al configurar la base de datos se preinstala el usuario admin, el cual no puede ser eliminado ni requiere se asignado, tiene acceso a toda la base de datos sin necesidad de realizar ninguna declaracion, la seguridad asigna para cada elemento generico que integran el framewok, cada uno de ellos con sus propios niveles que es un dato asociado al momento de asignar accesos
Para lectura de contenido hay dos similes a un usuario, "anonimo" que es cuando ningun usuario esta activo en el frontend y "publico" disponible cuando cualquier usuario esta activo en el frontend, esto esta especificamente diseñado para la informacion que se presenta en una pagina
Grupos y Usuarios
La base de datos cuenta con un avanzado control de seguridad la cual te permite definir un numero ilimitado de cuentas de usuario, asi como las funciones de cada uno,la longitud de la clave del usuario no se encuentra limitada, tampoco la clave de acceso, la cual se encuentra encriptada.
La mejor practica consiste en crear grupos en fincion a sus responsabilidades lo que te permite garantizar la operacion del sistema, facilitando el mantenimiento del mismo en caso de movimientos en la plantilla de personal, en caso que a nivel usuario se defina un nivel de acceso y se encuentre en un grupo que lo pretende modificar la asignacion a nivel usuario siempre se mantiene ignorando lo especificado a nivel grupo
Tenicamente puede usarse la base de datos con un solo usuario o buen dar acceso global a todos, es lo mas simple pero definitivamente es es una mala practica
Niveles
Cuando se asigna un usuario o grupo a cualquiera de los elementos de la base de datos se tiene que que indicar el nivel que se tiene en el mismo, los niveles son estratificados cada nivel hereda las caracteristicas del inmediato anterior agregando nuevas, los niveles son estaticos no pueden ser modificados o traducidos ya que el sistemas se bloquea
A continuacion de senumeran:
vmine.- Unicamente se pueden visualizar informacion que se encuentre relacionada directamente con unformacion de la que eres propietario
view.- Unicamente puedes visualizar informacion indistintamente de propietario
umine.- Puedes nodificar la informacion de la que eres propietario
update.- Puedes nodificar la informacion Indistintamente del propietario
insert.- Puedes agregar informacion, si el tipo de contenido aplica es propietario del registro
delete.- Permite eliminar regisytos en la informacion
admin.- Puede realizar operaciones como compactacion, encriptacion y otras dentro espeiales con la informacion
access.- Permite visualizar especificaciones del contenedor en un caracteristicas
change.- Permite modificar especificaciones denyto del contenedor en un caracteristicas
create.- Permite crear contenedores en un caracteristicas
remove.- Permite eliminar contenedores en un caracteristicas
owner.- Permite modificar especificaciones en una caracteristicas
Contenido Basico
El contenido basico es la forma mas simple de almacenar informacion, donde una clave es asociada a una descripción, creando listas basicas, estas listas tienden a ser estaticas por lo que no requieren ser bloqueadas al momento de actualizarse, y constituyen lo que se llaman valores posibles, la descripcion se muestra en la pantalla y la clave se almacena en la informacion
Tablas
Las tablas cuentan con estructuras de campos definidos y son validados al momento de agregar o eliminar.
Diccionario de datos
Antes de emplear un campo es necesario definir sus caracteristicas en tipo y validacion, por ejemplo, si se define un campo Imagen, su contenido es tipo caracter, pero debe de existir en la localizacion que tenemos que indicar
Registros
Existen dos modelos el registro y el subregistro, el primero son una agrupación de datos relacionados es obligatorio que uno y solo uno este definido como llave de acceso, los subregistros son agrupaciones sin llave las cuales simplifican la definición del registro por ejemplo se define un subregistro dirección el cual incluye los campos calle, numero exterior, numero interior, colonia, municipio, estado y país, cuando se emplea en tablas de clientes, proveedores, etc basta llamar al subregistro dirección.
Si a un subregistro se le agrega un nuevo campo, en el ejemplo anterior, si agregamos el código postal, basta hacer una sola vez, no es necesitar todas las tablas relacionadas
Un Registro puede ser empleado en una cantidad ilimitada de tablas
Multilenguaje
Emplear la traducción automática de google es la solución mas sencilla, sin embargo, no siempre es la mas profesional ya que cada region aun siendo el mismo lenguaje tiene diferentes matices, por lo que la base de datos tiene la habilidad de tener capas de lenguajes para dar el significado deseado
You need to be a registered user or login to post a comment
Login Immediately with your account on:
Comments:
No comments were submitted yet.