lunes, 9 de agosto de 2010

Liferay - cosas por ingestigar

Como poner el título de la página a Liferay (head...title)
  • javax.portlet.renderheaders
  • public static final String PAGE_TITLE = "LIFERAY_SHARED_PAGE_TITLE";
public class PortalImpl implements Portal {
//etc....
public void addPageTitle(String title, HttpServletRequest request) {
String requestTitle = (String)request.getAttribute(WebKeys.PAGE_TITLE);

if (requestTitle != null) {
title = requestTitle + StringPool.SPACE + title;
}

request.setAttribute(WebKeys.PAGE_TITLE, title);
}




Class Loading
 EXT allows native access to portal class loader
 Plugins can also access the portal class loader via
PortalClassInvoker
 Plugins can access other plugins via PortletClassInvoker
 ServiceBuilder simplifies class loading issues
 MessageBus bypasses class loading issues

viernes, 30 de julio de 2010

Cambiar tamaño de una columna en postgresql o tipo

alter table group_ alter name type varchar(250);

Siendo group_ el nombre de la tabla

y name el nombre de la columna

y para cambiar el tipo:

ALTER TABLE ALTER COLUMN TYPE ;

ejemplo:

ALTER TABLE portalpdi ALTER COLUMN identidad TYPE varchar(256);

lunes, 2 de noviembre de 2009

Obtener nueva IP

@echo off
ipconfig /release

netsh interface IP set address "internet" static 1.2.3.4 255.0.0.0 1.2.3.5 5

netsh interface ip set address name="internet" source=dhcp

ipconfig /renew





http://bandaancha.eu/tema/1651022/reconectar-jdownloader

miércoles, 12 de agosto de 2009

Pergem exception

http://www.javamexico.org/blogs/avali2/causas_y_solucion_de_java_lang_outofmemoryerror_permgen_space_failure

http://spaquet.blogspot.com/2006/07/liferay-glassfish-part-ii-configuring.html

martes, 16 de junio de 2009

Liferay: Mi visor 2


## Número de resultado que mostraremos por página

#set ($numResults4Page = 2)



#set ($muvas = $portal.getClass().forName("es.muvas.MuvasSemanticServices").newInstance())

#set($tags= $httpUtil.getParameter($httpUtil.decodeURL($request.attributes.CURRENT_URL), "tags", false))



#set($minusTags= $httpUtil.getParameter($httpUtil.decodeURL($request.attributes.CURRENT_URL), "minusTags", false))



#set ($page = $getterUtil.getInteger($httpUtil.getParameter($httpUtil.decodeURL($request.attributes.CURRENT_URL), "page", false)))



#set ($renderUrlWithoutPage = $stringUtil.remove($httpUtil.decodeURL($request.attributes.CURRENT_URL), "&page=$page",""))

#set ($renderUrlWithoutPage = $stringUtil.remove($httpUtil.decodeURL($request.attributes.CURRENT_URL), "page=$page",""))



#if ($page == 0)

#set ($page = 1)

#end



#set ($company = ""+$companyId)



#set ($renderUrl = $request.get("render-url"))

#set ($namespace = $request.get("portlet-namespace"))



## Comienzo div principal

<div class="results-grid">



#set($articlesVisorBaseUrl = "/web/guest/article/-/journal_content/56_INSTANCE_2ABK/")

#set($searchContainer = $muvas.searchJournalArticles($company, $tags, $minusTags, ""))

#set ($results = $searchContainer.getResults($numResults4Page, $page))

#set ($numPages = $searchContainer.getNumPages($numResults4Page))

#foreach ($result in $results)

#set ($articleUrl = $articlesVisorBaseUrl + $result.groupId +  "/" + $result.articleId)



#set($muvasArticle = $muvas.getMuvasArticle($result.groupId, $result.articleId))

<h3>$result.title</h3>



#if($muvasArticle.getIGImage())

