<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Master D Labs - Blog profesional sobre TIC de Master D</title>
	<atom:link href="http://www.masterdlabs.es/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.masterdlabs.es</link>
	<description>Blog de los profesionales de las TIC que trabajamos en Master D. Hablamos sobre nuestro trabajo: programacion, sistemas, desarrollo web, etc.</description>
	<lastBuildDate>Fri, 09 Jul 2010 07:59:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>MasterD asiste al MadinSpain (MAD MMX) en Madrid</title>
		<link>http://www.masterdlabs.es/2010/07/08/masterdenelmad/</link>
		<comments>http://www.masterdlabs.es/2010/07/08/masterdenelmad/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 15:22:34 +0000</pubDate>
		<dc:creator>master-d</dc:creator>
				<category><![CDATA[destacado]]></category>
		<category><![CDATA[diseno-web]]></category>

		<guid isPermaLink="false">http://www.masterdlabs.es/?p=879</guid>
		<description><![CDATA[Una vez más, hemos asistido al Congreso MadinSpain (MAD MMX) organizado por Domestika.org que se celebró en Madrid los días 2 y 3 de julio y que ha cumplido este año su quinta edición.
http://www.madinspain.com
Este evento congrega normalmente a los mejores creativos, agencias de publicidad, estudios de diseño y creadores de motion graphics del panorama actual, [...]]]></description>
			<content:encoded><![CDATA[<p>Una vez más, hemos asistido al Congreso <strong>MadinSpain </strong>(MAD MMX) organizado por Domestika.org que se celebró en Madrid los días 2 y 3 de julio y que ha cumplido este año su quinta edición.</p>
<p><a href="http://www.madinspain.com/">http://www.madinspain.com</a></p>
<p>Este evento congrega normalmente a los mejores creativos, agencias de publicidad, estudios de diseño y creadores de <i>motion graphics</i> del panorama actual, tanto nacional como internacional.</p>
<p style="text-align: center;"><img class="size-full wp-image-880 aligncenter" title="mad" src="http://www.masterdlabs.es/files/2010/07/mad.png" alt="mad" width="574" height="280" /></p>
<p>Ni que decir tiene que a pesar de las dificultades económicas actuales, la asistencia no ha decaído, sino todo lo contrario, ya que podría afirmar casi con total seguridad que había incluso más gente que el año pasado. Por el contrario, la organización sí que ha escatimado en costes y han eliminado este año el servicio de guardarropa –que no viene nada mal para que los que vamos desde otras ciudades podamos dejar la mochila– y también ha escaseado el merchandising que siempre entregan a la entrada, reduciéndolo a una libretita con las fichas de los ponentes y sin la compañía tan siquiera de un triste bolígrafo.</p>
<p>Yo tan sólo pude asistir el sábado y aún así, a mi juicio sigue siendo <strong>el mejor evento relacionado con el mundo gráfico</strong> al que se puede asistir a nivel nacional. Cita más que imprescindible si se está interesado en la creatividad y el diseño.</p>
<p>En cuanto a los ponentes, como en la mayoría de los eventos de este tipo, siempre nos los encontramos de varios tipos: los que triunfan y dejan a la gente boquiabierta, los que aburren con su tono de voz plano durante toda la sesión y sin ninguna pericia, los que son unos genios y te hacen reír sin parar, los que no te dicen nada y los que te lo dicen todo, y también los que te defraudan. Pero todos somos humanos y aquí como en cualquier lugar, tiene que haber de todo.</p>
<p>Poco voy a poder explicar a través de este post, puesto que tan sólo puedo dar mi opinión y mis impresiones. Este tipo de eventos hay que verlos para poder disfrutarlos, no sirve de nada que alguien te lo cuente. Y tampoco sirve de nada que el ponente exponga sus trabajos sin hacer aportación ninguna. Creo que aquellos que cometen este fatal error, deberían cuestionarse al preparar su discurso si van a poder contribuir con algo más que lo que ya podemos encontrar en las bibliotecas o en Internet.</p>
<p>Los que asistimos a estos eventos buscamos algo más que eso. Se puede entender que un ponente se ponga nervioso y no sea todo lo fluido que nos gustaría, se puede entender que a un creativo le dé respeto enfrentarse a hablar en público, o que incluso no sepa desenvolverse con el ordenador; pero lo que no se puede entender es que se prepare una proyección de diapositivas de más de hora y media y las pase a toda prisa sin apenas abrir la boca. Ya sabemos lo qué es un cartel o una portada de revista!</p>
<p>Este fue el caso de<strong> David Carson</strong>, un gran diseñador, que prácticamente era el cabeza de cartel de todo el Congreso y que a mí personalmente me decepcionó y mucho. Para terminar de coronar su exitosa ponencia nos mostró muy orgulloso unas fotografías de su carrera como surfero profesional y sus heridas en las piernas, consecuencia de este deporte. Quizá esté siendo demasiado dura pero un diseñador de la talla de David Carson no puede permitirse el lujo de presentar varias de sus diapositivas invertidas del revés, o quizá sí, puesto que él fue muy innovador en el tratamiento de las tipografías en el diseño y si puede permitirse publicar un artículo de una revista con la “tipografía” <i>Wingdings</i> porque estaba escrito muy mal y no interesaba, entonces puede permitirse cualquier cosa.</p>
<p>Por otro lado, <strong>Isidro Ferrer</strong> (<i>masterclass</i>) volvió a sorprendernos con su clásica ponencia teatral! Es diplomado en Arte dramático y escenografía, así que esto se puede apreciar en su capacidad para desenvolverse, en su imaginación y creatividad narrativa.</p>
<p>Creó estos carteles para el Centro Dramático Nacional y pudieron verse en el metro de Madrid. Ha realizado numerosos carteles para diferentes temporadas, con su consiguiente evolución y contando con las colaboraciones de con Nicolás Sánchez y Sean Mackaoui.</p>
<p>Podéis visitarlos en: <a href="http://cdn.mcu.es/carteles.php?vtemp=0607&amp;leng=es">http://cdn.mcu.es/carteles.php?vtemp=0607&amp;leng=es</a></p>
<p style="text-align: center;"><img class="size-full wp-image-881 aligncenter" title="isidro" src="http://www.masterdlabs.es/files/2010/07/isidro.png" alt="isidro" width="516" height="234" /></p>
<p style="text-align: left;">
<p>Cabe decir que su trabajo es fruto de esa gran imaginación, de una actividad pensada y elaborada, de una acumulación de objetos en su estudio-taller de Huesca, y también de la no dependencia de la tecnología como herramienta gráfica. Pero ante todo, sus ideas son extraordinarias. Ha recibido varios premios de diseño y ha publicado más de 30 libros. También imparte talleres de ilustración y a saber cuántas cosas más.</p>
<p>También he de destacar a <strong>Dvein</strong>, un estudio de Barcelona que se dedica al diseño y animación para publicidad, cine, televisión, videos musicales etc. Especializados en motion graphics y dirección de arte.</p>
<p>Tres chicos que han trabajado ya para clientes de la talla de National Geographic, Voll Damm, Hewlett Packard, Diesel o Canal +.</p>
<p><strong>“TOCA ME 2008 / Beyond Surface”</strong><br />
(Con la colaboración de Alex Trochut para los monogramas):</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="320" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=7936661&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="320" src="http://vimeo.com/moogaloop.swf?clip_id=7936661&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/7936661">TOCA ME 2008 / Beyond Surface</a> from <a href="http://vimeo.com/dvein">Dvein</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>Los efectos son increíbles y las sensaciones que despiertan, brutales. Trabajos con mucha calidad. Aunque me dio la “ligera” impresión de que estos chicos parecen tener una manifiesta obsesión por los insectos, los animales en general, la naturaleza y la materia orgánica. Texturas y fluidos son la base de sus trabajos, y personalmente me parece que están fantásticamente conseguidos.</p>
<p>Podéis ver sus creaciones en: <a href="http://www.dvein.com">http://www.dvein.com</a> y otros vídeos en: <a href="http://vimeo.com/7936661">http://vimeo.com/7936661</a></p>
<p>Y con los que más risas hubo fue con <strong>Toni Segarra</strong> (un calvo con gafas de pasta) y <strong>Nacho Rapallo</strong> (un hacker a dieta), que prepararon una ponencia conjunta absolutamente magistral que versaba sobre su visión de la “nueva” publicidad desde la existencia de internet, las redes sociales, las nuevas tecnologías y los cambios o no-cambios de todo ello con la existencia de la red. También hicieron una comparación entre el marketing de Apple y Google. Y nos deleitaron con algunas viñetas de El Roto y unas cuantas frases que dejo a continuación:</p>
<p><i>- Hemos venido aquí a transmitir una idea sencilla y profunda: todo esto lo hacemos por dinero.</i><br />
<i>- Tenemos dos noticias sobre internet, una buena y otra mala. La mala es que internet no va a cambiar el mundo y la buena es que internet no va a cambiar el mundo.</i><br />
<i>- Eres más falso que un amigo de facebook.</i><br />
<i>- El open-source lo inventaron las abuelas.</i>  -Con las recetas de cocina-<br />
<i>- En internet funciona lo que es mejor que la realidad. </i>(Alfons Cornella)<br />
<i>- Twitter es un síntoma. No una solución.</i>(Uwe Hook)<br />
<i>- La publicidad segmentada está cada vez más lograda. Aparece exactamente encima del contenido. </i>(@korochi)<br />
<i>- En internet siempre es prime-time. </i>(Nacho Vigalondo)<br />
<i>- Una de las cosas buenas de internet es que aquí “las mentiras&#8221; las podemos contar todos. </i>(Nacho Rapallo)<br />
<i>- Internet es un mercado demasiado perfecto para obtener beneficio. </i>(Alfons Cornella)<br />
<i>- Internet sólo ha hecho transparente la realidad. </i>(Toni Segarra)<br />
<i>- The Web is not going to change the world, certainly not in the next 10 years. It’s going to augment the world.</i> (Steve Jobs, 1996)<br />
<i>- The Internet is the first thing that humanity has built that humanity doesn&#8217;t understand, the largest experiment in anarchy that we have ever had.</i>(Eric Schmidt, CEO de Google)</p>
<p>Os dejo también el vídeo de la conferencia, que acaba de encontrar mi compañera Cristina. Siempre es mejor verlo a que te lo cuenten:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="488" height="348" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/ntXEj6in-r0&amp;hl=es_ES&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="488" height="348" src="http://www.youtube.com/v/ntXEj6in-r0&amp;hl=es_ES&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Y hasta aquí lo más destacado del sábado para mi gusto. También pudimos ver a Matt Lambert y Natalia Rojas. El viernes intervinieron <strong>Physalia Studio, Gaby Castellanos, Ross Lovegrove, Mario Lombardo y Kyle Cooper</strong>; también hubo una mesa redonda de clientes y la <i>masterclass</i> de Adobe.</p>
<p><a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F07%2F08%2Fmasterdenelmad%2F&amp;linkname=MasterD%20asiste%20al%20MadinSpain%20%28MAD%20MMX%29%20en%20Madrid" title="Twitter" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F07%2F08%2Fmasterdenelmad%2F&amp;linkname=MasterD%20asiste%20al%20MadinSpain%20%28MAD%20MMX%29%20en%20Madrid" title="Facebook" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/meneame?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F07%2F08%2Fmasterdenelmad%2F&amp;linkname=MasterD%20asiste%20al%20MadinSpain%20%28MAD%20MMX%29%20en%20Madrid" title="Meneame" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/meneame.png" width="16" height="16" alt="Meneame"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F07%2F08%2Fmasterdenelmad%2F&amp;linkname=MasterD%20asiste%20al%20MadinSpain%20%28MAD%20MMX%29%20en%20Madrid" title="Delicious" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F07%2F08%2Fmasterdenelmad%2F&amp;linkname=MasterD%20asiste%20al%20MadinSpain%20%28MAD%20MMX%29%20en%20Madrid" title="Digg" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F07%2F08%2Fmasterdenelmad%2F&amp;linkname=MasterD%20asiste%20al%20MadinSpain%20%28MAD%20MMX%29%20en%20Madrid" target="_blank">Compártelo</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.masterdlabs.es/2010/07/08/masterdenelmad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Insights, utilizada por los profesionales de Master-D</title>
		<link>http://www.masterdlabs.es/2010/06/09/google-insights-utilizada-por-los-profesionales-de-master-d/</link>
		<comments>http://www.masterdlabs.es/2010/06/09/google-insights-utilizada-por-los-profesionales-de-master-d/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 14:21:18 +0000</pubDate>
		<dc:creator>master-d</dc:creator>
				<category><![CDATA[contenido-posicionamiento]]></category>
		<category><![CDATA[destacado]]></category>
		<category><![CDATA[busquedas]]></category>
		<category><![CDATA[cadenas]]></category>
		<category><![CDATA[insigths]]></category>
		<category><![CDATA[palabras clave]]></category>
		<category><![CDATA[posicionamiento]]></category>

		<guid isPermaLink="false">http://www.masterdlabs.es/?p=875</guid>
		<description><![CDATA[Mejorar el posicionamiento de sus cursos y tener mayor visibilidad en la web es uno de los objetivos de Master-D.
Entre las herramientas, que utilizamos en Master-D, para mejorar el posicionamiento y con ello que nuestros contenidos, webs y cursos se posicionen mejor, tenemos Google Insight.
Google Insights es una herramienta gratuita desarrollada por Google que sirve [...]]]></description>
			<content:encoded><![CDATA[<p>Mejorar el posicionamiento de sus cursos y tener mayor visibilidad en la web es uno de los objetivos de Master-D.</p>
<p>Entre las herramientas, que utilizamos en Master-D, para mejorar el posicionamiento y con ello que nuestros contenidos, webs y cursos se posicionen mejor, tenemos <strong>Google Insight</strong>.</p>
<p>Google Insights es una<strong> herramienta gratuita</strong> desarrollada por Google que sirve para proporcionarle al usuario que <strong>palabras claves son más buscadas</strong> para determinadas cadenas de búsqueda.</p>
<p>Google Insights es una herramienta muy valiosa de cara al posicionamiento, ya que facilita a los gestores de contenidos, las palabras claves que deben utilizar para elaborar un texto, poner un título o confeccionar unas metatags para una web.</p>
<p>La utilización de Google Insights es muy sencilla. Accedemos a ella a través de la dirección <a title="Google Insights" href="http://www.google.com/insights/search/#" target="_blank">http://www.google.com/insights/search/#</a> y una vez dentro de la herramienta podemos buscar por términos (filtrando resultados tanto en la web, como en imágenes, noticias o productos), buscar por plazos temporales, en localizaciones acorde a todas las categorías o a una en concreto; según los términos de búsqueda que queramos aplicar.</p>
<p style="text-align: center;"><img class="size-full wp-image-876 aligncenter" title="google insigths" src="http://www.masterdlabs.es/files/2010/06/google-insigths.JPG" alt="google insigths" width="450" height="286" /></p>
<p>En el grafico que obtenemos podemos observar la evolución que ha sufrido un término en un período de tiempo determinado, qué términos se buscaban más y cuáles se buscan más ahora.</p>
<p>Google Insights es una<strong> herramienta muy útil para SEO</strong> que cada vez más profesionales utilizan en su trabajo diario. Gracias a ella se puede mejorar el posicionamiento web e incrementar poco a poco el tráfico a la misma.</p>
<p>En Master-D, utilizamos este tipo de herramientas gratuitas. Nos facilitan el trabajo diario y nos ayudan a cumplir los objetivos propuestos.</p>
<p>Google Insights, es sin lugar a dudas, una herramienta muy útil que todas las personas que se dedican a la web 2.0 y a gestionar los contenidos de una o varias webs deben conocer y utilizar.</p>
<p><a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F06%2F09%2Fgoogle-insights-utilizada-por-los-profesionales-de-master-d%2F&amp;linkname=Google%20Insights%2C%20utilizada%20por%20los%20profesionales%20de%20Master-D" title="Twitter" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F06%2F09%2Fgoogle-insights-utilizada-por-los-profesionales-de-master-d%2F&amp;linkname=Google%20Insights%2C%20utilizada%20por%20los%20profesionales%20de%20Master-D" title="Facebook" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/meneame?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F06%2F09%2Fgoogle-insights-utilizada-por-los-profesionales-de-master-d%2F&amp;linkname=Google%20Insights%2C%20utilizada%20por%20los%20profesionales%20de%20Master-D" title="Meneame" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/meneame.png" width="16" height="16" alt="Meneame"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F06%2F09%2Fgoogle-insights-utilizada-por-los-profesionales-de-master-d%2F&amp;linkname=Google%20Insights%2C%20utilizada%20por%20los%20profesionales%20de%20Master-D" title="Delicious" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F06%2F09%2Fgoogle-insights-utilizada-por-los-profesionales-de-master-d%2F&amp;linkname=Google%20Insights%2C%20utilizada%20por%20los%20profesionales%20de%20Master-D" title="Digg" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F06%2F09%2Fgoogle-insights-utilizada-por-los-profesionales-de-master-d%2F&amp;linkname=Google%20Insights%2C%20utilizada%20por%20los%20profesionales%20de%20Master-D" target="_blank">Compártelo</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.masterdlabs.es/2010/06/09/google-insights-utilizada-por-los-profesionales-de-master-d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MasterD en el Congreso Europeo de Community Managers en Bilbao</title>
		<link>http://www.masterdlabs.es/2010/05/26/masterd-en-el-congreso-europeo-de-community-managers-en-bilbao/</link>
		<comments>http://www.masterdlabs.es/2010/05/26/masterd-en-el-congreso-europeo-de-community-managers-en-bilbao/#comments</comments>
		<pubDate>Wed, 26 May 2010 09:49:42 +0000</pubDate>
		<dc:creator>master-d</dc:creator>
				<category><![CDATA[contenido-posicionamiento]]></category>
		<category><![CDATA[destacado]]></category>
		<category><![CDATA[bilbao]]></category>
		<category><![CDATA[community managers]]></category>
		<category><![CDATA[congreso]]></category>
		<category><![CDATA[redes sociales]]></category>

		<guid isPermaLink="false">http://www.masterdlabs.es/?p=871</guid>
		<description><![CDATA[El 14 y 15 de mayo se celebró en Bilbao un Congreso Europeo de Community Managers y MasterD interesado en crecer en redes sociales, consideró que era imprescindible estar allí.
¿Qué es un Community Manager? La verdad es que hay muchas definiciones, muchos perfiles diferentes, pero lo fundamental es su labor, que es ser un dinamizador [...]]]></description>
			<content:encoded><![CDATA[<p>El 14 y 15 de mayo se celebró en Bilbao un <strong>Congreso Europeo de Community Managers</strong> y MasterD interesado en crecer en redes sociales, consideró que era imprescindible estar allí.</p>
<p><i>¿Qué es un Community Manager?</i> La verdad es que hay muchas definiciones, muchos perfiles diferentes, pero lo fundamental es su labor, que es ser un <strong>dinamizador de la marca en las redes sociales</strong>. Escuchar y que lo escuchen, conseguir que su marca forme  parte de la conversación, es el principal objetivo de este profesional.</p>
<p>Es una profesión nueva y un tanto extraña, que comienza a ponerse de moda en algunos sectores y que la gente empieza a conocer gracias al polémico <i>anuncio de FANTA,</i> que regala un curso de Community Manager en San Francisco a tres personas que superen el reto que la marca les pone.</p>
<p>El anuncio lo ha popularizado, pero las grandes empresas ya hace un tiempo que cuentan con este profesional y de ahí que el Congreso tuviera una gran asitencia y un éxito rotundo.</p>
<p>La verdad es que Bilbao ejerció de anfitriona de una forma espectacular y el centro de la televisión vasca, EITB, que era la organizadora, sorprendió a la mayoría de los asistentes por sus instalaciones y sus profesionales.</p>
<p>Pero hay que reconocer que los<strong> broches de oro del Congreso lo pusieron Jennifer Preston, la Social Media Editor del New York Times y Jess3</strong> una consultora estadounidense de social media.</p>
<p>La presentación de Jess3 fue espectacular, dinámica y con aportaciones reveladoras sobre el uso de las redes sociales y sus posibilidades. Pero <strong>Jennifer Preston hizo un repaso del uso de las redes sociales en el periodismo que enmudeció al auditorio</strong>. Habló del <strong>periodismo ciudadano</strong> y sus posibilidades para complementar al periodismo tradicional, con un ejemplo claro, el del ciudadano que colgó en Twitter la primera foto del avión que tuvo que aterrizar en el Hudson en New York.</p>
<p>Además, defendió la idea de que <strong>aquellos periódicos que le den la espalda a las redes sociales están condenados a la desaparición</strong>.</p>
<p>En un futuro próximo, ocurrirá lo mismo con gran parte de las empresas de servicios. Aquellas que no definan una estrategia en la red y en los medios sociales, pueden verse abocadas al fracaso.</p>
<p>Otro de los aspectos más destacados del Congreso Europeo de Community Managers fue el networking. Éramos muchos y actividades como el almuerzo y la cena nos permitieron compartir experiencias, éxitos y fracasos. Vamos, <strong>networking puro y duro</strong>.</p>
<p>La profesión de Community Manager comienza a consolidarse en nuestro país y eventos como este ponen en  evidencia que cada día son más las empresas que apuestan por tener a este profesional entre sus empleados.</p>
<p><a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F26%2Fmasterd-en-el-congreso-europeo-de-community-managers-en-bilbao%2F&amp;linkname=MasterD%20en%20el%20Congreso%20Europeo%20de%20Community%20Managers%20en%20Bilbao" title="Twitter" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F26%2Fmasterd-en-el-congreso-europeo-de-community-managers-en-bilbao%2F&amp;linkname=MasterD%20en%20el%20Congreso%20Europeo%20de%20Community%20Managers%20en%20Bilbao" title="Facebook" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/meneame?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F26%2Fmasterd-en-el-congreso-europeo-de-community-managers-en-bilbao%2F&amp;linkname=MasterD%20en%20el%20Congreso%20Europeo%20de%20Community%20Managers%20en%20Bilbao" title="Meneame" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/meneame.png" width="16" height="16" alt="Meneame"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F26%2Fmasterd-en-el-congreso-europeo-de-community-managers-en-bilbao%2F&amp;linkname=MasterD%20en%20el%20Congreso%20Europeo%20de%20Community%20Managers%20en%20Bilbao" title="Delicious" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F26%2Fmasterd-en-el-congreso-europeo-de-community-managers-en-bilbao%2F&amp;linkname=MasterD%20en%20el%20Congreso%20Europeo%20de%20Community%20Managers%20en%20Bilbao" title="Digg" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F26%2Fmasterd-en-el-congreso-europeo-de-community-managers-en-bilbao%2F&amp;linkname=MasterD%20en%20el%20Congreso%20Europeo%20de%20Community%20Managers%20en%20Bilbao" target="_blank">Compártelo</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.masterdlabs.es/2010/05/26/masterd-en-el-congreso-europeo-de-community-managers-en-bilbao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Cómo eliminar el parámetro JSessionID en aplicaciones web?</title>
		<link>http://www.masterdlabs.es/2010/05/19/eliminar-el-parametro-jsessionid-en-aplicaciones-web/</link>
		<comments>http://www.masterdlabs.es/2010/05/19/eliminar-el-parametro-jsessionid-en-aplicaciones-web/#comments</comments>
		<pubDate>Wed, 19 May 2010 15:07:33 +0000</pubDate>
		<dc:creator>master-d</dc:creator>
				<category><![CDATA[contenido-posicionamiento]]></category>
		<category><![CDATA[destacado]]></category>
		<category><![CDATA[programador-web]]></category>
		<category><![CDATA[filtros]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JSessionID]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.masterdlabs.es/?p=866</guid>
		<description><![CDATA[Uno de los mayores problemas cuando estamos generando una aplicación Web es su visibilidad en los buscadores como Google, Yahoo, Bind, etc… Cada vez más estos buscadores penalizan el contenido duplicado, por lo que debemos tener mucho cuidado en que las aplicaciones Web no generen URLs distintas hacia la misma página o con el mismo [...]]]></description>
			<content:encoded><![CDATA[<p>Uno de los mayores problemas cuando estamos generando una aplicación Web es su <strong>visibilidad en los buscadores</strong> como Google, Yahoo, Bind, etc… Cada vez más estos buscadores <strong>penalizan el contenido duplicado</strong>, por lo que debemos tener mucho cuidado en que las aplicaciones Web no generen URLs distintas hacia la misma página o con el mismo contenido.</p>
<p>Este problema se presenta frecuentemente con las variables de sesión. Si se programa en Java, las llamadas <strong>JSessionID</strong>, que vemos en enlaces de algunas páginas. Estas variables son insertadas automáticamente cuando usamos las funciones HttpServletResponse.encodeURL o encodeRedirectURL, si el cliente no admite Cookies, como forma alternativa para mantener la sesión.</p>
<p>Para poder solucionar este problema de contenido duplicado podemos usar la meta canonical, de la que hablamos en su día en <strong>MasterD</strong>: <a href="../2009/la-etiqueta-meta-canonical-y-las-webs-de-master-d/">http://www.masterdlabs.es/2009/la-etiqueta-meta-canonical-y-las-webs-de-master-d/</a>.</p>
<p>Ahora os vamos a presentar otra forma, que elimina estas variables, las cuales son consideradas perjudiciales de cara a los buscadores. Hay que tener en cuenta que esto <strong>solo sirve si realmente no necesitamos las sesiones</strong>.</p>
<p>La idea principal es hacer un filtro que se anteponga en cada una de las peticiones que hacen hacia nuestras páginas y este modifique la HttpServletResponse para que cuando se hagan llamadas a encodeURL o encodeRedirectURL no inserte la variable jsessionid.</p>
<p>Si no estamos familiarizados con los filtros en J2EE podemos leer el siguiente articulo de la propia web de Sun: <a href="http://java.sun.com/products/servlet/Filters.html">http://java.sun.com/products/servlet/Filters.html</a>, donde se explican con gran detalle.</p>
<p>Un filtro es una clase Java que hereda de javax.servlet.Filter e implemente los métodos init, destroy y doFilter. Los dos primeros nos sirven si queremos hacer pre/post-procesamiento al inicio o finalización de la aplicación, por ejemplo: conseguir una conexión a la base de datos o cargar un fichero de properties.</p>
<p>En nuestro caso no lo utilizaremos, nos sirve simplemente con el método doFilter que es el que se ejecuta en cada petición.</p>
<p>Fichero UrlRewriteFilter.java:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> doFilter<span style="color: #009900;">&#40;</span>ServletRequest peticion, ServletResponse respuesta, 
FilterChain cadena<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">IOException</span>, ServletException <span style="color: #009900;">&#123;</span>
&nbsp;
HttpServletRequest httpPeticion <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>HttpServletRequest<span style="color: #009900;">&#41;</span> peticion<span style="color: #339933;">;</span>
&nbsp;
HttpServletResponse httpRespuesta <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>HttpServletResponse<span style="color: #009900;">&#41;</span> respuesta<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Envolvemos la respuesta para que no incluya el jsessionid</span>
&nbsp;
HttpServletResponseWrapper envoltorioRespuesta <span style="color: #339933;">=</span> 
<span style="color: #000000; font-weight: bold;">new</span> HttpServletResponseWrapper<span style="color: #009900;">&#40;</span>httpRespuesta<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
@Override
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> encodeRedirectUrl<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> url<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">return</span> url<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
@Override
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> encodeRedirectURL<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> url<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">return</span> url<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
@Override
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> encodeUrl<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> url<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">return</span> url<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
@Override
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> encodeURL<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> url<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">return</span> url<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
chain.<span style="color: #006633;">doFilter</span><span style="color: #009900;">&#40;</span>peticion, envoltorioRespuesta<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Utilizando la clase de ayuda HttpServletResponseWrapper, sobrescribimos los métodos relativos al encode, para que se ejecuten estos y no los propios de HttpServletResponse. Y simplemente devolvemos la cadena url sin modificar, así evitamos que no se inserte la variable JSessionID.</p>
<p>Una vez tengamos creado el filtro, debemos configurarlo. Esto lo hacemos desde el fichero web.xml.</p>
<p>Fichero web.xml</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filter-mapping<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filter-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>DisableUrlSessionFilter<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/filter-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;url-pattern<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>/*<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/url-pattern<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;dispatcher<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>REQUEST<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/dispatcher<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;dispatcher<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>FORWARD<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/dispatcher<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/filter-mapping<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filter<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filter-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
DisableUrlSessionFilter
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/filter-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filter-class<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
es.masterd.internet.masterd.filters.DisableUrlSessionFilter
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/filter-class<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/filter<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Una vez volvamos a desplegar nuestra aplicación, ya no tendremos más URLs con la variable JSessionID, evitando así la penalización de los buscadores por contenido duplicado.</p>
<p><a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F19%2Feliminar-el-parametro-jsessionid-en-aplicaciones-web%2F&amp;linkname=%C2%BFC%C3%B3mo%20eliminar%20el%20par%C3%A1metro%20JSessionID%20en%20aplicaciones%20web%3F" title="Twitter" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F19%2Feliminar-el-parametro-jsessionid-en-aplicaciones-web%2F&amp;linkname=%C2%BFC%C3%B3mo%20eliminar%20el%20par%C3%A1metro%20JSessionID%20en%20aplicaciones%20web%3F" title="Facebook" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/meneame?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F19%2Feliminar-el-parametro-jsessionid-en-aplicaciones-web%2F&amp;linkname=%C2%BFC%C3%B3mo%20eliminar%20el%20par%C3%A1metro%20JSessionID%20en%20aplicaciones%20web%3F" title="Meneame" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/meneame.png" width="16" height="16" alt="Meneame"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F19%2Feliminar-el-parametro-jsessionid-en-aplicaciones-web%2F&amp;linkname=%C2%BFC%C3%B3mo%20eliminar%20el%20par%C3%A1metro%20JSessionID%20en%20aplicaciones%20web%3F" title="Delicious" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F19%2Feliminar-el-parametro-jsessionid-en-aplicaciones-web%2F&amp;linkname=%C2%BFC%C3%B3mo%20eliminar%20el%20par%C3%A1metro%20JSessionID%20en%20aplicaciones%20web%3F" title="Digg" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F19%2Feliminar-el-parametro-jsessionid-en-aplicaciones-web%2F&amp;linkname=%C2%BFC%C3%B3mo%20eliminar%20el%20par%C3%A1metro%20JSessionID%20en%20aplicaciones%20web%3F" target="_blank">Compártelo</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.masterdlabs.es/2010/05/19/eliminar-el-parametro-jsessionid-en-aplicaciones-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La importancia de las redes sociales en las empresas</title>
		<link>http://www.masterdlabs.es/2010/05/13/la-importancia-de-las-redes-sociales-en-las-empresas/</link>
		<comments>http://www.masterdlabs.es/2010/05/13/la-importancia-de-las-redes-sociales-en-las-empresas/#comments</comments>
		<pubDate>Thu, 13 May 2010 11:54:14 +0000</pubDate>
		<dc:creator>master-d</dc:creator>
				<category><![CDATA[contenido-posicionamiento]]></category>
		<category><![CDATA[destacado]]></category>
		<category><![CDATA[comunicacion]]></category>
		<category><![CDATA[empresas]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[redes sociales]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[valor añadido]]></category>

		<guid isPermaLink="false">http://www.masterdlabs.es/?p=862</guid>
		<description><![CDATA[Cada vez son más las empresas que intentan tener su espacio en la red. Hemos pasado de tener una página Web a estar presentes en las principales redes sociales. Ya no vale con tener un blog y una página más o menos bien posicionada sino que también es necesario disponer de otro tipo de herramientas [...]]]></description>
			<content:encoded><![CDATA[<p>Cada vez son más <strong>las empresas que intentan tener su espacio en la red</strong>. Hemos pasado de tener una página Web a estar presentes en las principales redes sociales. Ya no vale con tener un blog y una página más o menos bien posicionada sino que también <strong>es necesario disponer de otro tipo de herramientas y canales</strong> por los que acceder a los usuarios. La mayoría de tus clientes potenciales no van a acceder directamente a tu Web, sino que van a visitar muchas <strong>otras páginas en las que</strong> <strong>tu empresa debe aparecer</strong>.</p>
<p><strong>Facebook</strong> es sin duda una de las redes sociales más importantes e influyentes hoy en día. Esta <strong>presente en todo el mundo</strong> y es por eso que todas las empresas, desde la más pequeña a la más grande, deben plantearse como objetivo tener presencia en Facebook y utilizar esta red como <strong>un canal de comunicación más. </strong>Facebook a fecha de hoy, cuenta con <strong>más de 400 millones de usuarios activos</strong>, y está traducido a más de 70 idiomas. El alcance de esta red es inigualable.</p>
<p><strong>La mayoría de las posibilidades que Facebook ofrece son</strong> <strong>gratuitas; </strong>excepto la publicidad a coste por clic (CPC). Tu mismo puedes dar rienda suelta a tu imaginación y <strong>crear tus propias aplicaciones,</strong> con lo que las posibilidades de sacar el máximo partido a Facebook son casi ilimitadas.</p>
<p>Que el perfil de tus usuarios sea variado, es una de las grandes ventajas de Facebook, ya que <strong>permite segmentar el público objetivo al detalle, </strong>algo que no puedes hacer con tanta exactitud con otras redes. Los blogs y otros servicios de microbloging como Twitter o Friendfeed pueden ser muy efectivos, pero son mucho más limitados que Facebook. No obstante la <strong>ventaja de sincronizar dichas herramientas</strong> entre si multiplica las posibilidades y permite disfrutar de importantes sinergias.</p>
<p>Lo mejor de todo es la <strong>posibilidad de interactuar con tus posibles clientes</strong> en tiempo real. Facebook puede convertirse en un canal de comunicación por el que los usuarios contacten con la empresa, den sus opiniones, formulen preguntas, pidan información y hasta recomienden tus productos a sus amigos, esto es, el <strong>marketing viral,</strong> una de las formas de publicidad más efectivas hoy en día; ya que <strong>son tus mismos clientes los que promocionan tu producto. </strong></p>
<p><strong> </strong></p>
<p>Las <strong>redes sociales </strong>y Facebook entre ellas<strong>, </strong> no son sólo un instrumento más para conseguir un cliente satisfecho<strong>,</strong> sino también un <strong>canal para conocer a tus clientes</strong> y saber cuales son sus necesidades. En conclusión, si quieres que los usuarios te encuentren, tienes que ir tu mismo a buscarlos, pero no hay que olvidar lo más importante de todo,<strong> para fidelizar a tus clientes debes aportar un valor añadido y proporcionar un servicio de calidad. </strong>Si no consigues eso, lo demás no importa.</p>
<p><a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F13%2Fla-importancia-de-las-redes-sociales-en-las-empresas%2F&amp;linkname=La%20importancia%20de%20las%20redes%20sociales%20en%20las%20empresas" title="Twitter" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F13%2Fla-importancia-de-las-redes-sociales-en-las-empresas%2F&amp;linkname=La%20importancia%20de%20las%20redes%20sociales%20en%20las%20empresas" title="Facebook" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/meneame?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F13%2Fla-importancia-de-las-redes-sociales-en-las-empresas%2F&amp;linkname=La%20importancia%20de%20las%20redes%20sociales%20en%20las%20empresas" title="Meneame" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/meneame.png" width="16" height="16" alt="Meneame"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F13%2Fla-importancia-de-las-redes-sociales-en-las-empresas%2F&amp;linkname=La%20importancia%20de%20las%20redes%20sociales%20en%20las%20empresas" title="Delicious" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F13%2Fla-importancia-de-las-redes-sociales-en-las-empresas%2F&amp;linkname=La%20importancia%20de%20las%20redes%20sociales%20en%20las%20empresas" title="Digg" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F13%2Fla-importancia-de-las-redes-sociales-en-las-empresas%2F&amp;linkname=La%20importancia%20de%20las%20redes%20sociales%20en%20las%20empresas" target="_blank">Compártelo</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.masterdlabs.es/2010/05/13/la-importancia-de-las-redes-sociales-en-las-empresas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tags y categorías de un post en el sidebar, header o footer en Wordpress</title>
		<link>http://www.masterdlabs.es/2010/05/05/tags-y-categorias-de-un-post-en-el-sidebar-header-o-footer-en-wordpress/</link>
		<comments>http://www.masterdlabs.es/2010/05/05/tags-y-categorias-de-un-post-en-el-sidebar-header-o-footer-en-wordpress/#comments</comments>
		<pubDate>Wed, 05 May 2010 15:27:31 +0000</pubDate>
		<dc:creator>master-d</dc:creator>
				<category><![CDATA[destacado]]></category>
		<category><![CDATA[programador-aplicaciones]]></category>
		<category><![CDATA[categorías]]></category>
		<category><![CDATA[footer]]></category>
		<category><![CDATA[header]]></category>
		<category><![CDATA[sidebar]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.masterdlabs.es/?p=843</guid>
		<description><![CDATA[Es posible que en ocasiones necesites listar las tags de un post o sus categorías en el sidebar del theme que estés utilizando y no sepas cómo acceder a estas variables como podrías hacerlo desde la página “single.php”…  Pues bien, estas funciones te ayudarán a conseguir el listado de tags y categorías desde el [...]]]></description>
			<content:encoded><![CDATA[<p>Es posible que en ocasiones necesites<strong> listar las tags de un post o sus categorías en el sidebar del theme</strong> que estés utilizando y no sepas cómo acceder a estas variables como podrías hacerlo desde la página “single.php”…  Pues bien, estas funciones te ayudarán a conseguir el listado de tags y categorías desde el sidebar, header o footer para poder trabajar con ellas sin problema.</p>
<p>Para empezar deberás buscar dentro de la carpeta del theme de tu Wordpress el archivo “functions.php”, una vez que lo tienes abierto deberás añadir al final el siguiente código PHP, se trata de las funciones que imprimirán por pantalla el listado de tags o de categorías de un post fuera del “single.php”:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> get_content<span style="color: #009900;">&#40;</span><span style="color: #000088;">$element</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	do_action<span style="color: #009900;">&#40;</span><span style="color: #000088;">$element</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> get_post_tags<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$constant_post_id</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$tags</span> <span style="color: #339933;">=</span> wp_get_object_terms<span style="color: #009900;">&#40;</span><span style="color: #000088;">$constant_post_id</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_tag'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$content</span><span style="color: #339933;">.</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&lt;ul&gt;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$tags</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$tag</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$content</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;li&gt;&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$tag</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&lt;/li&gt;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$content</span><span style="color: #339933;">.</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&lt;/ul&gt;&quot;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$content</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post_tags'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'get_post_tags'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> get_post_categories<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$constant_post_id</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$categories</span> <span style="color: #339933;">=</span> get_the_category<span style="color: #009900;">&#40;</span><span style="color: #000088;">$constant_post_id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$content</span><span style="color: #339933;">.</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&lt;ul&gt;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$categories</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$category</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$content</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;li&gt;&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$category</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&lt;/li&gt;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$content</span><span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;/ul&gt;&quot;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$content</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post_categories'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'get_post_categories'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Después de añadir estas dos funciones al archivo “functions.php” de tu theme deberás declarar una variable global dentro de la página single.php en la que almacenaremos el ID del Post en el que nos encontramos para poder utilizarlo posteriormente desde las funciones que hemos declarado previamente. Este es un ejemplo de código dentro de la información del post:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>have_posts<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span>have_posts<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> the_post<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
	 <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$constant_post_id</span><span style="color: #339933;">;</span>  		<span style="color: #666666; font-style: italic;">// Declaramos una variable global para almacenar el ID</span>
	<span style="color: #000088;">$constant_post_id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">// Almacenamos el ID del post en la variable global</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
  	&lt;h2 class=&quot;posttitle&quot;&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> the_title<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/h2&gt;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> the_content<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endwhile</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">else</span><span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
	&lt;p&gt;No existen post&lt;/p&gt;
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Ya puedes llamarlas desde cualquiera de las tres zonas: header, footer o sidebar. Para ello sólo deberás realizar la llamada con este código php:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> 
get_content<span style="color: #009900;">&#40;</span>lista_tags<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		
		get_content<span style="color: #009900;">&#40;</span>lista_categories<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>En este ejemplo el resultado será una lista desordenada:</p>
<p>Código HTML:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;ul&gt;
	&lt;li&gt;Categoría 1&lt;/li&gt;
	&lt;li&gt;Categoría 2&lt;/li&gt;
	&lt;li&gt;Categoría 3&lt;/li&gt;
	&lt;li&gt;Categoría 4&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;Tag 1&lt;/li&gt;
	&lt;li&gt;Tag 2&lt;/li&gt;
	&lt;li&gt;Tag 3&lt;/li&gt;
	&lt;li&gt;Tag 4&lt;/li&gt;
&lt;/ul&gt;</pre></div></div>

<p>Resultado por pantalla:</p>
<p>•	Categoría 1<br />
•	Categoría 2<br />
•	Categoría 3<br />
•	Categoría 4</p>
<p>•	Tag 1<br />
•	Tag 2<br />
•	Tag 3<br />
•	Tag 4</p>
<p>También podemos utilizarlo, por ejemplo, para crear un combo desplegable con las categorías o las tags, en ese caso podrías utilizar las siguientes funciones:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> get_content<span style="color: #009900;">&#40;</span><span style="color: #000088;">$element</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	do_action<span style="color: #009900;">&#40;</span><span style="color: #000088;">$element</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> get_post_tags<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$constant_post_id</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$tags</span> <span style="color: #339933;">=</span> wp_get_object_terms<span style="color: #009900;">&#40;</span><span style="color: #000088;">$constant_post_id</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_tag'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$tags</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$tag</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$content</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;option value=&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$tag</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&gt;&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$tag</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&lt;/option&gt;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$content</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'combo_tags'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'get_post_tags'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> get_post_categories<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$constant_post_id</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$categories</span> <span style="color: #339933;">=</span> get_the_category<span style="color: #009900;">&#40;</span><span style="color: #000088;">$constant_post_id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$categories</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$category</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$content</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;option value=&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$category</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&gt;&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$category</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&lt;/option&gt;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$content</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'combo_categories'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'get_post_categories'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>En la página donde quieres incluir los combos (header, sidebar o footer)  el código HTML/PHP a insertar sería el siguiente:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&nbsp;
&lt;select class=&quot;select&quot; name=&quot;categoria&quot; id=&quot;categoria&quot;&gt;
	&lt;option value=&quot;-1&quot;&gt;-- Categoría --&lt;/option&gt; &lt;!-- Si quieres que haya un valor nulo por defecto --&gt;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> get_content<span style="color: #009900;">&#40;</span>combo_categories<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;/select&gt;
&nbsp;
&lt;select class=&quot;select&quot; name=&quot;tag&quot; id=&quot;tag&quot;&gt;
	&lt;option value=&quot;-1&quot;&gt;-- Tag --&lt;/option&gt; &lt;!-- Si quieres que haya un valor nulo por defecto --&gt;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> get_content<span style="color: #009900;">&#40;</span>combo_tags<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;/select&gt;</pre></div></div>

<p>El resultado en HTML sería:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;select id=&quot;categoria&quot; class=&quot;select&quot; name=&quot;categoria&quot;&gt;
	&lt;option value=&quot;-1&quot;&gt;-- Categoría --&lt;/option&gt;
	&lt;option value=&quot;Categoría 1&quot;&gt;Categoría 1&lt;/option&gt;
	&lt;option value=&quot;Categoría 2&quot;&gt;Categoría 2&lt;/option&gt;
	&lt;option value=&quot;Categoría 3&quot;&gt;Categoría 3&lt;/option&gt;
&lt;/select&gt;
&lt;select id=&quot;tag&quot; class=&quot;select&quot; name=&quot;tag&quot;&gt;
	&lt;option value=&quot;-1&quot;&gt;-- Tag --&lt;/option&gt;
	&lt;option value=&quot;Tag 1&quot;&gt;Tag 1&lt;/option&gt;
	&lt;option value=&quot;Tag 2&quot;&gt;Tag 2&lt;/option&gt;
	&lt;option value=&quot;Tag 3&quot;&gt;Tag 3&lt;/option&gt;
&lt;/select&gt;</pre></div></div>

<p>Y visualmente:</p>
<p><img class="alignleft size-full wp-image-846" title="combocategorias" src="http://www.masterdlabs.es/files/2010/05/combocategorias.png" alt="combocategorias" width="127" height="110" /><img class="alignright size-full wp-image-847" title="combotags" src="http://www.masterdlabs.es/files/2010/05/combotags.png" alt="combotags" width="82" height="105" /></p>
<p><a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F05%2Ftags-y-categorias-de-un-post-en-el-sidebar-header-o-footer-en-wordpress%2F&amp;linkname=Tags%20y%20categor%C3%ADas%20de%20un%20post%20en%20el%20sidebar%2C%20header%20o%20footer%20en%20Wordpress" title="Twitter" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F05%2Ftags-y-categorias-de-un-post-en-el-sidebar-header-o-footer-en-wordpress%2F&amp;linkname=Tags%20y%20categor%C3%ADas%20de%20un%20post%20en%20el%20sidebar%2C%20header%20o%20footer%20en%20Wordpress" title="Facebook" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/meneame?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F05%2Ftags-y-categorias-de-un-post-en-el-sidebar-header-o-footer-en-wordpress%2F&amp;linkname=Tags%20y%20categor%C3%ADas%20de%20un%20post%20en%20el%20sidebar%2C%20header%20o%20footer%20en%20Wordpress" title="Meneame" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/meneame.png" width="16" height="16" alt="Meneame"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F05%2Ftags-y-categorias-de-un-post-en-el-sidebar-header-o-footer-en-wordpress%2F&amp;linkname=Tags%20y%20categor%C3%ADas%20de%20un%20post%20en%20el%20sidebar%2C%20header%20o%20footer%20en%20Wordpress" title="Delicious" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F05%2Ftags-y-categorias-de-un-post-en-el-sidebar-header-o-footer-en-wordpress%2F&amp;linkname=Tags%20y%20categor%C3%ADas%20de%20un%20post%20en%20el%20sidebar%2C%20header%20o%20footer%20en%20Wordpress" title="Digg" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F05%2F05%2Ftags-y-categorias-de-un-post-en-el-sidebar-header-o-footer-en-wordpress%2F&amp;linkname=Tags%20y%20categor%C3%ADas%20de%20un%20post%20en%20el%20sidebar%2C%20header%20o%20footer%20en%20Wordpress" target="_blank">Compártelo</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.masterdlabs.es/2010/05/05/tags-y-categorias-de-un-post-en-el-sidebar-header-o-footer-en-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Reducir el tiempo de carga de nuestra web</title>
		<link>http://www.masterdlabs.es/2010/04/21/reducir-el-tiempo-de-carga-de-nuestra-web/</link>
		<comments>http://www.masterdlabs.es/2010/04/21/reducir-el-tiempo-de-carga-de-nuestra-web/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 08:00:51 +0000</pubDate>
		<dc:creator>master-d</dc:creator>
				<category><![CDATA[destacado]]></category>
		<category><![CDATA[diseno-web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[descarga]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[tiempo]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.masterdlabs.es/?p=835</guid>
		<description><![CDATA[En este post voy a intentar explicar algunos pasos para bajar el tiempo de carga de nuestra página,  ¿por qué queremos hacer esto? Porque sólo el 10-20% del tiempo de respuesta se utiliza en descargar el documento HTML.
El otro 80-90% está empleado en descargar todos los componentes en la página.
Y también porque mi compañera [...]]]></description>
			<content:encoded><![CDATA[<p>En este post voy a intentar explicar algunos pasos para <strong>bajar el tiempo de carga de nuestra página</strong>,  <em>¿por qué queremos hacer esto?</em> Porque sólo el 10-20% del tiempo de respuesta se utiliza en descargar el documento HTML.<br />
El otro 80-90% está empleado en descargar todos los componentes en la página.</p>
<p>Y también porque mi compañera Esther ha contado como hacer  Sprites y me ha dado una idea para escribir este post…:P</p>
<p>Antes de nada, queremos saber <strong>qué tiempo de respuesta tiene nuestra web</strong>, así, sabremos si nuestros usuarios pierden la juventud al acceder a nuestra página.</p>
<p>Algunas herramientas que circulan por ahí y que nos ayudan a hacer este trabajo son:</p>
<ol>
<li><strong><a href="http://code.google.com/intl/es-ES/speed/page-speed/index.html">Page Speed</a></strong>: hace un test de rendimiento y muestra las incidencias de forma ordenada según prioridad de cambio.</li>
<li><strong><a href="https://addons.mozilla.org/es-ES/firefox/addon/5369">YSlow</a></strong>: es una extensión de Firefox, necesitas tener instalado el firebug, también hace un test de rendimiento.</li>
<li><strong><a href="http://www.iwebtool.com/speed_test">Iwebtool</a></strong>: aquí puedes comparar el tiempo de carga de distintas páginas, podrás comprobar si tu página es más rápida que las de la competencia</li>
</ol>
<p>Después de analizar nuestro sitio podemos hacer varias cosas para agilizar la carga:</p>
<ul>
<li><strong>Peticiones http</strong>: Como ha comentado antes mi compañera, por cada imagen que queremos mostrar en nuestra web se hace una petición al servidor, así que una manera muy buena de mejorar esto es con los sprites.</li>
</ul>
<ul>
<li><strong>Scripts</strong>: Lo mismo podemos hacer con los archivos .js, podemos juntar varios scripts en un .js, además podemos comprimirlos, hay muchas páginas que te ayudan a hacer esto, por ejemplo:</li>
</ul>
<p><a href="http://javascriptcompressor.com/">http://javascriptcompressor.com/</a></p>
<p><a href="http://www.bananascript.com/index.php?home">http://www.bananascript.com/index.php?home</a></p>
<ul>
<li><strong>CSS</strong>: Igualmente para estos archivos, podemos intentar juntar los .css en la medida de lo posible y también hay páginas para comprimir los .css:</li>
</ul>
<p><a href=" http://iceyboard.no-ip.org/projects/css_compressor"> http://iceyboard.no-ip.org/projects/css_compressor</a></p>
<p><a href="http://www.cssdrive.com/index.php/main/csscompressor/">http://www.cssdrive.com/index.php/main/csscompressor/</a></p>
<ul>
<li><strong>Imágenes</strong>: los formatos comprimidos son los archiconocidos, .png .jpg y .gif , ya sabéis que para optimizar las imágenes sólo tenemos que “<em>Guardar para web…</em>” y ahí podemos manejar el peso de la imagen y ver si pierde mucha definición o no.</li>
</ul>
<ol>
<li><strong>PNG</strong>: soporta transparencia, nos sirve para iconos, imágenes de fondo, botones…</li>
<li><strong>GIF</strong>: soporta transparencia y animación, sirve para todo lo que sea animado.</li>
<li><strong>JPG</strong>: es el formato que puede tener más colores manteniendo igual la comprensión pero no soporta transparencia, se utiliza para imágenes grandes, fotos…</li>
</ol>
<p>Creo que es suficiente por hoy, espero que os sirva de algo este post.</p>
<p><em>Gracias y que vaya bonito!!</em></p>
<p><a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F21%2Freducir-el-tiempo-de-carga-de-nuestra-web%2F&amp;linkname=Reducir%20el%20tiempo%20de%20carga%20de%20nuestra%20web" title="Twitter" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F21%2Freducir-el-tiempo-de-carga-de-nuestra-web%2F&amp;linkname=Reducir%20el%20tiempo%20de%20carga%20de%20nuestra%20web" title="Facebook" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/meneame?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F21%2Freducir-el-tiempo-de-carga-de-nuestra-web%2F&amp;linkname=Reducir%20el%20tiempo%20de%20carga%20de%20nuestra%20web" title="Meneame" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/meneame.png" width="16" height="16" alt="Meneame"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F21%2Freducir-el-tiempo-de-carga-de-nuestra-web%2F&amp;linkname=Reducir%20el%20tiempo%20de%20carga%20de%20nuestra%20web" title="Delicious" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F21%2Freducir-el-tiempo-de-carga-de-nuestra-web%2F&amp;linkname=Reducir%20el%20tiempo%20de%20carga%20de%20nuestra%20web" title="Digg" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F21%2Freducir-el-tiempo-de-carga-de-nuestra-web%2F&amp;linkname=Reducir%20el%20tiempo%20de%20carga%20de%20nuestra%20web" target="_blank">Compártelo</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.masterdlabs.es/2010/04/21/reducir-el-tiempo-de-carga-de-nuestra-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El uso de Sprites en Web</title>
		<link>http://www.masterdlabs.es/2010/04/14/el-uso-de-sprites-en-web/</link>
		<comments>http://www.masterdlabs.es/2010/04/14/el-uso-de-sprites-en-web/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 08:30:15 +0000</pubDate>
		<dc:creator>master-d</dc:creator>
				<category><![CDATA[destacado]]></category>
		<category><![CDATA[diseno-web]]></category>
		<category><![CDATA[sprites]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.masterdlabs.es/?p=817</guid>
		<description><![CDATA[Origen de los sprites
El uso de los sprites comenzó con los videojuegos para ordenadores. Cuando éstos comenzaron a ser más complejos, y con gráficos más detallados, surgió la necesidad de técnicas gráficas inteligentes, que permitieran la fluidez del juego. Por ello se promovió la utilización de la llamada Master Grid, una gran imagen en mapa [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Origen de los sprites</strong></p>
<p>El uso de los <strong>sprites</strong> comenzó con los videojuegos para ordenadores. Cuando éstos comenzaron a ser más complejos, y con gráficos más detallados, surgió la necesidad de técnicas gráficas inteligentes, que permitieran la fluidez del juego. Por ello se promovió la utilización de la llamada Master Grid, una gran imagen en mapa de bits que reunía todas las imágenes individuales necesarias para el juego. Para mostrar la imagen deseada en cada momento, se variaba la posición del fondo, teniendo que <strong>cargar únicamente una imagen</strong>, la Master Grid.</p>
<p>Sobre el año 2000, comenzaron a utilizarse los sprites en diseño web para <strong>menús Javascript con rollover</strong>. Con CSS la aplicación de estos sprites se hacía fácilmente con la propiedad <strong>“background-position”,</strong> mostrando en cada momento la imagen requerida y evitando parpadeos o retardos en la carga de imágenes.</p>
<p><strong>Qué son los sprites</strong></p>
<p>Básicamente, <strong>un sprite es una imagen que contiene dentro varias imágenes</strong> más pequeñas separadas entre sí.</p>
<p>Al cargar una página donde se han utilizado sprites, no se cargan todas las imágenes individuales una por una, sino que <strong>se carga la imagen principal</strong>, el sprite. Una vez que esta imagen ha sido cargada, ya no se necesita realizar más peticiones al servidor, y por tanto se evita sobrecargarlo, <strong>reduciendo así el tiempo de carga de las páginas</strong> y dotándolas de más rapidez.</p>
<p>A priori, pudiera parecer que una imagen grande tarda más en cargar que muchas pequeñas, pero para los sitios con mucho tráfico, los sprites CSS mejoran la navegación, puesto que <strong>las peticiones HTTP al servidor se reducen notablemente</strong>. Aún así, deberemos tener en cuenta que el peso de la imagen principal no sea excesivo.</p>
<p>Para entenderlo mejor hay que dejar claro que no es lo mismo cargar 10 imágenes de 5 Kb cada una, que una sóla imagen de 50 Kb. Siempre es más rápido cargar una <strong>menor cantidad de elementos</strong> externos, como son las imágenes, las propias hojas de estilos, los archivos Javascript, etc.</p>
<p><strong> </strong></p>
<p><strong>Uso de sprites </strong></p>
<p>Una uso frecuente, sería en los <strong>menús de navegación</strong>. Normalmente, la imagen del estado “hover” del ratón tarda en cargarse, pero si utilizamos <strong>sprites</strong>, evitamos el tiempo de espera en la sustitución de una imagen por otra, mejorando así el aspecto de nuestra página.</p>
<p>Lo más tedioso de utilizar sprites es que debemos unir todas las imágenes en una imagen mayor con la separación conveniente, y para ello, debemos tener totalmente claro el tamaño de cada imagen pequeña <strong>antes de comenzar a maquetar la página</strong>, pues cualquier pequeño cambio a posteriori, nos hará cambiar todas las coordenadas.</p>
<p>La correcta utilización de esta técnica, reside en el <strong>uso correcto del posicionamiento</strong> de los backgrounds (coordenadas) para conseguir que se muestre tan sólo la parte de la imagen que nos interesa. Debemos tener en cuenta la altura y anchura de cada imagen y el espacio que dejamos respecto a la anterior o la siguiente, pues si son imágenes que se repiten podrían darnos problemas.</p>
<p>Eso sí, debemos saber que <strong>los sprites tan sólo pueden utilizarse para imágenes de fondo</strong>, que podemos posicionar con la propiedad CSS <strong>“background-position”.</strong></p>
<p><strong>Ejemplos de sprites</strong></p>
<p>En <strong>Master-D</strong> estamos comenzando a utilizar de forma creciente el uso de sprites para <strong>evitar las múltiples peticiones a los servidores</strong>. Hasta ahora se habían utilizado sprites para menús con rollover, aunque cada vez se apuesta más por la utilización de esta técnica para todas las imágenes de fondo (menús, iconos, botones, fondos, etc.).</p>
<p>Aquí, un ejemplo del CSS utilizado en una página de Master-D para el menú:</p>
<p><img class="alignleft size-full wp-image-819" title="sprite-menu" src="http://www.masterdlabs.es/files/2010/04/sprite-menu1.png" alt="sprite-menu" width="109" height="150" /></p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">#oposiciones<span style="color: #339933;">-</span><span style="color: #cc66cc;">2010</span> a<span style="color: #009900;">&#123;</span>background<span style="color: #339933;">:</span>url<span style="color: #009900;">&#40;</span>..<span style="color: #339933;">/</span>images<span style="color: #339933;">/</span>sprite<span style="color: #339933;">-</span>
menu.<span style="color: #006633;">png</span><span style="color: #009900;">&#41;</span> no<span style="color: #339933;">-</span>repeat <span style="color: #cc66cc;">0</span> <span style="color: #339933;">-</span>
875px<span style="color: #339933;">;</span>float<span style="color: #339933;">:</span>left<span style="color: #339933;">;</span>height<span style="color: #339933;">:</span>32px<span style="color: #339933;">;</span>width<span style="color: #339933;">:</span>103px<span style="color: #339933;">;</span>padding<span style="color: #339933;">-</span>
left<span style="color: #339933;">:</span>5px<span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
&nbsp;
#oposiciones<span style="color: #339933;">-</span><span style="color: #cc66cc;">2010</span>
.<span style="color: #006633;">active</span><span style="color: #009900;">&#123;</span>background<span style="color: #339933;">:</span>url<span style="color: #009900;">&#40;</span>..<span style="color: #339933;">/</span>images<span style="color: #339933;">/</span>sprite<span style="color: #339933;">-</span>menu.<span style="color: #006633;">png</span><span style="color: #009900;">&#41;</span>
no<span style="color: #339933;">-</span>repeat <span style="color: #cc66cc;">0</span> <span style="color: #339933;">-</span>777px<span style="color: #339933;">;</span> width<span style="color: #339933;">:</span> 103px<span style="color: #339933;">;</span> height<span style="color: #339933;">:</span> 32px<span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
&nbsp;
#oposiciones<span style="color: #339933;">-</span><span style="color: #cc66cc;">2010</span>
a<span style="color: #339933;">:</span>hover<span style="color: #009900;">&#123;</span>background<span style="color: #339933;">:</span>url<span style="color: #009900;">&#40;</span>..<span style="color: #339933;">/</span>images<span style="color: #339933;">/</span>sprite<span style="color: #339933;">-</span>menu.<span style="color: #006633;">png</span><span style="color: #009900;">&#41;</span>
no<span style="color: #339933;">-</span>repeat <span style="color: #cc66cc;">0</span> <span style="color: #339933;">-</span>826px<span style="color: #339933;">;</span> width<span style="color: #339933;">:</span> 103px<span style="color: #339933;">;</span> height<span style="color: #339933;">:</span> 32px<span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span></pre></div></div>

<p>Estos estilos hacen que se muestre una imagen diferente para cada uno de los estados del botón.</p>
<p>Páginas como XING, APPLE, YAHOO, AMAZON, YOUTUBE y GOOGLE, utilizan sprites para muchas de sus imágenes de fondo.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-820" title="apple" src="http://www.masterdlabs.es/files/2010/04/apple.png" alt="apple" width="589" height="91" /></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-821" title="xing" src="http://www.masterdlabs.es/files/2010/04/xing.png" alt="xing" width="582" height="55" /></p>
<p><img class="aligncenter size-full wp-image-829" title="amazon-youtube" src="http://www.masterdlabs.es/files/2010/04/amazon-youtube.jpg" alt="amazon-youtube" width="570" height="517" /></p>
<p><strong>Generadores de sprites</strong><br />
Existen diversas webs que nos ayudan a crear la imagen de los sprites y nos proporcionan los estilos CSS con la posición que debemos darle al background para visualizar cada una de las imágenes. Aquí podéis ver varios generadores, pero hay muchos más.<br />
<a href="http://css-sprit.es/">http://css-sprit.es/</a><br />
<a href="http://es.spritegen.website-performance.org/">http://es.spritegen.website-performance.org/</a><br />
<a href="http://csssprites.com/">http://csssprites.com/</a><br />
<a href="http://printf.ru/spritr/">http://printf.ru/spritr/</a></p>
<p><a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F14%2Fel-uso-de-sprites-en-web%2F&amp;linkname=El%20uso%20de%20Sprites%20en%20Web" title="Twitter" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F14%2Fel-uso-de-sprites-en-web%2F&amp;linkname=El%20uso%20de%20Sprites%20en%20Web" title="Facebook" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/meneame?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F14%2Fel-uso-de-sprites-en-web%2F&amp;linkname=El%20uso%20de%20Sprites%20en%20Web" title="Meneame" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/meneame.png" width="16" height="16" alt="Meneame"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F14%2Fel-uso-de-sprites-en-web%2F&amp;linkname=El%20uso%20de%20Sprites%20en%20Web" title="Delicious" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F14%2Fel-uso-de-sprites-en-web%2F&amp;linkname=El%20uso%20de%20Sprites%20en%20Web" title="Digg" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F14%2Fel-uso-de-sprites-en-web%2F&amp;linkname=El%20uso%20de%20Sprites%20en%20Web" target="_blank">Compártelo</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.masterdlabs.es/2010/04/14/el-uso-de-sprites-en-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Master-D estuvo en OMExpo 2010</title>
		<link>http://www.masterdlabs.es/2010/04/05/master-d-estuvo-en-omexpo-2010/</link>
		<comments>http://www.masterdlabs.es/2010/04/05/master-d-estuvo-en-omexpo-2010/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 15:10:41 +0000</pubDate>
		<dc:creator>master-d</dc:creator>
				<category><![CDATA[contenido-posicionamiento]]></category>
		<category><![CDATA[destacado]]></category>
		<category><![CDATA[marketing viral]]></category>
		<category><![CDATA[OMExpo 2010]]></category>
		<category><![CDATA[reputacion online]]></category>

		<guid isPermaLink="false">http://www.masterdlabs.es/?p=806</guid>
		<description><![CDATA[La opinión que los usuarios de la red tienen de un producto, empresa o servicio, cada día es más importante. Un 64% de los usuarios europeos confían más en una recomendación personal a la hora de comprar, por lo que no es de extrañar, que portales de opinión y foros sean los medios más consultados [...]]]></description>
			<content:encoded><![CDATA[<p>La opinión que los usuarios de la red tienen de un producto, empresa o servicio, cada día es más importante. Un 64% de los usuarios europeos confían más en una recomendación personal a la hora de comprar, por lo que no es de extrañar, que portales de opinión y foros sean los medios más consultados por los consumidores ante una compra.</p>
<p>Hace un mes, <strong>Master-D</strong> estuvo presente en la<a title="OMExpo 2010" href="http://www.blogmasterd.es/2010/03/01/masterd-presente-en-omexpo-2010/" target="_blank"> <strong>OMExpo 2010</strong></a>,<strong> </strong>uno de los mayores eventos sobre <strong>marketing online</strong> que se celebran en nuestro país. En él, pudimos asistir a varias conferencias que hablaban sobre la importancia que las opiniones de los usuarios tienen ante el consumidor.</p>
<p>Sabemos que <strong>Internet</strong> es el medio <strong>utilizado por los usuarios para expresar sus opiniones</strong> sobre un servicio o producto. A través de <strong>portales como Ciao, Xantia o Dooyoo</strong>, el usuario expone sus puntos de vista.</p>
<p>Según un estudio realizado el pasado año por PowerReviews, los usuarios tienden a creer en las opiniones de otros usuarios, cuando éstas transmiten fiabilidad y transparencia. El <strong>75% de los usuarios españoles en red, admite haberse documentado a través de Internet</strong> como paso previo ante la compra de un producto o servicio.</p>
<p>Las <strong>opiniones</strong> son una <strong>poderosa herramienta</strong> que usan y promueven muchas empresas para darse a conocer. Tienen que ser conscientes de cuales son las opiniones de sus usuarios y conocer cuáles son sus puntos fuertes y débiles. <strong>Analizar a la competencia e intentar mejorar</strong> a través de la crítica constructiva son dos tareas pendientes a llevar a cabo.</p>
<p>Conseguir un <strong>buen posicionamiento en buscadores y aumentar el tráfico de nuestras webs</strong> así como lograr una mayor visibilidad en la red, son algunos de los retos que los profesionales de Master-D llevan a cabo diariamente.</p>
<p>Eventos como OMExpo 2010 hacen que reciclemos conocimientos y poco a poco crezcamos profesionalmente en el <strong>sector de la Web 2.0</strong>.</p>
<p><a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F05%2Fmaster-d-estuvo-en-omexpo-2010%2F&amp;linkname=Master-D%20estuvo%20en%20OMExpo%202010" title="Twitter" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F05%2Fmaster-d-estuvo-en-omexpo-2010%2F&amp;linkname=Master-D%20estuvo%20en%20OMExpo%202010" title="Facebook" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/meneame?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F05%2Fmaster-d-estuvo-en-omexpo-2010%2F&amp;linkname=Master-D%20estuvo%20en%20OMExpo%202010" title="Meneame" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/meneame.png" width="16" height="16" alt="Meneame"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F05%2Fmaster-d-estuvo-en-omexpo-2010%2F&amp;linkname=Master-D%20estuvo%20en%20OMExpo%202010" title="Delicious" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F05%2Fmaster-d-estuvo-en-omexpo-2010%2F&amp;linkname=Master-D%20estuvo%20en%20OMExpo%202010" title="Digg" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F04%2F05%2Fmaster-d-estuvo-en-omexpo-2010%2F&amp;linkname=Master-D%20estuvo%20en%20OMExpo%202010" target="_blank">Compártelo</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.masterdlabs.es/2010/04/05/master-d-estuvo-en-omexpo-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Buscador en java con Compass</title>
		<link>http://www.masterdlabs.es/2010/03/09/buscador-en-java-con-compass/</link>
		<comments>http://www.masterdlabs.es/2010/03/09/buscador-en-java-con-compass/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 13:10:01 +0000</pubDate>
		<dc:creator>victor rodriguez</dc:creator>
				<category><![CDATA[destacado]]></category>
		<category><![CDATA[programador-aplicaciones]]></category>
		<category><![CDATA[programador-web]]></category>
		<category><![CDATA[buscador]]></category>
		<category><![CDATA[Compass]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Lucene]]></category>

		<guid isPermaLink="false">http://www.masterdlabs.es/?p=780</guid>
		<description><![CDATA[Compass es un framework de código abierto basado en Lucene. El objetivo de Compass es facilitar la difícil tarea de hacer un buscador potente y rápido utilizando tecnología Java. El objetivo de este Post es explicar el funcionamiento de Compass a través de un sencillo ejemplo.
Lucene es un framework que permite indexar el contenido de [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Compass es un framework de código abierto basado en Lucene</strong>. El objetivo de Compass es facilitar la difícil tarea de hacer un buscador potente y rápido utilizando tecnología Java. El objetivo de este Post es explicar el <strong>funcionamiento de Compass a través de un sencillo ejemplo</strong>.</p>
<p><strong>Lucene</strong> es un framework que permite indexar el contenido de objetos java y archivos para realizar búsquedas sobre ellos. <strong>Compass tiene las funcionalidades de Lucene pero simplifica mucho el desarrollo</strong> ya que tiene algunas características nuevas:<br />
- Ofrece un API simplificada para trabajar con Lucene a más alto nivel.<br />
- Mapeo de objetos mediante XML o anotaciones.<br />
- Gestión de transacciones.<br />
- Integración con ORMs (Hibernate y JPA) y con Spring.<br />
- Permite hacer modificaciones sobre objetos ya indexados.<br />
- Distribuido. Posibilidad de utilizar la nube para almacenar los índices. Se integra con GigaSpaces, Coherence  y Terracotta.</p>
<p><strong>1. Configuración.</strong></p>
<p>La configuración se realiza <strong>mediante un fichero XML</strong>. En este ejemplo el archivo de configuración va a ser src/compass.cfg.xml:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"> <span style="color: #339933;">&lt;</span>compass<span style="color: #339933;">-</span>core<span style="color: #339933;">-</span>configuration<span style="color: #339933;">&gt;</span>
    <span style="color: #339933;">&lt;</span>compass<span style="color: #339933;">&gt;</span>
        <span style="color: #339933;">&lt;!--</span> Settings <span style="color: #339933;">--&gt;</span>
        <span style="color: #339933;">&lt;</span>setting name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;compass.engine.connection&quot;</span><span style="color: #339933;">&gt;</span>
           <span style="color: #339933;">/</span>var<span style="color: #339933;">/</span>compass<span style="color: #339933;">/</span>example<span style="color: #339933;">/</span>
        <span style="color: #339933;">&lt;/</span>setting<span style="color: #339933;">&gt;</span>
        <span style="color: #339933;">&lt;</span>setting name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;compass.engine.analyzer.default.type&quot;</span><span style="color: #339933;">&gt;</span>
           snowball
        <span style="color: #339933;">&lt;/</span>setting<span style="color: #339933;">&gt;</span>
        <span style="color: #339933;">&lt;</span>setting name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;compass.engine.analyzer.default.name&quot;</span><span style="color: #339933;">&gt;</span>
           English
        <span style="color: #339933;">&lt;/</span>setting<span style="color: #339933;">&gt;</span>
        <span style="color: #339933;">&lt;</span>prop key<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;compass.engine.analyzer.english.stopwords&quot;</span><span style="color: #339933;">&gt;</span>
           and,of,to,in,is,his,on,he,with,<span style="color: #000000; font-weight: bold;">for</span>,her
        <span style="color: #339933;">&lt;/</span>prop<span style="color: #339933;">&gt;</span>
        <span style="color: #339933;">&lt;!--</span> <span style="color: #000000; font-weight: bold;">Class</span> mappings <span style="color: #339933;">--&gt;</span>
        <span style="color: #339933;">&lt;</span>mapping <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;vro.examples.compass.model.NewsItem&quot;</span> <span style="color: #339933;">/&gt;</span>
    <span style="color: #339933;">&lt;/</span>compass<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>compass<span style="color: #339933;">-</span>core<span style="color: #339933;">-</span>configuration<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Para hacer un buscador en español habría que cambiar la configuración del idioma y las stopwords por las siguientes líneas:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>setting name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;compass.engine.analyzer.default.name&quot;</span><span style="color: #339933;">&gt;</span>
     Spanish
<span style="color: #339933;">&lt;/</span>setting<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>setting name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;compass.engine.analyzer.default.stopwords&quot;</span><span style="color: #339933;">&gt;</span>
     un, una, unas, unos, uno, sobre, todo, tambien, tras, otro, algun,
     alguno ...
<span style="color: #339933;">&lt;/</span>setting<span style="color: #339933;">&gt;</span></pre></div></div>

<p>En este ejemplo el directorio donde se almacenarán los índices será &#8220;/var/compass/example/&#8221; y el idioma del analizador Inglés. Además, tendrá una serie de palabras que no tendrá en cuenta a la hora de analizar los textos (se pueden añadir los términos necesarios a esta lista). También se indica que se quieren indexar objetos de tipo NewsItem y que por lo tanto habrá que realizar mapeos teniendo en cuenta las anotaciones o configuración XML de esta clase.</p>
<p><strong>2. Anotaciones.</strong></p>
<p>Para que Compass pueda indexar, mapear y buscar sobre una clase es necesario añadir una serie de anotaciones o configurar un archivo XML. En este ejemplo se va a hacer mediante anotaciones ya que es un poco más simple:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">@Searchable
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> NewsItem <span style="color: #000000; font-weight: bold;">implements</span> <span style="color: #003399;">Serializable</span> <span style="color: #009900;">&#123;</span>
&nbsp;
    @SearchableId
    @SearchableMetaData<span style="color: #009900;">&#40;</span>name <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;id&quot;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Long</span> id<span style="color: #339933;">;</span>
    @SearchableProperty<span style="color: #009900;">&#40;</span>nullValue <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span>
    @SearchableMetaData<span style="color: #009900;">&#40;</span>name <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;title&quot;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">String</span> title<span style="color: #339933;">;</span>
    @SearchableProperty<span style="color: #009900;">&#40;</span>nullValue <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span>
    @SearchableMetaData<span style="color: #009900;">&#40;</span>name <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;intro&quot;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">String</span> intro<span style="color: #339933;">;</span>
    @SearchableProperty<span style="color: #009900;">&#40;</span>nullValue <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span>
    @SearchableMetaData<span style="color: #009900;">&#40;</span>name <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;content&quot;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">String</span> content<span style="color: #339933;">;</span>
    @SearchableProperty<span style="color: #009900;">&#40;</span>format <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;dd-MM-yyyy&quot;</span><span style="color: #009900;">&#41;</span>
    @SearchableMetaData<span style="color: #009900;">&#40;</span>name <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;date&quot;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Date</span> date<span style="color: #339933;">;</span>
	...</pre></div></div>

<p>Se han usado las siguientes anotaciones (ver anotaciones en la documentación oficial):</p>
<p>@Searchable: la clase debe de tener esta anotación para indicarle a Compass que puede trabajar con ella.<br />
@SearchableId: indica que es identificador único del objeto.<br />
@SearchableProperty: indica que se debe indexar el contenido de esta variable para poder hacer búsquedas sobre ella. Se puede configurar su comportamiento, como por ejemplo el valor que queremos indexar cuando la variable sea null.<br />
@SearchableMetaData: nombre que se asignará a esa variable en el índice de Lucene.</p>
<p><strong>3. Indexación en disco.</strong></p>
<p>Los índices correspondientes con la información indexada se puede almacenar en disco o en base de datos. También se ofrece la posibilidad de almacenar esta información de manera distribuida utilizando bases de datos distribuidas, la nube, etc. El ejemplo que se muestra a continuación utiliza el almacenamiento en disco, en concreto en la ruta &#8220;/var/compass/examples&#8221; de nuestro sistema.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> CompassServiceImpl <span style="color: #000000; font-weight: bold;">implements</span> CompassService <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> Logger log <span style="color: #339933;">=</span> Logger.<span style="color: #006633;">getLogger</span>
         <span style="color: #009900;">&#40;</span>CompassServiceImpl.<span style="color: #000000; font-weight: bold;">class</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> Compass compass<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> CompassServiceImpl<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        CompassConfiguration config <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> CompassConfiguration<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
             .<span style="color: #006633;">configure</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/compass.cfg.xml&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        compass <span style="color: #339933;">=</span> config.<span style="color: #006633;">buildCompass</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> index<span style="color: #009900;">&#40;</span><span style="color: #003399;">List</span> list<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> CompassException <span style="color: #009900;">&#123;</span>
        CompassSession session <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
        CompassTransaction tx <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            session <span style="color: #339933;">=</span> compass.<span style="color: #006633;">openSession</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            tx <span style="color: #339933;">=</span> session.<span style="color: #006633;">beginTransaction</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #666666; font-style: italic;">//if index isn't blocking</span>
            <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>compass.<span style="color: #006633;">getSearchEngineIndexManager</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">isLocked</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>compass.<span style="color: #006633;">getSearchEngineIndexManager</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
                    .<span style="color: #006633;">indexExists</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    compass.<span style="color: #006633;">getSearchEngineIndexManager</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">createIndex</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
                    compass.<span style="color: #006633;">getSearchEngineIndexManager</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">cleanIndex</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
                <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span>T aux <span style="color: #339933;">:</span> list<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    session.<span style="color: #006633;">save</span><span style="color: #009900;">&#40;</span>aux<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
                <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
                    tx.<span style="color: #006633;">commit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span>CompassException ex<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    log.<span style="color: #006633;">error</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Exception to commit transaction.
                       &quot;</span> <span style="color: #339933;">+</span> ex.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> CompassException<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Index is blocked.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span>CompassException ex<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            log.<span style="color: #006633;">error</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Exception index. &quot;</span> <span style="color: #339933;">+</span> ex.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">finally</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>session <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
                    session.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span>CompassException ex<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    log.<span style="color: #006633;">error</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Exception closing session.
                        &quot;</span> <span style="color: #339933;">+</span> ex.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span></pre></div></div>

<p>El método index(List list) indexa una lista de objetos de tipo T. Utilizar generics para definir la clase y los métodos de servicio nos permite aprovechar el código cuando queremos indexar coches en cuenta de noticias. Si quisiéramos indexar coches tan solo tendríamos que cambiar el archivo src/compass.cfg.xml y definir el mapeo de la clase Car, por ejemplo.</p>
<p>Cuando se ejecute el método index se crearán los índices necesarios en /var/compass/examples.</p>
<p><strong>4. Buscador con paginador</strong></p>
<p>Una vez realizada la indexación se pueden realizar búsquedas de una manera sencilla.</p>
<p>Wrapper para los resultados:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> ResultsWrapper <span style="color: #000000; font-weight: bold;">implements</span> <span style="color: #003399;">Serializable</span> <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Integer</span> totalResults<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Integer</span> totalPages<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">List</span> results<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Long</span> executionTime<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">List</span><span style="color: #339933;">;</span> paginator<span style="color: #339933;">;</span>
...</pre></div></div>

<p>Método search de la clase CompassServiceImpl:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> ResultsWrapper search<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> query, <span style="color: #000066; font-weight: bold;">int</span> page, <span style="color: #000066; font-weight: bold;">int</span> itemsPage<span style="color: #009900;">&#41;</span>
        <span style="color: #000000; font-weight: bold;">throws</span> CompassException <span style="color: #009900;">&#123;</span><span style="color: #000066; font-weight: bold;">int</span> pageCompass <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>page <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            pageCompass <span style="color: #339933;">=</span> page <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        CompassSearchHelper searchHelper <span style="color: #339933;">=</span>
             <span style="color: #000000; font-weight: bold;">new</span> CompassSearchHelper<span style="color: #009900;">&#40;</span>compass, itemsPage<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        CompassSearchResults results <span style="color: #339933;">=</span> searchHelper
            .<span style="color: #006633;">search</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> CompassSearchCommand<span style="color: #009900;">&#40;</span>query, pageCompass<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #003399;">List</span> itemList <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">ArrayList</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span>CompassHit hit <span style="color: #339933;">:</span> results.<span style="color: #006633;">getHits</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            T item <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>T<span style="color: #009900;">&#41;</span> hit.<span style="color: #006633;">getData</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            itemList.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>item<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        ResultsWrapper wrapper <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ResultsWrapper<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        wrapper.<span style="color: #006633;">setTotalResults</span><span style="color: #009900;">&#40;</span>results.<span style="color: #006633;">getTotalHits</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        wrapper.<span style="color: #006633;">setResults</span><span style="color: #009900;">&#40;</span>itemList<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>results.<span style="color: #006633;">getPages</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">&amp;&amp;</span> results.<span style="color: #006633;">getPages</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
            .<span style="color: #006633;">length</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            wrapper.<span style="color: #006633;">setTotalPages</span><span style="color: #009900;">&#40;</span>results.<span style="color: #006633;">getPages</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">length</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #003399;">List</span> paginator <span style="color: #339933;">=</span> generatePaginator<span style="color: #009900;">&#40;</span>
                results.<span style="color: #006633;">getPages</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">length</span>, page<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            wrapper.<span style="color: #006633;">setPaginator</span><span style="color: #009900;">&#40;</span>paginator<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">return</span> wrapper<span style="color: #339933;">;</span></pre></div></div>

<p>Realiza una <strong>búsqueda con paginación </strong>sobre el índice de Lucene. Un ejemplo de uso sería realizar la búsqueda &#8220;java conference&#8221; sobre una lista de noticias relacionada sobre el mundo java:</p>
<p>Indexación teniendo en cuenta que listData() un listado de noticias:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">CompassService compassService <span style="color: #339933;">=</span>
       <span style="color: #000000; font-weight: bold;">new</span> CompassServiceImpl<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
compassService.<span style="color: #006633;">index</span><span style="color: #009900;">&#40;</span>listData<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Búsqueda de la cadena &#8220;java conference&#8221;:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">ResultsWrapper results <span style="color: #339933;">=</span> compassService
    .<span style="color: #006633;">search</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;java conference&quot;</span>, <span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>results<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Consola:<br />
[1: JavaOne to continue]</p>
<p><a href="http://www.opositor.com/static/desarrollo/CompassExample.zip"><em>Descargar código fuente del ejemplo</em> (Proyecto Netbeans)</a></p>
<p><em>Documentación oficial:</em><a title="Documento oficial Compass" href=" http://www.compass-project.org/docs/2.2.0/reference/html/" target="_blank"> http://www.compass-project.org/docs/2.2.0/reference/html/</a></p>
<p>Espero que te haya sido de utilidad.</p>
<p><a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F03%2F09%2Fbuscador-en-java-con-compass%2F&amp;linkname=Buscador%20en%20java%20con%20Compass" title="Twitter" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F03%2F09%2Fbuscador-en-java-con-compass%2F&amp;linkname=Buscador%20en%20java%20con%20Compass" title="Facebook" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/meneame?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F03%2F09%2Fbuscador-en-java-con-compass%2F&amp;linkname=Buscador%20en%20java%20con%20Compass" title="Meneame" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/meneame.png" width="16" height="16" alt="Meneame"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F03%2F09%2Fbuscador-en-java-con-compass%2F&amp;linkname=Buscador%20en%20java%20con%20Compass" title="Delicious" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F03%2F09%2Fbuscador-en-java-con-compass%2F&amp;linkname=Buscador%20en%20java%20con%20Compass" title="Digg" rel="nofollow" target="_blank"><img src="http://blogsmasterd.com/labs/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.masterdlabs.es%2F2010%2F03%2F09%2Fbuscador-en-java-con-compass%2F&amp;linkname=Buscador%20en%20java%20con%20Compass" target="_blank">Compártelo</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.masterdlabs.es/2010/03/09/buscador-en-java-con-compass/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
