Archive for the 'Programación' Category

Jun 08 2008

Migrar las noticias de Typo3 (tt_news) a Wordpress paso a paso

Hace ya un tiempo escribí este post contando que había conseguido pasar de Typo a Wordpress. También decía que algún día escribiría un paso a paso. Un comentario del usuario June me lo pedía, y vamos a tratar de explicarlo.

Para realizar éste paso a paso se necesitan tres cosas (evidentemente):

  • una instalación de Typo3 con la extensión tt_news instalada, que son las noticias que queremos migrar
  • una instalación de Wordpress vacía, donde queremos importar las noticias de Typo3
  • paciencia y nervios de acero :-)

La idea general del proceso es que Wordpress permite importar entradas desde diferentes fuentes. Una de ellas es un archivo RSS 2.0. Por ello, lo que vamos a buscar es generar un RSS con todas las noticias en Typo3. Guardaremos ese fichero y posteriormente lo importaremos en Wordpress.

Typo3

En Typo3 necesitamos generar las noticias, pero en formato RSS y no mostrarlas como normalmente aparecen. Para ello, nos vamos a crear dos páginas, una llamada RSS que es donde colocaremos un plug-in tt_news y otra colgando de ésta que es necesaria para mostrar las noticias una a una.

Páginas Typo3 para conseguir RSSContenido de la página que genera los RSS

He creado ambas páginas activando la opción de “ocultar en menú”, ya que en mi caso no quería que aparecieran en el menú principal de mi sitio.

Dentro de la página rss news (podemos ver su contenido en la imagen lateral) crearemos un plug-in tt_news y un template de extensión (llamado por defecto, y así se quedó, +ext).

La configuración del plugin tt_news: ponemos en la opción de mostrar las noticias LIST (todas las noticias). Es importante definir en Otras opciones la “PageId donde se muestran noticias individuales” y “PageId a donde regresar”, apuntando a la página “one rss”. El punto de inicio de las noticias será, como siempre, la carpeta donde almacenemos nuestros tt_news.

El contenido del Template

Constants:

### Configure tt_news to display the xml template
### Page that contains the News List
xmlnewsfeed_id = 171
### RSS Setup
plugin.tt_news  {
displayXML {
rss2_tmplFile = EXT:tt_news/res/rss_2.tmpl
xmlFormat = rss2xmlTitle = Export RSS to Wordpress
xmplLink = http://www.freniche.com
xmlDesc = Exporting to WPxmlLang = es
xmlIcon = fileadmin/rss_icon.giftitle_stdWrap.htmlSpecialChars = 1

title_stdWrap.htmlSpecialChars.preserveEntities = 1

subheader_stdWrap.stripHtml = 1

subheader_stdWrap.htmlSpecialChars = 1

subheader_stdWrap.htmlSpecialChars.preserveEntities = 1

subheader_stdWrap.crop = 500| … | 1

subheader_stdWrap.ifEmpty.field = bodytext

xmlLastBuildDate = 1

}

}

plugin.tt_news.limit = 5

plugin.tt_news.displayXML.xmlLimit = 1000

Setup:

# ------------- RSS News Plugin ------------------------------
###Header
page.headerData.500 = TEXT
# MUY IMPORTANTE: las dos siguientes líneas deben ir juntas, las he separado para que se lean mejor en el post
page.headerData.500.value = <link rel="alternate"
type="application/rss+xml" title="RSS-Feed" href="http://www.freniche.com/index.php?id={$xmlnewsfeed_id}&type=100" />
# ------------- This enables the xml news feed ---------------------
xmlnews = PAGExmlnews {
typeNum = 10020 >20 < plugin.tt_news20.pid_list >

20.pid_list = {$xmlnews.pid_list}

20.singlePid = {$xmlnews.singlePid}20.defaultCode = XML

config {disableAllHeaderCode = 1

additionalHeaders = Content-type:text/xmlno_cache = 1

xhtml_cleaning = 0}

}

Es muy importante que en el plugin se incluya el template estático plugin.alt.xml (96) y el template estático (de las extensiones) News Feed (RSS, RD, ATOM) (tt_news), como se puede ver en la imagen.

Configuración del template

En la página one-rss debemos poner un plug-in tt_news (noticias) para que se muestren las noticias una a una (opción qué mostrar puesta a SINGLE).

Generar el RSS

Ahora ya podemos probar si funciona la generación del RSS. Para ello, mostraremos en otra ventana (o pestaña) la página rss news, usando su pageId (que en éste caso es 171) e indicando que el tipo de página es 100. Este type=100 lo indicamos en la parte setup del template (typenum = 100). Luego si vamos a: http://www.freniche.com/index.php?id=171&type=100, se mostrará un flujo RSS al que podremos suscribirnos.

Si hemos llegado hasta aquí, podemos probar a pulsar CTRL-U (o, en mi Mac, Command-U) para ver el código fuente del RSS. Veremos que aparecen las entradas de las noticias de Typo3. ¡Vamos por el buen camino!rss.png