          <a class="mini_photo" href="$muvasArticle.imageURL"><img alt="$muvasArticle.getIGImage().description" title="$muvasArticle.getIGImage().name" src="/image/image_gallery?img_id=${muvasArticle.getIGImage().smallImageId}"></a>

#end



<div>

$muvasArticle.description

</div>



<div>

<a title="Ver artículo: $result.title" href="$articleUrl">$result.title</a>

</div>



#end



#if ($searchContainer.length > 0)

<div class="taglib-search-iterator-page-iterator-bottom">

    <div class="taglib-page-iterator">



#set ($last= $results.size() - 1)

        <div class="search-results">

#set ($beginIndex = $results.get(0).index)

#set ($lastIndex = $results.get($last).index)

#if ($beginIndex == $lastIndex)

Mostrando resultado $beginIndex de $searchContainer.length resultados.

#else

Mostrando resultados $beginIndex - $lastIndex de $searchContainer.length resultados.

#end

        </div>

        <div class="search-pages">

            <div class="delta-selector"> Items per Page

                <select>

                    <option  value="5">5</option>

                    <option  value="10">10</option>

                    <option selected="selected" value="20">20</option>

                    <option  value="30">30</option>

                    <option  value="50">50</option>

                    <option  value="75">75</option>

                </select>

            </div>





<script type="text/javascript">

function _submitMyPageIterator() {

var curValue = jQuery("option:selected", this).val();

var href = "${renderUrlWithoutPage}&page="+curValue;

location.href = href;

}

jQuery(

function() {

jQuery('.page-selector-select').change(_submitMyPageIterator);

}

);

</script>





            <div class="page-selector"> Página

                <select class="page-selector-select">

#foreach ($i in [1..$numPages])

#if ($i == $page)

                    <option selected="selected" value="$i">$i</option>

#else

                    <option value="$i">$i</option>

#end

#end

                </select> de $numPages

            </div>

            <div class="page-links">



#set ($prev = $page - 1)

#set ($next = $page + 1)





#if ($page == 1)

                <span class="first"> Primero </span>

                <span class="previous"> Anterior </span>

#else

                <a class="first" href="$httpUtil.addParameter($renderUrlWithoutPage, "page", 1)"> Primero </a>

                <a class="previous" href="$httpUtil.addParameter($renderUrlWithoutPage, "page", $prev)"> Anterior </a>

#end



#if ($numPages == $page)

                <span class="next"> Siguiente </span>

                <span class="last"> Último </span>

#else

                <a class="next" href="$httpUtil.addParameter($renderUrlWithoutPage, "page", $next)"> Siguiente </a>

                <a class="last" href="$httpUtil.addParameter($renderUrlWithoutPage, "page", $numPages)"> Último </a>

#end

            </div>

        </div>

