Mambo Cms
Mambo Cms
Mambo Cms
FACULTAD DE INGENIERÍA
Por
-Temuco 2005-.
2
AGRADECIMIENTOS.
Hoy culmina una etapa importante del proyecto de educación que me plantee hace 5 años
atrás con muchas expectativas. Para mí la Universidad era un sueño, y hoy me encuentro
cumpliéndolo. Una etapa de mi vida que considero enriquecedora, y espero que sea la
Quisiera agradecer a mi familia, principalmente mis padres Manuel y Maria, que con
mucho esfuerzo hicieron posible que hoy me encuentre aquí. Gracias papá por tu
incondicional apoyo, por creer en mi, por confiar, eres mi máximo referente, tus ganas de
superación y el talento con que haces tu trabajo me inspiro. Gracias mamá, por motivarme,
por la comprensión, tu amor me dio fuerzas para superar los obstáculos de estudiar lejos de
casa. A mi hermano; Manuel gracias por creer en mi, y hacer de mis triunfos los tuyos
propios. Mi familia es grande, unida y hermosa, siento que este proceso es un logro en mi
Temuco fue mi hogar durante este proceso, por eso quisiera agradecer también mis a tíos
Ana Maria y Miguel, por recibirme en su hogar y por haberme hecho sentir como en casa,
a Maria José por su risa y su humor que me brindo tantas alegrías. Agradecer también a mis
amigos, por formar parte de esta hermosa etapa, que recorrimos juntos. A Mario por
Los recuerdos de esta cuidad, la Universidad sus lugares y su gente los llevare en mi
corazón siempre. Gracias a todos los que durante este tiempo formaron parte de este
proceso y a Dios por permitirme vivir esta hermosa etapa, por ponerme en este lugar y
INDICE GENERAL.
INDICE DE CONTENIDOS...................................................................................................... 2
RESUMEN EJECUTIVO........................................................................................................... 9
2
INDICE DE CONTENIDOS.
CAPITULO I INTRODUCCIÓN..................................................................................... 11
1. Introducción. ..................................................................................................................... 12
2.6.6 Mambo y sus principales características para realizar sitios Web y portales.. 63
4
3.6.3 MySql................................................................................................................... 95
adaptación ..................................................................................................................... 99
3.7.3 Versión extendida del Modelo de casos de uso del Sistema Curriculums....100
INDICE DE FIGURAS.
Figura 14 Esquema funcional del Portal PHP Nuke y el Sistema On Line Curriculums.... 89
Figura 15: Esquema Situación Esperada Sistema Curriculums / Portal Acoplados .............90
Figura 23: Detalle Estructura final Tabla usuarios en Base de datos ..................................113
Figura 24: Detalle Estructura final tabla Nuke usuarios en Base de Datos.........................115
INDICE DE ANEXOS.
RESUMEN EJECUTIVO.
Los portales Web y los portales de redes corporativas crean el ambiente integrado de
escritorio adecuado para los usuarios de hoy en día. De esta forma se gestiona de manera
masificó en Internet, ya no sólo utilizados para el entretenimiento, sino, para las empresas.
El reto surge al tratar de crear el tipo de portal que más convenga a los objetivos de la
infraestructura de TI.
El proyecto que cubre este documento se refiere a un estudio e investigación de las dos
denominan Portal.
Mediante este estudio se obtienen las conclusiones que nos permiten elegir, dependiendo el
uso, cuál de ellas ocupar. Realizar un estudio comparativo que nos grafique el nivel de
adaptabilidad que estos sistemas presentan. Además se describen los criterios más
requerimientos en función de los objetivos que se quieran alcanzar. Por eso, se explican los
Este proyecto incluye el desarrollo de un caso aplicativo. Este caso consiste en adaptar un
anteriormente, que resulta vital, debido a que el portal de la Facultad esta en vías de ser
avalen el uso y la adaptabilidad que presentan, no existen sistemas que hayan sido
Hoy en día, la información se necesita de forma oportuna, y los largos tiempos de espera,
Internet de estas herramientas, que generan estas aplicaciones de forma rápida en tiempos
Para dar solución a esta problemática se desarrolla esta investigación aplicativa, como
crítica de forma más fácil y rápida. La capacidad de localizar rápidamente y tener acceso a
CAPITULO I INTRODUCCIÓN
12
1. Introducción.
de los portales Web y se realizará un análisis del problema que presenta la Facultad de
canalizar las conclusiones en post de la mejora de la situación existente. Para concluir este
problema.
Realizar una página Web compleja, tal como un portal web, puede ser un proceso
portal con facilidad, encargándose de los trabajos más pesados que hasta ahora ocupaban el
desarrollarlas, hace que los usuarios las elijan. Existen productos comerciales, pero gracias
usuarios, etc. La apariencia de los portales generados con estas herramientas es bastante
portal funcional, se requiere además optimizar procesos, o en caso de ser factible, agregar
Una solución basada en portales, provee a los usuarios el acceso conveniente a todo lo que
necesite para completar sus tareas diarias, desde un sólo lugar y mediante una vía segura.
“comunidad virtual”.
Un portal se refiere a una aplicación Web que gestiona de forma uniforme y centralizada
de usuarios (comunidad) a los que sirve de marco de trabajo. Todo esto en un entorno Web.
conjunta al portal.
aspectos.
referente a las posibilidades de adaptabilidad y flexibilidad que los portales generados con
diferente. Y por su parte analizar las normativas de las herramientas, y en que aspectos
investigación que potencie el análisis, que sirva como orientación en el uso que se pretenda
software de uso común por los académicos, de Curriculums On- Line, desarrollado con la
permitiéndoles a los usuarios tener acceso en el mismo portal a esta aplicación, siendo ésta
15
diseño de las interfaces. Para que toda la información se encuentre en forma más expedita
desarrollar un estudio de esta tecnología, cada vez más masiva en la actualidad. Con
• Desarrollar un caso (aplicativo) que sirva de referente para aplicar las herramientas
estudio.
Caso.
noticias (RSS).
17
instancia los procesos de adaptación siempre son dificultosos, una vez que se logra y
aplicación para el portal, bastará con revisar esta documentación, logrando una
orientación a seguir.
usuarios.
desarrollo.
prototipo.
En el capítulo cuatro, se realiza una discusión sobre las herramientas. Se describen los
Capítulo cinco. Capítulo final de este documento. Se dan a conocer las conclusiones de este
CAPITULO II INVESTIGACIÓN
Estas herramientas son de gran utilidad cuando es necesario realizar cambios de mucha
frecuencia en un sitio Web, como por ejemplo: noticias diarias, actividades, entre otros.
Los sistemas de gestión de contenidos (CMS) son un software que se utiliza principalmente
Un CMS aporta herramientas para que los creadores sin conocimientos técnicos en páginas
Para la creación de un portal, los CMS aportan herramientas para definir la estructura, el
formato de las páginas, el aspecto visual, uso de patrones, y un sistema modular que
Los contenidos creados, por ejemplo, noticias o artículos, se depositan en una base de
datos central, donde también se guarda el resto de datos del portal, cómo son los datos
relativos a los documentos, datos y preferencias de los usuarios, la estructura del portal, etc.
La estructura se puede configurar con una herramienta que, habitualmente, presenta una
visión jerárquica del sitio y permite modificaciones. Mediante esta estructura se puede
21
asignar un grupo a cada área, con responsables, editores, autores y usuarios con diferentes
permisos.
definido para toda la Web o para la sección concreta donde está situada. Así el resultado
final es un sitio Web con un aspecto consistente en todas sus páginas. Esta separación entre
contenido y forma permite que se pueda modificar el aspecto visual de un sitio Web sin
afectar a los documentos ya creados, y libera a los autores de preocuparse por el diseño
Para grandes volúmenes de contenido, las páginas Web estáticas son cosa del pasado. Hoy
en día, se necesita un sitio que se pueda actualizar con frecuencia, que promueva sus
nuevos contenidos, noticias más recientes y que pueda reaccionar a la competencia rápida y
eficientemente.
aplicación computacional.
Son muy variados los sistemas CMS. Para emplearlos, algunos requieren un conocimiento
más técnico que otros. Unos son genéricos en su propósito, mientras que otros son
Los sitios que proveen información a partir de bases de datos, son ahora el estándar en el
Internet, y los sistemas de administración de contenido utilizan este mismo principio. Las
herramientas para manejo de contenido, como se mencionó, trabajan en conjunto con una
Usar un CMS elimina muchos de los pasos que son requeridos en ambientes de desarrollo
convencionales. El personal responsable del Sitio Web, puede agregar contenido a un sitio
sin tener que escribir una sola línea de código, así es que no hay ninguna necesidad de que
CMS es reutilizable. Almacenar información en una base de datos significa que ese
Para muchos, el beneficio más importante es el control. Un sistema que controla que sólo
las personas autorizadas en una organización tengan acceso al mantenimiento del sitio
de aquellos modelos que permiten el libre acceso al contenido a muchos individuos dentro
de una organización. Al usar un sistema CMS basado en plantillas, se toma el control total
La administración de contenido puede concebirse como una herramienta para poner ideas
en práctica de la manera más directa posible. Crea de esta forma, especies de comunidades
Aun los paquetes disponibles en el mercado pueden tener sus contratiempos, pero
24
codificadas en HTML funcionan en cualquier servidor Web, pero un CMS requerirá una
contenido, esté construido basado en uno de los muchos protocolos de scripts de servidor
y configuración para que funcionen. Esto puede conducir a la misma serie de pruebas y
medida.
Se podrá obtener un mayor rendimiento del CMS si se orienta hacia una “comunidad
virtual”, si se aprovechan todas y cada una de las facilidades que un CMS puede ofrecerle a
una organización. Extender la cobertura del sistema CMS hasta la Intranet o implementar
facilidades tales como los boletines en línea (bulletin boards), maximizarán el uso del
sistema, ayudará a fomentar una atmósfera de trabajo en grupo y podrá conducirlos hacia
Durante muchos años, los científicos han utilizado la internet para compartir datos,
los últimos años, millones de usuarios de computadores de todo el mundo han comenzado a
25
explorar la internet y servicios comerciales online. Muchos han pasado a integrar algunas
de las comunidades que han surgido para satisfacer las necesidades del consumidor en
• Los CMS comerciales desarrollados por empresas para la venta. Estos no permiten
• Los CMS de código fuente abierto o Software Libre (Open Source). Están
La disponibilidad del código fuente hace posible que se hagan personalizaciones del
todo el software de código abierto es de acceso libre, es decir, sin ningún costo en licencias.
En comparación, los productos comerciales pueden llegar a tener un costo que sólo una
En cuanto al soporte, los CMS comerciales acostumbran a dar soporte profesional, con un
costo elevado en muchos casos, mientras que los de código abierto se basan más en las
formas de soporte se pueden mezclar, y así encontramos CMS de código abierto con
empresas que ofrecen servicios de valor añadido y con activas comunidades de usuarios. En
26
el caso comercial también sucede, pero el costo de las licencias hace que el gran público se
decante por otras opciones y por lo tanto las comunidades de soporte son más pequeñas.
En los siguientes recursos online se encuentran los CMS más populares actualmente.
• Mambo: www.mamboserver.com
• PHP-Nuke www.phpnuke.org
• Typo3: www.typo3.org
• CMSimple www.cmsimple.dk
• Drupal : www.drupal.org
• Xaraya: www.xaraya.com
• Entre otras
PHP Nuke y Mambo OS, son las dos herramientas seleccionadas, de nuestra lista, para el
Existen muchas posibilidades en la Web de CMS de códigos abiertos, la lista que se mostró
anteriormente es sólo una muestra de los más usados, sin embargo, las posibilidades del
mercado son muchas más. Si bien los criterios de selección dependerán en exclusiva del
criterio personal del usuario, se sugiere establecer requerimientos y objetivos del portal que
se desee gestionar.
Software Propietario.
w Comparar licencias.
Por ello, antes de empezar el proceso de selección de un CMS concreto, hay que tener
La siguiente lista está basada en las funciones principales de los CMS, las indicaciones de
• Arquitectura técnica. Tiene que ser fiable y permitir la escalabilidad del sistema
para adecuarse a futuras necesidades con módulos. También tiene que haber una
modificación de uno de ellos sin afectar a los otros. Es recomendable que se utilicen
añadan funcionalidades.
• Soporte. La herramienta tiene que tener soporte tanto por parte de los creadores
como por otros desarrolladores. De esta manera se puede asegurar que en el futuro
problemas.
muy buena, pero hay que asegurar que tiene un cierto futuro. También son
• Usabilidad. La herramienta tiene que ser fácil de utilizar y aprender. Los usuarios
no siempre serán técnicos, por lo tanto hace falta asegurar que podrán utilizar la
funcionalidades, ni que éstas sean las únicas que tendrá finalmente la web. Entre
otras:
- Herramienta de búsqueda.
- Noticias.
- Artículos.
de trabajo.
- Webs personales.
Todas estas funcionalidades se consideran básicas dentro de las herramientas CMS, si bien
otras más.
generados CMS es la comunidad Nuke, trabaja de forma modular e incluye muchas de las
herramientas.
en Intranets e Internet. El administrador tiene el control total del sitio web, los usuarios
31
registrados, y un conjunto de herramientas poderosas para mantener una página web activa
sin duda soluciona un problema complejo, como es gestionar muchos tipos de contenidos.
especialmente diseñado para ser usados en Internet. Su autor es Francisco Burzi, que es el
que mantiene el código y realiza todas las modificaciones que lleva el paquete original.
PHP Nuke posee muchas características, a continuación listamos las más importantes:
• Sistema de encuestas.
PHP-Nuke es un sistema Open Source, lo cual implica cero costo, y a su vez un libre uso de
sus códigos se acoge a la licencia GPL, lo que nos permite obtener su código fuente y
modificarlo para adaptarlo a nuestras necesidades siempre que respetemos dicha licencia.
En la actualidad el autor del software baraja la opción de que Nuke, las futuras versiones,
respecto.
sistema utilizado para un sitio llamado Linux Preview. Con el tiempo se ha ido adaptando a
los usuarios Windows debido, sobre todo, a que Apache, PHP y MySQL han sido portadas
a dicha plataforma. La primera versión de PHP-Nuke fue en Junio del año 2000, era la
versión 1.0. La versión 2.02 apareció en Julio del mismo año. En Agosto se lanzan las
versiones 2.5 y 3.0. Las versiones 3.5 y 3.6 salen en Septiembre. En Octubre saldría la
revolucionaria 4.0, junto con las actualizaciones 4.2 y 4.3. Un año después de la primera
versión, saldría la actual serie, PHP-Nuke 5.0, llena de novedades. En noviembre aparece la
versión 5.3 que trae, como novedad más destacada, la abstracción de la base de datos. La
versiones 5.3.1 sale en noviembre y 5.4 en enero 2002. Así PHP Nuke evoluciona de forma
33
rápida, hasta llegar a la actual versión ocupada en esta aplicación la versión 7.4 se
considera una reestructuración de las anteriores, la novedad que trae es que ahora el sistema
es totalmente modular.
PHP Nuke para hacer más seguro el acceso al portal de los usuarios registrados, guarda en
Estos campos se guardan encriptados en la base de datos, esto consiste en que el usuario
En PHP se utiliza la función MD5 (Message Digest 5), que es una función hash irreversible
(de un sólo sentido) , es decir, encripta el password tecleado por el usuario y es imposible
que partiendo desde la cadena encriptada se vuelva a la contraseña origen. Por esto mismo
no hay problema de que alguien pueda acceder al campo encriptado de la base de datos.
acceder, habrá que realizar una comparación entre el password que introduce encriptado en
Toda la información que se publique es respaldable. PHP Nuke trae un sistema de Backup.
Se tiene la posibilidad de realizar backups de la base de datos utilizada , todas las veces que
datos, se tendrá la base de datos actual, respaldada tanto en estructura como en datos, para
pueden ser explotada por usuarios malintencionados para realizar ataques de inyección
SQL.
'querylang' en el módulo Top antes de ser utilizado en peticiones SQL. Esta circunstancia
puede ser explotada para manipular peticiones de este tipo e inyectar código SQL arbitrario.
Gracias a esta técnica se podría, por ejemplo, acceder a los hashes md5 de las claves de
Si bien el problema ha sido confirmado en todas las versiones 6 y en las 7 hasta la versión
problema, además se trabaja en las futuras versiones.. Se recomienda filtrar con un proxy
peticiones maliciosas o bien modificar el código para filtrar adecuadamente las entradas a
dicho parámetro.
35
Para poder utilizar PHP-Nuke, se necesita un servidor que permita el uso de PHP y una
aunque se puede utilizar PostgreSQL, ODBC, ODBC Adabas, Sybase, Interbase. Lo más
El motor de base de datos que se utilizó en este proyecto es MySQL. Esto es porque se trata
del más extendido y porque va a servir para cualquier versión de PHP-Nuke que se quiera
utilizar.
Después de tener instalados los distintos servidores que se requieren, la instalación de PHP-
El paso previo a cualquiera de los dos anteriores es descomprimir el paquete PHP-Nuke que
se hayan descargado:
html y sql. Dentro del directorio html están los archivos necesarios para el
residir los archivos de acceso mediante web. Lo normal es utilizar algún cliente de ftp o
SSH.
directorio sql. Su configuración es idéntica bajo Linux o bajo Windows, aunque hay
algunos matices:
Luego pedirá la clave de administración de mysql. Luego se debe reiniciar MySQL, para
Tanto para introducir las tablas en la base de datos como para el control y realización de
parámetros que van a definir el sitio, desde el acceso a la base de datos hasta el aspecto que
va a tener el mismo.
Para que el sitio funcione correctamente se debe revisar las siguientes variables:
dbhost = "localhost": Esta es la dirección del servidor de base de datos, lo normal es que
esté en la misma máquina que PHP-Nuke, si se trabaja de modo local será localhost, y si es
desde el servidor indicamos allí la IP, por ejemplo 192.168.5.192 que es la IP del servidor
dbuname = "root": Este es el usuario que tiene permiso para acceder a la base de datos, se
dbname = "nuke": El nombre de la base de datos donde residen las tablas que va a utilizar
PHP-Nuke.
prefix = "nuke": Este es el prefijo de las tablas de la base de datos. Si se utilizó nuke .sql
tienen dos sitios hechos con PHP-Nuke y se quiere compartir los usuarios.
38
Nuke se desarrolló sobre MySQL, en la actualidad soporta más motores de bases de datos.
Una vez realizado esto, se tiene lista la instalación, y se puede acceder al sitio web. La
accesible desde un navegador. La parte que no se hace desde aquí es la de añadir nuevas
La figura 2 muestra el panel de administración de Nuke 7.4. Todas las funcionalidades del
sistema pueden ser administradas desde aquí. Es necesario logearse como administrador en
una primera instancia, para luego trabajar en el panel, cada icono representa las
dependiendo del uso que queramos darle. Por ejemplo, se puede acceder al icono de
del portal Nuke, y sirve para que el administrador del sitio pueda configurar las
opciones del Portal en cuestión, crear, editar, y borrar elementos etc. En esta interfaz
el administrador del sitio encuentra todas las funcionalidades del portal y las
41
del sistema son los que se incluyen en el directorio “admin” del paquete de Nuke.
Módulos, que contienen los archivos necesarios para controlar todas las
el frontend (sitio público). Desde aquí se encuentra el módulo “tu cuenta” que
instancia necesita registrarse con un usuario y password, esto le permite tener los
para los usuarios registrados, por ejemplo: descargas, diario de vida etc.
Los grupos de usuario disponibles tienen diversos niveles del control de acceso. Aquí
publicar artículos, tener su diario de vida, descargas, entre otros. Posee un nombre
2. Usuario Visitante: Este tipo de usuario corresponde a aquellos usuarios que visitan
el sitio, les permite ver contenido, pero no tiene acceso a su cuenta ni a menús
portal, tanto el diseño como el acceso del resto del usuarios. Es el encargado de
sin embargo, este panel sólo desplegara las opciones a las que el administrador
Los módulos de PHP-Nuke están escritos en aplicaciones PHP que permiten manejar la
parte central del espacio Web. Por ejemplo, "News", "Forum", "Members List" etc. son
módulos.
Cada módulo, dependiendo de su propia complejidad, se estructura usando una parte para
los usuarios y otra para el administrador, en este lugar están los contenidos que se pueden
43
derechos de acceso. Este reduce mucho trabajo porque no es necesario insertar estos
buscado por defecto será el index.php que se encuentra dentro del directorio de AvantGo:
con controles internos, si el usuario tiene acceso al módulo y de ser así lo despliega en
pantalla.
Si en su lugar, se desea llamar a una página php diferente del index.php, (por ejemplo,
Esta es la variable archivo con el valor (print) que corresponde al nombre del archivo que
hay también una subcarpeta llamada "language". De esta forma, se gestiona de forma fácil
• Se incluye mainfile.php.
• Se verifican los permisos del módulo (si todo el mundo puede verlo, o sólo los
• Verificar que todo lo que se ha creado cumple con las reglas de desarrollo de PHP-
Nuke.
pública.
admin/modules.
45
index.php.
2. Las tablas en la sintaxis de php son identificadas por ‘prefix’. Por ejemplo, las páginas de
Nuke serán identificadas con "$prefix."_pages, donde $prefix tomará el valor que el
3. La localización de las imágenes o enlaces debe empezar desde la raíz de la carpeta html y
4. Para manejar de forma óptima la función multiidoma se crean algunos textos y/o
administración y la de los usuarios. Cada vez que se necesite agregar o crear un nuevo
este módulo, para ello se crea un directorio en la ruta admin del paquete de Nuke. En este
• admin/case.
• admin/links.
• admin/modules.
if (($radminsuper==1) OR ($radminfaq==1)) {
Este módulo:
• Verifica los derechos de administración (puede establecer si puede ser visto por el
(faq.gif). La carpeta admin/case sirve para definir el módulo que será usado en cada
47
case1 = insert
case2 = cancel
etc...
Esto permite ver que módulo será utilizado para verificar la condición del CASE. Por
ejemplo, en el módulo FAQ hay muchos ‘cases’, aquí se muestran los dos últimos:
case "FaqAdmin":
case "FaqCatGo":
include ("admin/modules/adminfaq.php");
break;
diferentes operaciones. La primera llama al archivo con la escena por defecto, la segunda,
archivos:
• admin/modules/modulo1.php.
• admin/case/case.modulo1.php.
48
• admin/links/links.modulo1.php.
administración.
<?php
if ($radminsuper==1)
En este ejemplo específico, el módulo podrá ser manejado sólo por el súper administrador
Esta parte del archivo controla los derechos de administración para cualquiera que acceda,
tiene un control sobre el idioma que se utiliza y un control sobre los derechos del
49
Activando los derechos sobre dos niveles en los nuevos módulos no es fácil, se debe
especificar en la tabla nuke_authors un nuevo campo que designa los derechos, después
La parte central, son las funciones de gestión y los casos que deben ser comprobados. Hay
• include("header.php");
• include("footer.php");
administración.
formulario.
Las dos últimas cosas que se deben hacer son la compilación del archivo
Se recomienda usar como guía uno de los módulos que vienen con el portal, como
programación de los códigos php se estila usar un código ordenado indentado, de clara
lectura, utilizar las variables globales del portal y mantener una relación con los códigos
originales.
51
de administración de contenido, con el cual se puede manejar un sitio Web sin necesidad de
saber programación en HTML o PHP. El usuario sólo se ocupa de la información que desea
publicar en su sitio Web; el sistema de Mambo se ocupa de todos los detalles técnicos y
administrativos. Además de ello, al ser un sistema de uso libre y gratuito resulta económico
para mejorarlo. El servidor de sitio Mambo es diferente a los modelos normales de portales.
Los componentes de Mambo son aplicaciones que funcionan conjuntamente con el núcleo
• Engine del Sitio completamente manejada por bases de datos usando PHP/MySQL.
• Las secciones de Temas pueden ser agregadas para que los autores sean
contribuidos.
resultados.
• Una idea del proyecto, de cuál es el objetivo de su sitio Web, con qué secciones
Una vulnerabilidad recién detectada en las ultimas versiones de Mambo, consiste en que se
navegador. Esta vulnerabilidad radica en que el archivo Tar.php no está protegido como es
para sitios en los que el parámetro PHP register_globals=on está habilitado. Algunos sitios
archivos remotos vía PHP. Constantemente están siendo publicados parches de seguridad
para las versiones liberadas, que deben ser instalados como medida preventiva para
por Mambo (donde residen todos sus contenidos) todas las veces que sea necesario. Así se
Cuando algo sale mal, se restaura el sistema con el archivo de backup, y el sitio estará
Existe otro backup que es el de los archivos de Mambo (anteriormente hablamos del
backup de la base de datos), este backup se realiza una sola vez, cuando se construye el
sitio. Este backup de archivos puede guardarse en disco duro del PC (o en un CD, o en
manera total.
1. Descargar los archivos de Mambo 4.5.1 o 4.5.2. Se pueden bajar desde el sito en español
español (traducida por el webmaster del sitio). La versión oficial en inglés se descarga
desde http://mamboserver.com/cat/Download_Mambo/ .
La versión 4.5.2 aún no está disponible en español, por lo que se recomienda la versión
Superpack Mambo 4.5.1. Para instalar ambas versiones (4.5.1 o 4.5.2) la forma es muy
similar. Sólo hay dos diferencias entre ambas: El instalador de la versión 4.5.2 está en
3. Subir todos los archivos al servidor, este debe previamente tener instalado PHP4, Apache
y MySQL. (Si se trabaja en forma local (localhost ) los pasos de instalación de mambo son
4. Crear la Base de datos MySQL, Dependiendo del tipo de cuenta y/o servidor de hosting
que se este utilizando. Si la cuenta posee un panel de control (Cpanel, Plesk, u otro
cualquiera) donde gestionar todas las tareas mediante las herramientas que nos provee el
panel de control, se puede crear la base de datos y el usuario de la misma con la respectiva
administrador del servidor que cree la base de datos MySQL, y anotar los datos de la
host: 192.168.5.192
user: mambo
pass: mipassword
Instalación de Mambo.
Una vez de haber realizado todos estos pasos previos se comienza con la instalación
propiamente tal, para ello mambo trae un instalador web fácil de usar. En el navegador se
56
ingresa la URL del dominio donde se han subido los archivos de Mambo por ejemplo:
http://www.midominio.com/Mambo452/installation/
de donde se tiene el paquete mambo. Estas páginas de instalación se encuentran dentro del
En esta instancia el sistema ejecuta un script que comprueba los requerimientos del sistema
operativo del servidor, permite ver si el servidor tiene activos los requerimientos mínimos
• Los módulos necesarios de PHP (que estén instalados y activados) para el correcto
funcionamiento de Mambo.
sistema): Se comprueba que esté escribible, es decir, que tenga asignados los
• Ruta de sesión: Se comprueba que el directorio asignado por defecto a php para
guardar y administrar las sesiones sea escribible (Atención: si esto llega a estar no
problema).
57
Como se ve en la figura 3 la imagen del pre- instalador de mambo revisa las características del
de configuración del intérprete PHP instalado en el servidor, para comprobar que esta
configuración tenga unas directivas mínimas sin las cuales Mambo no funcionará
"recomendado" con lo "actual", por ejemplo si el Modo Seguro está activado no podrán
abrirse archivos remotos desde el servidor o no podrán hacerse uploads de archivos desde
Permisos sobre carpetas y archivos: Para que todo funcione correctamente los archivos
necesita cambiar esto antes de continuar. Luego aceptar la licencia, términos y condiciones
seguir viene enumerando cada paso que se debe ejecutar para dejar el portal funcionando
Paso 1 del instalador de Mambo: Creación de la base de datos MySQL. Con los datos que
de la base de datos creada previamente (host, usuario y contraseña) se completa los campos
que se requieren.
El prefijo que se asigna por defecto a las tablas de Mambo es "mos_" , y se recomienda no
Se recomienda seleccionar la opción instalar datos de ejemplo para que se agreguen datos
a las tablas (noticias, artículos, instantáneas, etc) que luego ayudarán a entender cómo
almacenada en él. La versión de Mambo 4.5.2 tiene la posibilidad de asignar los permisos
Paso 3 del instalador de Mambo. El script instalador detecta automáticamente los valores
de los campos URL y Ruta: La URL es la dirección que habrá que ingresar en el navegador
A continuación debe escribirse una dirección de E-mail donde llegarán todas las
notificaciones del sistema y los usuarios al superadministrador del sitio, también debe
escribirse la contraseña.
Paso 4 del instalador de Mambo. Finalización. Los datos de usuario y contraseña que se
muestran en este paso son los del sitio mambo, no se deben olvidar. Luego estos datos no se
El archivo configuration.php.
Suelen ocurrir problemas con los permisos necesarios a este archivo, en el último paso de la
instalación aparece un recuadro con el código del archivo configuration.php. Este archivo
60
es muy importante y sin él Mambo no funcionará. Por ello, si surgen problemas sobre el
final de la instalación se debe comprobar que este archivo exista (no confundir con
los parámetros.
El diseño del sitio se ve según el templates seleccionado, se pueden cargar nuevas plantillas
Los componentes son aplicaciones que funcionan conjuntamente con el núcleo del sistema
se designa el nombre de los componentes de mambo con el prefijo "com_" (así como en los
módulos es "mod_").
Existen también otros componentes que son adicionales y brindan distintos servicios o
Mambo, y sirve para que el administrador del sitio pueda configurar las opciones del
encuesta, luego crea las distintas respuestas que se darán como opciones al usuario
que responda esa pregunta, etc. Después de ello puede publicarla, editarla, borrarla, o
crear nuevas encuestas. Los archivos de los componentes que forman parte de la
62
public_html/sitiomambo/administrador/components/.
usuario puede ver los anuncios publicados por otros usuarios y también publicar o
Los archivos de los componentes que forman parte de esta interfaz de usuario el sistema
Hay un grupo de componentes que vienen ya con la instalación básica de Mambo, los más
importantes son:
y com_rss.
• El componente del wrapper com_wrapper (permite ver y navegar una página Web
2.6.6 Mambo y sus principales características para realizar sitios Web y portales.
• Envío por E-mail: (opcional) los usuarios del sitio podrán enviar automáticamente a
• Valoración de contenidos: (opcional) Los visitantes o usuarios del sitio podrán votar
la calidad de lo publicado.
64
• Comentarios: (opcional) Los usuarios podrán comentar sus opiniones o expresar sus
A continuación se presenta una lista de las principales actividades que permite realizar
Mambo.
• Secciones del Website: Permite crear secciones, publicarlas o no, editar sus
contenidos, especificar nivel de usuarios que tienen acceso a ellas, etc. Desde la
artículos. Títulos, textos e imágenes se editan desde un sencillo editor HTML que le
permitirá formatear los textos con los estilos deseados en forma similar de como lo
editar perfiles, censurar, dar permisos de publicación, etc. Los niveles de usuarios
Podrá también enviar e-mail masivos a todos los usuarios, entre otras cosas.
65
• Cambiar el diseño del sitio: Es fácil cambiar el diseño del sitio, gracias al sistema
interfaz administrativa.
Teniendo en cuenta primeramente el sitio público, el aspecto visual de los sitios construidos
con Mambo es muy variado, y las alternativas que ofrece este sistema son múltiples.
El sistema Mambo permite cambiar el diseño del mismo sin necesidad de tocar para nada
cambiarlos desde el panel de control, dependiendo la ocasión, por ejemplo tener un diseño
Cada diseño puede personalizarse a gusto, colocar un logo propio, tipografía, colores,
tamaños de fuente, imágenes de fondo, etc. Puede manipularse el template para cambiar
El sitio, según el trabajo, puede verse desde sencillo hasta un complejo portal profesional.
La administración de Mambo es, para sus acciones básicas, sencillo. Estas acciones pueden
ser actualizar páginas, agregar nuevas, editar o eliminar contenidos cambiando imágenes,
navegador web y una conexión a Internet, se podrá actualizar el sitio desde cualquier lugar.
El panel consta de un menú principal dentro del cual cada botón posee un menú
desplegable con más opciones. Luego una barra de información que brinda información
sobre:
cualquier elemento de Mambo que se pueda editar, crear o configurar, como por ejemplo
templates, menús, etc. Los íconos más utilizados en la barra de herramientas son los que
El espacio de trabajo es el área que sirve para seleccionar los elementos con los cuales se
quiere trabajar y editar (o ingresarles contenidos), también para fijar posiciones, etc.
Administración de Usuarios.
Los grupos de usuario disponibles son fijos pero tienen diversos niveles del control de
acceso. En primer lugar, hay cuatro grupos de Frontend (sitio Web público) disponibles:
68
2) Autor 'Author' - este grupo permite que un usuario envíe contenido, generalmente a
3) Editor - este grupo permite que un usuario envíe y edite cualquier ítem de contenido
en su Web site.
4) Publisher - este grupo permite que un usuario envíe, corrija y publique cualquier
etc. Pueden administrar a pocos usuarios (editores y usuarios) pero no pueden crear
a otros administradores.
• Galería de imágenes.
• Libro de Visitas.
• Newsletter.
• Comentarios de usuarios.
• Foros, y FAQs.
• Avisos Clasificados.
• Wrapper (esto permite ver sitios Web dentro del sitio hecho con Mambo).
del sitio).
Mambo permite agregar extensiones al portal, estos son módulos o componentes desarrollados
para Mambo y descargados de sitios con esta temática, que agregaran funcionalidades al sitio o
sencilla.
70
Se necesita tener instalada la librería Zlib (gestor de archivos comprimidos para subir a nuestro
Se debe descomprimir en una carpeta del servidor los contenidos del zip que vienen en el
módulo, plantilla o componente que se desea instalar. Puede servir cualquier directorio aunque
texto se debe indicar la ruta física donde está el componente xml que se ha subido, es decir,
que es ahí donde se debe indicar la ruta para instalar el componente, módulo o plantilla:
Por ejemplo:
/usr/home/nombredesuaurio/www/uploadfiles/nombremoduloe.xml.
Una vez introducido estos datos esta la opción install o instalar. Luego informa si se ha
instalado correctamente.
Ahora si lo que se desea es crear una aplicación completamente de cero, hay ciertos aspectos
• Debe incluir las cabeceras de algún módulo que venga con el paquete original.
• Se debe crear los códigos php que permita, tanto usar como administrar el módulo, es
• Se debe crear un archivo XML que contenga información básica de la aplicación (este
HTML, que es con el que se define la estructura y contenido de una página web. Consta de
una serie de etiquetas (markups) predefinidas que permiten construir documentos que
contienen títulos, párrafos y listas de texto, tablas, imágenes y otro elementos para la
presentación de información. Como mejora del lenguaje HTML original surge XML que
además de pasar a ser "ascendiente" del HTML también da origen a otros lenguajes
flexible y adaptable que el HTML y está diseñado para mejorar la funcionalidad de la Web.
Es utilizado para describir otros lenguajes que permiten construir documentos electrónicos.
XML describe la estructura del documento, pero deja a libre elección el nombre que
recibirá cada una de las etiquetas. El número de sublenguajes que pueden crearse a partir
Uno de esos sublenguajes del XML es el actual XHTML, diseñado para sustituir el limitado
lenguaje HTML. Por tanto XHTML es la conversión del lenguaje HTML al mismo
72
lenguaje pero basado en XML, de modo que XHTML es básicamente el HTML conocido
RSS es simplemente XML dotado de una estructura idónea para presentar resúmenes de
contenidos. Éste código desarrollado en 1997 inicialmente por Radio Userland y Netscape,
contenidos de un sitio web. El nombre RSS también responde a "RDF Simple Syndication"
Hay diferentes versiones, la última versión es la llamada RSS 2.0 proporcionada por el
Berkman Center for Internet & Society (Harvard Law School). El autor es Dave Winer
Por lo tanto un archivo RSS es un documento de texto compuesto por etiquetas acotadas
entre los símbolos mayor y menor que son similares a las utilizadas en el XHTML. RSS
corresponde a Rich Site Summary o Really Simple Syndication, y está diseñado para la
Los archivos RSS comúnmente se llaman feeds RSS o canales RSS y contienen un resumen
de lo publicado en el sitio web de origen. Se estructura en uno o más ítems. Cada ítem
encuentra el texto completo. Además puede incluir información adicional como el nombre
73
del autor o la fecha y la hora de publicación del contenido. Por tanto, cualquier fuente de
información susceptible de poder ser troceada en items (los mensajes de un foro, por
Leyendo el archivo RSS de un sitio web es posible saber si se ha actualizado y con qué
noticias o textos, pero sin necesidad de acceder a sus páginas web. El archivo RSS contiene
además un enlace específico para cada ítem contenido en el feed que dirige a la página web
Para leer los feeds o canales RSS es necesario utilizar un programa llamado agregador.
Este tipo de programas también se conocen como lectores de feeds o canales o agregadores
Los archivos RSS, a diferencia de los archivos XHTML, no son interpretados por los
navegadores web y al abrirlos lo que hacen es mostrar el código XML que compone el
archivo RSS. Los feeds o canales en formato Atom (nuevo formato RSS) son parcialmente
corresponde a un feed y no a una página web. Para visualizar directamente un feed RSS es
Un lector o agregador de feeds es una aplicación local o basada en web que interpreta los
Existe gran cantidad de programas lectores de RSS que se instalan en diferentes sistemas
Lectores RSS
Incluyendo varios feeds RSS en el agregador es posible leer una versión resumida o previa
Las noticias llegan al usuario cuando éste inicia su programa lector de feeds RSS, en lugar
de que el usuario deba ir a leer las noticias a las diferentes fuentes o sitios Web donde se
cuando se es lector habitual de muchos sitios web distintos, ya que es posible revisar todos
prácticamente el mismo tiempo que supondría consultar vía Web un único sitio.
75
diarios personales online suelen incluir un archivo RSS para que los lectores se suscriban y
Otros sitios más grandes como portales CMS se han unido al RSS para compartir sus
contenidos y novedades.
Un mismo sitio puede generar tantos feeds como desee. Los contenidos sindicados pueden
incluir titulares de artículos o noticias, descripciones, eventos, enlaces. Su uso está abierto a
la imaginación.
Los portales CMS utilizan RSS principalmente en sus contenidos (noticias) y foros, para
ello traen incorporado en su paquete original un archivo configurable y editable en php que
genera de forma dinámica los titulares de las noticias actuales del sitio. Este archivo se
Los portales además incorporan en su sitio, un lector de contenidos RSS. Esto es para
permitiéndoles revisar los titulares de otros sitios o portales del interés de estos, teniendo
La primera opción es NUKE, de éstos encontramos dos tipos principales, PHP Nuke y
PostNuke. No hay grandes diferencias entre ellos. Son dos proyectos que nacieron de la
Pueden instalarse mods (módulos, otros scripts) que permiten manejar skins, galerías de
imágenes entre otras cosas más. Ambos portales se integran perfectamente con phpBB.
compatibilidad con SQL le hace ser compatible con la mayoría de servidores, y altamente
Mambo y PHP Nuke han ganado muchos adeptos en Internet, son lo más utilizados. Si lo
que se quiere instalar es un portal funcional y fácil de administrar la solución más idónea
seria Php Nuke. En cambio si se desea potenciar es el diseño y la individualidad del portal
En PHP Nuke existen múltiples versiones la Platinum, es la más votada por los cibernautas,
quizás se deba a que trae más módulos y funcionalidades. Aunque sea de gran tamaño es
cómoda de utilizar debido a que todo está pre-instalado. Todos estos portales, poseen
funcionalidades.
Los portales Nuke están desde hace tiempo y poseen gran cantidad de comunidades que
prestan soporte, el problema que se les critica es que están muy vistos y hay que trabajar un
77
poco con los skins y diseños para poder darles un aspecto no muy visto, pero hay mucha
Tabla comparativa.
número 1. Esta tabla menciona las características básicas de las herramientas estudiadas en
PHP– Nuke.
Las principales ventajas de PHP Nuke son las que se muestran en la siguiente lista:
del sitio.
cortos plazo.
§ Permite entregar contenido atractivo auto – generado por los visitantes del sitio.
§ Es una tecnología emergente pronta a expandirse a otras áreas. Por lo que sirve a
Las principales desventajas de PHP Nuke son las que se muestran en la siguiente lista:
§ Los módulos existentes, no son siempre los que cubren las necesidades de cada
comunidad.
Mambo CMS.
Las principales ventajas de Mambo CMS son las que se muestran en la siguiente
lista:
Las principales desventajas de Mambo CMS son las que se muestran en la siguiente
lista:
modificaciones.
80
Ambos sistemas traen un script de bases de datos que deben correr en el servidor y que
éstas.
Analizando por separado ambas bases de datos, se tienen notables diferencias, la principla
• PHP Nuke trae 112 tablas generadas automáticamente con el script. De la versión
7.4.
Esta diferencia se debe a que el paquete de Nuke incluye más módulos activos para
agregarle funcionalidad. El paquete de Mambo en cambio trae menos, pero estos pueden
descargarse y agregarse al portal. Creando las tablas que sean necesarios para su uso.
Existen muchos más módulos para descargar en PHP Nuke que en Mambo pero éste crece
rápidamente.
En términos generales ambas bases de datos tienen un modelo relacional adecuado, quizás
CMS”
82
posibilidad de incorporar este sistema a un portal CMS como una extensión de este.
Para ello fue necesario analizar la situación existente en la Facultad, además de estudiar los
documentación del Sistema Curriculums para poder trabajar sobre sus códigos fuentes en el
proceso de implementación.
Esta extensión se contempla con la finalidad de lograr un sólo punto de acceso a las
aplicaciones que se estime desarrollar. Es importante también utilizar las aplicaciones que
ya han sido liberadas, para ello es que se realizará esta adaptación para que esta aplicación,
muy útil para los académicos, se encuentre en el portal de la Facultad, con un acceso
Un sistema On Line multiusuario con una arquitectura cliente servidor basado en una
plataforma Web que permita ser manejado por los usuarios desde Internet para el problema
Este Sistema fue desarrollado en lenguaje PHP, base de datos Mysql, además incluye un
Facultad. Este Sistema completo, fue presentado como trabajo de título por el alumno
http://www.inf.uct.cl/servicios1/Workflow.
El sistema On line de curriculums trabaja con 3 tipos de usuarios que se almacenan en las
siguientes tablas:
permite guardar los datos necesarios del Decano, para que éste tenga acceso al sistema
curriculums.
84
al sistema On Line. Donde podrán realizar todas las acciones necesarias para crear y
administrador tiene las opciones de agregar usuario, cualquiera sea su tipo, ingresando
que las herramientas CMS analizadas anteriormente, por lo cual es factible de adaptarlo a
ellas. En términos de los usuarios que utiliza, este sistema On Line maneja una estructura
88
anteriores la similitud de los campos de la tabla decano, con la tabla no decano, muestran
pantalla principal que utiliza un sistema de frames. Este despliega un menú con las
opciones que tiene el usuario, trabaja con un formato de curriculum estándar, una versión
segura, además php elimina las cookies creadas. Esta paso debe eliminarse por completo en
la unión del sistema Curriculums como un módulo a un portal CMS, puesto que se trabajará
con una sola password y una sola tabla de usuarios en la Base de datos, esta password será
la proporcionada por la plataforma de trabajo Nuke, puesto que viene con una encriptación
Luego de realizar la investigación de las dos principales herramientas y de analizar sus pros
y sus contras, llegamos a la etapa del desarrollo del caso y es vital acotar el desarrollo a una
sola herramienta. Si bien en la etapa anterior se probó con ambas en varios aspectos,
adaptación prototipo, se realice sólo con una herramienta, para dedicar el tiempo y los
estos códigos permitirán optimizar sus funcionalidades, al ser inserto en una plataforma
título del alumno Juan Carlos Soto Higuera. Esta siendo desarrollado bajo la plataforma de
PHP Nuke, y es por esto que la adaptación se llevará a cabo bajo esta herramienta, con la
finalidad de que tanto el portal como el sistema queden funcional para la Facultad de
Ingeniería de la Universidad.
Comunidad Sistema
virtual Currículo
Usuarios Usuarios
Admin . Portal Admin sistema
.
PORTAL CMS NUKE SISTEMA CURRICULUMS
Figura 14 Esquema funcional del Portal PHP Nuke y el Sistema On Line Curriculums.
90
El primer esquema de la figura 14 representa al Portal CMS. Este trabaja de forma modular,
incluye una comunidad virtual formada por usuarios registrados y un tipo de usuario
denominado visitante, puesto que no esta registrado y no goza de todos los beneficios de la
comunidad.
sistema y los usuarios que tienen acceso a éste, que son del tipo decano y no-decano.
Comunidad
Virtual
Usuarios
Admin. sistema
Portal Usuarios
Sistema visitantes
Currículo
Portal Nuke, claramente se visualiza que los usuarios de este sistema formaran parte de la
La herramienta CMS trabaja con bases de datos MySql, cierto manejo específico de
Bases de datos MySql y sin nivel de encriptado de password. En resumen ambos sistemas
El portal incluye tres niveles de usuarios, los usuarios denominados “visitantes”, que
navegan por el sitio, leen las noticias, se informan de algunos aspectos de la comunidad,
92
todo esto sin registrarse. El segundo nivel de usuarios es el de los usuarios registrados que
son principalmente los que forman la comunidad, este tipo de usuarios posee un nick y una
password secreta que le permite logearse a través de sitio, y le permite funcionalidades del
sistema que están sólo destinadas a usuarios registrados por ejemplo, descargas, página de
posibilidades que esta adaptación presenta, sin lugar a dudas que el nivel de usuarios donde
insertaremos el sistema tiene un perfil distinto a los mencionados anteriormente, por lo cual
es necesario crear ese nivel de usuarios, que llamaremos Docentes. Estos usuario serán
tal que sea compatible al de la herramienta CMS. Considerando los niveles de seguridad en
el acceso, se manejara aun password único del sistema y será bajo la estructura de clave de
La interfaz del sistema Curriculums necesita ser rediseñada para que logre acoplarse a la
interfaz principal del Portal Nuke, para ello se necesitara disminuir el área de despliegue de
datos y rediseñar el menú principal de éste para que logre adecuarse en contenido y forma
en el portal.
93
MySql (motor de bases de datos) dado que estos tres programas han demostrado ser una de
las más potentes herramientas para plataforma Web, y que principalmente es la plataforma
Esta combinación Apache + Php + MySQL no sólo funciona en los entornos UNIX, aunque
fue ahí donde principalmente fueron desarrollados, sino que son multiplataforma es decir
existen en otros sistemas operativos como Linux, OS/2 Windows, BeOS, MacOS por
mencionar algunos.
Las principales características de apache son las que muestran en la siguiente lista:
§ Funciona y se complementan con el lenguaje Php que permite pre- procesar las
páginas html antes de ser entregadas al servidor apache, además con este vínculo a
3.6.2 PHP
En vez de escribir un programa con muchos comandos para crear una salida en HTML,
escribimos el código HTML con cierto código PHP embebido (introducido) en el mismo.
El código PHP se incluye entre etiquetas especiales de comienzo y final que permitirán
es que el código PHP es ejecutado en el servidor. El servidor Web puede ser incluso
configurado para que procese todos los ficheros HTML con PHP.
95
Cuando se hace clic en un enlace de una página Web, el navegador Web envía una petición
al servidor Web del sitio referido por el enlace. Si el servidor determina que la página
requerida es una página PHP, entonces llama a PHP, carga la página y la procesa. En
resumen una página PHP es una combinación de código HTML y código PHP incrustado.
3.6.3 MySql
Es uno de los motores de bases de datos más populares desarrollado bajo la filosofía de
igualmente.
96
• Conectividad segura.
La principal virtud es que es totalmente gratuito, por lo que es una fuerte alternativa ante
sistemas como SQL Server u Oracle. Para proceder a la instalación es necesario descargar
Para administrar MySQL bajo Windows es recomendable utilizar una herramienta visual,
uno de los más populares para este trabajo es MySQL Front .Una vez creada la conexión se
puede administrar las tablas y usuarios de manera sencilla. Otra de las características
97
importantes, es que incluye un asistente de importación, que ayuda a migrar de una base de
Dentro de este proceso incluye diseñar los cambios en las interfaces, bases de datos y e
3.7.1 Diseño.
pasos repetitivos que permiten al diseñador esbozar las interfaces del sistema.
versión grafica y su versión extendida, esto bajo el estándar del proceso unificado del
98
para el diseño orientado a objetos, ahora los modeladores sólo tienen que aprender una
única notación. Esta notación incorpora dos elementos fundamentales, el caso de uso y el
actor.
funcionalidad.
Caso de uso
solucionado por el sistema. Cada caso de uso es una operación completa desarrollada por
significativo.
Actor
El actor se define como el o los usuario del sistema, que necesita o usa algunos de los
si es necesario.
99
3.7.2 Diagrama de caso de Uso del Sistema Curriculums Post Proceso de Adaptación.
3.7.3 Versión extendida del Modelo de casos de uso del Sistema Curriculums.
“Docentes”.
“Tu Cuenta”.
usuario y password.
de actor.
denominado Curriculums.
Curriculums.
Antecedentes Personales.
datos.
correspondiente al usuario.
antecedente.
Curriculums.
Antecedentes Académicos.
formulario el solicita.
correspondiente al usuario.
antecedente.
Curriculums.
por el usuario.
al usuario.
antecedente.
datos nuevos.
104
Curriculums.
por el actor.
el usuario.
antecedente.
nuevos.
105
Curriculums.
búsqueda.
botón “Buscar”.
Curriculums.
curriculum.
impresora.
documento.
107
Administración.
administrador.
108
administración.
ingreso de datos.
interfaz de administración.
administración.
Administración.
109
“Editar Usuarios”.
borrar.
presiona “Aceptar”.
eliminación.
usuario.
usuario seleccionado.
Administración.
“Aceptar”.
por el actor.
nuevos.
El proceso de acoplar el sistema curriculums al portal nos lleva a idear los respectivos
adaptado al portal.
111
Interfaz Tu Cuenta
Menú
Lateral Tu cuenta bienvenido usuario
módulos
Aquí agregamos
Opciones
Icono de Curriculum con acceso
Para los usuarios
Al Sistema
En esta pantalla inicial de el módulo “tu cuenta” del Portal Nuke diseñamos un icono
representativo del Sistema Curriculums y lo agregamos como una opción más del usuario.
112
Interfaz Curriculum
Menú
Lateral Menú principal del sistema Curriculum
módulos
Foto
GUARDAR CANCELAR
En el diseño de esta interfaz se puede ver que el área demarcada con color rojo, es la que
marco de fondo es el marco del Portal Nuke que ofrece el entorno de trabajo Nuke dejando
perfectamente acoplado simulando que fuese un módulo más del portal. Para esta instancia
De esta misma forma se visualizarán todas las opciones del menú de curriculums,
En los requerimientos del sistema se analizó las compatibilidades de las base de datos, el
análisis de la base de datos del sistema curriculums y el manejo de usuarios que realiza
presenta redundancia. Este sistema como se mostró anteriormente trabaja con tres tablas en
un usuario y password únicos del sistema. Se trabajará sólo con una ( de las tres) tabla de
usuarios del sistema curriculums. Esta tabla corresponde a “curri_no_decano” cuyo detalle
manera.
§ Cada vez que se agregue un usuario del tipo “docente” y que además desea tener
“curri_no_decano”.
Se debe mencionar que la tabla de usuarios de PHP Nuke presenta alrededor de 47 campos
recuadro que marca los campos agregados para relacionarse con la tabla del sistema
curriculums.
Figura 24: Detalle Estructura final tabla Nuke usuarios en Base de Datos.
De esta forma PHP Nuke reconocerá de forma automática a la carpeta curriculum, como un
módulo del sistema. A continuación se debe ingresar al panel de control de PHP Nuke y
activar el nuevo módulo en este caso curriculum. Dentro del panel además se editar y
El realizar cambios en la base de datos implica hacer refinamiento de código, esto quiere
decir que se debe revisar cada página del código de ambos sistemas Nuke, y principalmente
Sistema Curriculums. Además de editar consultas SQL que pudiesen referencias a tablas
Se reutilizó el grueso del código original que generaba la aplicación, se agregó las consultas
Del sistema Original Curriculums, debe eliminarse de todos sus archivos las variables de
Al eliminar las variables de sesión , debemos editar en el código todas las sentencias que
<?php
session_start();
// chequear si se llama directo al script.
if ($_SERVER['HTTP_REFERER'] == ""){
die ("Error cod.:1 - Acceso incorrecto!");
exit;
}
include("conexion.php");
$us=$_SESSION['usuario'];
$pa=$_SESSION['password'];
$tpo_usuario=$_SESSION['tipo_usuario'];
El siguiente código ejemplifica las cabeceras que utiliza el portal y que permite mantener el
entorno de trabajo, los permisos a los módulos y los datos del usuario en línea. Este código
debe integrarse a todas las páginas del sistema curriculums sustituyendo el código mostrado
en el ejemplo anterior.
118
<?php
if (!eregi("modules.php", $_SERVER['SCRIPT_NAME'])) {
die ("You can't access this file directly...");
}
include("config.php");
require_once("mainfile.php");
global $user, $userinfo
getusrinfo($user);
....
Se debe mantener un orden en los cambios realizados. Si se modifica una interfaz pública
administración.
Extracto del archivo lang-spanish.php que se encuentra en el directorio lenguaje dentro del
módulo.
define("_EMPRESA","Empresa o Institución");
define("_FONO","Teléfono");
define("_ESPECIALIDAD","Especialidad");
define("_ICI","Ingeniería en Informática");
define("_ICA","Ingeniaría Civil Ambiental");
define("_BGNR","BGNR");
define("_ALU","Alumno");
define("_DOC","Docente");
define("_CURRI","Curriculum");
define("_DATGEN","Datos Generales");
define("_UNI","Unidad");
define("_FAC","Facultad");
119
El usuario de tipo “docente” es el único que tendrá acceso al módulo de curriculum, esto
mediante un icono visible en su espacio de trabajo, que el portal denomina “Tu cuenta”.
El usuario puede decidir si quiere esta aplicación en su espacio de trabajo, sino la desea en
el momento de ingreso de éste como usuario del sistema puede estipularse que no desea el
administración.
Este portal PHP Nuke fue instalado y personalizado por el Alumno Juan Carlos Soto como
debió trabajar con esta versión y el paquete completo utilizado y modificado por el alumno,
sistema curriculums, como un módulo activo del sistema Nuke, puesto que era factible
En la interfaz del portal Nuke ( figura 27) aparece en el centro el icono que se ha agregado
para el sistema Curriculums, aquí el sistema reconoce al usuario (en este caso oriel) como
usuario con autorización para acceder a este módulo. Por lo cual se muestra el icono de la
Además es importante rescatar de la interfaz “Tu cuenta” que trae incorporado un mini
Lector de titulares RSS, en el cual los usuario pueden sindicar noticias desde otros portales
curriculum, siendo éste un módulo más del portal. El diseño y los colores, el despliegue de
datos, todo arreglado para que en la imagen final se vea curriculums mimetizado con
De este modo el Sistema curriculums deja de ser un sistema propiamente tal, y pasa a
formar pare de del portal Nuke, como un módulo de éste. Queda funcional y acoplado al
Portal. Trabaja con un usuario único y cada opción del sistema curriculums, por ejemplo
Consiste en generar un script en un lenguaje apropiado para trabajar con bases de datos,
debido a que se pretende que el archivo genere las noticias en forma dinámica, para ello se
atributo obligatorio llamado versión que especifica la versión del documento. Para nuestro
caso, se ocupo la versión 2.0, por lo que este atributo debe ser "2.0". De modo que las dos
información sobre el canal (meta data) y su contenido. Y dentro de éste los sub-elementos
portal que contiene la misma información que su archivo RSS, el título de su canal
Se necesita realizar una consulta que nos permite sacar en tiempo real los titulares de las
noticias.
A continuación en necesario a través de php generar la estructura XML final que nos
echo "<item>\n";
echo "<title>".htmlspecialchars($rtitle)."</title>\n";
echo
"<link>$nukeurl/modules.php?name=News&file=article&sid=$rsid</link>\n"
;
printf("<description><![CDATA[%s]]></description>\n",$row['hometext']);
echo "</item>\n\n";
}
echo "</channel>\n";
echo "</rss>";
126
Este código permitirá que el portal genere los titulares de las noticias en formato RSS,
pudiendo estas ser agregados por otros usuarios tanto en sus propias páginas como en
El futuro de los CMS parece prospero, las grandes comunidades de usuarios Open Source
tienen la iniciativa de seguir trabajando con esta tecnología. Sin embargo, debemos
cuestionarnos sobre estas herramientas que se basaron en CMS, PHP Nuke por ejemplo que
respondió a un sin fin de peticiones que los usuarios estaban requeriendo, estuvo muy bien
Sin embargo hay varios detalles que me gustaría comentar en este capítulo de discusión,
Nuke sería una mejor pieza de software si incorporara algunas variantes y cambios, los
• Nuke debería permitir el uso de XML para la carga de notas y la exportación de las
• Debería acondicionar sus templates de modo tal que fuesen mas editables
Por el momento la idea de PHP Nuke y su éxito serán la base para todos estos futuros
avances.
lugar de la red nos encontremos, nunca estaremos lejos de un portal hecho con PHP-Nuke.
Una gran medida de las necesidades de quienes todavía buscan una presencia en Internet es
visitantes diarios.
Este proyecto de software libre, tiene con todas las potencialidades de convertirse en una
aplicación excelente para Internet. PHP-Nuke en poco tiempo pobló la red de redes con
Una de las muchas comunidades que están basando su desarrollo en la Tecnología CMS de
gestión de contenidos es Mambo. Mambo apuesta por los diseños editables con estructura
hecho para el público de masas y al igual que Php Nuke, tienen unas comunidades bastantes
Realizar una confrontación entre dos modelos de desarrollo distintos de dos aplicaciones
que comparten una misma visión: Convertirse en el futuro de la Web, es una tarea ardua,
usuarios amantes de la corriente Open Source. No es por ello menos importante que
130
sepamos optar sabiamente por una o por otra, teniendo en cuenta aspectos que no son muy
evidentes a primera vista. Ello fue la finalidad de este documento, realizar un paralelo entre
estas dos populares herramientas, elegir es sin duda cosa de gusto personal, existe esa
variable subjetiva del usuario a optar por utilizar una u otra, creo que este documento sirve
de guía de orientación a seguir, pero sin decidir por uno u otro, ello quedará a elección del
El caso aplicativo de este documento de tesis fue desarrollado bajo la plataforma Nuke y de
El éxito de PHP-Nuke puede atribuirse a varios motivos, pero sin duda, el más
administración.
sus esfuerzos a crear toda una variedad de agregados y hasta portar sus ya existentes
aplicaciones PHP para hacerlas compatibles con PHP-Nuke. Así fué que en un lapso breve,
reconocimiento del éxito de este proyecto, sino que también planteó la interrogante más
La decisión de adoptar PHP-Nuke para nuestro portal no es una decisión menor, por cuanto
idoneidad para toda tarea. Pero quienes conocen un poco más del proceso de desarrollo del
131
software libre, comentan sobre cuál es la mejor receta para producir una aplicación madura,
Entonces, quizá se debiera analizar estos CMS's desde el día en que comienza a
'compartirse este conocimiento' para trazar (o simular) una trayectoria hacia el éxito o el
Una aplicación con las ambiciones y posibilidades de convertirse en “la aplicación para
independientes.
desarrollador.
estabilidad alcanzados, como con cualquier otro ejemplo de software libre, incluido
estabilidad.
Algunos de estos estándares son CSS, que permite la creación de hojas de estilo; XML, un
del anterior orientado a la presentación de documentos vía Web; WAI, que asegura la
conocimiento y contenido.
133
consistencia y profesionalismo.
gestión de registros.
fuentes de datos como por ejemplo sistemas de soporte de decisiones (Decision Support
Systems o DSS). El campo de los CMS de código abierto se piensa que tendría que seguir
un desarrollo similar.
134
CAPITULO V: CONCLUSIONES
135
5.1 Conclusiones.
A modo de conclusiones puedo decir que CMS es sin lugar a dudas una de las mejores
Esta tecnología presenta un presente notable donde ya son muchas las áreas en las que son
fuente abierta (Open Source), que están involucrando tecnología CMS en su desarrollo, esta
software. Hoy en día, donde el tiempo es oro, y la información debe ser oportuna, la
variable tiempo toma un rol preponderante. Minimizar costos, tiempos de espera, garantizar
Claramente los más beneficiados serán los usuarios finales. Tendrán acceso a la
máximo los recursos que se logran gracias al resultado de las nuevas tendencias
tecnológicas.
Lograr un sólo punto de acceso a las aplicaciones existentes en la Facultad permitirá a los
usuarios la rapidez de las consultas y el uso de estas aplicaciones se hará más masiva,
Este trabajo de título me permitió sacarme los prejuicios de estas herramientas embasadas,
que antes miraba de forma un poco distante. Pensando quizás en que le baja el perfil a un
ingeniero del área, sin embargo me he sorprendido gratamente al descubrir que muy por el
desarrolladores, les permite innovar con más rapidez y con menos costos. Me parecen
Dentro de este contexto, luego de estudio realizado y en una opinión personal pienso que
optar por una solución mixta, es la mejor decisión, ya que permite por una parte, autonomía
del usuario para actualizar áreas de alto movimiento y cambio de información (noticias,
destacados portada), y por otra parte, que el desarrollador cuente con las herramientas que
le permita llevar esa gestión sin dejar de lado otros cambios más importantes, que
general. A esta teoría se le denomina CMS Mixtos y en la actualidad son muchos los que la
utilizan.
Es importante destacar que esta modalidad mixta, es la opción más eficiente para obtener
un sitio Web de primer nivel, en forma periódica en el tiempo. Hoy en día empresas como
FERROCARRILES DEL ETADO, entre muchos otros, han optado por esta modalidad que
les permite un mecanismo eficiente y a bajo costo de contar con un sitio Web de primer
Por tanto concluyo este trabajo con gran satisfacción personal por el conocimiento
adquirido, con una visión diferente, una postura más abierta. Con una gran cantidad de
las que participé, con el fin de extraer información para la investigación realizada.
Pensando que este documento será un aporte a la Facultad, de modo de incentivar a los
Pienso que lo aprendido en esta etapa me servirá de gran aporte para una proyección
laboral.
138
Robertson, J., How to evaluate a content management system [en línea]. Step Two, 23
2005].
¿Robertson, J., So, what is a content management system? [en línea]. Step Two, 3 junio
General
<http://www.steptwo.com.au/papers/index.php>.
marzo-abril 2004].
Open source content management [en línea], The international association for Open.
ANEXOS
140
141
142
143
Anexo 3.
- Escalable
- Motor de búsqueda
- Python/Zope Desarrollado con Zope (framework
- XHTML y CSS estándar Open Source para CMS. De momento
- Escalable (add-ons y scripts) esta limitado por la falta de suficientes
Plone
- Motor de búsqueda servidores con Python.
- Interfaz personalizable
- Perl y MySQL Originalmente era el CMS utilizado por
el famoso Slashdot.com.
- Artículos, categorias, comentarios,
encuestas
Slash
- Interfaz personalizable (plantillas y
modelos)
- Escalable (mediante plugins)
- Motor de búsqueda
- PHP3 y MySQL Es el Gestor de Contenidos que utiliza
- Artículos, breves, secciones, foros, martinalia.com. De origen francés,
estadísticas permite gestionar de forma muy sencilla
- Interfaz personalizable y fiable desde sitios web sencillos.
SPIP - Escalable (a través de un sistema
propio: los "bucles")
- Motor de búsqueda
- Sistema de corrección ortográfica
- PHP y Un sistema de Gestión de Contenidos
MySQL+AdoDB/PEAR::DB Open Source muy adaptado a las
necesidades empresariales (tanto para
- Artículos, categorías, newsletter webs corporativas como para intranets).
- escalable Se evaluó en la red como complejo de
- XHTML y CSS estándar administrar.
Typo3 - Editor WYSIWYG
- Asistentes
- Importación de documentos Word
- Motor de búsqueda
- Interfaz personalizable
- Conserva versiones antiguas de los
145
artículos
- PHP Orientado a objetos, como eZ Publish.
- Todas las funciones habituales. .
XOOPS - Escalable (módulos)
- Motor de búsqueda
- Interfaz personalizable (plantillas)
Anexo 4.
El Futuro de Mambo.
Detrás de Mambo hay una empresa australiana, Miro que fue la que partió este proyecto
unos años atrás. Como precursora del proyecto, decidió hacer una versión de Código
Abierto de su Mambo CMS, y para ello tuvo la idea de abrir una comunidad de desarrollo
Esta comunidad ha crecido de una manera desorbitada y gracias a ello Mambo Open
Source ha ganado muchos premios entre ellos “La mejor solución Open Source 2005”,
Para salvaguardar todo esto y poder controlarlo, se ha inventado una fundación que controla
cambio, pues ellos son seguidores del software libre, por lo cual se marginaron del proyecto
mambo.
146
Así nace “Joomla 1.0” que es la última versión de mambo que trabajaron los
del proyecto original. Ahora el proyecto Open Source “Joomla” sigue de manos de los
libre.
La fundación que comercializa mambo sigue trabajando en el proyecto con una nueva
comunidad de desarrolladores, con costes de licencia a partir de las ultimas versiones y con