Este código XML podemos guardarlo como un fichero que se llame rss.txt. Ahora pasemos a Wordpress para importarlo.

Wordpress

Aquí es todo muuuucho más fácil. Wordpress importa RSS sin problemas, a través de la opción Administrar -> Importar. Entre los formatos disponibles aparece RSS. Basta ahora con seleccionar el fichero rss.txt que hemos generado antes y ¡listo!. Las entradas comienzan a importarse.

importar-rss.png

En mi caso el límite de subida del fichero RSS de Wordpress era demasiado pequeño, así que tiré por la calle de enmedio y rompí el fichero en varios trozos para que entraran correctamente en su tamaño. Para eso está en UNIX el comando split.

No responses yet

Jan 20 2008

Herramientas que estoy usando para conseguir el SCJP

Published by dfreniche under Java, Programación, SCJP

Se podría pensar que para superar el SCJP, que a fin de cuentas no es más que un examen, bastaría con disponer de papel, lápiz, neuronas y cafeína en abundancia. Sin más misterios, lo más importante es estudiar, con todo lo que conlleva: entender, comprender, aprehender, memorizar, practicar…
Pero lo cierto es que estoy usando algunas otras herramientas, bien en la forma de libros, o de programas, que me están ayudando a conseguir alguno de los anteriores objetivos.

Libros

- en primer lugar me estoy leyendo los libros oficiales de Sun, correspondientes a los cursos SL-110: Fundamentals of the Java Programming Language, y SL-275 El lenguaje de programación Java. Estos libros, que en apariencia son muy sencillos y hasta inocentes, hacen hincapié en temas muy sensibles para la certificación. Por ejemplo, se deja caer que los Strings en Java son inmutables. Esta afirmación encierra mucho dolor si no se entiende, ya que el funcionamiento de los literales String y de la clase String es fundamental, tanto para programar con Java como para superar el SCJP.
- tras estos libros voy a pasar a leerme el libro de Kathy Sierra y Bert Bates, SCJP Sun Certified Programmer for Java 5 Study Guide. De momento lo he hojeado y tiene muy buena pinta, pero nada más.

- hoy he realizado la reserva de SCJP Sun Certified Programmer for Java 5 Practice Exams, para hacer exámenes por un tubo una vez acabemos con la teoría.

Un grupo de estudio

En Isotrol hay actualmente varias personas preparándose para obtener el SCJP. Pocas cosas motivan más a la hora de estudiar que hacerlo en grupo. Al compartir experiencias, uno pone el foco en algo que a los demás les ha pasado desapercibido, otro ha descubierto una web que merece la pena, un tercero dispone de unos apuntes o ejemplos geniales… La idea es disponer de una lista de correo, una página en la Wiki de Isotrol y tener reuniones periódicas para hablar de Java.

Programas

Por supuesto. Además del JDK y el vi, algo más vendría bién.

En primer lugar, para tomar apuntes, FreeMind es ideal. Una vez se acostumbra uno de nuevo a hacer esquemas, no puedes pasar sin él. Algunos ejemplos de los mapas, exportados a swf están en: apuntes SCJP
Por otro lado, el entorno Eclipse, para mi el único entorno para programar en Java (aunque NetBeans tampoco está mal)

Aunque no exactamente un programa (a fin de cuentas es un servicio), los Blocks de Notas de Google me ayudan a no olvidar enlaces interesantes para posterior lectura. Aquí tienes un enlace a mi block de notas de SCJP, oficialmente declarado zona de desastre.

Moodle. Además de ser una plataforma de e-learning, Moodle permite generar exámenes con preguntas aleatorias. Perfecto para ir apuntando cosas y luego repasarlas de forma divertida. Pronto dispondré de un Moodle operativo en freniche.com, con preguntas del SCJP. Por supuesto, será libre de usar, como el resto de la web.

Mi iPaq HW6915

Esta es mi gran baza para aprovechar el tiempo en el tren, en la espera de los desayunos, en cualquier sitio. Su capacidad de leer el correo, documentos en formato HTML / PDF / DOC y poder navegar por Internet le hacen el compañero ideal para estudiar arañando minutos al día.

4 responses so far

Nov 20 2007

Una de patrones de diseño

Published by dfreniche under Java, Programación

Me ha pasado AJSA de Isotrol un par de enlaces muy interesantes sobre Patrones de Diseño a los que he añadido otro par sacados de la lista I+D. Para los que no sepan de qué va esto, un Patrón de Diseño te muestra cómo diseñar (valga la repugnancia) el código de tu programa para hacer frente a un problema al que otras personas más sabias ya se han enfrentado. Es la reutilización pura y dura de las ideas, y no del código.

Bueno, no me enrollo más, mejor vete a leer los enlaces:

No responses yet