<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://dosideas.com/wiki/index.php?feed=atom&amp;namespace=0&amp;title=Especial%3AP%C3%A1ginasNuevas</id>
		<title>Dos Ideas. - Páginas nuevas [es]</title>
		<link rel="self" type="application/atom+xml" href="https://dosideas.com/wiki/index.php?feed=atom&amp;namespace=0&amp;title=Especial%3AP%C3%A1ginasNuevas"/>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/Especial:P%C3%A1ginasNuevas"/>
		<updated>2026-05-20T06:20:35Z</updated>
		<subtitle>De Dos Ideas.</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://dosideas.com/wiki/Crear_un_portlet_en_Liferay</id>
		<title>Crear un portlet en Liferay</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/Crear_un_portlet_en_Liferay"/>
				<updated>2013-09-30T14:48:35Z</updated>
		
		<summary type="html">&lt;p&gt;Eestevez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==¿Qué es un portlet? ==&lt;br /&gt;
&lt;br /&gt;
Los portlets son componentes de las interfaces de usuario gestionadas y visualizadas en un portal web como Liferay.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:portletEnLiferay.png]]&lt;br /&gt;
&lt;br /&gt;
==Como crear un portlet para liferay==&lt;br /&gt;
&lt;br /&gt;
A partir del arquetipo de maven (liferay-portlet-archetype) se crea un proyecto web java.&lt;br /&gt;
El proyecto se crea con la siguiente estructura de directorios.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearPortlet.png]]&lt;br /&gt;
&lt;br /&gt;
==Estructura del portlet==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:estructuraPortlet.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro de la carpeta WEB-INF se encuentran los archivos de configuración.&lt;br /&gt;
&lt;br /&gt;
'''liferay-display.xml''': describe la categoría en la cual se visualiza en el menú.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;display&amp;gt;&lt;br /&gt;
 	&amp;lt;category name=&amp;quot;category.sample&amp;quot;&amp;gt;&lt;br /&gt;
 		&amp;lt;portlet id=&amp;quot;demo&amp;quot; /&amp;gt;&lt;br /&gt;
 	&amp;lt;/category&amp;gt;&lt;br /&gt;
 &amp;lt;/display&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''liferay-portlet.xml''': podemos declarar el nombre del portlet, los css, js.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;liferay-portlet-app&amp;gt;&lt;br /&gt;
 	&amp;lt;portlet&amp;gt;&lt;br /&gt;
 		&amp;lt;portlet-name&amp;gt;demo&amp;lt;/portlet-name&amp;gt;&lt;br /&gt;
 		&amp;lt;icon&amp;gt;/icon.png&amp;lt;/icon&amp;gt;&lt;br /&gt;
 		&amp;lt;header-portlet-css&amp;gt;/css/main.css&amp;lt;/header-portlet-css&amp;gt;&lt;br /&gt;
 		&amp;lt;footer-portlet-javascript&amp;gt;/js/main.js&amp;lt;/footer-portlet-javascript&amp;gt;&lt;br /&gt;
 	&amp;lt;/portlet&amp;gt;&lt;br /&gt;
 	&amp;lt;role-mapper&amp;gt;&lt;br /&gt;
 		&amp;lt;role-name&amp;gt;administrator&amp;lt;/role-name&amp;gt;&lt;br /&gt;
 		&amp;lt;role-link&amp;gt;Administrator&amp;lt;/role-link&amp;gt;&lt;br /&gt;
 	&amp;lt;/role-mapper&amp;gt;&lt;br /&gt;
 	&amp;lt;role-mapper&amp;gt;&lt;br /&gt;
 		&amp;lt;role-name&amp;gt;guest&amp;lt;/role-name&amp;gt;&lt;br /&gt;
 		&amp;lt;role-link&amp;gt;Guest&amp;lt;/role-link&amp;gt;&lt;br /&gt;
 	&amp;lt;/role-mapper&amp;gt;&lt;br /&gt;
 	&amp;lt;role-mapper&amp;gt;&lt;br /&gt;
 		&amp;lt;role-name&amp;gt;power-user&amp;lt;/role-name&amp;gt;&lt;br /&gt;
 		&amp;lt;role-link&amp;gt;Power User&amp;lt;/role-link&amp;gt;&lt;br /&gt;
 	&amp;lt;/role-mapper&amp;gt;&lt;br /&gt;
 	&amp;lt;role-mapper&amp;gt;&lt;br /&gt;
 		&amp;lt;role-name&amp;gt;user&amp;lt;/role-name&amp;gt;&lt;br /&gt;
 		&amp;lt;role-link&amp;gt;User&amp;lt;/role-link&amp;gt;&lt;br /&gt;
  	&amp;lt;/role-mapper&amp;gt;&lt;br /&gt;
 &amp;lt;/liferay-portlet-app&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''liferay-plugin-package.properties''': podemos indicar entre otras cosas las versiones que soporte el portlet como dependencias que necesite.&lt;br /&gt;