    </div>

</div>

#end



</div>

Liferay: Mi visor


## Número de resultado que mostraremos por página

#set ($numResults4Page = 2)



#set ($muvas = $portal.getClass().forName("es.muvas.MuvasSemanticServices").newInstance())

#set($tags= $httpUtil.getParameter($httpUtil.decodeURL($request.attributes.CURRENT_URL), "tags", false))



#set($minusTags= $httpUtil.getParameter($httpUtil.decodeURL($request.attributes.CURRENT_URL), "minusTags", false))



#set ($page = $getterUtil.getInteger($httpUtil.getParameter($httpUtil.decodeURL($request.attributes.CURRENT_URL), "page", false)))



#set ($renderUrlWithoutPage = $stringUtil.remove($httpUtil.decodeURL($request.attributes.CURRENT_URL), "&page=$page",""))

#set ($renderUrlWithoutPage = $stringUtil.remove($httpUtil.decodeURL($request.attributes.CURRENT_URL), "page=$page",""))



#if ($page == 0)

#set ($page = 1)

#end



#set ($company = ""+$companyId)



#set ($renderUrl = $request.get("render-url"))

#set ($namespace = $request.get("portlet-namespace"))



## Comienzo div principal

<div class="results-grid">

<table class="taglib-search-iterator">

<tr class="portlet-section-header results-header">

<th class="col-1">#</th>

<th class="col-2">Nombre</th>

<th class="col-3">Contenido</th>

</tr>



#set($articlesVisorBaseUrl = "/web/guest/article/-/journal_content/56_INSTANCE_2ABK/")

#set($searchContainer = $muvas.searchJournalArticles($company, $tags, $minusTags, ""))

#set ($results = $searchContainer.getResults($numResults4Page, $page))

#set ($numPages = $searchContainer.getNumPages($numResults4Page))

#foreach ($result in $results)

#set ($articleUrl = $articlesVisorBaseUrl + $result.groupId +  "/" + $result.articleId)



#if ($velocityCount % 2 == 0)

<tr class="portlet-section-alternate results-row alt"

onmouseover="this.className = 'portlet-section-alternate-hover results-row alt hover';" onmouseout="this.className = 'portlet-section-alternate results-row alt';">

<td align="left" class="col-1" colspan="1" valign="middle">

$result.index.

</td>

<td align="left" class="col-2" colspan="1" valign="middle">

$result.titlehighlight

</td>

<td align="left" class="col-3" colspan="1" valign="middle">

$result.content

<br />

<span style="font-size: xx-small;">

<br /><a title="Ver artículo: $result.title" href="$articleUrl">$result.title</a>

</span>

</td>

</tr>

#else

<tr class="portlet-section-body results-row"

onmouseover="this.className = 'portlet-section-body-hover results-row hover';" onmouseout="this.className = 'portlet-section-body results-row';">

<td align="left" class="col-1" colspan="1" valign="middle">

$result.index.

</td>

<td align="left" class="col-2" colspan="1" valign="middle">

$result.titlehighlight

</td>

<td align="left" class="col-3" colspan="1" valign="middle">

$result.content

<br />

<span style="font-size: xx-small;">

<br /><a title="Ver artículo: $result.title" href="$articleUrl">$result.title</a>

</span>

</td>

</tr>

#end

#end

</table>

#if ($searchContainer.length > 0)

<div class="taglib-search-iterator-page-iterator-bottom">

    <div class="taglib-page-iterator">



#set ($last= $results.size() - 1)

        <div class="search-results">

#set ($beginIndex = $results.get(0).index)

#set ($lastIndex = $results.get($last).index)

#if ($beginIndex == $lastIndex)

Mostrando resultado $beginIndex de $searchContainer.length resultados.

#else

Mostrando resultados $beginIndex - $lastIndex de $searchContainer.length resultados.

#end

        </div>

        <div class="search-pages">

            <div class="delta-selector"> Items per Page

                <select>

                    <option  value="5">5</option>

                    <option  value="10">10</option>

                    <option selected="selected" value="20">20</option>

                    <option  value="30">30</option>

                    <option  value="50">50</option>

                    <option  value="75">75</option>

                </select>

            </div>





<script type="text/javascript">

function _submitMyPageIterator() {

var curValue = jQuery("option:selected", this).val();

var href = "${renderUrlWithoutPage}&page="+curValue;

location.href = href;

}

jQuery(

function() {

jQuery('.page-selector-select').change(_submitMyPageIterator);

}

);

</script>





            <div class="page-selector"> Página

                <select class="page-selector-select">

#foreach ($i in [1..$numPages])

#if ($i == $page)

                    <option selected="selected" value="$i">$i</option>

#else

                    <option value="$i">$i</option>

#end

#end

                </select> de $numPages

            </div>

            <div class="page-links">



#set ($prev = $page - 1)

#set ($next = $page + 1)





#if ($page == 1)

                <span class="first"> Primero </span>

                <span class="previous"> Anterior </span>

#else

                <a class="first" href="$httpUtil.addParameter($renderUrlWithoutPage, "page", 1)"> Primero </a>

                <a class="previous" href="$httpUtil.addParameter($renderUrlWithoutPage, "page", $prev)"> Anterior </a>

#end



#if ($numPages == $page)

                <span class="next"> Siguiente </span>

                <span class="last"> Último </span>

#else

                <a class="next" href="$httpUtil.addParameter($renderUrlWithoutPage, "page", $next)"> Siguiente </a>

                <a class="last" href="$httpUtil.addParameter($renderUrlWithoutPage, "page", $numPages)"> Último </a>

#end

