reporte final dulce
Post on 10-Aug-2015
92 Views
Preview:
TRANSCRIPT
REPORTE DE ACTIVIDADES
PORTAL DE EX ALUMNOS
PRESENTA:
PULIDO FLORES DULCE CONCEPCION
INDICE:
1. INTRODUCCIÓN. 1
2. JUSTIFICACIÓN. 2
3. OBJETIVOS. 2
2.1. OBJETIVO GENERAL. 2
2.2. OBJETIVO ESPECIFICO. 3
4. CARACTERÍSTICAS DEL ÁREA EN QUE PARTICIPO. 4
5. PLANTEAMIENTO DEL PROBLEMA 5
6. ALCANCES Y LIMITACIONES 6
7. DETERMINACIÓN DE RECURSOS. 7
7.1. DETERMINACIÓN DE RECURSO HUMANO. 7
7.2. RECURSO TÉCNICO. 7
7.3. RECURSOS MATERIALES. 8
7.4. RECURSO ECONÓMICO. 8
8. FUNDAMENTO TEORICO 9
CAPITULO 1 LIFERAY. 9
1.1. CARACTERÍSTICAS DE LIFERAY. 10
1.2. PERSONALIZACIÓN DE LIFERAY. 13
1.2.1. EXT. 14
1.2.2. HOOKS. 15
1.2.3. PORTLETS Y WEBS. 16
1.2.4. THEMES Y LAYOUT TEMPLATES. 17
1.3. APLICACIONES 19
1.4. APRENDIZAJE DE LA PLATAFORMA. 21
CAPITULO 2. VELOCITY 22
2.1. EL LENGUAJE DE PLANTILLAS DE VELOCITY (VTL) 22
2.2. REFERENCIAS 22
2.2.1. VARIABLES 23
2.2.2. PROPIEDADES 23
2.2.3. MÉTODOS 23
2.2.4. NOTACIÓN FORMAL DE REFERENCIAS 24
2.3. DIRECTIVAS 24
CAPITULO 3. HTML 25
3.1. ATRIBUTOS DEL TEXTO 25
CAPITULO 4. CSS (CASCADE STYLE SHEETS) 26
4.1. PRIMEROS CONCEPTOS 27
4.2. SINTAXIS 27
CAPITULO 5. POSTGRE SQL 28
5.1. CARACTERÍSTICAS 29
CAPITULO 6. GIT 32
6.1. CARACTERISTICAS 32
CAPITULO 7. TORTOISE 35
7.1. CARACTERÍSTICAS DE TORTOISE SVN 35
9. PROCEDIMIENTO. 38
9.1. FACTIBILIDAD. 38
9.1.1. FACTIBILIDAD TÉCNICA. 38
9.1.1.1 DETERMINACIÓN DE REQUERIMIENTOS. 38
9.1.2. FACTIBILIDAD OPERATIVA. 39
9.1.3 FACTIBILIDAD ECONÓMICA. 39
9.2. ANALISIS DEL DISEÑO Y CONOCIMIENTO DE HERRAMIENTAS
A UTILIZAR
40
9.3. CONEXIÓN DE LIFERAY CON POSTGRE SQL 40
9.4. EDICION DE PORTLETS: WEB FORM Y VISOR DE CONTENDIO
WEB
41
9.5. AGREGAR BASE DE DATOS (TABLAS), MOSTRAR Y
AGREGAR A BASE DE DATOS DESDE UN PORTLET
43
9.6. DISEÑO DE PÁGINAS 44
9.7. TRASPASO 52
9.8. AGREGAR COMUNIDADES Y PÁGINAS 53
9.9 CREACION DE APLICACIÓN CUESTIONARIO DE EGRESADOS
54
10. RESULTADOS. 55
11. CONCLUSIONES Y RECOMENDACIONES 56
12. FUENTES CONSULTADAS. 57
12.1. BIBLIOGRAFIA 57
12.2 ENLACES DE INTERNET 57
13. ANEXOS 58
13.1. MANUAL DE USUARIO 58
13.2 MANUAL DEL PORTAL 65
1.- INTRODUCCIÓN:
Con base en la necesidad de un espacio de convivencia y seguimiento de egresados
del Laboratorio Nacional de Informática Avanzada se crea el proyecto Portal de Ex
alumnos del Centro de Enseñanza LANIA iniciando como tema de tesis de la
maestría de cómputo aplicado. El desarrollo de este Portal se basó en artefactos que
propone la metodología ICONIX, utilizando los que aplicaran al caso de estudio. En
la especificación de requerimientos se definieron 11 procesos de negocio, de los
cuales a 7 se les colocó funcionalidad (Alta de Usuario, Experiencia Laboral,
Noticias, Perfil del Ex-alumno, Reseña de Examen de Titulación, Tecno-Foro,
Historia de mi Generación), y por motivos de tiempo no se logró dar funcionalidad a
4, los cuales son: Difusión de Ofertas de Trabajo, Publicación de Convocatorias,
Registro de Datos y Seguimiento de Trámite de Titulación.
2.- JUSTIFICACIÓN
La importancia de este proyecto consiste en el beneficio para los egresados
obteniendo información de su proceso de titulación, este apartado ayudara a saber el
estatus en que se encuentra el proceso. Y a la ayuda del registro y seguimiento del
trámite, para Coordinación Académica.
3.- OBJETIVOS.
3.1 OBJETIVO GENERAL
Colaboración a un trabajo de tesis de Seguimiento de Egresados, agregando un
módulo de registro de datos de los ex-alumnos y un módulo de seguimiento de
trámite de titulación para la ampliación del Portal de Ex-alumnos del Centro de
Enseñanza del LANIA.
3.2 OBJETIVO ESPECIFICO
1.- Agregar módulo de registro de datos personales y datos de contacto, haciendo
una base de datos en PostgreSQL 9.01 a través de un modelo de base de datos ya
existente y gestionándolo mediante un CMS llamado LIFERAY con Tomcat 6.0.6.
2.- Agregar módulo de Seguimiento de Trámite de Titulación, haciendo una base de
datos en PostgreSQL a través de un modelo de base de datos ya existente y
gestionándolo mediante un CMS llamado LIFERAY con Tomcat 6.0.6.
3.- Cambio de diseño gráfico del portal mediante la creación de hojas de estilo y
temas para Liferay mediante un plugin Liferay SDK en Eclipse Helios.
4.- Creación de nuevos elementos gráficos para el diseño del portal mediante Adobe
Photoshop CS5 y Gimp 2.6.11.
4.- CARACTERÍSTICAS DEL ÁREA EN QUE PARTICIPO.
La participación en el proyecto es dentro de la Dirección del Centro de Servicios
Tecnológicos CEST, área encargada de la consultoría para el desarrollo de software,
control de calidad e infraestructura y redes. El rol asignado es el de programador-
web.
Mostrando a continuación el organigrama de LANIA
5.- PLANTEAMIENTO DEL PROBLEMA.
Por el la necesidad de un espacio web donde se haga un seguimiento de trámite de
titulación para ex-alumnos del Laboratorio Nacional de Informática Avanzada LANIA,
así como un apartado donde se registren datos personales y datos de contacto de
cada alumno al inicio de la maestría y a su actualización al término de los cursos
presenciales, se pretende la colaboración en un portal web ya existente añadiendo
algunas de las ya antes mencionadas basándose en un modelo de base de datos ya
existente.
6.- ALCANCES Y LIMITACIONES.
El portal tendrá la funcionalidad de notificar al egresado el estatus del trámite de
titulación, mediante un registro previo. Como limitante se desconocía las
herramientas utilizadas como lo son PostgreSQL y Liferay con Tomcat.
7.- DETERMINACIÓN DE RECURSOS.
Para poder realizar dicho proyecto se necesitó de la colaboración de un asesor
externo, siendo la persona Mtra. Ma. De Lourdes Hernández Rodríguez, quien nos
asignó a un asesor y jefe a cargo del proyecto Beatriz Gutiérrez Almaraz la cual nos
proporcionó de la mejor manera toda la información para poder realizar este sistema.
7.1 DETERMINACIÓN DE RECURSO HUMANO.
El desarrollo del proyecto se elaboró de forma individual encargándose de
preparación previa, análisis de documentos existentes y el desarrollo de
7.2 RECURSO TÉCNICO.
Para el desarrollo del portal se utilizó una computadora la cuales cuenta con las
siguientes características:
Memoria Ram: 3BG
Disco Duro: 320 GB
SO: Windows 7
Procesador: Dual Core 2.6 GHrz
El equipo de cómputo cuenta con repositorios donde se le da el seguimiento al
proyecto, contando con los programas donde se desarrollará el sistema, enfocado a
mejorar la eficiencia con la que se esté trabajando, así mismo se utilizó los
materiales que se requieran para su realización.
Se trabajó con el CMS liferay-portal-6.0.6 con Tomcat-6.0.29 y se manejó para la
creación de aplicaciones el lenguaje velocity y con ayuda de Eclipse para los temas.
7.3 RECURSOS MATERIALES.
Debido a que el proyecto es un sistema, la única herramienta que se utiliza es equipo
de cómputo, por lo tanto no se utilizó ningún material.
7.4 RECURSO ECONÓMICO.
Aquí se ocuparon:
Impresiones CD
100.00 30.00
8.- FUNDAMENTO TEÓRICO.
CAPITULO 1. LIFERAY
Liferay es un portal de gestión de contenidos de código abierto escrito en java.
Un portal web puede consistir en una amplia variedad de aplicaciones tales como
blogs, aplicaciones de gestión de documentos, wikis, foros de discusión y calendarios
compartidos. Liferay permite ofrecer este tipo de características en su portal,
proporcionando un entorno de ejecución para alojar aplicaciones basadas en Java
™, también conocido como portlets. Dispone de un contenedor en el que montamos
los portlets, configurarlos, y puesto su apariencia. Además de los portlets que ofrece
Liferay, se tiene acceso a terceros portlets creados por las comunidades de usuarios.
No solo un proveedor puede proporcionar todas las herramientas necesarias para
integrar las funciones en portales web. De este modo tendrá que incorporar
herramientas de diferentes proveedores. Estas herramientas pueden usar diversas
tecnologías, lo que podría plantear un desafío de integración ya que las aplicaciones
del portal necesidad de trabajar juntos.
Muchos vendedores ofrecen herramientas para la creación de portales y servidores
para alojar los portales. Algunas de las herramientas populares y servidores Oracle
WebLogic Portal, IBM WebSphere Portal Server, Sun Java System Portal Server
(también conocido como servidor GlassFish Web Space), y Microsoft Office
SharePoint Server. Entre las tecnologías de código abierto. Liferay esencialmente
proporciona un marco para la creación de cualquiera de los tipos de portales. Es
compatible con muchos servidores en el mercado, ya que cumple estrictamente con
las estándares.
1.1 Características de Liferay
Las siguientes características muestran algunas ventajas de utilizar Liferay
Facilidad de uso:
Permite agregar aplicaciones al portal en desarrollo con sólo seleccionar las
herramientas y agregarlas, borrar aplicaciones con solo cerrarlas, cambiar el diseño
aplicando una plantilla o un tema. La configuración entera del portal puede adaptarse
a lo deseado por el usuario.
Soporte para variedad de aplicaciones:
Ofrece variedad de aplicaciones como wikis, blogs, chat, etc. Permite incorporar
aplicaciones que están disponibles en la web.
Licencia y código abiertos:
No se requiere licencia para utilizar el producto, incluso si se usa para fines
comerciales. Se tiene acceso al código fuente. Se puede modificar el código, mejorar
la entera plataforma o bien añadir características mediante plugins.
Extensibilidad:
Permite añadir funciones sin hacer cambios al código fuente, esto facilita la migración
a nuevas versiones de Liferay.
Escalabilidad:
Facilita el crecimiento y el acoplamiento de nuevos módulos y recursos.
Apoyo a la internacionalización:
Si los usuarios no hablan inglés, se puede extender el portal que se esté
desarrollando a otros idiomas con solo utilizar los recursos adecuados.
Integración con otras herramientas:
Pude integrar fácilmente muchas herramientas desarrolladas por terceros.
Soporta diferentes bases de datos conocidas en el mercado como Oracle, DB2,
MySQL, Informix, SQL Server, etc.
Compatibilidad con Estándares:
Se puede integrar fácilmente con ICEfaces, Hibernate, JGroups, PHP, Ruby,
freeMarker, entre otros. Gracias a que está desarrollado en Java un lenguaje de
programación muy conocido-, se puede modificar, mejorar o darle mantenimiento
fácilmente.
Uso de estándares
Liferay utiliza tecnologías estándar reconocidas y difundidas entre los desarrolladores
de todo el mundo. A continuación se mencionan algunos aspectos que muestran el
uso de estas tecnologías
Desarrollado con Java:
El lenguaje Java permite que se pueda ejecutar en distintos sistemas operativos y
diferente hardware. Por otro lado, la comunidad de programadores en Java rebasa
los 3 millones, por lo que seguramente se hallará a una persona capacitada para
configurar y personalizar Liferay.
Basado en componentes probados:
Utiliza componentes y herramientas de reconocida eficacia como Apache
Service Mix, Hibernate, ICEfaces, J2EE/JEE, jBPM, Ruby, etc. El uso de estas
herramientas permite reducir la probabilidad de errores en el desarrollo.
Comunicación con otro software:
Utiliza estándares establecidos para el intercambio de datos entre componentes de
software y aplicaciones, como son: AJAX, iCalendar, Microformat, JSR-168, JSR-
286, OpenSearch, RMI, REST, etc.
Compatibilidad de publicación y colaboración de herramientas WCAG 2.0
(Web Content Accesibility Guidelines).
Liferay integra la herramienta CKEditor, que soporta estándares como W3C para el
desarrollo de contenido web accesible a personas con necesidades especiales como
ceguera, baja visión, pérdida de audición, etc.
Interfaz de Usuario.
Soporta HTML 5, CSS 3, YUI 3 (Yahoo User Interface Library).
Soporta Apache Ant 1.8 y Maven 2.
Estas herramientas se utilizan para construir servicios entre distintos equipos de
hardware, construir un lenguaje nativo en ASCII, compilar y construir componentes
con JavaScript CMD, entre otros.
Servidores Web.
Ofrece compatibilidad con Tomcat, Gerónimo, Glass- fish, JBoss, Jetty,
JOnAS+Tomcat, Resin.
1.2 Personalización de Liferay
Liferay cuenta con herramientas para construir y personalizar las aplicaciones
desarrolladas sobre esta plataforma. Una de ellas es Service-Builder, utilizada para
automatizar la creación de interfaces y clases que se emplearán en un portal.
Service-Builder construye servicios Java que se pueden acceder en forma local o en
forma remota mediante servicios web. Service-Builder genera el código de scripts
SQL para la creación de tablas, Java Beans, configuraciones Hibernate y Spring,
Axis Web Services, e interfaces JSON.
Otra herramienta importante es Plugins SDK Environment, empleada en el desarrollo
de plugins. Liferay soporta seis tipos de plugins, descritos a continuación; en
secciones posteriores se explican más detalles de su funcionamiento dentro de la
plataforma.
1. Portlets: son aplicaciones web que se ejecutan en una sección de una página web.
2. Themes: son un conjunto de características que determinan la apariencia de las
páginas.
3. Layout Templates: definen cómo se organiza el contenido en cada página.
4. Hooks: permiten enlazar una acción específica a la funcionalidad principal del
portal.
5. Webs: son aplicaciones web normales, son módulos Java diseñados para trabajar
con el portal, tales como el ESB (Enterprise Service Bus).
6. Ext: son herramientas que permiten personalizar la funcionalidad del portal.
1.2.1 Ext
El entorno de Extensión permite personalizar completamente el portal de Liferay. Se
denomina así porque permite ampliar o modificar las características definidas
originalmente en el portal. Utiliza archivos con prefijo ext- para especificar las
características que se desea extender o cambiar; estos archivos deberán ser
colocados en una carpeta específica, como ${ext.plugin.project}/docroot/WEB-INF
(puede variar según la versión).
Los archivos ext no modifican el código fuente del portal Liferay, si no que anularán
la configuración por default de Liferay para aplicar las características que se hayan
especificado en los archivos ext. Si estos archivos ext se borraran, la configuración
inicial de Liferay quedará intacta.
También se pueden hacer cambios o personalizaciones con las herramientas
visuales dentro de Liferay. Estos cambios se combinan con las especificaciones de
los archivos ext al momento de desplegar el portal en el servidor de aplicaciones.
Funcionamiento de plugin Ext
1.2.2 Hooks
Los Hooks se utilizan para redefinir las propiedades y la funcionalidad de los archivos
JSP en una instancia del portal, sin modificar el código fuente del portal. Se utilizan
para añadir determinada funcionalidad cuando se producen ciertos eventos como el
inicio de una aplicación, inicio de sesión, o la ejecución de un servicio.
Los Hooks se definen en archivos xml. Por ejemplo en la carpeta /liferayportal-
6.0.5/webapps/ejemplos-hook/WEB-INF, se encuentra el archivo liferayhook.xml.
En los Hooks donde pueden definirse parámetros de cuatro tipos:
portal-properties: propiedades del portal
language-properties: propiedades del lenguaje
custom-jsp-dir: personalización de archivos JSP
service: servicios
1.2.3 Portlets y Webs
Los Portlets y Webs se pueden integrar al portal de Liferal en cualquier momento, sin
necesidad de detener los servicios que ya se están ejecutando, por ejemplo el
correo, consulta a una base de datos, etc.
Los Portlets y Webs se generan en un herramienta para edición de plugins como el
SDK que proporciona Liferay. Para colocarlos en funcionamiento se debe generar un
archivo WAR con ayuda de herramientas como Maven o Ant. El archivo WAR se
coloca en el directorio Auto Deploy para que el servidor de aplicaciones lo detecte
automáticamente y ejecute la funcionalidad especificada.
Los Portles deben de cumplir con el estándar JSR-168 para asegurar la
interoperabilidad de los portlets entre portales web diferentes y dentro del portal de
Liferay
1.2.4 Themes y Layout Templates
Un Theme define el estilo de presentación de las páginas, controla la forma en cómo
se verá el portal. Utiliza cuatro elementos: CSS, imágenes, JavaScript, y plantillas
Velocity; para cada uno de estos elementos deberá crear una carpeta: css, images,
javascript, y templates, correspondientemente.
Un Theme anulará temporalmente las características de apariencia definidas al
instalar Liferay, sin alterar el código fuente; al momento de desplegar el portal, el
servidor de aplicaciones mostrará la apariencia definida por el Theme.
Los Layout Templates determinan la organización de los elementos en la página
web. Se forma de espacios, generalmente descritos como columnas y filas donde se
colocarán los componentes de la aplicación; para generar estos espacios se utiliza
HTML. En pocas palabras, un Layout Template controla la estructura visual de las
páginas del portal.
Un plugin de un Template debe incluir al menos un archivo .tpl para ser interpretado
por los navegadores web y un archivo .wap para dispositivos WAP (Wireless
Application Protocol). Ambos archivos deben especificar el orden, estructura y
colocación de los portles
Los Templates deben incluirse en el archivo WAR, para que las características sean
extraídas automáticamente por el servidor de aplicaciones y visualizadas al
desplegarse el sitio web en el navegador.
Los Themes y Layout Templates forman parte de la interfaz de usuario y pueden
convivir gracias a la estandarización de elementos que los conforman.
Interacción de elementos de UI
En primer término tenemos librerías escritas en JavaScript: jQuery y YUI.
Ambas facilitan la interacción con documentos HTML, el manejo de eventos y el
desarrollo de animaciones; en especial la librería YUI (Yahoo User Interface
Library) facilita la creación de aplicaciones interactivas.
Otro elemento importante es CSS (Cascading Style Sheets), también conocido como
hojas de estilo. Son una serie de reglas para definir la apariencia de las páginas;
permiten especificar los tipos de letras para títulos, texto, colores de fondo,
márgenes, etc.
Por último, la figura muestra a HTML (Hyper Text Markup Language), lenguaje que
proporciona las instrucciones básicas para estructurar una página web. A modo de
comparación, puede decirse que HTML conforma la estructura ósea que sostendrá la
página, CSS el color y volumen, y JavaScript la funcionalidad.
1.3 Aplicaciones
Las aplicaciones son elementos con funcionalidades predefinidas, que se instalan
junto con la plataforma, o bien pueden descargarse del sitio oficial de Liferay.
A continuación se muestran las categorías que engloban las aplicaciones de Liferay
6.0. Es posible encontrar otras aplicaciones desarrolladas por usuarios o en
versiones distintas a la 6.0, que no se incluyen en esta clasificación.
Colaboración (Collaboration): en esta categoría se encuentran las aplicaciones para
administrar blogs, calendarios, correo y wikis.
Comunidad (Community): permite encontrar comunidades existentes, usuarios y
grupos de usuarios, crear comunidades e invitar a usuarios a participar en ellas. Se
encuentra también la aplicación de Marcadores que son los accesos rápidos a los
sitios web. Administración de Contenidos (Content Management): contiene los
servicios de gestión de contenidos; permite crear artículos, bibliotecas, galería de
imágenes, mapas del sitio, etc.
Entretenimiento (Entertainment): aplicaciones de dibujos animados, juegos de
palabras, etc.
Finanzas (Finance): herramientas relacionadas con finanzas como cálculo de
préstamos, conversor de divisas, etc.
Noticias (News): aplicaciones para emitir alertas, avisos, incluir noticias, o bien
leerlas desde alguna página especial de comunicados.
Ejemplos (Sample): contiene aplicaciones que proporcionan una puerta de enlace a
otros sitios.
Compras (Shopping): contiene la aplicación de carro de compras y enlace a las
ventas de Amazon.
Herramientas (Tools): se encuentran herramientas como diccionarios, configuración
de lenguaje, utilerías de red, generador de contraseñas, búsquedas, etc.
Wiki: permite crear una página con definiciones, conceptos y enlaces
a otros sitios, define el flujo de trabajo, los accesos y administra las aportaciones de
información de los usuarios.
1.4. Aprendizaje de la plataforma.
Conocer la arquitectura de Liferay permite visualizar el potencial de la plataforma.
Aunque no se dominen todos los estándares en los que está basada la funcionalidad
de Liferay (CSS3, XML, JSR 168, etc.), es muy importante conocer lo que aporta
cada elemento que integra la arquitectura y su interacción con otros elementos. Esta
carencia de conocimiento específico ofrece la oportunidad a los desarrolladores de
software de incursionar en nuevas áreas y abrir su perspectiva a otras opciones para
el desarrollo de software.
La escasa documentación de la plataforma dificulta su aprendizaje. Existe bibliografía
de versiones anteriores, pero los cambios sustanciales entre versiones llevan al
desarrollador a invertir mayor tiempo en buscar la opción similar que se explica en
dichas referencias.
Otro aspecto que incluye cuando se empieza a explorar una nueva herramienta es
recorrer el camino del conocimiento desde su origen, es decir, conocer Liferay desde
su instalación y funcionamiento de las opciones básicas, permite comprender su
estructura y el comportamiento de otros elementos más complejos. Sin embargo,
cómo se mencionó en el párrafo anterior, por la falta de documentación acorde a la
versión actual, este recorrido de aprendizaje puede ser lento y con pocos resultados
al inicio. Las aplicaciones desarrolladas que proporciona Liferay, mejor conocidas
como portles (wiki, foro, blog, news, etc.) brindan la facilidad de construir sitios web a
través de ensamblar, módulos previamente probados por el creador de la plataforma
y por la comunidad de desarrolladores. Aunque en el presente estudio técnico solo
se probaron algunos portles, el desarrollo del Portal de Exalumnos permitirá poner en
funcionamiento una mayor cantidad de componentes.
CAPITULO 2. VELOCITY
Velocity es un motor de plantillas basado en Java. Permite a los diseñadores de
páginas hacer referencia a métodos definidos dentro del código Java. Velocity separa
el código Java de las páginas Web, haciendo el sitio más mantenible a largo plazo y
presentando una alternativa viable a Java Server Pages (JSP) o PHP.
Velocity se puede utilizar para crear páginas web, SQL, PostScript y cualquier otro
tipo de salida de plantillas. Se puede utilizar como una aplicación independiente para
generar código fuente y reportes, o como un componente integrado en otros
sistemas. Cuando este completo Velocity proveerá servicios para el conjunto de
aplicaciones web de Turbine. Velocity+Turbine proveerá un servicio de plantillas que
facilitará el desarrollo de aplicaciones web de acuerdo a un verdadero modelo MVC.
2.1 El Lenguaje de Plantillas de Velocity (VTL)
Fue creado para proveer la manera más fácil, simple y limpia de incorporar contenido
dinámico dentro de una página web. Incluso un desarrollador de páginas web con
poca y ninguna experiencia puede rápidamente ser capaz de utilizar VTL para incluir
contenido dinámico en un sitio web.
VTL usa referencias para incluir contenido dinámico dentro de un sitio web. Una
variable es un tipo de referencia que puede referirse a algo definido dentro del código
Java o obtener su valor de un enunciado VTL en la página misma. Una vez un valor
ha sido asignado a una variable, se puede referenciar la variable en cualquier lugar
dentro del documento HTML.
2.2 Referencias
Existen tres tipos de referencias en VTL: variables, propiedades y métodos. Como un
diseñador que utilizar VTL, usted y sus ingenieros deben llegar a un acuerdo
respecto a los nombres de las referencias para que usted pueda utilizarlas
correctamente en sus plantillas.
Todo lo que entra y sale de una referencia se trata como una cadena de caracteres
(un objeto String). Si existe un objeto que representa $foo (por ejemplo, un objeto
Integer), entonces Velocity llamará el método .toString() de ese objeto para
convertirlo en una cadena de caracteres.
2.2.1 Variables
La notación breve de una variable esta compuesta por un signo "$" inicial seguido de
un Identificador. Un identificador VTL debe comenzar con un caracter alfabético.
Cuando VTL hace referencia una variable, po ejemplo, $foo, la variable puede
obtener su valor de una directiva set dentro de la plantilla, o del código Java.
2.2.2 Propiedades
Las propiedades tienen un formato particular. La versión corta se compone de un
signo $ seguido de un identificador VTL, seguido de un punto y de otro identificador
VTL.
2.2.3 Métodos
Un método está definido dentro del código de Java y es capaz de hacer algo útil,
como desarrollar un cálculo o llegar a una decisión. Los métodos son referencias
compuestas de un signo "$" inicial seguido en un identificador VTL, seguido de un
Cuerpo de Método VTL. Un cuerpo de método VTL, a su vez está formado por un
identificador VTL seguido por un paréntesis izquierdo, seguido, opcionalmente, por
una lista de parámetros, para terminar en un paréntesis derecho.
Las Propiedades VTL pueden utilizarse como notación abreviada para los métodos
de VTL. La propiedad $cliente.Direccion tiene exactamente el mismo efecto que el
método $cliente.getDireccion(). Generalmente es preferible utilizar una Propiedad si
esta disponible. La diferencia principal entre las propiedades y los métodos es que
usted le puede dar una lista de parámetros a un Método.
2.2.4 Notación Formal de Referencias
La notación abreviada para referencias fue utilizada en los ejemplos anteriores, pero
también existe una notación formal para referencias.
Casi en todos los casos usted utilizará la notación abreviada, pero existen escenarios
en los cuales la notación formal se requiere para procesar correctamente la plantilla.
2.3 Directivas
Las Referencias le permiten a los diseñadores de plantillas generar contenido
dinámico para sitios web, mientras que las directivas -- elementos de script fáciles de
usar que se pueden usar para manipular de manera creativa la salida del código
Java -- les permiten a los diseñadores realmente estar a cargo de la apariencia y en
contenido del sitio web.
#set
La directiva #set se utiliza para establecer el valor de una referencia. El valor se
puede asignar a una referencia de variable o una referencia de propiedad, siempre
entre paréntesis.
CAPITULO 3. HTML
HTML (HyperText Markup Language) es un lenguaje muy sencillo que permite
describir hipertexto, es decir, texto presentado de forma estructurada y agradable,
con enlaces (hyperlinks) que conducen a otros documentos o fuentes de información
relacionadas, y con inserciones multimedia (gráficos, sonido...) La descripción se
basa en especificar en el texto la estructura lógica del contenido (títulos, párrafos de
texto normal, enumeraciones, definiciones, citas, etc) así como los diferentes efectos
que se quieren dar (especificar los lugares del documento donde se debe poner
cursiva, negrita, o un gráfico determinado) y dejar que luego la presentación final de
dicho hipertexto se realice por un programa especializado (como Mosaic, o
Netscape).
3.1 Atributos Del Texto
Mediante estos atributos determinamos el estilo y el tipo de letra que tendrá la
presentación del documento final.
El primero en el que nos deberíamos detener es el texto normal entendiendo como
tal el que no tiene ninguna característica especial. Para definir un párrafo como
normal no es necesario poner ninguna etiqueta. Lo único que hay que tener en
cuenta, como ya se ha dicho antes, es que al presentar el documento se hace caso
omiso de los espacios, tabulaciones y retornos de carro que se encuentren en el
texto fuente. Por ello cuando se quiera forzar un final de línea es necesario utilizar
dos directivas especiales: <p> para marcar un fin de párrafo, y <br> para un único
retorno de carro. La diferencia entre ambas es que la separación de líneas que
provoca <p> es algo mayor que la de <br>, para que los párrafos se distingan bien
entre sí. Las dos directivas mencionadas se sitúan en el punto en
CAPITULO 4. CSS (Cascade Style Sheets)
Las CSS (hojas de estilo en cascada) suponen un gran avance en la autoría de sitios
Web. Mejoran las posibilidades de diseño y presentación de documentos en la red,
facilitando además su mantenimiento, ya se trate de un unico archivo HTML, o de
grandes sitios, con multitud de páginas.
La filosofía de las CSS responde a la idea de separar al máximo forma y fondo. Las
páginas, idealmente, tendrán únicamente etiquetas html con información acerca de la
estructura y contenido del documento (párrafos, cabeceras, listas etc) sin ninguna
información sobre la apariencia del documento. Esta apariencia, la forma en que ese
documento debe ser visualizado, se dicta por una serie de reglas, que se definen
separadamente (en una sección separada de la página o incluso en un archivo
separado), de forma que podemos cambiar la forma en que el documento es
visualizado sin tocar ni una sola línea de contenido ni cambiar las etiquetas html,
simplemente introduciendo unos pocos cambios en la definición de estilo.
Un solo archivo de estilo puede controlar la presentación de un número ilimitado de
páginas, facilitando mantener un aspecto homogéneo en todas ellas, ampliando las
posibilidades de edición que ofrece HTML (sangrados, márgenes, tabuladores,
fuentes), y en general, posibilitando mayor control al autor sobre la apariencia y el
posicionamiento de cada elemento de la página. Como beneficio adicional, un
correcto uso de las CSS hará que una misma página tenga menor tamaño,
reduciendo tiempos de descarga.
Las reglas de estilo se escriben y leen en un lenguaje inteligible, similar al lenguaje
cotidiano (naturalmente, en inglés), utilizando términos habituales en el área de
diseño gráfico, lo que permite un rápido aprendizaje.
.
4.1 Primeros Conceptos
Una 'hoja de estilo' es una plantilla, o guia, o conjunto de instrucciones, que dicta al
navegador como debe mostrar el contenido de una o varias páginas Web. Cualquier
cambio en la plantilla de estilo se refleja en un cambio inmediato en la apariencia de
las páginas relacionadas, sin necesidad de modificar fisicamente estas.
El creador de la página define estilos (tamaño de letra, color, tipo de fuente,
margenes etc) que se visualizarán con preferencia a los definidos por defecto en el
propio navegador. Si despues desea cambiar la apariencia (nuevos margenes etc)
bastará que cambie la definicion de estilo. El documento en si no se modifica.
4.2 Sintaxis
Una hoja de estilo se compone de reglas de visualización (reglas de estilo).
Cada regla consta de un SELECTOR, que es el que indica a que elemento o parte de
la página se aplica el estilo; normalmente los selectores son etiquetas HTML (p.e. h1
sería un selector que permitiría aplicar estilos a las cabeceras <h1>). A cada selector
debe seguir una DECLARACION del estilo que ha de serle aplicado (p.e. color:blue).
Toda declaración tiene dos partes: PROPIEDAD (por ejemplo, color) y VALOR (por
ejemplo, blue).
El enunciado de reglas constituye la forma usual de declarar estilos, y deben
ajustarse a la sintaxis definida por la especificación CSS; si el navegador encuentra
un selector que no entiende, ignorará la entera declaración. Si encuentra dentro de la
declaración una propiedad o valor que no comprende ignorará esta parte de la
declaración, pero deberá procesar el resto.
CAPITULO 5. POSTGRE SQL
PostgreSQL es un sistema de gestión de bases de datos objeto-relacional, distribuido
bajo licencia BSD y con su código fuente disponible libremente. Es el sistema de
gestión de bases de datos de código abierto más potente del mercado y en sus
últimas versiones no tiene nada que envidiarle a otras bases de datos comerciales.
PostgreSQL utiliza un modelo cliente/servidor y usa multiprocesos en vez de
multihilos para garantizar la estabilidad del sistema. Un fallo en uno de los procesos
no afectará el resto y el sistema continuará funcionando.
A continuación teneis un gráfico que ilustra de manera general los componentes más
importantes en un sistema PostgreSQL.
Aplicación cliente: Esta es la aplicación cliente que utiliza PostgreSQL como
administrador de bases de datos. La conexión puede ocurrir via TCP/IP ó
sockets locales.
Demonio postmaster: Este es el proceso principal de PostgreSQL. Es el
encargado de escuchar por un puerto/socket por conexiones entrantes de
clientes. Tambien es el encargado de crear los procesos hijos que se
encargaran de autentificar estas peticiones, gestionar las consultas y mandar
los resultados a las aplicaciones clientes
Ficheros de configuracion: Los 3 ficheros principales de configuración
utilizados por PostgreSQL, postgresql.conf, pg_hba.conf y pg_ident.conf
Procesos hijos postgres: Procesos hijos que se encargan de autentificar a
los clientes, de gestionar las consultas y mandar los resultados a las
aplicaciones clientes
PostgreSQL share buffer cache: Memoria compartida usada por
POstgreSQL para almacenar datos en caché.
Write-Ahead Log (WAL): Componente del sistema encargado de asegurar la
integridad de los datos (recuperación de tipo REDO)
Kernel disk buffer cache: Caché de disco del sistema operativo
Disco: Disco físico donde se almacenan los datos y toda la información
necesaria para que PostgreSQL funcione
5.1 Características
La última serie de producción es la 9.1. Sus características técnicas la hacen una de
las bases de datos más potentes y robustas del mercado. Su desarrollo comenzo
hace más de 16 años, y durante este tiempo, estabilidad, potencia, robustez,
facilidad de administración e implementación de estándares han sido las
características que más se han tenido en cuenta durante su desarrollo. PostgreSQL
funciona muy bien con grandes cantidades de datos y una alta concurrencia de
usuarios accediendo a la vez a el sistema.
A continuación teneis algunas de las características más importantes y soportadas
por PostgreSQL:
Generales
Es una base de datos 100% ACID
Integridad referencial
Tablespaces
Nested transactions (savepoints)
Replicación asincrónica/sincrónica / Streaming replication - Hot Standby
Two-phase commit
PITR - point in time recovery
Copias de seguridad en caliente (Online/hot backups)
Unicode
Juegos de caracteres internacionales
Regionalización por columna
Multi-Version Concurrency Control (MVCC)
Multiples métodos de autentificación
Acceso encriptado via SSL
Actualización in-situ integrada (pg_upgrade)
SE-postgres
Completa documentación
Licencia BSD
Disponible para Linux y UNIX en todas sus variantes (AIX, BSD, HP-UX, SGI
IRIX, Mac OS X, Solaris, Tru64) y Windows 32/64bit.
Programación / Desarrollo
Funciones/procedimientos almacenados (stored procedures) en numerosos
lenguajes de programacion, entre otros PL/pgSQL (similar al PL/SQL de
oracle), PL/Perl, PL/Python y PL/Tcl
Bloques anónimos de código de procedimientos (sentencias DO)
Numerosos tipos de datos y posibilidad de definir nuevos tipos. Además de los
tipos estándares en cualquier base de datos, tenemos disponibles, entre otros,
tipos geométricos, de direcciones de red, de cadenas binarias, UUID, XML,
matrices, etc
Soporta el almacenamiento de objetos binarios grandes (gráficos, videos,
sonido, ...)
APIs para programar en C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC,
PHP, Lisp, Scheme, Qt y muchos otros.
SQL
SQL92,SQL99,SQL2003,SQL2008
Llaves primarias (primary keys) y foráneas (foreign keys)
Check, Unique y Not null constraints
Restricciones de unicidad postergables (deferrable constraints)
Columnas auto-incrementales
Indices compuestos, únicos, parciales y funcionales en cualquiera de los
metodos de almacenamiento disponibles, B-tree, R-tree, hash ó GiST
Sub-selects
Consultas recursivas
Funciones 'Windows'
Joins
Vistas (views)
Disparadores (triggers) comunes, por columna, condicionales.
Reglas (Rules)
Herencia de tablas (Inheritance)
Eventos LISTEN/NOTIFY
CAPITULO 6. GIT
Git es libre y de codigo abierto, es un sistema distribuido de control de versiones
diseñado para manejar todo, desde pequeños proyectos muy grandes con velocidad
y eficiencia.
Cada Git clon es un repositorio en toda regla con historia completa y plena capacidad
de seguimiento de revisiones, no depende del acceso a la red o un servidor central.
Git se utiliza para el control de versiones de archivos, al igual que herramientas tales
como Mercurial, Bazaar, Subversion, CVS, Perforce, y Team Foundation Server.
6.1 Caracteristicas
El diseño de Git es una síntesis de la experiencia con Linux Torvalds en el
mantenimiento de un gran proyecto de desarrollo distribuido, junto con su profundo
conocimiento del funcionamiento del sistema de archivos obtenidos de un mismo
proyecto y la urgente necesidad de producir un sistema de trabajo en el corto plazo.
Estas influencias llevaron a las opciones de implementación:
Firme apoyo al desarrollo no-lineal
Git soporta una rápida ramificación y mezcla, e incluye herramientas específicas para
la visualización y navegación de una historia de desarrollo no lineal. Un supuesto
básico en Git es que un cambio se fusionará con más frecuencia de lo que está
escrito, ya que se pasa alrededor de varios revisores. Una rama de git es sólo una
referencia a una única confirmación.
Desarrollo distribuido
Al igual que Darcs, BitKeeper, Mercurial, SVK, Bazaar y Monotone, Git le da a cada
desarrollador una copia local de toda la historia del desarrollo y los cambios se
copian de un depósito de este tipo a otra. Estos cambios se importan como ramas de
desarrollo adicional, y se pueden combinar en la misma forma que una rama de
desarrollo local.
Compatibilidad con los sistemas existentes / protocolos
Repositorios se pueden publicar a través de HTTP, FTP, rsync, o un protocolo Git
más bien una toma de corriente normal o ssh. Git también tiene una emulación de
servidor CVS, lo que permite el uso de los clientes existentes de CVS y plugins IDE
para acceder a repositorios Git.
Manejo eficiente de proyectos de gran envergadura
Torvalds ha descrito Git como muy rápido y escalable, y las pruebas de rendimiento
realizadas por Mozilla demostró que era un orden de magnitud más rápido que
algunos sistemas de control de revisiones, y traer el historial de revisiones de un
repositorio almacenados localmente pueden ser cien veces más rápido que de
obtenerlo desde el servidor remoto. En particular, Git no más lenta que la historia del
proyecto se hace más grande.
Autenticación criptográfica de la historia
La historia de Git se almacena de tal forma que el nombre de una revisión en
particular (un "commit" en términos Git) depende de la historia de desarrollo completo
que conduce a que se comprometan. Una vez que se publica, no es posible cambiar
las versiones antiguas sin que se note.
Kit de herramientas de diseño
Git fue diseñado como un conjunto de programas escritos en C, y una serie de
scripts de shell que ofrecen envolturas en torno a esos programas. Aunque la
mayoría de los guiones han sido reescrito en C para la velocidad y la portabilidad, el
diseño sigue siendo, y Es fácil de la cadena de los componentes entre sí.
Conectable estrategias de fusión
Como parte de su kit de herramientas de diseño, Git tiene un modelo bien definido de
una fusión incompleta, y que tiene múltiples algoritmos para cumplir con ella, que
culminó en que indica al usuario que no es capaz de completar la fusión de forma
automática y edición manual es obligatorio.
Acumuladores que recolectan menos Basura
Anulando las operaciones o el respaldo a los cambios dejarán inútiles objetos
colgantes en la base de datos. Estos son por lo general una pequeña fracción de la
historia cada vez mayor de objetos quería. Git automáticamente realizará la
recolección de basura cuando un número suficiente los objetos sueltos se han
creado en el repositorio. La recolección de basura se pueden llamar de forma
explícita utilizando git gc.
Objeto explícito que empaqueta por periodos
Git almacena cada objeto recién creado como un archivo separado. Aunque en forma
individual comprimido, esto tiene una gran cantidad de espacio y es ineficiente. Esto
se resuelve con el uso de "paquetes" que almacena una gran cantidad de objetos en
un solo archivo (o secuencia de bytes de red). Los paquetes se comprimen utilizando
la heurística de que los archivos con el mismo nombre son probablemente similares,
pero no dependen de ella para su corrección. Los objetos de nueva creación siguen
almacenados por separado, y el reempaque por periodos es necesario para
mantener la eficiencia del espacio.
CAPITULO 7.- TORTOISE
TortoiseSVN es un programa SCM fácil de usar/ software de control de Microsoft
Windows y, posiblemente, el mejor Apache™ Subversion® independiente que hay.
Se implementa como una extensión del shell de Windows, con lo que se integra
perfectamente en el Explorador de Windows. Ya que no es una integración de un IDE
específico que se puede utilizar con herramientas de desarrollo de lo que quiera.
16.1 Características de Tortoise SVN
Fácil de usar
Todos los comandos están disponibles directamente desde el explorador de
Windows.
Comandos sólo que tengan sentido para la selección archivo/carpeta se
muestran. Usted no verá los comandos que no se puede usar en su situación.
Ver el estado de los archivos directamente en el explorador de Windows
Diálogos descriptivos, constantemente mejorado debido a comentarios de los
usuarios
Permite mover archivos por ellos derecho de celeridad en el explorador de
Windows
Todos los protocolos son compatibles con Subversion
http://
https://
svn: / /
svn + ssh: / /
file: / / /
svn + XXX: / /
Diálogo de confirmación poderosa
Corrector ortográfico integrado de mensajes de registro
Finalización automática de caminos y palabras clave de los archivos
modificados
Formato de texto con caracteres especiales
El panorama general
Puede crear un gráfico de todas las revisiones/commits. A continuación,
puede ver fácilmente que ha creado una tag/branch o modificar un
archivo/carpeta
Los gráficos de las estadísticas de confirmación del proyecto
Fácil la comparación de dos ramas o etiquetas
Por la configuración del proyecto
Longitud mínima de mensaje de registro para evitar que accidentalmente
confirmar con un mensaje de registro vacío
Idioma que desea utilizar para el corrector ortográfico
Integración con sistemas de seguimiento de problemas
TortoiseSVN proporciona un mecanismo flexible para integrar cualquier sistema
basado en web de seguimiento de errores.
Una caja de entrada independiente para entrar en el número de emisión
asignados a la confirmación, o el color de la edición número directamente en
el propio mensaje de registro
Cuando se muestran todos los mensajes de registro, una columna adicional
se agrega con el número de incidencia. Usted puede ver inmediatamente que
el tema pertenece a cometer.
Números de la edición se convierten en enlaces que abren el navegador web
directamente en el número correspondiente
Advertencia Facultativo si el compromiso no se asigna a un número de
emisión
Herramientas útiles
TortoiseMerge
o Muestra los cambios realizados en los archivos
o Ayuda a resolver los conflicto
o Se puede aplicar PatchFiles que obtuvo de los usuarios sin acceso de
confirmación de su repositorio
TortoiseBlame: para mostrar culpa de los archivos. También muestra los
mensajes de registro para cada línea en un archivo.
TortoiseIDiff: para ver los cambios realizados en los archivos de imagen
SubWCRev: para incluir los números de revisión/datos/... en los archivos de
origen
9. PROCEDIMIENTO.
9.1. FACTIBILIDAD
9.1.1 FACTIBILIDAD TÉCNICA.
LANIA cuenta con toda la infraestructura para llevar acabo el desarrollo de sistemas,
contando con maestros y doctores dedicados a la investigación, realizándolas en su
área de especialización, buenos asesores, además LANIA da como uno de sus
servicios, posgrados y sus servicios para el desarrollo de sistemas basándose en las
necesidades del cliente, por lo cual obliga al laboratorio a contar con las
herramientas suficientes para poder cubrir las necesidades en específico de los
clientes en cuestión.
9.1.1.1. DETERMINACIÓN DE REQUERIMIENTOS.
El Análisis de Requerimientos es la etapa inicial de ICONIX, en la que se estudia la
problemática que se pretende resolver construyendo un producto de software. El
objetivo de esta etapa es reunir los requerimientos con los distintos usuarios del
futuro sistema, para identificar las necesidades y los procesos de negocio, esta
información servirá de base para realizar el análisis y proponer el diseño.
La primera actividad que se desarrolló fueron las entrevistas para levantar los
requerimientos. Se entrevistaron a exalumnos, alumnos, profesores y a personal del
LANIA.
Dos aspectos resaltados por los entrevistados, es saber qué hacen y donde trabajan
los egresados. Generalmente al terminar los cursos presenciales de maestría se
pierde el contacto con los compañeros de generación, y el vínculo con LANIA es casi
exclusivo para cuestiones de titulación. Para cubrir esta necesidad actualmente no
existe un proceso de negocio como tal, la vinculación es informal y se da por
intereses particulares entre los egresados y la institución, como por ejemplo el
requerir información de trámites o asesorías técnicas de los profesores.
9.1.2 FACTIBILIDAD OPERATIVA.
En LANIA para poder desarrollar el sistema todos los recursos están a disponibilidad
de los desarrolladores, contando con la cooperación de los asesores para ayudar en
caso de que lo requiera, orientando para el mejor manejo de las herramientas,
haciendo que el sistema sea viable. Ahorrando tiempo y esfuerzo.
9.1.3 FACTIBILIDAD ECONÓMICA.
Los costos para el desarrollo del sistema han sido mínimos ya que tanto como el
hardware como software, fueron proporcionados por LANIA, , ya que es un proyecto
de residencias profesionales, por lo que se puede decir que para la implementación y
desarrollo del sistema, LANIA nos proporcionó las herramientas y materiales
necesarios cumpliendo así de manera exitosa dicho proyecto.
9.2 ANALISIS DEL DISEÑO Y CONOCIMIENTO DE HERRAMIENTAS
A UTILIZAR (1 AL 19 DE AGOSTO DEL 2011)
Se me proporcionó una tesis la cual contiene un estudio técnico de la Plataforma
Liferay para la creación de portales, análisis, diseño e implementación de algunos
servicios para el portal de ex alumnos, así como guías para el uso de Liferay.
Identificando en ellas temas para la implementación de procesos a cubrir como lo
son el uso de diversas aplicaciones y el manejo de usuarios, el manejo de páginas y
sus diversas opciones, haciendo un análisis y estudio de estos procesos para
trabajar en ellos posteriormente.
Se instaló la herramienta Git con cliente de control de revisiones Tortoise para el
control de versiones de los archivos de Liferay, dando con esto un control sobre el
trabajo hecho y evitando perdidas en modificaciones erróneas.
9.3 CONEXIÓN DE LIFERAY CON POSTGRE SQL (22 AL 30 DE
AGOSTO DEL 2011)
Se investigó y se implementó la conexión entre estas dos herramientas creando
usuario y una base de datos en PostgreSQL y conectándola a Liferay modificando
archivos de acceso a base de datos:
Agregar a portal-ext.properties (C:\liferay-portal-6.0.62\tomcat-
6.0.29\webapps\ROOT\WEB-INF\classes\ portal-ext.properties) si no existe se crea
en un txt y se cambia la extensión.
Descargar el driver JDBC (JDBC3 Postgresql Driver, Versión 9.0-801) desde
PostgreSQL (http://jdbc.postgresql.org/download.html) y copiarlo en las siguientes
direcciones
C:\…\liferay-portal-6.0.6\tomcat-6.0.29\lib\ext
C:\…\liferay-portal-6.0.6\tomcat-6.0.29\lib
URL directahttp://jdbc.postgresql.org/download/postgresql-9.0-801.jdbc3.jar
Nombre del archivo descargado postgresql-9.0-801.jdbc3.jar
9.4 EDICION DE PORTLETS: WEB FORM Y VISOR DE CONTENDIO
WEB (31 DE AGOSTO AL 9 DE SEPTIEMBRE DEL 2011)
Se trabajó con dos portlets principalmente: web form y visor de contenido web,
investigando para su uso scrips de validación de datos, opciones para mostrar datos,
creación de plantillas, el uso de plantillas en velocity, funciones de diseño
establecidas y en css.
Para agregar un Web Content Display solo se
debe hacer click en Add y luego en Web Content
Display Fig. (17.3.1). Y luego dar click en el
icono q se muestra en la Fig. (17.3.2), Para
empezar a configurarlo.
Este tiene las opciones de agregar HTML, editar como texto, y
agregar una plantilla editable en cualquiera de los siguientes
lenguajes CSS, FTL, VM y XLS.
Fig(17.3.1)
Fig.(17.3.2)
Antes de agregar una plantilla se tiene que crear
una estructura dando click en el boton Editar
debajo de la etiqueta estructura en este se indica el
tipo de contenido que se requiera ya sea Controles
de formulario, Campos de la aplicación o algún
enlace a página o un salto de sección. Este
también se puede agregar desde añadir plantilla,
seleccionar estructura.
Para agregar una plantilla se da click en el boton
SELECCIONAR—AÑADIR PLANTILLA y
aparecera una ventana con el contenido que se
muestra en la Fig. (17.3.3), en la cual se deberá
agragar la estructura de nuestro codigo dando
click en el boton SELECCIONAR debajo de la leyenda Estructura, en caso de no
existir se tendra que crear ya sea desde la 1era ventada donde aparece dando click
en el botón Añadir Estructura o en la misma ventana de añadir plantilla en el boton
SELECCIONAR en la etiqueta Estructura.
Esto se utilizó en la creacion de la aplicación de Registro de Usuarios, Muestra de
Usuarios que hicieron el Cuestionario de Seguimiento de Egresados, el Cuestionario
de Seguimiento de Egresados.
Fig. (17.3.3)
9.5 AGREGAR BASE DE DATOS (TABLAS), MOSTRAR Y AGREGAR
A BASE DE DATOS DESDE UN PORTLET, USO TORTIOSE GIT (12
AL 15 DE SEPTIEMBRE DEL 2011)
Para mostrar y agregar elementos a la base de datos existente en PostgreSQL se
creó una plantilla en lenguaje Velocity. La cual agrega usuarios, los elimina, modifica,
y los muestra en lista, mandando a llamar a las tablas expando que Liferay creo
automáticamente en PostgreSQL.
Por motivos de pruebas se utilizó un sistema de control de versiones para evitar
pérdidas de información y retrasar el trabajo. En éste se respaldó haciendo un
repositorio en la misma máquina de todo Liferay y guardando versiones de
funcionalidades conforme fueron completándose.
9.6 DISEÑO DE PÁGINAS (19 DE SEPTIEMBRE AL 5 DE OCTUBRE
DEL 2011)
Se buscó páginas de muestra y hojas de estilo Web para el sitio, seleccionando
estilos adecuados para un espacio de convivencia, siendo este serio pero al mismo
tiempo llamativo para egresados.
Se adecuo visualmente la página de muestra a los colores institucionales del LANIA,
imágenes del plantel y fonts atrayentes. En cuanto a programación-web se utilizaron
las hojas de estilo de la página de muestra añadiéndolas a los archivos de
configuración de las mismas en Liferay, agregando, modificando y eliminando
elementos con forme fuera necesario, de los archivos de plantillas en lenguaje
Velocity.
El diseño de los contenidos se realizó mediante temas y layouts, los cuales se
crearon en Eclipse instalándole un plugin SDK de Liferay, y trabajando con los
códigos .css y .vm de los temas para edición del diseño de la página.
CREACION DE UN THEME Y LAYOUT LIFERAY
Para crear un tema se necesita tener instalado LIFERAY 6.0.6 con Tomcat 6 e
instalado y configurado Eclipse y haber descargado e instalado Liferay IDE.
Instalar Eclipse Indigo:
Fig.
(17.5.1)
Se descarga de la pagina oficial http://www.eclipse.org Fig. (17.5.1). Y Tendremos
que descomprimirlo y aparecerá una carpeta llamada eclipse. En ella solo damos
doble click sobre el icono de Eclipse Fig. (17.5.2). Nos pedirá el workspace donde
queremos trabajar. Y aparecerá la ventana de bienvenida.
Despues de esto instalaremos Liferay IDE
Instalación del plugin
Para instalarlo vamos a Help → Eclipse Marketplace y buscar por la palabra clave
"Liferay". Fig. (17.5.3)
Fig. (17.5.2)
Fig. (17.5.3)
Pulsamos en “Install” con lo que iniciamos el proceso de instalación del plugin el cual
puede llevar unos minutos dependiendo del ancho de banda de nuestra red. Si nos
sale algún “Warning” pulsamos en “OK” para continuar con la instalación. Al finalizar
el proceso, pulsamos en “Restart now” para aplicar los cambios.
Configuración del SDK
Para configurar este
plugin vamos a Window →
Preferences y filtramos
por la palabra “Liferay”.
Fig (17.5.4)
En esta pantalla podremos añadir el SDK de Liferay que ya tengamos instalado o
descargarlo si no lo tenemos. Como es nuestro caso, vamos a pulsar en
“Download...”, esto nos llevará algo de tiempo...
Una vez descargado e instalado el SDK, pulsamos en “OK”. Si ya tenemos un SDK
instalado en la máquina podemos añadirlo a la configuración pulsando en “Add”. Fig
(17.5.5)
Fig (17.5.4)
Fig
(17.5.5)
Pulsando en "Browser", seleccionamos el directorio %LIFERAY_SDK_HOME% y
pulsando en “OK” ya tenemos registrada nuestra instancia de Liferay SDK para poder
ser utilizada desde Eclipse.
3.3 Configuración del servidor de aplicaciones
Ahora lo siguiente es configurar el servidor de aplicaciones para poder ejecutar y
depurar nuestros desarrollos en Liferay. Para ello, vamos a Window → Preferences y
en la pantalla vamos a Server → Runtime Environment, pulsamos en “Add” y
seleccionamos “Liferay, Inc.” → Liferay v6.0 (Tomcat 6.0) Fig (17.5.6)
Pulsando en “Next” se nos muestra una pantalla donde podemos establecer el
nombre de la instancia y nos da la posibilidad de especificar la ruta de una instancia
de Liferay + Tomcat ya instalada en el equipo o descargarnos la última versión.
Vamos a probar a descargar la última versión por lo que pulsamos en “Download and
Install...”. Aceptamos todos los mensajes que salgan y asignamos un directorio
donde almacenar la descarga. Esto llevará unos cuantos minutos...
Si al finalizar la descargar nos da algún tipo de error, nos tenemos que asegurar que
la ruta de “Liferay Tomcat directory” está apuntando a la carpeta que nos acabamos
de descargar.
Fig.
(17.5.6)
Si ya contamos con una instancia de Liferay podemos seleccionar el directorio
%LIFERAY_HOME% gracias al botón "Browser...".
En cuanto la instalación sea correcta podremos seleccionar el JRE runtime que
tengamos configurado siempre superior a la versión 1.6, y pulsamos en “Finish”.
Registrando el servidor
Para registrar el servidor tenemos que abrir la ventana “Servers” (Window → Show -
View → Other → Server → Servers). Clicamos con el botón derecho dentro de esa
ventana y seleccionamos New → Server con lo que se muestra una pantalla donde
podemos seleccionar el tipo de servidor a añadir, en nuestro caso el de Liferay, dar el
nombre del host (localhost), darle un nombre a esta instancia de servidor (Liferay +
Tomcat 6.0) y por último seleccionamos la instancia del servidor que hemos creado.
Fig (17.5.8)
Y pulsamos en “Finish”. Ahora para probar la instalación del servidor bastará con
pinchar con el botón derecho sobre la instancia que tiene que aparecer en la ventana
“Servers” y seleccionar “Run” o “Debug”. Si todo es correcto, veremos como en
consola aparecen las trazas del servidor y pasados unos instantes veremos la traza
“Server startup in x ms” que indica que el servidor se ha levantado correctamente.
Fig.
(17.5.8)
Ahora para acceder a Liferay, abrimos un navegador y accedemos a la URL:
http://localhost:8080
Creando un proyecto de plugin SDK
Abrimos el Eclipse y vamos a File → New →
Project → Liferay → Liferay Plug-in Project y
pulsamos en “Next”. En esta pantalla tenemos
que poner un nombre al proyecto y un nombre
que se va a utlizar para mostrarse. En la
sección “Configuration” tenemos que
seleccionar el SDK que vamos a utilizar y la
instancia de Liferay donde lo vamos a ejecutar.
También podemos seleccionar de que tipo va a
ser el plugin a crear, pudiendo elegir entre los tipos: portlet, hook, ext, layout y theme.
Fig (17.5.9)
Para finalizar el proceso de creación del plugin pulsamos “Finish”. Esto hace que el
proyecto se registre en Eclipse como un proyecto de Liferay SDK, manteniendo las
fuentes dentro de la carpeta del plugin seleccionado en %LIFERAY_SDK_HOME%.
Fig (17.5.9)
Desplegando el proyecto
Para desplegar el proyecto en Liferay tenemos que
arrastrar la raíz del proyecto al servidor configurado
dentro de la vista “Servers”, o con el botón derecho
sobre dicho servidor, pinchamos sobre la opción “Add
and remove...” y seleccionamos el proyecto de Liferay
que queremos desplegar. Esto hace que cualquier
cambio en el proyecto provoque el despliegue en
caliente del plugin. Fig (17.5.10)
El contenido del tema se basó en un tema ya existente e
instalado en Liferay (sevencogs-theme) el cual se utilizó
como ejemplo de estructura y contenido para la creación de los temas de página de
inicio y de las páginas de contenido privado por usuario. Para la creación de estos
temas se utilizó también la herramienta FireBug de Mozilla-Firefox, ya que con esta
podemos inspeccionar el HTML y el código CSS de las páginas posicionándonos
sobre ellos, se indicará con un grisado sobre la página web el elemento que
corresponde y veremos sus atributos o bien damos click derecho, seleccionar
“Inspect” para ver el código fuente.
Fig (17.5.10)
Layout
Una manera sencilla es acomodar graficamente mediante Eclipse agregando y
manipulado los porcentajes mediante las opciones que se muestra Fig (17.5.11),
pero al momento de utilizarlo en el navegador Explorer no funciona por lo que se le
agrega una condicion como en el siguiente codigo Fig (17.5.12)
Fig
(17.5.11)
Fig
(17.5.12)
Para Explorer
9.7. TRASPASO (15 DE OCTUBRE AL 26 DE OCTUBRE DEL 2011)
Traspaso de usuarios existentes, permisos, roles, comunidades y configuración de
estos, perfeccionamiento de la página, Acción de redirección a página privada de
usuario
Redireccionar a pagina privada de usuario despues de login.
Para esto se instalo un hook desde liferay llamado Login Landing Page Hook el cual
redirecciona a la pagina privada del usuario despues de que este hace Login.
9.8. AGREGAR COMUNIDADES Y PÁGINAS (27 DE OCTUBRE AL 23
DE NOVIEMBRE DEL 2011)
Se agregó una comunidad con una parte privada y una pública. En la parte privada
se agregaron 6 páginas: Bienvenida, Foro, Ofertas, Convocatoria, Generación,
Imágenes. En la parte de bienvenida se agregó y configuró aplicaciones de vista del
perfil del usuario, vista de amigos, Actividades resientes de amigos, Usuarios más
recientes, Solicitudes de Amistad y una lista de usuarios.
Se agregó y configuró una parte donde se mostrara anuncios varios y Exámenes de
Grado recientes.
En la parte Foro se agregó la aplicación Foro de Discusión.
En la parte pública se agregó y configuró aplicaciones: para ver el perfil, Actividades
de Amigos, Amigos que se tiene, Muro para compartir en escrito lo que se quiera dar
a conocer, una sección de experiencia laboral y Actividades recientes de todo el
portal.
Estas partes serán exportadas como .lar para ser utilizadas en portal-ext.properties
para q sean las paginas públicas y privadas por defecto de cada usuario.
Se creó y agregó el registro de usuarios a la comunidad del CEL
9.9 CREACION DE APLICACIÓN CUESTIONARIO DE EGRESADOS
(24 DE NOVIEMBRE A 7 DE DICIEMBRE DEL 2011)
Se creó y agrego en la página de
bienvenida un cuestionario de
seguimiento de egresados. Se creó y
se agregó una aplicación para mostrar
dichos alumnos y lo que contestaron,
en la comunidad del CEL
10. RESULTADOS.
Se obtuvo como resultado la funcionalidad de la captura de Datos de Egresados,
mostrarlos, modificarlos y eliminarlos si fuese requerido, así como un seguimiento
para los tramites de titulación de los mismos el cual puede ser registrado, mostrado,
editado y eliminado. Se creó un Cuestionario de Seguimiento mostrando resultados
de los datos recolectados. Se crearon temas para una página de inicio nueva y las
páginas de contenido.
Obteniendo conocimiento sobre las herramientas utilizadas como lo son el CMS
Liferay Portal 6.0.6 con Tomcat 6 el cual mediante portlets y webs se integra de
manera fácil un portal funcional, sin necesidad de detener los servicios que ya se
están ejecutando, por ejemplo el correo, consulta a una base de datos, etc. El uso de
Eclipse para la creación de plugins como lo son temas y el layout para la página
principal utilizando también HTML y CSS para la creación del tema y plantillas tpl
para el layout. En cuanto a base de datos Liferay después de la conexión creo su
propia base de datos a utilizar la cual se analizó una parte para su uso en los
registros de usuario, el cuestionario de seguimiento y seguimiento de trámite de
titulación. Se obtuvo conocimiento sobre Lenguaje de Plantillas en Apache Velocity el
cual permitió mediante clases ya definidas el acceso a tablas de la base de datos,
ente otras cosas, todo esto mediante instrucción de mi asesor externo.
Por falta de conocimiento y tiempo quedaron tareas pendientes, tales como obtener
datos del usuario que está autenticado esto impide que el usuario conteste el
cuestionario de seguimiento una sola vez y que se pida nombre y matricula
nuevamente en este mismo cuestionario. Falto la creación del archivo Liferay (*.lar)
para configurar el contenido de las páginas de usuario ya que el total del contenido
que se tiene que ver en las páginas personales de usuario no está implementado.
En cuanto a las tareas realizadas en este tiempo se me hizo un aprendizaje
interesante ya que será de gran utilidad en cuanto a mi experiencia profesional.
11. CONCLUSIONES Y RECOMENDACIONES
Basándose de la 1era versión se complementó el portal de Exalumnos del CEL para
ayuda en los registros y control de los Egresados y de sus trámites de Titulación.
Con ayuda de manuales existentes y de libros acerca de la herramienta Liferay se
obtuvo conocimiento para el desarrollo de aplicaciones especiales para el CMS y
manejo de este.
Se recomienda guardar en repositorio cada vez que se termine de realizar alguna
aplicación o modificación en el portal, esto ayudara a que al guardarse versiones
anteriores se pueda el acceso a ellas por algun error que se tenga ya que Liferay no
guarda versiones anteriores.
Al trabajar con Eclipse se recomienda guardar aparte cada proyecto (portlet, theme ,
ext, layout, portlet) que se haga o modificaciones a alguno de estos fuera del
programa, o bien hacer commit (guardar en repositorio con Tortoise Git) antes de
utilizarlo.
12. FUENTES CONSULTADAS
12.1. BIBLIOGRAFÍA:
Jonas X. Yuan, Xinsheng Chen, Frank Yu, Liferay User Interface Development, Ed.
Pack Publishing
Jonas X. Yuan, Liferay Portal Enterprise Intranets, Ed. Pack Publishing
Poornachandra Sarang, Ph.D. Liferay Practical Liferay Java™–based Portal
Applications Development, Ed. Apress*
12.2. ENLACES DE INTERNET
http://www.postgresql.org/docs/
http://velocity.apache.org/engine/releases/velocity-1.5/user-guide.html
http://www.liferay.com/es/community/wiki/-/wiki/Main/Database+Portal+Properties
http://www.liferay.com/es/community/wiki/-/wiki/Main/Database+Configuration
http://www.liferay.com/community/wiki/-/wiki/Main/Personal+Community
http://www.liferay.com/es/community/wiki/-
/wiki/Main/Customizing+the+default+page+after+login?_36_version=1.6
http://www.liferay.com/es/community/wiki/-/wiki/Main/Themes+v6.0
http://www.liferay.com/es/community/wiki/-
/wiki/1071674/Access+Objects+from+Velocity/maximized
13. ANEXOS
Contenido:
1.- Procedimiento a seguir para registrar un alumno nuevo.
2.- Agregar fotos de examen de grado.
3.- Consultar el seguimiento de alumnos en Trámite de Titulación.
4.- Consultar el resultado de las encuestas.
1.- Procedimiento a seguir para registrar un alumno nuevo:
Después de Login en su cuenta el Encargado de Registrar a un alumno se dirige a la
comunidad CEL y aparecerá en la página donde puede registrar un Egresado. En la
cual dará Clic en el botón Crear Usuario y lo redireccionará a la página donde podrá
introducir los datos del Usuario, después de capturar los datos tendrá que guardar
dando clic en el botón Salvar, si no dará en el botón Cancelar. Después de esto se
redireccionará a la página Inicial donde aparecerá el nuevo Usuario registrado.
2.- Agregar fotos de examen de grado:
Después de login en su cuenta el Encargado de Subir Fotos de Examen de Grado
deberá ir a Administrar Panel de Control y en la sección Mi Comunidad dar clic en
Galería de Imágenes. Añadir una Carpeta, en ella agregarle un Nombre y una
Descripción especificar en Permisos que solo podrán ver el propietario y se da clic en
Guardar para guardar los cambios, haciendo esto se redireccionará a una página
donde da dos opciones una de subir varios archivos y otra donde solo es uno se
selecciona la o las imágenes a subir y enseguida aparecerán las imágenes y se da
click en el enlace Subir Imágenes, para regresar se da clic en el enlace atrás o bien
clic en Galería de imágenes. La carpeta creada tiene las opciones en el botón
Acciones de: Editar (edita el nombre de la carpeta, su descripción y da la opción de
fusionar con la carpeta padre y de eliminar la carpeta), Permisos (edita los permisos
de quien o quienes pueden controlar la carpeta), Eliminar (elimina la carpeta), Añadir
Subcarpeta (añade una carpeta dentro de otra carpeta), Añadir Imagen (añade varias
imágenes o solo una), Ver Diapositivas (muestra las imágenes que contiene la
carpeta en una ventana nueva las muestra en diapositivas) y acceder desde
Escritorio (Las carpetas y archivos pueden ser gestionados directamente desde el
explorador de ficheros del escritorio del sistema operativo).
3.- Consultar el seguimiento de alumnos en Trámite de Titulación:
Después de Login en su cuenta el
Encargado de Registrar el avance del
trámite de titulación se dirige a la
comunidad CEL dando clic en Ir a
CEL y después dará clic en la pestaña
SEGUIMIENTO DE TRAMITE DE
TITULACIÓN y aparecerá en la página
donde puede registrar el avance. En la
cual dará Clic en el botón “Registro de
Titulación” y mandará a donde podrá
introducir los datos del avance, después
de capturar los datos tendrá que guardar
dando clic en el botón Salvar, si no dará
en el botón Cancelar. Después de esto
mandara al listado de Usuarios recientemente agregados.
4.- Si se desea consultar el resultado de las encuestas:
Después de Login se podrá ver los resultados de quienes hicieron la encuesta y los
resultados de la misma para el acceso a esta información se da clic en: Ir a CEL,
se cargara la página de Registro de Usuarios y se tendrá q dar clic en la pestaña
Egresados que realizaron cuestionario de seguimiento. Ahí aparecerán los nombres
de los egresados que hicieron la encuesta su número de control y un enlace llamado
“Mostrar” que mandara a los resultados de la encuesta.
5.- Agregar una reseña del examen de titulación:
Después de Login en su cuenta el Encargado de Agregar la reseña se deberá de
dirigir hacia AdministrarPanel de Control, en la sección de Mi comunidad deberá
elegir Blogs y finalmente Añadir entrada de blog. Aquí tendremos la opción de añadir
una nueva reseña colocando imágenes referentes al Examen, teniendo además otras
opciones básicas de Edición. Guardando dando clic en el botón Publicar.
Laboratorio Nacional de Informática Avanzada A.C.
CONTENIDO:
1.-CONEXIÓN POSTGRES CON LIFARAY
2.-AGREGAR Y CONFIGURAR WEB CONTENT DISPLAY
3.- CREACION DE UN THEME Y LAYOUT LIFERAY
3.1 Instalar Eclipse Indigo:
3.2. Instalación del plugin
3.3 Configuración del servidor de aplicaciones
3.4 Creando un proyecto de plugin SDK
3.5 Layout
4.-CONFIGURACIÓNES de portal-ext.properties
5.- REDIRECCIONAR A PAGINA PRIVADA DE USUARIO DESPUES DE LOGIN.
6.-CONFIGURAR EL CONTENIDO DE LAS PAGINAS DE USUARIO
1.-CONEXIÓN POSTGRES CON LIFARAY
Agregar a portal-ext.properties (C:\liferay-portal-6.0.62\tomcat-
6.0.29\webapps\ROOT\WEB-INF\classes\ portal-ext.properties) si no existe se crea
en un txt y se cambia la extensión.
Descargar el driver JDBC (JDBC3 Postgresql Driver, Versión 9.0-801) desde
PostgreSQL (http://jdbc.postgresql.org/download.html) y copiarlo en las siguientes
direcciones
C:\…\liferay-portal-6.0.6\tomcat-6.0.29\lib\ext
C:\…\liferay-portal-6.0.6\tomcat-6.0.29\lib
URL directahttp://jdbc.postgresql.org/download/postgresql-9.0-801.jdbc3.jar
Nombre del archivo descargado postgresql-9.0-801.jdbc3.jar
2.-AGREGAR Y CONFIGURAR WEB CONTENT DISPLAY.
Para agregar un Web Content Display solo se
debe hacer click en Add y luego en Web Content
Display Fig. (2.1). Y luego dar click en el icono q
se muestra en la Fig. (2.2), Para empezar a
configurarlo.
Este tiene las opciones de agregar HTML, editar como texto, y
agregar una plantilla editable en cualquiera de los siguientes
lenguajes CSS, FTL, VM y XLS.
Fig(2.1)
Fig.(2.2)
Antes de agregar una plantilla se tiene que crear
una estructura dando click en el boton Editar
debajo de la etiqueta estructura en este se indica el
tipo de contenido que se requiera ya sea Controles
de formulario, Campos de la aplicación o algún
enlace a página o un salto de sección. Este
también se puede agregar desde añadir plantilla,
seleccionar estructura.
Para agregar una plantilla se da click en el boton
SELECCIONAR—AÑADIR PLANTILLA y
aparecera una ventana con el contenido q se
muestra en la Fig. (2.3), en la cual se deberá
agragar la estructura de nuestro codigo dando
click en el boton SELECCIONAR debajo de la leyenda Estructura, en caso de no
existir se tendra que crear ya sea desde la 1era ventada donde aparece dando click
en el botón Añadir Estructura o en la misma ventana de añadir plantilla en el boton
SELECCIONAR en la etiqueta Estructura.
Esto se utilizó en la creacion de la aplicación de Registro de Usuarios, Muestra de
Usuarios que hicieron el Cuestionario de Seguimiento de Egresados, el Cuestionario
de Seguimiento de Egresados.
Fig. (2.3)
3.- CREACION DE UN THEME Y LAYOUT LIFERAY
Para crear un tema se necesita tener instalado LIFERAY 6.0.6 con Tomcat 6 e
instalado y configurado Eclipse y haber descargado e instalado Liferay IDE.
3.1 Instalar Eclipse Indigo:
Fig.
(3.1.1)
Se descarga de la pagina oficial http://www.eclipse.org Fig. (3.1). Y Tendremos que
descomprimirlo y aparecerá una carpeta llamada eclipse. En ella solo damos doble
click sobre el icono de Eclipse Fig. (3.2). Nos pedirá el workspace donde queremos
trabajar. Y aparecerá la ventana de bienvenida.
Despues de esto instalaremos Liferay IDE
3.2. Instalación del plugin
Para instalarlo vamos a Help → Eclipse Marketplace y buscar por la palabra clave
"Liferay". Fig. (3.2.1)
Pulsamos en “Install” con lo que iniciamos el proceso de instalación del plugin el cual
puede llevar unos minutos dependiendo del ancho de banda de nuestra red. Si nos
sale algún “Warning” pulsamos en “OK” para continuar con la instalación. Al finalizar
el proceso, pulsamos en “Restart now” para aplicar los cambios.
Fig. (3.1.2)
Fig. (3.2.1)
Configuración del SDK
Para configurar este
plugin vamos a Window →
Preferences y filtramos
por la palabra “Liferay”.
Fig (3.2.2)
En esta pantalla podremos añadir el SDK de Liferay que ya tengamos instalado o
descargarlo si no lo tenemos. Como es nuestro caso, vamos a pulsar en
“Download...”, esto nos llevará algo de tiempo...
Una vez descargado e instalado el SDK, pulsamos en “OK”. Si ya tenemos un SDK
instalado en la máquina podemos añadirlo a la configuración pulsando en “Add”. Fig
(3.2.3)
Pulsando en "Browser", seleccionamos el directorio %LIFERAY_SDK_HOME% y
pulsando en “OK” ya tenemos registrada nuestra instancia de Liferay SDK para poder
ser utilizada desde Eclipse.
Fig (3.2.2)
Fig
(3.2.3)
3.3 Configuración del servidor de aplicaciones
Ahora lo siguiente es configurar el servidor de aplicaciones para poder ejecutar y
depurar nuestros desarrollos en Liferay. Para ello, vamos a Window → Preferences y
en la pantalla vamos a Server → Runtime Environment, pulsamos en “Add” y
seleccionamos “Liferay, Inc.” → Liferay v6.0 (Tomcat 6.0) Fig (3.3.1)
Pulsando en “Next” se nos muestra una pantalla donde podemos establecer el
nombre de la instancia y nos da la posibilidad de especificar la ruta de una instancia
de Liferay + Tomcat ya instalada en el equipo o descargarnos la última versión.
Vamos a probar a descargar la última versión por lo que pulsamos en “Download and
Install...”. Aceptamos todos los mensajes que salgan y asignamos un directorio
donde almacenar la descarga. Esto llevará unos cuantos minutos...
Si al finalizar la descargar nos da algún tipo de error, nos tenemos que asegurar que
la ruta de “Liferay Tomcat directory” está apuntando a la carpeta que nos acabamos
de descargar.
Si ya contamos con una instancia de Liferay podemos seleccionar el directorio
%LIFERAY_HOME% gracias al botón "Browser...".
En cuanto la instalación sea correcta podremos seleccionar el JRE runtime que
tengamos configurado siempre superior a la versión 1.6, y pulsamos en “Finish”.
Fig.
(3.3.1)
Registrando el servidor
Para registrar el servidor tenemos que abrir la ventana “Servers” (Window → Show
View → Other → Server → Servers). Clicamos con el botón derecho dentro de esa
ventana y seleccionamos New → Server con lo que se muestra una pantalla donde
podemos seleccionar el tipo de servidor a añadir, en nuestro caso el de Liferay, dar el
nombre del host (localhost), darle un nombre a esta instancia de servidor (Liferay +
Tomcat 6.0) y por último seleccionamos la instancia del servidor que hemos creado.
Fig (3.3.2)
Y pulsamos en “Finish”. Ahora para probar la instalación del servidor bastará con
pinchar con el botón derecho sobre la instancia que tiene que aparecer en la ventana
“Servers” y seleccionar “Run” o “Debug”. Si todo es correcto, veremos como en
consola aparecen las trazas del servidor y pasados unos instantes veremos la traza
“Server startup in x ms” que indica que el servidor se ha levantado correctamente.
Ahora para acceder a Liferay, abrimos un navegador y accedemos a la URL:
http://localhost:8080
Fig.
(3.3.2)
3.4 Creando un proyecto de plugin SDK
Abrimos el Eclipse y vamos a File → New →
Project → Liferay → Liferay Plug-in Project y
pulsamos en “Next”. En esta pantalla tenemos
que poner un nombre al proyecto y un nombre
que se va a utlizar para mostrarse. En la
sección “Configuration” tenemos que
seleccionar el SDK que vamos a utilizar y la
instancia de Liferay donde lo vamos a ejecutar.
También podemos seleccionar de que tipo va a
ser el plugin a crear, pudiendo elegir entre los
tipos: portlet, hook, ext, layout y theme. Fig (3.4.1)
Para finalizar el proceso de creación del plugin pulsamos “Finish”. Esto hace que el
proyecto se registre en Eclipse como un proyecto de Liferay SDK, manteniendo las
fuentes dentro de la carpeta del plugin seleccionado en %LIFERAY_SDK_HOME%.
Desplegando el proyecto
Para desplegar el proyecto en Liferay tenemos que
arrastrar la raíz del proyecto al servidor configurado
dentro de la vista “Servers”, o con el botón derecho
sobre dicho servidor, pinchamos sobre la opción “Add
and remove...” y seleccionamos el proyecto de Liferay
que queremos desplegar. Esto hace que cualquier
cambio en el proyecto provoque el despliegue en
caliente del plugin. Fig (3.4.2)
Fig (3.4.1)
Fig (3.4.2)
El contenido del tema se basó en un tema ya existente e instalado en Liferay
(sevencogs-theme) el cual se utilizó como ejemplo de estructura y contenido para la
creación de los temas de página de inicio y de las páginas de contenido privado por
usuario. Para la creación de estos temas se utilizó también la herramienta FireBug de
Mozilla-Firefox, ya que con esta podemos inspeccionar el HTML y el código CSS de
las páginas posicionándonos sobre ellos, se indicará con un grisado sobre la página
web el elemento que corresponde y veremos sus atributos o bien damos click
derecho, seleccionar “Inspect” para ver el código fuente.
3.5 Layout
Una manera sencilla es acomodar graficamente mediante Eclipse agregando y
manipulado los porcentajes mediante las opciones que se muestra Fig (3.5.1), pero
al momento de utilizarlo en el navegador Explorer no funciona por lo que se le agrega
una condicion como en el siguiente codigo Fig (3.5.2)
Fig
(3.5.1)
Fig
(3.5.2)
Para Explorer
4.-CONFIGURACIÓNES de portal-ext.properties
Este archivo guarda configuraciones del portal que se obtienen del archivo
portal.properties que se encuentra dentro de portal-impl.jar que se encuentra en la
ruta (C: \liferay-portal-6.0.62\tomcat-6.0.29\webapps\ROOT\WEB-INF\lib)
5.- REDIRECCIONAR A PAGINA PRIVADA DE USUARIO DESPUES DE LOGIN.
Para esto se instalo un hook desde liferay llamado Login Landing Page Hook el cual
redirecciona a la pagina privada del usuario despues de que este hace Login.
6.-CONFIGURAR EL CONTENIDO DE LAS PAGINAS DE USUARIO
Por medio del archivo portal-ext.properties Fig. (6.1) se configura mandando a llamar
a un archivo generado despues de exportar el contenido de toda la comunidad ya
sea publico o privado de una comunidad como se muestra en: Fig (6.2)
El *.lar generado se guardó en C:\liferay-portal-6.0.6\deploy
Fig (6.1)
Fig.
(6.2)
top related