&lt;br /&gt;
 	name=demo&lt;br /&gt;
 	module-group-id=liferay&lt;br /&gt;
 	module-incremental-version=1&lt;br /&gt;
 	tags=demo,&lt;br /&gt;
 	short-description=&lt;br /&gt;
 	change-log=&lt;br /&gt;
 	page-url=http://www.liferay.com&lt;br /&gt;
 	author=Liferay, Inc.&lt;br /&gt;
 	licenses=LGPL&lt;br /&gt;
 	liferay-versions=6.1.1, 6.1.2+, 6.1.20+&lt;br /&gt;
 &lt;br /&gt;
 	required-deployment-contexts=\&lt;br /&gt;
 		portal-compat-hook&lt;br /&gt;
&lt;br /&gt;
'''portlet.xml''': define el nombre con el cual el portlet se identifica (éste es único), el nombre con el cual se visualiza, la declaración de los roles de seguridad.&lt;br /&gt;
&lt;br /&gt;
 	&amp;lt;portlet&amp;gt;&lt;br /&gt;
 		&amp;lt;portlet-name&amp;gt;demo&amp;lt;/portlet-name&amp;gt;&lt;br /&gt;
 		&amp;lt;display-name&amp;gt;demo&amp;lt;/display-name&amp;gt;&lt;br /&gt;
 		&amp;lt;portlet-class&amp;gt;com.liferay.util.bridges.mvc.MVCPortlet&amp;lt;/portlet-class&amp;gt;&lt;br /&gt;
 		&amp;lt;init-param&amp;gt;&lt;br /&gt;
 			&amp;lt;name&amp;gt;view-jsp&amp;lt;/name&amp;gt;&lt;br /&gt;
 			&amp;lt;value&amp;gt;/view.jsp&amp;lt;/value&amp;gt;&lt;br /&gt;
 		&amp;lt;/init-param&amp;gt;&lt;br /&gt;
 		&amp;lt;expiration-cache&amp;gt;0&amp;lt;/expiration-cache&amp;gt;&lt;br /&gt;
 		&amp;lt;supports&amp;gt;&lt;br /&gt;
 			&amp;lt;mime-type&amp;gt;text/html&amp;lt;/mime-type&amp;gt;&lt;br /&gt;
 		&amp;lt;/supports&amp;gt;&lt;br /&gt;
 		&amp;lt;portlet-info&amp;gt;&lt;br /&gt;
 			&amp;lt;title&amp;gt;demo&amp;lt;/title&amp;gt;&lt;br /&gt;
 			&amp;lt;short-title&amp;gt;demo&amp;lt;/short-title&amp;gt;&lt;br /&gt;
 			&amp;lt;keywords&amp;gt;demo&amp;lt;/keywords&amp;gt;&lt;br /&gt;
 		&amp;lt;/portlet-info&amp;gt;&lt;br /&gt;
 		&amp;lt;security-role-ref&amp;gt;&lt;br /&gt;
 			&amp;lt;role-name&amp;gt;administrator&amp;lt;/role-name&amp;gt;&lt;br /&gt;
 		&amp;lt;/security-role-ref&amp;gt;&lt;br /&gt;
 		&amp;lt;security-role-ref&amp;gt;&lt;br /&gt;
 			&amp;lt;role-name&amp;gt;guest&amp;lt;/role-name&amp;gt;&lt;br /&gt;
 		&amp;lt;/security-role-ref&amp;gt;&lt;br /&gt;
 		&amp;lt;security-role-ref&amp;gt;&lt;br /&gt;
 			&amp;lt;role-name&amp;gt;power-user&amp;lt;/role-name&amp;gt;&lt;br /&gt;
 		&amp;lt;/security-role-ref&amp;gt;&lt;br /&gt;
 		&amp;lt;security-role-ref&amp;gt;&lt;br /&gt;
  			&amp;lt;role-name&amp;gt;user&amp;lt;/role-name&amp;gt;&lt;br /&gt;
 		&amp;lt;/security-role-ref&amp;gt;&lt;br /&gt;
 	&amp;lt;/portlet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''view.jsp''': es la visualización del portlet.&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
Links&lt;br /&gt;
http://www.liferay.com/documentation/liferay-portal/6.0/development/-/ai/portlet-development&lt;/div&gt;</summary>
		<author><name>Eestevez</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/Visualizaci%C3%B3n_din%C3%A1mica_de_web_content_en_Liferay</id>
		<title>Visualización dinámica de web content en Liferay</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/Visualizaci%C3%B3n_din%C3%A1mica_de_web_content_en_Liferay"/>
				<updated>2013-09-26T16:07:12Z</updated>
		
		<summary type="html">&lt;p&gt;Franco: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este ejemplo se muestra como visualizar de forma dinámica, un Web Content especifico mediante su id. &lt;br /&gt;
&lt;br /&gt;
En el código del template vemos como obtener un parámetro de la url actual (el id del Web Content) y como buscar el contenido para visualizar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#set ($current_url = $request.get(&amp;quot;attributes&amp;quot;).CURRENT_COMPLETE_URL)&lt;br /&gt;
#set ($paramName='webContentId')&lt;br /&gt;
#set ($webContentId = $httpUtil.getParameter($current_url, $paramName))&lt;br /&gt;
#set ($group_id = $getterUtil.getLong($request.theme-display.scope-group-id))&lt;br /&gt;
#set ($webcontent-id = $webContentId)&lt;br /&gt;
#set ($webcontent=$journalContentUtil.getContent($group_id, $webcontent-id, &amp;quot;&amp;quot;, &amp;quot;$locale&amp;quot;, &amp;quot;&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
## Para webcontents globales que tienen asociado una estructura y template&lt;br /&gt;
## $journalContentUtil.getContent($company.group.groupId, $webcontent-id, $viewMode, $request.theme-display.language-id , $xmlRequest)&lt;br /&gt;
&lt;br /&gt;
#if($webcontent)&lt;br /&gt;
    $webcontent&lt;br /&gt;
#else&lt;br /&gt;
    &amp;lt;a href=&amp;quot;?webContentId=WHO-IS-USING-LIFERAY&amp;quot;&amp;gt;WHO-IS-USING-LIFERAY&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;br&amp;gt;&lt;br /&gt;
#end&lt;br /&gt;
&amp;lt;a href=&amp;quot;/web/guest/prueba&amp;quot;&amp;gt;Ir al link&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para asignar un id propio a un Web Content hay que agregar la siguiente propiedad al archivo portal-ext.properties.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
journal.article.force.autogenerate.id=false&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esto habilitara en la creación del Web Content la posibilidad de cargar un id propio o la opción de tildar que Liferay lo autogenere.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Liferay Web Content]]&lt;/div&gt;</summary>
		<author><name>Parivero</name></author>	</entry>

	</feed>