            </div>

        </div>

    </div>

</div>

#end

</div>

Liferay: Mi buscador avanzado


## Número de resultado que mostraremos por página

#set ($numResults4Page = 2)



#set ($muvas = $portal.getClass().forName("es.muvas.MuvasSemanticServices").newInstance())





#set($museum = $httpUtil.getParameter($httpUtil.decodeURL($request.attributes.CURRENT_URL), "museum", false))

#set($author = $httpUtil.getParameter($httpUtil.decodeURL($request.attributes.CURRENT_URL), "author", false))

#set($type = $httpUtil.getParameter($httpUtil.decodeURL($request.attributes.CURRENT_URL), "type", false))

#set($topic = $httpUtil.getParameter($httpUtil.decodeURL($request.attributes.CURRENT_URL), "topic", false))

#set($search = $httpUtil.getParameter($httpUtil.decodeURL($request.attributes.CURRENT_URL), "search", false))



#set ($page = $getterUtil.getInteger($httpUtil.getParameter($httpUtil.decodeURL($request.attributes.CURRENT_URL), "page", false)))



#set ($renderUrlWithoutPage = $stringUtil.remove($httpUtil.decodeURL($request.attributes.CURRENT_URL), "&page=$page",""))



#if ($page == 0)

#set ($page = 1)

#end



#set ($company = ""+$companyId)



#set ($renderUrl = $request.get("render-url"))

#set ($namespace = $request.get("portlet-namespace"))





#set ($museums = $muvas.findMuseums())

#set ($authors = $muvas.findAuthors())

#set ($types = $muvas.fingTypes())

#set ($topics = $muvas.fingTopics())



<form action="$renderUrl" method="get" name="${namespace}fm2">

    <label for="museum">Museo: </label>

                <select name="museum" id="museum">

#if($museum == "")

                    <option selected="selected"  value="">Todas</option>

#else

                    <option  value="">Todas</option>

#end

#foreach ($each in $museums)

#if($museum == $each.id)

                    <option selected="selected" value="$each.id">$each.title</option>

#else

                    <option  value="$each.id">$each.title</option>

#end

#end

                </select>

    <label for="author">Autor: </label>

                <select name="author" id="author">

#if($author == "")

                    <option selected="selected"  value="">Todas</option>

#else

                    <option  value="">Todas</option>

#end

#foreach ($each in $authors)

#if($author == $each.id)

                    <option selected="selected" value="$each.id">$each.title</option>

#else

                    <option  value="$each.id">$each.title</option>

#end

#end

                </select>

    <label for="type">Tipo: </label>

                <select name="type" id="type">

#if($type == "")

                    <option selected="selected"  value="">Todas</option>

#else

                    <option  value="">Todas</option>

#end

#foreach ($each in $types)

#if($type ==$each)

                    <option selected="selected" value="$each">$each</option>

#else

                    <option  value="$each">$each</option>

#end

#end

                </select>

    <label for="topic">Tema: </label>

                <select name="topic" id="topic">

#if($topic == "")

                    <option selected="selected"  value="">Todas</option>

#else

                    <option  value="">Todas</option>

#end

#foreach ($each in $topics)

#if($topic == $each)

                    <option selected="selected" value="$each">$each</option>

#else

                    <option  value="$each">$each</option>

#end

#end

                </select>



    <label for="search">Búsqueda: </label>

              <input type="text" value="$!search" id="search" name="search"/>



