<?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>Telmeds Labs</title>
	<atom:link href="http://labs.telmeds.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.telmeds.net</link>
	<description>El Blog de Desarrollo de Telmeds.org</description>
	<lastBuildDate>Sat, 01 May 2010 21:50:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WordPress 3.0 y Telmeds.org</title>
		<link>http://labs.telmeds.net/bosquejos/wordpress-3-0-y-telmeds-org/</link>
		<comments>http://labs.telmeds.net/bosquejos/wordpress-3-0-y-telmeds-org/#comments</comments>
		<pubDate>Sat, 01 May 2010 21:50:38 +0000</pubDate>
		<dc:creator>moises</dc:creator>
				<category><![CDATA[Bosquejos]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[custom post types]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[Telmeds]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://labs.telmeds.net/?p=64</guid>
		<description><![CDATA[Se avecina la liberación de WordPress 3.0 y por tanto tendremos que adaptar la plantilla actual. He estado trabajando sobre ello explorando las funciones de la nueva versión y me he topado con los &#8220;custom post types&#8221; que añaden mucho poder a WordPress en el sentido que ya no solo podremos desarrollar un blog en [...]]]></description>
			<content:encoded><![CDATA[<p>Se avecina la liberación de WordPress 3.0 y por tanto tendremos que adaptar la plantilla actual. He estado trabajando sobre ello explorando las funciones de la nueva versión y me he topado con los &#8220;custom post types&#8221; que añaden mucho poder a WordPress en el sentido que ya no solo podremos desarrollar un blog en términos de post, page, categories y tags, sino que esto abre las puertas a un infinito mundo de posibilidades. He revisado lo escrito sobre el tema y encontré que <a href="http://justintadlock.com/archives/2010/04/29/custom-post-types-in-wordpress" target="_blank">Justin Tadlock</a> tiene un excelente tutorial sobre el manejo de esto.</p>
<p>Supongamos, bueno, no tanto, esto esta escrito en la nueva versión de MedPress en la que trabajo:</p>
<p><code>register_post_type('articulos', array(<br />
'label' =&gt; __('Artículos'),<br />
'singular_label' =&gt; __('Artículo'),<br />
'description' =&gt; __( 'Artículos de revisión y originales de Telmeds.org' ),<br />
'public' =&gt; true,<br />
'show_ui' =&gt; true,<br />
'capability_type' =&gt; 'post',<br />
'hierarchical' =&gt; false,<br />
'rewrite' =&gt; array( 'slug' =&gt; 'articulos', 'with_front' =&gt; false ),<br />
'query_var' =&gt; false,<br />
'menu_position' =&gt; 5,<br />
'exclude_from_search' =&gt; false,<br />
'supports' =&gt; array('title', 'editor', 'thumbnail'),<br />
));</code></p>
<p>Como podemos ver se trata de un trozo de código que genera un nuevo tipo de post en Telmeds.org, o mejor dicho en términos nuestros, una sección: Artículos. Analicemos cada línea.</p>
<p><code>register_post_type('<strong>articulos</strong></code>&#8216; &#8230;</p>
<p>Esta línea hace referencia al nombre interno que utilizará WordPress para llamar este tipo nuevo de post.</p>
<p><code>'label' =&gt; __('Artículos'),<br />
'singular_label' =&gt; __('Artículo'),</code></p>
<p>Estas dos líneas hacen referencia al nombre con el que aparecen en el menú de WordPress, así como se ve en la imagen.</p>
<div id="attachment_68" class="wp-caption aligncenter" style="width: 194px"><a href="http://labs.telmeds.net/wp-content/uploads/2010/05/menu.png"><img class="size-full wp-image-68" title="Nuevo menú " src="http://labs.telmeds.net/wp-content/uploads/2010/05/menu.png" alt="" width="184" height="255" /></a><p class="wp-caption-text">Nuevo menú</p></div>
<p>La línea del <code>singular_label</code> será empleada en donde dice &#8220;Añadir nuevo&#8221; cuando obviamente añadimos un nuevo post de este tipo.</p>
<p><code>'description' =&gt; __( 'Artículos de revisión y originales de Telmeds.org' ),</code></p>
<p>Aún no descubro donde se puede ver el contenido de la línea <code>description</code>, pero en cuanto lo sepa lo postearé. Básicamente describe el contenido de la sección.</p>
<p><code>'public' =&gt; true,</code></p>
<p><code>public</code> modifica a otras opciones dependiendo de si el atributo es <strong>true</strong> o <strong>false. </strong>Al estar en true, las demás opciones por defecto también lo estarán; sin embargo, si esta en false ocurrirá lo mismo. Pero podemos manejar estas opciones individualmente: <code>show_ui</code>, <code>publicly_queryable</code> y <code>exclude_from_search</code>. Estas opciones la pueden revisar en el artículo de Justin Tadlock.</p>
<p><code>'capability_type' =&gt; 'post',</code></p>
<p><code>capability_type</code> funciona como un parámetro de seguridad. Así podemos definir alguna capacidad nueva que se ajuste a x usuario y por tanto que el menú sea visible a ese usuario. Es una función muy completa cuando se combina con sus acompañantes y  permite colocar permisos de lectura y escritura basados en los roles y capacidades.</p>
<p><code>'hierarchical' =&gt; false,</code></p>
<p><code>hierarchical</code> básicamente define el comportamiento del nuevo tipo de entrada como si fueran posts o páginas.</p>
<p><code>'rewrite' =&gt; array( 'slug' =&gt; 'articulos', 'with_front' =&gt; false ),</code></p>
<p>La línea <code>rewrite</code> permite colocar esa línea sobre la barra de direcciones que necesitamos. La opción <code>with_front</code> le dice a WordPress si usar o no el prefijo base del sistema.</p>
<div id="attachment_69" class="wp-caption aligncenter" style="width: 800px"><a href="http://labs.telmeds.net/wp-content/uploads/2010/05/instantánea1.png"><img class="size-full wp-image-69" title="Usando el rewrite" src="http://labs.telmeds.net/wp-content/uploads/2010/05/instantánea1.png" alt="Usando el rewrite" width="790" height="87" /></a><p class="wp-caption-text">Usando el rewrite</p></div>
<p>Claro que todo depende de que tengamos activada la opción de los permalinks.</p>
<p><code>'menu_position' =&gt; 5,</code></p>
<p>La opción de <code>menu_position</code> realmente no me gusto, pues solo permite un número de menús debajo de cada menú de WordPress. Así tenemos que si es 5, el nuevo menú irá debajo de entradas, si es 10, debajo de multimedia, si es 15 debajo de enlaces y si es 20 debajo de páginas.</p>
<p><code>'supports' =&gt; array('title', 'editor', 'thumbnail'),</code></p>
<p>Ahora <code>supports</code> define cual metabox se añadirá al nuevo tipo de entrada.</p>
<ul>
<li><code>title</code>: Como lo dice el nombre, regula el título de la entrada</li>
<li><code>editor</code>: El editor de contenido</li>
<li><code>comments</code>: Para los comentarios, si estarán activados o no</li>
<li><code>trackbacks</code>: para los trackbacks y pingbacks</li>
<li><code>revisions</code>: Para ver las revisiones de la entrada</li>
<li><code>author</code>: Para cambiar el autor.</li>
<li><code>excerpt</code>: Para escribir el abstract de la entrada</li>
<li><code>thumbnail</code>: Para la miniatura del post</li>
<li><code>custom-fields</code>: Si el nuevo tipo de entrada soportará custom fields</li>
<li><code>page-attributes</code>: Para elegir si una página va sobre otra, o seleccionar una plantilla.</li>
</ul>
<p>Es importante mencionar que si desactivamos ciertas opciones desde aquí, no veremos las similares en el menú editar. Veamos un ejemplo gráfico:</p>
<div id="attachment_71" class="wp-caption aligncenter" style="width: 745px"><a href="http://labs.telmeds.net/wp-content/uploads/2010/05/ejemplo.png"><img class="size-full wp-image-71" title="A la izquierda, menú sin autor, a la derecha con autor" src="http://labs.telmeds.net/wp-content/uploads/2010/05/ejemplo.png" alt="A la izquierda, menú sin autor, a la derecha con autor" width="735" height="288" /></a><p class="wp-caption-text">A la izquierda, menú sin autor, a la derecha con autor</p></div>
<p>Hasta aquí, las opciones básicas. Ahora veamos algo que se me ocurrió, ¿por qué no poner información del nuevo tipo de entradas en el widget &#8220;Ahora puedes&#8221; donde se muestra información general de cantidad de entradas, comentarios y otros? ¡Es fácil!, solo necesitamos un par de líneas más:</p>
<p><code><br />
function med_dashboard_right_now() {<br />
$num_articulos = wp_count_posts( 'articulos' );</code></p>
<p><code> </code></p>
<p><code>// Artículos<br />
$num = number_format_i18n( $num_articulos-&gt;publish );<br />
$text = _n( 'Artículo', 'Artículos', $num_articulos-&gt;publish );<br />
if ( current_user_can( 'edit_pages' ) ) {<br />
$num = "&lt;a href='edit.php?post_type=articulos'&gt;$num&lt;/a&gt;";<br />
$text = "&lt;a href='edit.php?post_type=articulos'&gt;$text&lt;/a&gt;";<br />
}<br />
echo '&lt;td class="first b b_pages"&gt;' . $num . '&lt;/td&gt;';<br />
echo '&lt;td class="t pages"&gt;' . $text . '&lt;/td&gt;';</code></p>
<p><code> </code></p>
<p><code>echo '&lt;/tr&gt;&lt;tr&gt;';</p>
<p></code></p>
<p><code>}</code></p>
<p>Esta función hará el conteo de entradas y lo añadiremos al widget con un hook:</p>
<p><code>add_action("right_now_content_table_end", "med_dashboard_right_now");</code></p>
<p>Donde <strong>right_now_content_table_end</strong><strong>med_dashboard_right_now</strong>. La misma estructura del archivo dashboard.php del core de WordPress.</p>
<div id="attachment_70" class="wp-caption aligncenter" style="width: 543px"><a href="http://labs.telmeds.net/wp-content/uploads/2010/05/instantánea11.png"><img class="size-full wp-image-70" title="Ahora puedes modificado" src="http://labs.telmeds.net/wp-content/uploads/2010/05/instantánea11.png" alt="Ahora puedes modificado" width="533" height="383" /></a><p class="wp-caption-text">Ahora puedes modificado</p></div>
<p>Como podemos ver, hemos añadido un par de funcionalidades a WordPress, los usos de este sistema son infinitos y ahora probablemente nazca la pregunta ¿y donde va todo este código? Fácil, en el archivo functions.php</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.telmeds.net/bosquejos/wordpress-3-0-y-telmeds-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Partir con tar y unir con cat</title>
		<link>http://labs.telmeds.net/snippets/partir-con-tar-y-unir-con-cat/</link>
		<comments>http://labs.telmeds.net/snippets/partir-con-tar-y-unir-con-cat/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 04:28:12 +0000</pubDate>
		<dc:creator>moises</dc:creator>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[archivos]]></category>
		<category><![CDATA[cat]]></category>
		<category><![CDATA[split]]></category>
		<category><![CDATA[tar]]></category>

		<guid isPermaLink="false">http://labs.telmeds.net/?p=60</guid>
		<description><![CDATA[Para partir:

$ tar -cvj archivo-grande.avi &#124; split -b 650m -d - pedazos.tar.bz.
Como vemos, la opción b es para especificar el tamaño de lo que estamos partiendo.
Ahora para unir:
$ cat pedazos.tar.bz.* > pedazosunidos.tar.bz
Para descomprimir: 
$ tar -xvf pedazosunidos.tar.bz
]]></description>
			<content:encoded><![CDATA[<p>Para partir:<br />
<code><br />
$ tar -cvj archivo-grande.avi | split -b 650m -d - pedazos.tar.bz.</code></p>
<p>Como vemos, la opción b es para especificar el tamaño de lo que estamos partiendo.</p>
<p>Ahora para unir:</p>
<p><code>$ cat pedazos.tar.bz.* > pedazosunidos.tar.bz</code></p>
<p>Para descomprimir: </p>
<p><code>$ tar -xvf pedazosunidos.tar.bz</code></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.telmeds.net/snippets/partir-con-tar-y-unir-con-cat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Telmeds v6 final</title>
		<link>http://labs.telmeds.net/bosquejos/telmeds-v6-final/</link>
		<comments>http://labs.telmeds.net/bosquejos/telmeds-v6-final/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 04:33:04 +0000</pubDate>
		<dc:creator>lab_administrador</dc:creator>
				<category><![CDATA[Bosquejos]]></category>
		<category><![CDATA[diseño]]></category>
		<category><![CDATA[final]]></category>
		<category><![CDATA[secciones]]></category>
		<category><![CDATA[Telmeds]]></category>

		<guid isPermaLink="false">http://labs.telmeds.net/?p=53</guid>
		<description><![CDATA[Finalmente, luego de mucho flujo de código por mi cabeza, está terminada la plantilla Telmeds v6 para WordPress. Posteriormente cuando acabe los detalles de generalización la pondré a disposición de cualquier navegante para que la empleé en su blog.
Al final de muchos días y con la ayuda sobre todo de Elena, fue terminada y más [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_54" class="wp-caption aligncenter" style="width: 245px"><a href="http://labs.telmeds.net/wp-content/uploads/2010/03/www.telmeds.org-2010-03-14-23-28-49.png"><img class="size-medium wp-image-54" title="Telmeds v6, final" src="http://labs.telmeds.net/wp-content/uploads/2010/03/www.telmeds.org-2010-03-14-23-28-49-235x300.png" alt="Telmeds v6, final" width="235" height="300" /></a><p class="wp-caption-text">Telmeds v6, final</p></div>
<p>Finalmente, luego de mucho flujo de código por mi cabeza, está terminada la plantilla Telmeds v6 para WordPress. Posteriormente cuando acabe los detalles de generalización la pondré a disposición de cualquier navegante para que la empleé en su blog.</p>
<p>Al final de muchos días y con la ayuda sobre todo de Elena, fue terminada y más que todo ahora puedo decir que nos enfocamos en funcionalidad además de facilidad de navegación. Admito que no es la mejor, pero encontramos la manera de ordenar el caos y las imágenes grandes de la versión anterior.</p>
<p>Traemos algunas secciones nuevas como Perlas, Calculadora Telmeds, sitios especiales para cada promoción de la Facultad de Medicina de la Universidad de Panamá, SVE y SVP fueron llevados a un solo estilo que facilita la navegación.</p>
<p>Cuando sea lanzado la nueva interfaz, pondré a disposición de todos los hacks que usamos para esta plantilla de WordPress para volverla tan específica. Próximamente también estaremos lanzando la página para fans en facebook y el sitio de twitter que anda por su lado.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.telmeds.net/bosquejos/telmeds-v6-final/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Segunda Opinión Telmeds</title>
		<link>http://labs.telmeds.net/bosquejos/segunda-opinion-telmeds/</link>
		<comments>http://labs.telmeds.net/bosquejos/segunda-opinion-telmeds/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 13:19:45 +0000</pubDate>
		<dc:creator>moises</dc:creator>
				<category><![CDATA[Bosquejos]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://labs.telmeds.net/?p=45</guid>
		<description><![CDATA[Continuando con nuestra serie de bosquejos relacionado con la entrada Telmeds v6, ahora veamos el concepto de la Segunda Opinión Telmeds.
El escenario es el siguiente: un médico en Kankintu (el fin del mundo en servicios de salud en Panamá) le llega un paciente indígena X y justo en el momento ese, se le olvidó que [...]]]></description>
			<content:encoded><![CDATA[<p>Continuando con nuestra serie de bosquejos relacionado con la entrada Telmeds v6, ahora veamos el concepto de la Segunda Opinión Telmeds.</p>
<p>El escenario es el siguiente: un médico en Kankintu (el fin del mundo en servicios de salud en Panamá) le llega un paciente indígena X y justo en el momento ese, se le olvidó que debe hacer con el paciente. El médico recuerda que en sus tiempos en facultad había una página web donde podía pedir ayuda a médicos especialistas y cualquier otro relacionado con esferas de la salud. Conecta su celular a la laptop y consigue una conexión a internet (un poco caro, por cierto a menos que el 3,5G este disponible). Se dirije a segunda opinión Telmeds y plantea el caso clínico y lo marca como urgente.</p>
<p>Desde acá en Panamá, nuestra comunidad de médicos y estudiantes de medicina se entera de la situación del pobre médico y trata de ayudarlo con distintas opciones y de entre las cuales los mismos visitantes escogen las mejores. El médico de Kankintu saca al paciente del cuadro que tenía gracias a una de las respuestas y luego vuelve a internet y elige la mejor respuesta posteada que fue la que le ayudo.</p>
<p>Vamos ahora con el esquema de código. Primero, tenemos disponible WordPress. Segundo, probablemente tengamos una suscripción a los <a href="http://www.telmeds.org/foros/" target="_blank">foros de Telmeds.org</a>. Tercero, tendremos un widget en el tablero de WordPress para que un usuario común y silvestre pueda postear en X categoría que vendría siendo Segunda Opinión Telmeds (o bien podríamos configurar el QuickPress para esto). Cuarto el visitante va a la página de su pregunta y revisa las respuestas y selecciona la mejor, todo esto con la maravilla del plugin de Anieto2k, <a href="http://www.anieto2k.com/2009/11/07/wp-answers-crea-una-comunidad-de-preguntas-y-respuestas-con-wordpress/" target="_blank">wp-answers</a>.</p>
<p>Por último tendríamos una comunidad al estilo de Yahoo Answers solo que de perfil profesional.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.telmeds.net/bosquejos/segunda-opinion-telmeds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Telmeds v6</title>
		<link>http://labs.telmeds.net/bosquejos/telmeds-v6/</link>
		<comments>http://labs.telmeds.net/bosquejos/telmeds-v6/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 06:24:26 +0000</pubDate>
		<dc:creator>lab_administrador</dc:creator>
				<category><![CDATA[Bosquejos]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://labs.telmeds.net/?p=42</guid>
		<description><![CDATA[Recientemente he estado trabajando en una nueva interfaz para Telmeds.org. El próximo año, el CIMTe cumple sus 10 años de existencia y por esta razón pienso que debemos actualizar el diseño de Telmeds.org, su contenido permanecerá igual. Ya tenemos la dolorosa experiencia de un cambio de CMS (phpNuke hacia WordPress) donde aún hay contenido que [...]]]></description>
			<content:encoded><![CDATA[<p>Recientemente he estado trabajando en una nueva interfaz para Telmeds.org. El próximo año, el <a href="http://www.telmeds.org/nosotros/cimte/">CIMTe</a> cumple sus 10 años de existencia y por esta razón pienso que debemos actualizar el diseño de Telmeds.org, su contenido permanecerá igual. Ya tenemos la dolorosa experiencia de un cambio de CMS (phpNuke hacia WordPress) donde aún hay contenido que no estamos ofreciendo a nuestros visitantes debido a dificultades que tuvimos durante la migración.</p>
<p>El nuevo diseño contempla la posibilidad de incluir nuevas secciones, algunas útiles otras aún más. Pero siempre buscando publicar información médica importante generada en nuestro país ya que una de nuestras principales deficiencias es la no publicación de contenido científico.</p>
<p>Espero yo, que el nuevo diseño sea más atrayente&#8230; ¿opiniones? pues deja un comentario</p>
<p><a href="http://labs.telmeds.net/wp-content/uploads/2009/12/tv6.jpg"><img src="http://labs.telmeds.net/wp-content/uploads/2009/12/tv6-243x300.jpg" alt="tv6" title="tv6" width="243" height="300" class="aligncenter size-medium wp-image-43" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.telmeds.net/bosquejos/telmeds-v6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Planeamiento de la Comunidad Telmeds</title>
		<link>http://labs.telmeds.net/bosquejos/planeamiento-de-la-comunidad-telmeds/</link>
		<comments>http://labs.telmeds.net/bosquejos/planeamiento-de-la-comunidad-telmeds/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 06:12:43 +0000</pubDate>
		<dc:creator>lab_administrador</dc:creator>
				<category><![CDATA[Bosquejos]]></category>
		<category><![CDATA[comunidad]]></category>
		<category><![CDATA[proyectos]]></category>

		<guid isPermaLink="false">http://labs.telmeds.net/?p=30</guid>
		<description><![CDATA[La idea de mantener una comunidad dentro de Telmeds.org es antigua entre nuestra agrupación; sin embargo, hasta ahora pensamos en desarrollar un proyecto similar al Facebook solo que acondicionado para la medicina. El proyecto que tenemos en mira para emplear como base es BudyPress. En cuanto este montado, les notificaremos para ver como llevamos a [...]]]></description>
			<content:encoded><![CDATA[<p>La idea de mantener una comunidad dentro de Telmeds.org es antigua entre nuestra agrupación; sin embargo, hasta ahora pensamos en desarrollar un proyecto similar al Facebook solo que acondicionado para la medicina. El proyecto que tenemos en mira para emplear como base es BudyPress. En cuanto este montado, les notificaremos para ver como llevamos a cabo esta nueva empresa.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.telmeds.net/bosquejos/planeamiento-de-la-comunidad-telmeds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalando Piwik</title>
		<link>http://labs.telmeds.net/tutoriales/instalando-piwik/</link>
		<comments>http://labs.telmeds.net/tutoriales/instalando-piwik/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 04:24:26 +0000</pubDate>
		<dc:creator>lab_administrador</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[piwik]]></category>
		<category><![CDATA[Telmeds]]></category>

		<guid isPermaLink="false">http://labs.telmeds.net/?p=19</guid>
		<description><![CDATA[El día de hoy se realizó la instalación de Piwik. Piwik es un programa de análisis de estadísticas web licenciado bajo el paraguas de la GPL y será el sistema que utilizaremos para el análisis de tráfico de Telmeds.org y sitios web que estén alojados con nosotros. Lo mejor de este programa para mí es [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_20" class="wp-caption alignnone" style="width: 572px"><img class="size-full wp-image-20" title="Piwik - Web analytics - Open source" src="http://labs.telmeds.net/wp-content/uploads/2009/08/Piwik-Web-analytics-Open-source.png" alt="Piwik - Web analytics - Open source" width="562" height="250" /><p class="wp-caption-text">Piwik - Web analytics - Open source</p></div>
<p>El día de hoy se realizó la instalación de Piwik. <a href="http://piwik.org/">Piwik</a> es un programa de análisis de estadísticas web licenciado bajo el paraguas de la <a href="http://es.wikipedia.org/wiki/GNU_General_Public_License">GPL</a> y será el sistema que utilizaremos para el análisis de tráfico de Telmeds.org y sitios web que estén alojados con nosotros. Lo mejor de este programa para mí es su <a href="http://dev.piwik.org/trac/wiki/API">API</a> que permite inculir las estadísticas practicamente donde sea y como sea ya que permite la exportación hacia xml, json, php y csv.</p>
<p>A como lo veo yo, Piwik ha copiado muchas cosas de <a href="http://wordpress.org">WordPress</a>, por lo menos en el aspecto visual que para los wordpresseros les recordará a WordPress 2.6.</p>
<p>Para iniciar la instalación, necesitamos saber de antemano si nuestro servidor soporta php 5.1 como mínimo y si tenemos disponible una base de datos MySQL, si es así nos vamos a la web de Piwik y nos descargamos la <a href="http://piwik.org/latest.zip">última versión</a> (al momento de escribir esto es la 0.4.3). Extraemos y subimos con un cliente ftp o mejor con cualquier conexión más segura que tengan a mano.</p>
<div id="attachment_23" class="wp-caption alignleft" style="width: 310px"><img class="size-medium wp-image-23" title="Instalando Piwik" src="http://labs.telmeds.net/wp-content/uploads/2009/08/Piwik-»-Installation2-300x218.png" alt="Instalando Piwik" width="300" height="218" /><p class="wp-caption-text">Instalando Piwik</p></div>
<p>Cuando los archivos terminen de llegar a la nube, nos dirigimos a la ruta donde instalamos, en nuestro caso, una carpeta llamada analytics, así responderemos las preguntas que se nos piden.</p>
<p>Antes de que termine la instalación, piwik pedirá añadir un sitio nuevo y luego generará el código necesario para recoger las estadísticas del sitio web.</p>
<p>Al terminar la instalación seremos redireccionados hacia la página de login y se nos pedirán los datos que introdujimos para el super usuario de piwik.</p>
<p>Al entrar en el tablero de piwik, nos encontraremos con una serie de widgets que nos muestran información del sitio, en mi caso algo raro sucede con piwik ya que piensa que soy de españa pero supongo que es probable que esto se deba a que se extraen los datos del user agent y en mi caso estoy usando firefox 3.5 con lenguaje es_ES, así que&#8230; bueno ya veremos que ocurre. Esto es todo por hoy, hasta la próxima.</p>
<div id="attachment_28" class="wp-caption aligncenter" style="width: 310px"><a href="http://labs.telmeds.net/wp-content/uploads/2009/08/Piwik-›-Web-Analytics-Reports.png"><img class="size-medium wp-image-28" title="Screenshot del tablero de Piwik" src="http://labs.telmeds.net/wp-content/uploads/2009/08/Piwik-›-Web-Analytics-Reports-300x294.png" alt="Screenshot del tablero de Piwik" width="300" height="294" /></a><p class="wp-caption-text">Screenshot del tablero de Piwik</p></div>
]]></content:encoded>
			<wfw:commentRss>http://labs.telmeds.net/tutoriales/instalando-piwik/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inicia la cuenta regresiva</title>
		<link>http://labs.telmeds.net/snippets/inicia-la-cuenta-regresiva/</link>
		<comments>http://labs.telmeds.net/snippets/inicia-la-cuenta-regresiva/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 15:31:23 +0000</pubDate>
		<dc:creator>lab_administrador</dc:creator>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[503]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[Telmeds]]></category>

		<guid isPermaLink="false">http://labs.telmeds.net/?p=6</guid>
		<description><![CDATA[En la madrugada de hoy, se ha dado inicio al traspaso de contenido de Telmeds.org de su antiguo CMS phpnuke y el contenido disperso que fue escrito con FrontPage hacia su nueva plataforma que será el CMS WordPress.
Naturalmente uno se preguntará, por que WordPress si el mismo está pensado para blogs. Lo cierto es que [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_16" class="wp-caption alignnone" style="width: 590px"><img class="size-full wp-image-16" title="Interfaz de Telmeds.org" src="http://labs.telmeds.net/wp-content/uploads/2009/08/telmeds-1.jpg" alt="Interfaz de Telmeds.org" width="580" height="250" /><p class="wp-caption-text">Interfaz de Telmeds.org</p></div>
<p>En la madrugada de hoy, se ha dado inicio al traspaso de contenido de Telmeds.org de su antiguo CMS phpnuke y el contenido disperso que fue escrito con FrontPage hacia su nueva plataforma que será el CMS WordPress.</p>
<p>Naturalmente uno se preguntará, por que WordPress si el mismo está pensado para blogs. Lo cierto es que si, es para blogs, pero con un poco de conocimiento WordPress es un CMS tan potente como Joomla o similares y además, considero yo en un opinión muy personal, es muy amigable con el usuario.</p>
<p>Para empezar esta cuneta regresiva, lo primero que se ha hecho es colocar un mensaje de advertencia a todos los visitantes, el cual se muestra por el archivo .htaccess. A continuación su código:</p>
<p><code><br />
RewriteEngine on<br />
RewriteCond %{REQUEST_URI} !/503.php$<br />
RewriteCond %{REMOTE_HOST} !^192\.168\.0\.1<br />
RewriteRule $ http://www.telmeds.net/503.php [R=302,L]<br />
</code></p>
<p>Como podemos apreciar, hacemos uso del mod_rewrite de apache y redireccionamos a todo el mundo hacia la página que muestra el error, y nos excluimos nosotros para poder estar seguros de que vemos todos los cambios futuros que haremos.</p>
<p>Ahora bien, este error que se muestra además de lo que se ve, le muestra a los buscadores y robots de búsqueda y toda su familia que el servidor tiene un error 503 ¿y qué es un error 503? un código de estado http que significa que el servidor está no disponible en ese momento (Server Unavailable). A continuación el contenido de nuestro archivo 503.php:</p>
<p><code><br />
&lt;?php<br />
header('HTTP/1.1 503 Service Temporarily Unavailable');<br />
header('Status: 503 Service Temporarily Unavailable');<br />
header('Retry-After: Mon, 17 Aug 2009 00:00:00 GMT');<br />
?&gt;<br />
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;Telmeds.org &amp;raquo; El portal de medicina de Panamá&lt;/title&gt;<br />
&lt;meta http-equiv="content-type" content="text/html; charset=UTF-8" /&gt;<br />
&lt;meta name="author" content="Club de Informática Médica y Telemedicina" /&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;div id="telmeds"&gt;<br />
&lt;h1&gt;¡Estamos construyendo la nueva versión de Telmeds!&lt;/h1&gt;<br />
&lt;p&gt;El relanzamiento está fijado para el día 17 de agosto de 2009.&lt;/p&gt;<br />
&lt;p&gt;Disculpe las molestias...&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
</code></p>
<p>Al principio del archivo podemos ver los headers http que manipulamos con php, añadimos ambas líneas porque en algunos casos sin esta línea &#8220;<em>header(&#8216;Status: 503 Service Temporarily Unavailable&#8217;);</em>&#8221; suele dar un código 200 OK que se produce cuando todo carga normalmente. La línea siguiente: &#8220;<em>header(&#8216;Retry-After: Mon, 17 Aug 2009 00:00:00 GMT&#8217;);</em>&#8221; le dice a los robots de búsqueda que regresen en esa fecha para volver a rastrear e indexar las páginas de nuestro sitio.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.telmeds.net/snippets/inicia-la-cuenta-regresiva/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