    <input type="submit" value="Buscar"/>

</form>



#if ($search && $search.trim() != "")



<div class="results-grid">

<table class="taglib-search-iterator">

<tr class="portlet-section-header results-header">

<th class="col-1">#</th>

<th class="col-2">Nombre</th>

<th class="col-3">Contenido</th>

</tr>



#set($articlesVisorBaseUrl = "/web/guest/article/-/journal_content/56_INSTANCE_2ABK/")

$museum

$author

$type

$topic

$muvas.searchJournalArticlesPiece($company, "", "", "", "", $search).length





#set($searchContainer = $muvas.searchJournalArticlesPiece($company, $museum, $author, $type, $topic, $search))

#set ($results = $searchContainer.getResults($numResults4Page, $page))

#set ($numPages = $searchContainer.getNumPages($numResults4Page))

#foreach ($result in $results)

#set ($articleUrl = $articlesVisorBaseUrl + $result.groupId +  "/" + $result.articleId)



#if ($velocityCount % 2 == 0)

<tr class="portlet-section-alternate results-row alt"

onmouseover="this.className = 'portlet-section-alternate-hover results-row alt hover';" onmouseout="this.className = 'portlet-section-alternate results-row alt';">

<td align="left" class="col-1" colspan="1" valign="middle">

$result.index.

</td>

<td align="left" class="col-2" colspan="1" valign="middle">

$result.titlehighlight

</td>

<td align="left" class="col-3" colspan="1" valign="middle">

$result.content

<br />

<span style="font-size: xx-small;">

<br /><a title="Ver artículo: $result.title" href="$articleUrl">$result.title</a>

</span>

</td>

</tr>

#else

<tr class="portlet-section-body results-row"

onmouseover="this.className = 'portlet-section-body-hover results-row hover';" onmouseout="this.className = 'portlet-section-body results-row';">

<td align="left" class="col-1" colspan="1" valign="middle">

$result.index.

</td>

<td align="left" class="col-2" colspan="1" valign="middle">

$result.titlehighlight

</td>

<td align="left" class="col-3" colspan="1" valign="middle">

$result.content

<br />

<span style="font-size: xx-small;">

<br /><a title="Ver artículo: $result.title" href="$articleUrl">$result.title</a>

</span>

</td>

</tr>

#end

#end

</table>

#if ($searchContainer.length > 0)

<div class="taglib-search-iterator-page-iterator-bottom">

    <div class="taglib-page-iterator">



#set ($last= $results.size() - 1)

        <div class="search-results">

#set ($beginIndex = $results.get(0).index)

#set ($lastIndex = $results.get($last).index)

#if ($beginIndex == $lastIndex)

Mostrando resultado $beginIndex de $searchContainer.length resultados.

#else

Mostrando resultados $beginIndex - $lastIndex de $searchContainer.length resultados.

#end

        </div>

        <div class="search-pages">

            <div class="delta-selector"> Items per Page

                <select>

                    <option  value="5">5</option>

                    <option  value="10">10</option>

                    <option selected="selected" value="20">20</option>

                    <option  value="30">30</option>

                    <option  value="50">50</option>

                    <option  value="75">75</option>

                </select>

            </div>





<script type="text/javascript">

function _submitMyPageIterator() {

var curValue = jQuery("option:selected", this).val();

var href = "${renderUrlWithoutPage}&page="+curValue;

location.href = href;

}

jQuery(

function() {

jQuery('.page-selector-select').change(_submitMyPageIterator);

}

);

</script>





            <div class="page-selector"> Página

                <select class="page-selector-select">

#foreach ($i in [1..$numPages])

#if ($i == $page)

                    <option selected="selected" value="$i">$i</option>

#else

                    <option value="$i">$i</option>

#end

#end

                </select> de $numPages

            </div>

            <div class="page-links">



#set ($prev = $page - 1)

#set ($next = $page + 1)





#if ($page == 1)

                <span class="first"> Primero </span>

                <span class="previous"> Anterior </span>

#else

                <a class="first" href="$httpUtil.addParameter($renderUrlWithoutPage, "page", 1)"> Primero </a>

                <a class="previous" href="$httpUtil.addParameter($renderUrlWithoutPage, "page", $prev)"> Anterior </a>

#end



#if ($numPages == $page)

                <span class="next"> Siguiente </span>

                <span class="last"> Último </span>

#else

                <a class="next" href="$httpUtil.addParameter($renderUrlWithoutPage, "page", $next)"> Siguiente </a>

                <a class="last" href="$httpUtil.addParameter($renderUrlWithoutPage, "page", $numPages)"> Último </a>

#end

            </div>

        </div>

    </div>

</div>

#end

</div>

#end