<?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>Plastikaweb, diseño y desarrollo de aplicaciones web</title>
	<atom:link href="http://www.plastikaweb.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.plastikaweb.com</link>
	<description>diseño y desarrollo de aplicaciones web</description>
	<lastBuildDate>Thu, 01 Dec 2011 06:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Gracias por tu apoyo</title>
		<link>http://www.plastikaweb.com/gracias-por-tu-apoyo/</link>
		<comments>http://www.plastikaweb.com/gracias-por-tu-apoyo/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 09:37:14 +0000</pubDate>
		<dc:creator>plastik</dc:creator>
		
		<guid isPermaLink="false">http://www.plastikaweb.com/?page_id=373</guid>
		<description><![CDATA[Gracias por tu ayuda. Seguiremos mejorando nuestros productos. Gràcies per la teva ajuda. Continuarem millorant la nostra feina. Thank you very much for your help. It is important for us! Plastikaweb]]></description>
			<content:encoded><![CDATA[<h4>Gracias por tu ayuda. Seguiremos mejorando nuestros productos.</h4>
<h4>Gràcies per la teva ajuda. Continuarem millorant la nostra feina.</h4>
<h4>Thank you very much for your help. It is important for us!</h4>
Plastikaweb]]></content:encoded>
			<wfw:commentRss>http://www.plastikaweb.com/gracias-por-tu-apoyo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress To Facebook</title>
		<link>http://www.plastikaweb.com/wordpress-to-facebook/</link>
		<comments>http://www.plastikaweb.com/wordpress-to-facebook/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 09:57:39 +0000</pubDate>
		<dc:creator>plastik</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[fanpages]]></category>
		<category><![CDATA[pages]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.plastikaweb.com/?p=330</guid>
		<description><![CDATA[<img src="http://www.plastikaweb.com/wp-content/uploads/2011/11/wptofb21.jpg"/>Wordpress To Facebook (wp-to-fb) es un plugin creado por Plastikaweb para Wordpress 3.0 y superiores, bajo licencia GPLv2.
Lo que ofrece el plugin, es una o varias conexiones a una página de Facebook. Cada conexión necesita una aplicación de Facebook que apunte hacia la conexión de wptofb. Al crear ésta, el sistema nos mostrará la URL que tenemos que usar en nuestra Fb App.]]></description>
			<content:encoded><![CDATA[<p>WordPress To Facebook (wp-to-fb) es un plugin creado por Plastikaweb para WordPress 3.0 y superiores, bajo licencia <a href="http://www.gnu.org/licenses/gpl-2.0.html" target="_blank">GPLv2</a>.<br/>
Lo que ofrece el plugin, es una o varias conexiones a una <a href="http://www.facebook.com/FacebookPages" target="_blank">página de Facebook</a><br/>
Cada conexión necesita una aplicación de Facebook que apunte hacia la conexión de wptofb. Al crear ésta, el sistema nos mostrará la URL que tenemos que usar en nuestra Fb App. Luego introduce la Id y el Secret de la App en la conexión creada en wptofb.
</p>
<a  style=""  class="link-tip-top download "  href="http://wordpress.org/extend/plugins/wptofacebook/" target="_blank"  title="descargar desde directorio de plugins de wordpress.org" > descargar wp-to-fb desde directorio de plugins de wordpress.org </a>
<img class="ngg-singlepic ngg-none alignright borderimg" src="http://www.plastikaweb.com/wp-content/gallery/wptofb/screenshot-3.png" alt="Single edit view: title, facebook conns, automatic contents" width="650" height="580" />
<br/>
<h4>Características principales:</h4>
&nbsp;
<ul>
	<li>Tantas conexiones entre WordPress y Facebook como se deseen.</li>
	<li>Preparado para multi-idioma. Lleva de serie los archivos de idiomas inglés, castellano y catalán.</li>
	<li>Campos generales
<ul>
	<li>Puedes elegir un título general.</li>
	<li>Contenidos visibles o no para quienes no sean fans de tu página de Facebook.</li>
	<li>Campo para crear una intro o header, se permite HTML.</li>
	<li>Campo para crear un outro o footer, se permite HTML.</li>
	<li>Campo para crear contenido sólo visible para quienes no son fans, se permite HTML.</li>
</ul>
</li>
	<li>Contenidos automáticos.
<ul>
	<li>Selección del tipo de contenido (post, page u otros) y las categorías y/0 los tags.</li>
	<li>Ordenamiento de los contenidos por fecha, título o de manera aleatoria, tanto de forma ascendente como descente.</li>
	<li>Número de artículos a mostrar.</li>
</ul>
</li>
	<li>Contenidos manuales.
<ul>
	<li>Filtro por tipo de contenido (post, page u otros).</li>
	<li>Selección manual de cada post, arrastrando los artículos que queremos que aparezcan.</li>
	<li>Ordenamiento de los artículos arrastrándo con el ratón.</li>
</ul>
</li>
	<li>Plantillas.
<ul>
	<li>Elección de plantillas, de serie vienen dos, "excerpt" y "fullarticle" para mostrar en facebook diferentes diseños.</li>
	<li>Creación de nuevas plantillas, creando una subcarpeta con un nombre único dentro de la carpeta tpls, que contenga al menos los ficheros preview.png, style.css y tpl.php.</li>
	<li>Botones de facebook "share" y "like". Siempre dependerá evidentemente de la plantilla.</li>
</ul>
</li>
</ul>
<br/>
<img class="ngg-singlepic ngg-left borderimg alignleft" src="http://www.plastikaweb.com/wp-content/gallery/wptofb/screenshot-6.png" alt="An example of a facebook page with the contents loaded from WP" width="650" height="610" />
<br/>]]></content:encoded>
			<wfw:commentRss>http://www.plastikaweb.com/wordpress-to-facebook/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Páginas de Facebook &#8211; parte 2: Creando tu página</title>
		<link>http://www.plastikaweb.com/paginas-de-facebook-parte-2-creando-tu-pagina/</link>
		<comments>http://www.plastikaweb.com/paginas-de-facebook-parte-2-creando-tu-pagina/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 15:09:10 +0000</pubDate>
		<dc:creator>plastik</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[fanpages]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[pages]]></category>

		<guid isPermaLink="false">http://www.plastikaweb.com/?p=285</guid>
		<description><![CDATA[<img src="http://www.plastikaweb.com/wp-content/uploads/2011/11/foto_principal2.jpg"/>Como crear una página de Facebook, los primeros pasos donde elegir el grupo y la categoría a la que pertenece tu marca, así como el nombre que debe tener según las condiciones del servicio de páginas de Facebook.<br/>Examinaremos la primera vista de nuestra página recién creada.]]></description>
			<content:encoded><![CDATA[<blockquote   style="background-color:#EDEEF3;" ><p  style="padding:10;background-position:left top;font-size:12px;line-height:16px;line-height:25px;color:black;font-style:italic;" > Si aún no lo has hecho, consulta la primera parte de esta serie de tutoriales: <br/><a href="http://www.plastikaweb.com/paginas-de-facebook-parte-1-%C2%BFque-son/">Páginas de Facebook - parte 1: ¿Qué son?</a></p><div style="height:1px;"></div></blockquote>
<h4>Elegir tu tipo de marca</h4>
<p>Desde la URL <a href="http://www.facebook.com/page" target="_blank">www.facebook.com/page</a> accederemos al primer punto en el proceso de creación de nuestra página de Facebook.<br/>
En un principio nos encontramos con seis grandes grupos, de los que tendremos que elegir aquel con el cual nuestro negocio, marca o asociación muestre una mayor afinidad para luego elegir una categoría dentro del grupo seleccionado, proporcionar algunos datos iniciales sobre nuestra actividad y aceptar las condiciones de uso de las páginas de Facebook.</p>
<ul>
<li>Lugar o negocio local</li>
<li>Empresa, organización o institución</li>
<li>Marca o producto</li>
<li>Artista, grupo de música o personaje público</li>
<li> Entretenimiento</li>
<li>Causa o comunidad</li>
</ul>
<img src="http://www.plastikaweb.com/wp-content/uploads/2011/11/page_create2.jpg" alt="" title="page_create2" width="650" height="476" class="alignright size-full wp-image-300 borderimg" />
<p>Elige con cuidado tu grupo y categoría, pero no te obsesiones. Más tarde podrás cambiar ambos si lo crees conveniente.<br/>Elige un nombre apropiado para tu página. Que sea descriptivo y específico para tu marca (recuerda que será una de las primeras cosas que los motores de búsqueda   rastrearán sobre tu página), con un uso adecuado de la puntuación y de las mayúsculas, sin abusar de ellas. Lee las <a href="http://www.facebook.com/page_guidelines.php" target="_blank">normas para las páginas de facebook</a> para más información. Piensa que el nombre que elijas podrá ser modificado siempre y cuando tengas un número de fans de tu página inferior a 100.</p>
<h4>Foto de perfil</h4>
<p>Una vez aceptamos la selección, y hacemos click en seguir, aparece una pantalla donde nos pregunta si queremos subir una imagen desde nuestro ordenador, o proporcionar una dirección web de una imagen ya presente en algún servidor web. Dicha imagen no debe pesar más de 4 mb, ni tener una anchura inferior a los 180px. <br/> Tanto si queremos elegir dicha imagen en este momento como si omitimos el paso, más tarde tendremos la oportunidad de vincular una imagen o cambiar la que ya teníamos.</p>
<img src="http://www.plastikaweb.com/wp-content/uploads/2011/11/page_image.jpg" alt="elegir imagen para página de facebook" title="elegir imagen para página de facebook" width="650" height="392" class="alignright size-full wp-image-305 borderimg" />
<h4>Invita a amistades y comparte tu página</h4>
<p>La siguiente página "Get Fans", te permite invitar a tus amistades de facebook o importar contactos de distintos servicios de mail, así como los contactos de programas de correo de escritorio tales como outlook, thunderbird, apple mail, etc.<br/>También puedes compartir tu página en tu perfil personal, y hacerte fan de la misma.<blockquote   style="background-color:#EDEEF3;" ><p  style="padding:10;background-position:left top;font-size:12px;line-height:16px;line-height:40px;color:black;font-style:italic;" > Algunas opciones pueden variar según el grupo y categoría elegidas. </p><div style="height:1px;"></div></blockquote></p>

<img src="http://www.plastikaweb.com/wp-content/uploads/2011/11/get_fans.jpg" alt="importar amistades y contactos en tu página de facebook" title="importar amistades y contactos en tu página de facebook" width="650" height="460" class="alignright size-full wp-image-308 borderimg" />
<h4>Información básica</h4>
<p>Y en el tercer paso y definitivo, podemos proporcionar una url de nuestro sitio web y una breve descripción de un máximo de 225 caracteres.</p>
<img src="http://www.plastikaweb.com/wp-content/uploads/2011/11/page_info.jpg" alt="Información básica de mi página de facebook" title="Información básica de mi página de facebook" width="650" height="328" class="alignright size-full wp-image-310 borderimg" />
<h4>Vista inicial de la página</h4>
<img src="http://www.plastikaweb.com/wp-content/uploads/2011/11/pagina_inici.jpg" alt="página recién creada" title="página recién creada" width="650" height="702" class="alignright size-full wp-image-321 borderimg" />
<p>Tras pasar esos 3 pasos, de momento tendremos una vista bastante poco atractiva de nuestra página recién creada, en el siguiente tutorial describiré las diferentes zonas de la misma, y como realizar la configuración básica.</p>]]></content:encoded>
			<wfw:commentRss>http://www.plastikaweb.com/paginas-de-facebook-parte-2-creando-tu-pagina/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Páginas de Facebook &#8211; parte 1: ¿Qué son?</title>
		<link>http://www.plastikaweb.com/paginas-de-facebook-parte-1-%c2%bfque-son/</link>
		<comments>http://www.plastikaweb.com/paginas-de-facebook-parte-1-%c2%bfque-son/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 13:37:57 +0000</pubDate>
		<dc:creator>plastik</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[fanpages]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[pages]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.plastikaweb.com/?p=207</guid>
		<description><![CDATA[<img src="http://www.plastikaweb.com/wp-content/uploads/2011/10/foto_principal.jpg"/>Breve introducción a las páginas de Facebook (Facebook Fanpages o Facebook Pages), donde doy una visión general de su potencia y características. <br/>Este artículo es el primero de una serie sobre las posibilidades de esta herramienta de promoción y marketing para marcas, empresas, asociaciones, etc.]]></description>
			<content:encoded><![CDATA[<p>Las <strong>páginas de Facebook</strong> ("Fan Pages" o simplemente "Facebook Pages") son una de las herramientas más potentes que puedes usar para promocionar tu marca, empresa o asociación, compartir información y conectar con tus usuarios, fans o clientes.
</p>
<h4>Like Button</h4><p><img src="http://www.plastikaweb.com/wp-content/uploads/2011/10/Captura-de-pantalla-2011-10-06-a-las-10.07.12.jpg" alt="" title="Botón &quot;Me gusta&quot;" width="91" height="32" class="alignright size-full wp-image-281" />La clave de todo ello reside en el botón de “<strong>me gusta</strong>”, que actúa como un medio rápido y viral para que los fans de tu página compartan esta con sus amistades. En cierta manera una página de Facebook es como un micro-site, dentro del mismo Facebook. Es el perfil de tu marca, o grupo de música, o empresa en Facebook.</p>
<h4>¿Perfil personal o Fanpage?</h4>
<p>En algunos aspectos una página de Facebook es similar al perfil personal que pueda tener un usuario en la red social, pero va mucho más allá. Un perfil personal está orientado a un único ser humano, a una persona real, y se conecta con otros perfiles, que en la jerga de facebook se llaman “amistades”.
<br/>
Una página de Facebook habla sobre una marca, que puede ser gestionada de una manera más anónima y <strong>administrada por una o varias personas</strong>. Los perfiles personales luego pueden conectarse a esa página mediante el mencionado botón de “me gusta” y pasan entonces a ser “fans” de esa marca.
<br/>
La página de fb puede <strong>conectarse con otras páginas</strong>, pero no directamente con perfiles personales y sus <strong>contenidos son públicos y visibles para los motores de búsqueda</strong>.
</p>
<h4>Características destacadas de una página de Facebook</h4>
<ul>
	<li>Funcionamiento viral. <strong>Tus fans pueden compartir tus mensajes y comentarios </strong>del muro de tu página. Lo bueno es que pueden hacerlo en el muro de su perfil personal, en el de sus amistades o en los grupos u otras páginas a las que estén subscritos.</li><br/>
	<li>Cada vez más los buscadores web tienen en cuenta <strong>el funcionamiento de las redes sociales para indexar</strong> resultados. Así tus fans pueden ayudarte a subir tu ranking en dichos buscadores compartiendo los contenidos de tu página o haciendo click en el botón de “me gusta”.</li><br/>
	<li>Existen maneras de publicitar tus páginas de Facebook mediante su <strong>sistema de publicidad o Ads</strong>. Puedes elegir el “target” u objetivo de manera bastante concisa, mediante filtros por sexo, edad, gustos, zona geográfica y mantener la experiencia del usuario siempre dentro de Facebook redirigiéndolo a tu página de Facebook.</li><br/>
	<li>Aplicaciones. Ya existen por defecto algunas al crear tu página, como los eventos, las fotos y videos, o las anotaciones. Pero existe la posibilidad de <strong>ampliar las funcionalidades</strong> de tu página de Facebook, mediante la adición de nuevas. Algunas son distribuidas gratuitamente, otras son de pago. También se pueden realizar aplicaciones a medida, utilizando la Graph API de Facebook. Así podríamos, por ejemplo, programar una página inicial o “landing page” con información sobre nuestra marca donde diésemos la bienvenida  a  los usuarios, ofrecerles información e invitarlos a hacerse fans. Del mismo modo podemos programar contenidos visibles sólo para fans y otros para los que aún no lo son.</li><br/>
	<li>Disponen de una herramienta de <strong>análisis</strong> para sus administradores, con las métricas de visitas, perfiles de los visitantes, posts más valorados a lo largo de un periodo de tiempo, etc. Todo ello muy útil para mejorar los contenidos de las páginas y por lo tanto, tu negocio , marca o asociación.<br/>
También disponen de una herramienta visible para todo el mundo llamada “People Talking About” y que muestra la relevancia de tu página y el interés e interacción de los visitantes (sean fans o no) con sus contenidos mediante una valoración numérica.</li><br/>
</ul>
<h4>¿Y que más?</h4>
<p>En la segunda parte de esta serie, hablaré sobre como crear una página en facebook y la configuración básica de la misma. Y en sucesivas entregas, ampliaré cada uno de los puntos enumerados en esta introducción.</p>]]></content:encoded>
			<wfw:commentRss>http://www.plastikaweb.com/paginas-de-facebook-parte-1-%c2%bfque-son/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Plastikaweb</title>
		<link>http://www.plastikaweb.com/tecnologias/</link>
		<comments>http://www.plastikaweb.com/tecnologias/#comments</comments>
		<pubDate>Tue, 17 May 2011 15:27:21 +0000</pubDate>
		<dc:creator>plastik</dc:creator>
		
		<guid isPermaLink="false">http://www.plastikaweb.com/?page_id=173</guid>
		<description><![CDATA[Bienvenido - bienvenidaEstás en la página de Plastikaweb en Facebook. Mi nombre es Carlos Matheu. Durante más de 14 años he estado involucrado en el diseño de aplicaciones web. En un principio guiado por la curiosidad y asombrado ante lo que podía crear y el potencial de la Red, hasta el día de hoy, en [...]]]></description>
			<content:encoded><![CDATA[<div class="desc">
<img class="retrato" src="http://www.plastikaweb.com/wp-content/uploads/2011/05/cma.png" alt="" />
<h3>Bienvenido - bienvenida<br/>Estás en la página de <span class="plastikaweb">Plastikaweb</span> en <span class="facebook">Facebook</span>. </h3>
<p style="text-align: justify;">Mi nombre es Carlos Matheu. Durante más de 14 años he estado involucrado en el diseño de aplicaciones web. En un principio guiado por la curiosidad y  asombrado ante lo que podía crear y el potencial de la Red, hasta el día de hoy, en que me dedico profesionalmente como freelance, ya desde hace 4 años.</p>
<p style="text-align: justify;">Todo ello para poder ofrecerte soluciones, porque tu presencia en la red no un fin en si, sino una herramienta para tu negocio.</p>
<p style="text-align: justify;">Si tienes una idea, o un sueño, no lo dudes, pregúntame sin compromiso!</p>
<p>&nbsp;</p>
<a  style=""  class="pdf "  href="http://plastikaweb.emurse.com/" target="_blank" > Carlos Matheu / plastikaweb </a>
</div>

<div class="dcs-one-fifth">
<div class="wp">
<h3>WordPress</h3>
Maquetación CSS<br/>Plugins
<br/>
Conexión con facebook

</div>
</div>

<div class="dcs-one-fifth">
<div class="joomla">
<h3>Joomla!</h3>
Maquetación CSS<br/>Extensiones<br/>
Conexión con facebook

</div>
</div>

<div class="dcs-one-fifth">
<div class="fb">
<h3>facebook</h3>
Iframe apps<br/>Fan pages<br/>
Digital marketing

</div>
</div>

<div class="dcs-one-fifth">
<div class="php">
<h3>PHP</h3>
Preferentemente trabajo con Codeigniter Framework

</div>
</div>

<div class="dcs-one-fifth">
<div class="html5">
<h3>HTML5</h3>
APIs relacionadas, CSS 3
<br/>
XHTML / CSS<br/>
Web semántica

</div>
</div>

<div class="dcs-one-fifth">
<div class="jquery">
<h3>javascript</h3>
Jquery<br/>Prototype, Scriptaculous...

</div>
</div>

<div class="dcs-one-fifth">
<div class="drupal">
<h3>Drupal</h3>
Maquetación CSS

</div>
</div>

<div class="dcs-one-fifth-last">
<div class="as3">
<h3>AS 3.0</h3>
Flash y actionscript
<br/>
Conexión con PHP y MySQL

</div>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.plastikaweb.com/tecnologias/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nueva Fanpage de Facebook</title>
		<link>http://www.plastikaweb.com/nueva-fanpage-de-facebook/</link>
		<comments>http://www.plastikaweb.com/nueva-fanpage-de-facebook/#comments</comments>
		<pubDate>Mon, 16 May 2011 06:37:44 +0000</pubDate>
		<dc:creator>plastik</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Novedades]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.plastikaweb.com/?p=151</guid>
		<description><![CDATA[Llevo algunas semanas desarrollando un nuevo plugin para Wordpress, que llevará el nombre de <em>Wordpress To Facebook</em>, y que permitirá conectar los contenidos de la página web principal de Plastikaweb con su <a title="Plastikaweb Facebook Fanpage" href="http://www.facebook.com/plastikaweb" target="_blank">fanpage de Facebook</a>.<br/>La gran ventaja es no tener que duplicar contenidos en ambos sistemas, y la actualización automática de la fanpage de Facebook a la vez que la página web principal, entre otros muchos.<br/>
En breve estará disponible de manera libre y abierta para quien quiera.]]></description>
			<content:encoded><![CDATA[Llevo algunas semanas desarrollando un nuevo plugin para WordPress, que llevará el nombre de <em>WordPress To Facebook</em>, y que permitirá conectar los contenidos de la página web principal de Plastikaweb con su <a title="Plastikaweb Facebook Fanpage" href="http://www.facebook.com/plastikaweb" target="_blank">fanpage de Facebook</a>.<br/>La gran ventaja es no tener que duplicar contenidos en ambos sistemas, y la actualización automática de la fanpage de Facebook a la vez que la página web principal, entre otros muchos.<br/><span id="more-151"></span>
En breve estará disponible de manera libre y abierta para quien quiera, de momento estoy ultimando algunos retoques y realizando testeos, pero ya os puedo adelantar las características del mismo:
<br/>
<br/>
<ul>
	<li>Capacidad para crear varias conexiones con Facebook, permitiendo de este modo tantas pestañas en una fanpage como se desee.</li>
	<li>Configuración total de los contenidos de una pestaña, pudiendo elegir manualmente, uno a uno los posts, pages, etc que se desee y ordenándolos de la manera que se desee, o eligiéndolos según el tipo de post, los términos de taxonomía. También eligiendo la forma de ordenarlos y el número máximo de artículos a mostrar.</li>
	<li>Inserción de posts, pages y otros tipos de contenidos (custom post types).</li>
	<li>Campos personalizables para introducir una introducción, un pie de página y un contenido para los que no sean fans de tu fanpage de Facebook.</li>
	<li>Restricción de contenidos principales a solamente quienes sean fans de tu fanpage de Facebook.</li>
	<li>Elección de plantillas (de momento crearé tres tipos: contenido, extractor y titulares).</li>
</ul>
De momento podéis comprobar el resultado, ya he colgado un par de conexiones con mi página principal, una con la <a href="http://www.facebook.com/plastikaweb?sk=app_151345684934923" target="_blank">presentación de plastikaweb</a> y otra con un resumen de los <a title="Tutoriales: Plastikaweb Facebook Fanpage" href="http://www.facebook.com/plastikaweb?sk=app_213035218714826" target="_blank">tutoriales</a> sobre programación que realizo.
<br/>
En breve más.]]></content:encoded>
			<wfw:commentRss>http://www.plastikaweb.com/nueva-fanpage-de-facebook/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash + Google Analytics</title>
		<link>http://www.plastikaweb.com/flash-google-analytics/</link>
		<comments>http://www.plastikaweb.com/flash-google-analytics/#comments</comments>
		<pubDate>Fri, 22 Apr 2011 18:38:32 +0000</pubDate>
		<dc:creator>plastik</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google analytics]]></category>

		<guid isPermaLink="false">http://www.plastikaweb.com/?p=81</guid>
		<description><![CDATA[<p><img src="http://www.plastikaweb.com/wp-content/uploads/2011/04/analytics2.jpg"/>Google Analytics es un servicio de Google para llevar cuenta de las estadísticas de una sitio web. </p><p>Es gratuito y lo único que necesitas para utilizarlo es una cuenta de Google.
Las ventajas son más que evidentes, los desarrolladores Flash y Actionscript podemos hacer seguimiento de como los usuarios interactuan con nuestras aplicaciones, así como nuestros clientes.</p>]]></description>
			<content:encoded><![CDATA[<strong>Google Analytics</strong> es un servicio de Google para llevar cuenta de las estadísticas de una sitio web. Es gratuito y lo único que necesitas para utilizarlo es una cuenta de Google.

Las ventajas son más que evidentes, los desarrolladores Flash y Actionscript podemos hacer seguimiento de como los usuarios interactuan con nuestras aplicaciones, así como nuestros clientes.
<ol>
	<li>
<h4>GATC</h4>
Primero hemos de añadir el código de "tracking" (<strong>GATC: Google Analytics Tracking Code</strong>), Google te lo proporciona ya con tu ID personal, sólo debes añadirlo en el código HTML justo antes del cierre de la etiqueta &lt;/body&gt;.Es como sigue, utilizando el ID correspondiente según cada caso:</li>
<div id="wpshdo_1" class="wp-synhighlighter-outer"><div id="wpshdt_1" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_1"></a><a id="wpshat_1" class="wp-synhighlighter-title" href="#codesyntax_1"  onClick="javascript:wpsh_toggleBlock(1)" title="Click to show/hide code block">GATC</a></td><td align="right"><a href="#codesyntax_1" onClick="javascript:wpsh_code(1)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_1" onClick="javascript:wpsh_print(1)" title="Print code"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_1" class="wp-synhighlighter-inner" style="display: block;"><pre class="javascript" style="font-family:monospace;"><span class="sy0">&lt;</span>script type<span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span><span class="sy0">&gt;</span><span class="co1">// &lt;![CDATA[</span>
<span class="kw2">var</span> gaJsHost <span class="sy0">=</span> <span class="br0">&#40;</span><span class="br0">&#40;</span><span class="st0">&quot;https:&quot;</span> <span class="sy0">==</span> document.<span class="me1">location</span>.<span class="me1">protocol</span><span class="br0">&#41;</span> <span class="sy0">?</span> <span class="st0">&quot;https://ssl.&quot;</span> <span class="sy0">:</span> <span class="st0">&quot;http://www.&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
document.<span class="kw1">write</span><span class="br0">&#40;</span>unescape<span class="br0">&#40;</span><span class="st0">&quot;%3Cscript src='&quot;</span> <span class="sy0">+</span> gaJsHost <span class="sy0">+</span> <span class="st0">&quot;google-analytics.com/ga.js'
type='text/javascript'%3E%3C/script%3E&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="co1">// ]]&gt;&lt;/script&gt;</span>
&lt;script type=&quot;text/javascript&quot; src=&quot;http://www.google-analytics.com/ga.js&quot;&gt;// &lt;![CDATA[
&nbsp;
// ]]&gt;&lt;/script&gt;
<span class="sy0">&lt;</span>script type<span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span><span class="sy0">&gt;</span><span class="co1">// &lt;![CDATA[</span>
<span class="kw1">try</span> <span class="br0">&#123;</span>
<span class="kw2">var</span> pageTracker <span class="sy0">=</span> _gat._getTracker<span class="br0">&#40;</span><span class="st0">&quot;UA-xxxxx-yy&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
pageTracker._trackPageview<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span> <span class="kw1">catch</span><span class="br0">&#40;</span>err<span class="br0">&#41;</span> <span class="br0">&#123;</span><span class="br0">&#125;</span>
<span class="co1">// ]]&gt;&lt;/script&gt;</span></pre></div></div>
	<li>
<h4>Gaforflash</h4>
Descargamos la libreria <a title="Google Analytics Tracking For Adobe Flash" href="http://code.google.com/p/gaforflash/downloads/list" target="_blank"><strong>gaforflash</strong></a><strong> </strong><strong>(Google Analytics Tracking For Adobe Flash) </strong>para AS3. Podemos usar el archivo swc para Actionscript 3 o el que viene para Flash.  Yo aquí describo el que hace uso de Actionscript, pero el de Flash es prácticamente similar.</li>
&nbsp;
	<li>
<h4>Importar clases</h4>
Importamos las clases necesarias al inicio de nuestra clase principal o donde queramos referenciar la utilidad.

<div id="wpshdo_2" class="wp-synhighlighter-outer"><div id="wpshdt_2" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_2"></a><a id="wpshat_2" class="wp-synhighlighter-title" href="#codesyntax_2"  onClick="javascript:wpsh_toggleBlock(2)" title="Click to show/hide code block">importar classes</a></td><td align="right"><a href="#codesyntax_2" onClick="javascript:wpsh_code(2)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_2" onClick="javascript:wpsh_print(2)" title="Print code"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_2" class="wp-synhighlighter-inner" style="display: block;"><pre class="actionscript3" style="font-family:monospace;"><span class="kw1">import</span> com<span class="sy0">.</span>google<span class="sy0">.</span>analytics<span class="sy0">.</span>AnalyticsTracker<span class="sy0">;</span>
<span class="kw1">import</span> com<span class="sy0">.</span>google<span class="sy0">.</span>analytics<span class="sy0">.</span>GATracker<span class="sy0">;</span></pre></div></div></li>
&nbsp;
	<li>
<h4>Instancia de la Class</h4>
Creamos una instancia de la clase GATracker.

<div id="wpshdo_3" class="wp-synhighlighter-outer"><div id="wpshdt_3" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_3"></a><a id="wpshat_3" class="wp-synhighlighter-title" href="#codesyntax_3"  onClick="javascript:wpsh_toggleBlock(3)" title="Click to show/hide code block">instancia de GATracker</a></td><td align="right"><a href="#codesyntax_3" onClick="javascript:wpsh_code(3)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_3" onClick="javascript:wpsh_print(3)" title="Print code"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_3" class="wp-synhighlighter-inner" style="display: block;"><pre class="actionscript3" style="font-family:monospace;"><span class="kw1">private</span> <span class="kw2">var</span> _tracker<span class="sy0">:</span> GATracker = <span class="kw1">new</span> GATracker<span class="br0">&#40;</span><span class="kw1">this</span><span class="sy0">,</span>ID<span class="sy0">,</span>trackingMode<span class="sy0">,</span>debugging<span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>

Los parámetros son como siguen:
<ul>
	<li>una referencia al objeto actual.</li>
	<li>el "<strong>web ID</strong>", puedes ofrecerlo directamente ("UA-xxxxx-yy") o hacer referencia a él mediante DOM, ("window.pageTracker").</li>
	<li>el tipo de "tracking", puede ser "<strong>Bridge</strong>" (control del "tracking" del HTML i del contenido Flash) o "<strong>AS3</strong>" (control únicamente del código Actionscript). Si utilizamos el método "Bridge" tenemos que tener la precaución de que el parámetro allowScriptAccess del objeto Flash embedido en el HTML tenga el valor "always".</li>
	<li>"<strong>debugging</strong>". Creo que está claro...</li>
</ul>
</li>
&nbsp;
	<li>
<h4>Seguimiento de eventos</h4>
Sólo nos queda añadir de que eventos queremos hacer seguimiento, lo más inmediato son evidentemente los cambios de sección pero podemos hacer "tracking" de cualquier acción del usuario, como el envio de un formulario, el visionado de un video, el click en un enlace externo, lo que sea.
Sólo añadiremos el método <strong>trackPageview </strong>en el listener, el frame, la función, etc que lance un evento.  Por ejemplo:

&nbsp;

<div id="wpshdo_4" class="wp-synhighlighter-outer"><div id="wpshdt_4" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_4"></a><a id="wpshat_4" class="wp-synhighlighter-title" href="#codesyntax_4"  onClick="javascript:wpsh_toggleBlock(4)" title="Click to show/hide code block">método trackPageview</a></td><td align="right"><a href="#codesyntax_4" onClick="javascript:wpsh_code(4)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_4" onClick="javascript:wpsh_print(4)" title="Print code"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_4" class="wp-synhighlighter-inner" style="display: block;"><pre class="actionscript3" style="font-family:monospace;">_tracker<span class="sy0">.</span>trackPageview<span class="br0">&#40;</span><span class="st0">&quot;/trackingName&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>

donde "/trackingName" es el nombre que aparecerá en Google Analytics para el seguimiento del evento. Es importante añadir siempre la barra "/" al principio.</li>
&nbsp;
	<li>
<h4>Anexo</h4>
Enlaces sobre el tema:
<ul>
	<li> <a title="Google Analytics Tracking for Adobe Flash" href="http://code.google.com/intl/ca/apis/analytics/docs/tracking/flashTrackingIntro.html" target="_blank">Google Analytics Tracking for Adobe Flash
</a></li>
	<li><a href="http://code.google.com/p/gaforflash/">gaforflash - Google Analytics Tracking For Adobe Flash</a></li>
	<li><a title="Google Analytics Blog: Web Analytics Tips &amp;amp; Tricks: Want to track Adobe Flash? Now you can!" href="http://analytics.blogspot.com/2008/11/want-to-track-adobe-flash-now-you-can.html" target="_blank">Google Analytics Blog: Web Analytics Tips &amp; Tricks: Want to track Adobe Flash? Now you can!</a></li>
	<li><span class="sourceRowText"><a title="Google Analytics" href="http://www.google.com/analytics/es-ES/" target="_blank">Google Analytics
</a></span></li>
</ul>
</li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.plastikaweb.com/flash-google-analytics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>trabajos</title>
		<link>http://www.plastikaweb.com/trabajos/</link>
		<comments>http://www.plastikaweb.com/trabajos/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 11:01:13 +0000</pubDate>
		<dc:creator>plastik</dc:creator>
		
		<guid isPermaLink="false">http://www.plastikaweb.com/?page_id=13</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://www.plastikaweb.com/trabajos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Widget que muestra el tiempo con Actionscript 3 y MVC</title>
		<link>http://www.plastikaweb.com/widget-que-muestra-el-tiempo-con-actionscript/</link>
		<comments>http://www.plastikaweb.com/widget-que-muestra-el-tiempo-con-actionscript/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 07:33:06 +0000</pubDate>
		<dc:creator>plastik</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[mvc]]></category>

		<guid isPermaLink="false">http://www.plastikaweb.com/?p=5</guid>
		<description><![CDATA[<img src="http://www.plastikaweb.com/wp-content/uploads/2011/04/weather-as-27.jpg"/>Este pequeño programa realizado en Actionscript 3.0, nos sirve de excusa para realizar un ejercicio de POO con el <strong>patrón de diseño MVC (Modelo-Vista-Controlador)</strong>, que separa en 3 capas el interface de usuario, la lógica de negocio y el modelo de datos. 
Mostraremos información metereológica actualizada de una ciudad de nuestra elección y los datos los obtendremos vinculando el widget al sitio de <a href="http://www.weather.com" target="_blank">weather.com</a>.]]></description>
			<content:encoded><![CDATA[Este widget se puede compilar como un proyector exe o como una aplicación Adobe AIR desde Adobe Flash y os funcionará correctamente como una aplicación de escritorio. Si por el contrario ejecutáis el compilado swf desde el escritorio producirá un error de <a title="Flash Player - Sandbox" href="http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&amp;file=00000347.html" target="_blank">seguridad Sandbox</a>.

Igualmente si lo ejecutáis desde un servidor, la llamada al XML generado desde el servidor de weather.com os generará un error de seguridad. Esto que puede parecer un engorro, se debe a una directiva de seguridad típica en aplicaciones frontend como es Flash. Utilizando un un fichero de servidor intermedio que realize la petición al servidor de datos  se puede en cierta manera burlar.

&nbsp;

<span class="dcs-scode">De momento y para centrarnos en la estructura y el funcionamiento de la aplicación, obviaré estas consideraciones sobre seguridad en Flash Player, y realizaré la petición de datos directamente a weather.com.</span>
<ol>
	<li>
<h4>Registro en weather.com.</h4>
Los datos los recogemos de <a title="weather.com" href="http://www.weather.com" target="_blank">www.weather.com</a> mediante XML, para lo cual necesitamos crear una cuenta de usuario desde <a title="https://registration.weather.com/ursa/profile" href="https://registration.weather.com/ursa/profile" target="_blank">https://registration.weather.com/ursa/profile</a>.  Una vez completado el proceso recibimos en nuestra cuenta de correo nuestro ID Partner, el License Key, la url para descargar el sdk con información ampliada  y ejemplos de como configurar una llamada al XML que nos ofrece el servicio.

La url que debemos configurar y que generará el XML con los datos del clima de la localización seleccionada será algo así:

<span class="dcs-scode"><em> http://xoap.weather.com/weather/local/30339?cc=*&amp;dayf=5&amp;link=xoap&amp;prod=xoap&amp;par=[PartnerID]&amp;key=[LicenseKey]</em>
</span>

donde PartnerID es tu Partner ID y License Key tu número único de licencia que te han enviado vía email. En este caso 30339 es el código local para Atlanta, puedes buscar el id para otras zonas desde weather.com extrayendo el id de la url al realizar una búsqueda.

En mi caso para buscar el tiempo de Barcelona, la url seria :

<a href="http://xoap.weather.com/weather/local/SPXX0015?cc=*&amp;dayf=1&amp;link=xoap&amp;prod=xoap&amp;par=1126782060&amp;key=7d908860312f34ae&amp;unit=m" target="_blank">http://xoap.weather.com/weather/local/SPXX0015?cc=*&amp;dayf=1&amp;link=xoap&amp;prod=xoap&amp;par=1126782060&amp;key=7d908860312f34ae&amp;unit=m</a>

el último parámetro "unit" nos permite elegir el sistema métrico para los datos y mostrar así por ejemplo la temperatura en ºCelsius.

<img title="www.weather.com" src="http://www.plastikaweb.com/wp-content/uploads/2011/04/weather1.jpg" alt="" width="650" height="243" /></li>
	<li>
<h4>Archivos y estructura de la aplicación.</h4>
<img class="alignleft size-full wp-image-135" title="estructura weatger widget" src="http://www.plastikaweb.com/wp-content/uploads/2011/04/estructura.jpg" alt="estructura weatger widget" width="300" height="300" />

La aplicación la compilaremos en la herramienta de autoría Flash de Adobe, correspondiendo un archivo .fla vacío con el nombre de <strong>Document Class de Weather</strong>.

Dentro del paquete <strong>com.plastikaweb.controller</strong> tenenos la clase <strong>WeatherController</strong> que será la parte de control del patrón.
Dentro de <strong>com.plastikaweb.model WeatherModel</strong>, correspondiente al modelo.
Dentro de <strong>com.plastikaweb.view</strong> tres clases correspondientes a los tres elementos que mostraremos, <strong>DataWeatherView</strong> (campo con una frase y varios datos en ella, ciudad, temperatura y humedad), <strong>IconWeatherView</strong> (pictograma correspondiente al clima) y <strong>TempWeatherView</strong> (campo con la temperatura en tamaño más grande).

La carpeta icons contiene todos los ficheros png que muestran el pictograma del clima, tienen una numeración predeterminada que va de 0.png a 47.png. Con el sdk de weather.com se entrega una colección de los mismos en dos formatos, grande y pequeño.

Para cambiar los iconos se pueden crear una nueva colección o descargar una desde por ejemplo <a href="http://liquidweather.net/icons.php#iconsets">http://liquidweather.net/icons.php#iconsets</a>.</li>
	<li>
<h4>Model Class - WeatherModel.as.</h4>
Destacar la función <em>load(),</em> declarada como pública ya que será la que desde el controlador sea llamada cada vez que queramos actualizar los datos, el evento "update" que generamos en <em>onComplete()</em> cada vez recibimos los datos del servidor y que servirá para actualizar las vistas que estarán escuchando dicho evento, y los tres getters que simplemente retornan datos personalizados para actualizar las vistas.

&nbsp;

<div id="wpshdo_5" class="wp-synhighlighter-outer"><div id="wpshdt_5" class="wp-synhighlighter-collapsed"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_5"></a><a id="wpshat_5" class="wp-synhighlighter-title" href="#codesyntax_5"  onClick="javascript:wpsh_toggleBlock(5)" title="Click to show/hide code block">WeatherModel.as</a></td><td align="right"><a href="#codesyntax_5" onClick="javascript:wpsh_code(5)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_5" onClick="javascript:wpsh_print(5)" title="Print code"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_5" class="wp-synhighlighter-inner" style="display: none;"><pre class="actionscript3" style="font-family:monospace;"><span class="kw4">package</span> com<span class="sy0">.</span>plastikaweb<span class="sy0">.</span>model <span class="br0">&#123;</span>
&nbsp;
	<span class="kw1">import</span> <span class="kw6">flash.events</span><span class="sy0">.</span><span class="kw5">Event</span><span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.events</span><span class="sy0">.</span><span class="kw5">EventDispatcher</span><span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.net</span><span class="sy0">.</span><span class="kw5">URLLoader</span><span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.net</span><span class="sy0">.</span><span class="kw5">URLRequest</span><span class="sy0">;</span>
&nbsp;
	<span class="kw1">public</span> <span class="kw4">class</span> WeatherModel <span class="kw1">extends</span> <span class="kw5">EventDispatcher</span><span class="br0">&#123;</span>
&nbsp;
		<span class="kw1">public</span> static const UPDATE<span class="sy0">:</span><span class="kw5">String</span> = <span class="st0">&quot;update&quot;</span><span class="sy0">;</span><span class="co1">//constante que utilizaremos como descripción de evento personalizado</span>
		<span class="kw1">private</span> <span class="kw2">var</span> _weather_xml_url<span class="sy0">:</span><span class="kw5">String</span><span class="sy0">;</span>
		<span class="kw1">private</span> <span class="kw2">var</span> _weather_loader<span class="sy0">:</span><span class="kw5">URLLoader</span><span class="sy0">;</span>
		<span class="kw1">private</span> <span class="kw2">var</span> _data<span class="sy0">:</span><span class="kw5">XML</span><span class="sy0">;</span>
&nbsp;
		<span class="kw1">public</span> <span class="kw3">function</span> WeatherModel<span class="br0">&#40;</span><span class="kw7">url</span><span class="sy0">:</span><span class="kw5">String</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
			_weather_xml_url = <span class="kw7">url</span><span class="sy0">;</span>
			<span class="kw7">init</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
		<span class="br0">&#125;</span>
&nbsp;
		<span class="kw1">private</span> <span class="kw3">function</span> <span class="kw7">init</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw1">void</span> <span class="br0">&#123;</span>
			_weather_loader = <span class="kw1">new</span> <span class="kw5">URLLoader</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
			_weather_loader<span class="sy0">.</span><span class="kw7">addEventListener</span><span class="br0">&#40;</span><span class="kw5">Event</span><span class="sy0">.</span><span class="kw8">COMPLETE</span><span class="sy0">,</span> onComplete<span class="br0">&#41;</span><span class="sy0">;</span>
		<span class="br0">&#125;</span>
&nbsp;
		<span class="kw1">public</span> <span class="kw3">function</span> <span class="kw7">load</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw1">void</span> <span class="br0">&#123;</span>
			<span class="kw1">try</span> <span class="br0">&#123;</span>
			_weather_loader<span class="sy0">.</span><span class="kw7">load</span><span class="br0">&#40;</span><span class="kw1">new</span> <span class="kw5">URLRequest</span><span class="br0">&#40;</span>_weather_xml_url<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
			<span class="br0">&#125;</span><span class="kw1">catch</span> <span class="br0">&#40;</span><span class="kw7">error</span><span class="sy0">:</span><span class="kw5">SecurityError</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
			<span class="kw7">trace</span><span class="br0">&#40;</span><span class="st0">&quot;Error de seguridad al intentar abrir XML &quot;</span> <span class="sy0">+</span> <span class="kw5">Error</span><span class="br0">&#41;</span><span class="sy0">;</span>
			<span class="br0">&#125;</span>
		<span class="br0">&#125;</span>
&nbsp;
		<span class="kw1">private</span> <span class="kw3">function</span> onComplete<span class="br0">&#40;</span>e<span class="sy0">:</span><span class="kw5">Event</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw1">void</span> <span class="br0">&#123;</span>
			_data = <span class="kw1">new</span> <span class="kw5">XML</span><span class="br0">&#40;</span>_weather_loader<span class="sy0">.</span><span class="kw7">data</span><span class="br0">&#41;</span><span class="sy0">;</span>
			<span class="kw7">dispatchEvent</span><span class="br0">&#40;</span><span class="kw1">new</span> <span class="kw5">Event</span><span class="br0">&#40;</span>WeatherModel<span class="sy0">.</span>UPDATE<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><span class="co1">//generamos evento al completar con éxito la carga de datos</span>
		<span class="br0">&#125;</span>
&nbsp;
		<span class="kw1">public</span> <span class="kw3">function</span> <span class="kw1">get</span> temp<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw5">String</span> <span class="br0">&#123;</span>
			<span class="kw1">return</span> _data<span class="sy0">.</span>cc<span class="sy0">.</span>tmp<span class="sy0">.</span><span class="kw7">toString</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="st0">&quot;º&quot;</span><span class="sy0">;</span><span class="co1">//datos Tª</span>
		<span class="br0">&#125;</span>
&nbsp;
		<span class="kw1">public</span> <span class="kw3">function</span> <span class="kw1">get</span> extendedData<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw5">String</span> <span class="br0">&#123;</span>
			<span class="kw2">var</span> city<span class="sy0">:</span><span class="kw5">String</span> = _data<span class="sy0">.</span>loc<span class="sy0">.</span>dnam<span class="sy0">;</span>
			<span class="kw2">var</span> temp<span class="sy0">:</span><span class="kw5">String</span> = _data<span class="sy0">.</span>cc<span class="sy0">.</span>tmp<span class="sy0">;</span>
			<span class="kw2">var</span> hmid<span class="sy0">:</span><span class="kw5">String</span> = _data<span class="sy0">.</span>cc<span class="sy0">.</span>hmid<span class="sy0">;</span>
&nbsp;
			<span class="kw2">var</span> desc<span class="sy0">:</span><span class="kw5">String</span> = <span class="st0">&quot;Tiempo para &quot;</span><span class="sy0">+</span>city<span class="sy0">+</span><span class="st0">&quot;<span class="es0">\n</span>La temperatura es de &quot;</span><span class="sy0">+</span>temp<span class="sy0">+</span><span class="st0">&quot;ºC y la humedad relativa del aire es del &quot;</span><span class="sy0">+</span>hmid<span class="sy0">+</span><span class="st0">&quot;%&quot;</span><span class="sy0">;</span>
			<span class="kw1">return</span> desc<span class="sy0">;</span><span class="co1">//datos detalle ciudad + Tª + Humedad relativa</span>
		<span class="br0">&#125;</span>
&nbsp;
		<span class="kw1">public</span> <span class="kw3">function</span> <span class="kw1">get</span> icon<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw5">String</span> <span class="br0">&#123;</span>
			<span class="kw2">var</span> iconName<span class="sy0">:</span><span class="kw5">String</span> = _data<span class="sy0">.</span>cc<span class="sy0">.</span>icon<span class="sy0">.</span><span class="kw7">toString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
		iconName <span class="sy0">+</span>= <span class="st0">&quot;.png&quot;</span><span class="sy0">;</span>
			<span class="kw1">return</span> iconName<span class="sy0">;</span><span class="co1">//datos con nombre del pictograma a mostrar</span>
		<span class="br0">&#125;</span>
	<span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div></li>
	<li>
<h4>Controller Class - WeatherController.as.</h4>
Sólo destacar el método público <em>update()</em> que llama a <em>load()</em> de la clase <strong>WeatherModel</strong>.

&nbsp;

<div id="wpshdo_6" class="wp-synhighlighter-outer"><div id="wpshdt_6" class="wp-synhighlighter-collapsed"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_6"></a><a id="wpshat_6" class="wp-synhighlighter-title" href="#codesyntax_6"  onClick="javascript:wpsh_toggleBlock(6)" title="Click to show/hide code block">WeatherController.as</a></td><td align="right"><a href="#codesyntax_6" onClick="javascript:wpsh_code(6)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_6" onClick="javascript:wpsh_print(6)" title="Print code"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_6" class="wp-synhighlighter-inner" style="display: none;"><pre class="actionscript3" style="font-family:monospace;"><span class="kw4">package</span> com<span class="sy0">.</span>plastikaweb<span class="sy0">.</span>controller <span class="br0">&#123;</span>
&nbsp;
	<span class="kw1">import</span> <span class="kw6">flash.display</span><span class="sy0">.</span><span class="kw5">Sprite</span><span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.events</span><span class="sy0">.</span><span class="kw5">TimerEvent</span><span class="sy0">;</span>
	<span class="kw1">import</span> com<span class="sy0">.</span>plastikaweb<span class="sy0">.</span>model<span class="sy0">.</span>WeatherModel<span class="sy0">;</span>
&nbsp;
	<span class="kw1">public</span> <span class="kw4">class</span> WeatherController <span class="kw1">extends</span> <span class="kw5">Sprite</span> <span class="br0">&#123;</span>
&nbsp;
		<span class="kw1">private</span> <span class="kw2">var</span> _model<span class="sy0">:</span>WeatherModel<span class="sy0">;</span>
&nbsp;
		<span class="kw1">public</span> <span class="kw3">function</span> WeatherController<span class="br0">&#40;</span>m<span class="sy0">:</span>WeatherModel<span class="br0">&#41;</span> <span class="br0">&#123;</span>
			_model = m<span class="sy0">;</span>
		<span class="br0">&#125;</span>
&nbsp;
		<span class="kw1">public</span> <span class="kw3">function</span> update<span class="br0">&#40;</span>e<span class="sy0">:</span><span class="kw5">TimerEvent</span> = <span class="kw1">null</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw1">void</span> <span class="br0">&#123;</span>
			<span class="co1">//actualización de los datos</span>
			_model<span class="sy0">.</span><span class="kw7">load</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
		<span class="br0">&#125;</span>
	<span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div></li>
	<li>
<h4>View Class - DataWeatherView.as, IconWeatherView.as, TempWeatherView.as</h4>
He creado tres clases diferentes con diferentes formatos para mostrar los datos. Se podría crear una, o una clase pseudo-abstracta y que todas heredasen de esta, o que extendiese desde una Interface. Por simplicidad en en ejemplo he elegido esta opción.

No necesitan mucha explicación, cada una de ellas genera elementos visuales, ya sea un TextField con formato o  un Loader para cargar los pictogramas y los ubica en el escenario. Se les asigna un listener para actualizar la vista cuando los datos cambien en el modelo.
<div id="wpshdo_7" class="wp-synhighlighter-outer"><div id="wpshdt_7" class="wp-synhighlighter-collapsed"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_7"></a><a id="wpshat_7" class="wp-synhighlighter-title" href="#codesyntax_7"  onClick="javascript:wpsh_toggleBlock(7)" title="Click to show/hide code block">DataWeatherView.as</a></td><td align="right"><a href="#codesyntax_7" onClick="javascript:wpsh_code(7)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_7" onClick="javascript:wpsh_print(7)" title="Print code"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_7" class="wp-synhighlighter-inner" style="display: none;"><pre class="actionscript3" style="font-family:monospace;"><span class="kw4">package</span> com<span class="sy0">.</span>plastikaweb<span class="sy0">.</span>view <span class="br0">&#123;</span>
&nbsp;
	<span class="kw1">import</span> <span class="kw6">flash.display</span><span class="sy0">.</span><span class="kw5">Sprite</span><span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.events</span><span class="sy0">.</span><span class="kw5">Event</span><span class="sy0">;</span>
	<span class="kw1">import</span> com<span class="sy0">.</span>plastikaweb<span class="sy0">.</span>model<span class="sy0">.</span>WeatherModel<span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.text</span><span class="sy0">.</span><span class="kw5">TextField</span><span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.text</span><span class="sy0">.</span><span class="kw5">TextFormat</span><span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.text</span><span class="sy0">.</span><span class="kw5">TextFieldAutoSize</span><span class="sy0">;</span>
&nbsp;
	<span class="kw1">public</span> <span class="kw4">class</span> DataWeatherView <span class="kw1">extends</span> <span class="kw5">Sprite</span><span class="br0">&#123;</span>
&nbsp;
		<span class="kw1">private</span> <span class="kw2">var</span> _model<span class="sy0">:</span>WeatherModel<span class="sy0">;</span>
		<span class="kw1">private</span> <span class="kw2">var</span> _data_txt<span class="sy0">:</span><span class="kw5">TextField</span><span class="sy0">;</span>
&nbsp;
		<span class="kw1">public</span> <span class="kw3">function</span> DataWeatherView<span class="br0">&#40;</span>m<span class="sy0">:</span>WeatherModel<span class="br0">&#41;</span> <span class="br0">&#123;</span>
			<span class="kw2">var</span> formatTemp<span class="sy0">:</span><span class="kw5">TextFormat</span> = <span class="kw1">new</span> <span class="kw5">TextFormat</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
			formatTemp<span class="sy0">.</span><span class="kw7">color</span> = 0x999999<span class="sy0">;</span>
			formatTemp<span class="sy0">.</span><span class="kw7">font</span> = <span class="st0">&quot;_sans&quot;</span><span class="sy0">;</span>
			formatTemp<span class="sy0">.</span><span class="kw7">size</span> = <span class="nu0">12</span><span class="sy0">;</span>
&nbsp;
			_data_txt = <span class="kw1">new</span> <span class="kw5">TextField</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
			_data_txt<span class="sy0">.</span><span class="kw7">defaultTextFormat</span> = formatTemp<span class="sy0">;</span>
			_data_txt<span class="sy0">.</span><span class="kw7">multiline</span> = <span class="kw1">true</span><span class="sy0">;</span>
			_data_txt<span class="sy0">.</span><span class="kw7">wordWrap</span> = <span class="kw1">true</span><span class="sy0">;</span>
			_data_txt<span class="sy0">.</span><span class="kw7">autoSize</span> = <span class="kw5">TextFieldAutoSize</span><span class="sy0">.</span><span class="kw8">LEFT</span><span class="sy0">;</span>
			_data_txt<span class="sy0">.</span><span class="kw7">width</span> = <span class="nu0">190</span><span class="sy0">;</span>
			_data_txt<span class="sy0">.</span><span class="kw7">x</span> = <span class="nu0">10</span><span class="sy0">;</span>
			_data_txt<span class="sy0">.</span><span class="kw7">y</span> = <span class="nu0">120</span><span class="sy0">;</span>
			<span class="kw7">addChild</span><span class="br0">&#40;</span>_data_txt<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
			_model = m<span class="sy0">;</span>
			_model<span class="sy0">.</span><span class="kw7">addEventListener</span><span class="br0">&#40;</span>WeatherModel<span class="sy0">.</span>UPDATE<span class="sy0">,</span> onUpdateModel<span class="br0">&#41;</span><span class="sy0">;</span>
		<span class="br0">&#125;</span>
&nbsp;
		<span class="kw1">private</span> <span class="kw3">function</span> onUpdateModel<span class="br0">&#40;</span>e<span class="sy0">:</span><span class="kw5">Event</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw1">void</span> <span class="br0">&#123;</span>
			<span class="kw1">if</span> <span class="br0">&#40;</span>_data_txt <span class="sy0">!</span>= <span class="kw1">null</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
				_data_txt<span class="sy0">.</span><span class="kw7">text</span> = _model<span class="sy0">.</span>extendedData<span class="sy0">;</span>
			<span class="br0">&#125;</span>
		<span class="br0">&#125;</span>
	<span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div>

<div id="wpshdo_8" class="wp-synhighlighter-outer"><div id="wpshdt_8" class="wp-synhighlighter-collapsed"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_8"></a><a id="wpshat_8" class="wp-synhighlighter-title" href="#codesyntax_8"  onClick="javascript:wpsh_toggleBlock(8)" title="Click to show/hide code block">IconWeatherView.as</a></td><td align="right"><a href="#codesyntax_8" onClick="javascript:wpsh_code(8)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_8" onClick="javascript:wpsh_print(8)" title="Print code"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_8" class="wp-synhighlighter-inner" style="display: none;"><pre class="actionscript3" style="font-family:monospace;"><span class="kw4">package</span> com<span class="sy0">.</span>plastikaweb<span class="sy0">.</span>view <span class="br0">&#123;</span>
&nbsp;
	<span class="kw1">import</span> <span class="kw6">flash.display</span><span class="sy0">.</span><span class="kw5">Bitmap</span><span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.display</span><span class="sy0">.</span><span class="kw5">BitmapData</span><span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.display</span><span class="sy0">.</span><span class="kw5">Loader</span><span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.display</span><span class="sy0">.</span><span class="kw5">Sprite</span><span class="sy0">;</span>
	<span class="kw1">import</span> com<span class="sy0">.</span>plastikaweb<span class="sy0">.</span>model<span class="sy0">.</span>WeatherModel<span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.events</span><span class="sy0">.</span><span class="kw5">Event</span><span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.net</span><span class="sy0">.</span><span class="kw5">URLRequest</span><span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.events</span><span class="sy0">.</span><span class="kw5">IOErrorEvent</span><span class="sy0">;</span>
&nbsp;
	<span class="kw1">public</span> <span class="kw4">class</span> IconWeatherView <span class="kw1">extends</span> <span class="kw5">Sprite</span> <span class="br0">&#123;</span>
&nbsp;
		<span class="kw1">private</span> <span class="kw2">var</span> _model<span class="sy0">:</span>WeatherModel<span class="sy0">;</span>
		<span class="kw1">private</span> <span class="kw2">var</span> _loader<span class="sy0">:</span><span class="kw5">Loader</span><span class="sy0">;</span>
		<span class="kw1">private</span> <span class="kw2">var</span> _iconName<span class="sy0">:</span><span class="kw5">String</span><span class="sy0">;</span>
&nbsp;
		<span class="kw1">public</span> <span class="kw3">function</span> IconWeatherView<span class="br0">&#40;</span>m<span class="sy0">:</span>WeatherModel<span class="br0">&#41;</span> <span class="br0">&#123;</span>
			_model = m<span class="sy0">;</span>
			_model<span class="sy0">.</span><span class="kw7">addEventListener</span><span class="br0">&#40;</span>WeatherModel<span class="sy0">.</span>UPDATE<span class="sy0">,</span> onUpdateModel<span class="br0">&#41;</span><span class="sy0">;</span>
			_loader = <span class="kw1">new</span> <span class="kw5">Loader</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
			_loader<span class="sy0">.</span><span class="kw7">x</span> = <span class="nu0">70</span><span class="sy0">;</span>
			_loader<span class="sy0">.</span><span class="kw7">y</span> = <span class="nu0">10</span><span class="sy0">;</span>
			<span class="kw7">addChild</span><span class="br0">&#40;</span>_loader<span class="br0">&#41;</span><span class="sy0">;</span>
		<span class="br0">&#125;</span>
&nbsp;
		<span class="kw1">private</span> <span class="kw3">function</span> onUpdateModel<span class="br0">&#40;</span>e<span class="sy0">:</span><span class="kw5">Event</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw1">void</span> <span class="br0">&#123;</span>
			<span class="co1">//actualizamos el icono sólo si ha cambiado desde la última llamada del controlador</span>
			<span class="kw1">if</span> <span class="br0">&#40;</span>_iconName <span class="sy0">!</span>= _model<span class="sy0">.</span>icon<span class="br0">&#41;</span> <span class="br0">&#123;</span>
				_iconName = _model<span class="sy0">.</span>icon<span class="sy0">;</span>
				_loader<span class="sy0">.</span><span class="kw7">addEventListener</span><span class="br0">&#40;</span><span class="kw5">Event</span><span class="sy0">.</span><span class="kw8">COMPLETE</span><span class="sy0">,</span> onLoaderComplete<span class="br0">&#41;</span><span class="sy0">;</span>
				_loader<span class="sy0">.</span><span class="kw7">addEventListener</span><span class="br0">&#40;</span><span class="kw5">IOErrorEvent</span><span class="sy0">.</span><span class="kw8">IO_ERROR</span><span class="sy0">,</span> onLoaderError<span class="br0">&#41;</span><span class="sy0">;</span>
				_loader<span class="sy0">.</span><span class="kw7">unload</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
				_loader<span class="sy0">.</span><span class="kw7">load</span><span class="br0">&#40;</span><span class="kw1">new</span> <span class="kw5">URLRequest</span><span class="br0">&#40;</span><span class="st0">&quot;icons/&quot;</span> <span class="sy0">+</span> _iconName<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
			<span class="br0">&#125;</span>
		<span class="br0">&#125;</span>
&nbsp;
		<span class="kw1">private</span> <span class="kw3">function</span> onLoaderComplete<span class="br0">&#40;</span>e<span class="sy0">:</span><span class="kw5">Event</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw1">void</span> <span class="br0">&#123;</span>
			_loader<span class="sy0">.</span><span class="kw7">removeEventListener</span><span class="br0">&#40;</span><span class="kw5">Event</span><span class="sy0">.</span><span class="kw8">COMPLETE</span><span class="sy0">,</span> onLoaderComplete<span class="br0">&#41;</span><span class="sy0">;</span>
		<span class="br0">&#125;</span>
&nbsp;
		<span class="kw1">private</span> <span class="kw3">function</span> onLoaderError<span class="br0">&#40;</span>e<span class="sy0">:</span><span class="kw5">IOErrorEvent</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw1">void</span> <span class="br0">&#123;</span>
			<span class="kw7">trace</span><span class="br0">&#40;</span><span class="st0">&quot;error en la carga del icono&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
		<span class="br0">&#125;</span>
	<span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div>

<div id="wpshdo_9" class="wp-synhighlighter-outer"><div id="wpshdt_9" class="wp-synhighlighter-collapsed"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#TempWeatherView.as"></a><a id="wpshat_9" class="wp-synhighlighter-title" href="#TempWeatherView.as"  onClick="javascript:wpsh_toggleBlock(9)" title="Click to show/hide code block">TempWeatherView.as</a></td><td align="right"><a href="#TempWeatherView.as" onClick="javascript:wpsh_code(9)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#TempWeatherView.as" onClick="javascript:wpsh_print(9)" title="Print code"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_9" class="wp-synhighlighter-inner" style="display: none;"><pre class="actionscript3" style="font-family:monospace;"><span class="br0">&#91;</span>codesyntax lang=<span class="st0">&quot;php&quot;</span><span class="br0">&#93;</span>
<span class="kw4">package</span> com<span class="sy0">.</span>plastikaweb<span class="sy0">.</span>view <span class="br0">&#123;</span>
&nbsp;
	<span class="kw1">import</span> <span class="kw6">flash.display</span><span class="sy0">.</span><span class="kw5">Sprite</span><span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.events</span><span class="sy0">.</span><span class="kw5">Event</span><span class="sy0">;</span>
	<span class="kw1">import</span> com<span class="sy0">.</span>plastikaweb<span class="sy0">.</span>model<span class="sy0">.</span>WeatherModel<span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.text</span><span class="sy0">.</span><span class="kw5">TextField</span><span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.text</span><span class="sy0">.</span><span class="kw5">TextFormat</span><span class="sy0">;</span>
&nbsp;
	<span class="kw1">public</span> <span class="kw4">class</span> TempWeatherView <span class="kw1">extends</span> <span class="kw5">Sprite</span><span class="br0">&#123;</span>
&nbsp;
		<span class="kw1">private</span> <span class="kw2">var</span> _model<span class="sy0">:</span>WeatherModel<span class="sy0">;</span>
		<span class="kw1">private</span> <span class="kw2">var</span> _temp_txt<span class="sy0">:</span><span class="kw5">TextField</span><span class="sy0">;</span>
&nbsp;
		<span class="kw1">public</span> <span class="kw3">function</span> TempWeatherView<span class="br0">&#40;</span>m<span class="sy0">:</span>WeatherModel<span class="br0">&#41;</span> <span class="br0">&#123;</span>
			<span class="kw2">var</span> formatTemp<span class="sy0">:</span><span class="kw5">TextFormat</span> = <span class="kw1">new</span> <span class="kw5">TextFormat</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
			formatTemp<span class="sy0">.</span><span class="kw7">bold</span> = <span class="kw1">true</span><span class="sy0">;</span>
			formatTemp<span class="sy0">.</span><span class="kw7">color</span> = 0xdddddd<span class="sy0">;</span>
			formatTemp<span class="sy0">.</span><span class="kw7">font</span> = <span class="st0">&quot;_sans&quot;</span><span class="sy0">;</span>
			formatTemp<span class="sy0">.</span><span class="kw7">size</span> = <span class="nu0">50</span><span class="sy0">;</span>
			_temp_txt = <span class="kw1">new</span> <span class="kw5">TextField</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
			_temp_txt<span class="sy0">.</span><span class="kw7">x</span> = <span class="nu0">10</span><span class="sy0">;</span>
			_temp_txt<span class="sy0">.</span><span class="kw7">y</span> = <span class="nu0">40</span><span class="sy0">;</span>
			_temp_txt<span class="sy0">.</span><span class="kw7">defaultTextFormat</span> = formatTemp<span class="sy0">;</span>
			<span class="kw7">addChild</span><span class="br0">&#40;</span>_temp_txt<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
			_model = m<span class="sy0">;</span>
			_model<span class="sy0">.</span><span class="kw7">addEventListener</span><span class="br0">&#40;</span>WeatherModel<span class="sy0">.</span>UPDATE<span class="sy0">,</span> onUpdateModel<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
		<span class="br0">&#125;</span>
&nbsp;
		<span class="kw1">private</span> <span class="kw3">function</span> onUpdateModel<span class="br0">&#40;</span>e<span class="sy0">:</span><span class="kw5">Event</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw1">void</span> <span class="br0">&#123;</span>
			<span class="kw1">if</span> <span class="br0">&#40;</span>_temp_txt <span class="sy0">!</span>= <span class="kw1">null</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
				_temp_txt<span class="sy0">.</span><span class="kw7">text</span> = _model<span class="sy0">.</span>temp<span class="sy0">;</span>
			<span class="br0">&#125;</span>
		<span class="br0">&#125;</span>
	<span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div></pre>
</li>
	<li>
<h4>Document Class - Weather.as.</h4>
Por fin la clase vinculada a nuestro fichero .fla.

<div id="wpshdo_10" class="wp-synhighlighter-outer"><div id="wpshdt_10" class="wp-synhighlighter-collapsed"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_10"></a><a id="wpshat_10" class="wp-synhighlighter-title" href="#codesyntax_10"  onClick="javascript:wpsh_toggleBlock(10)" title="Click to show/hide code block">Weather.as</a></td><td align="right"><a href="#codesyntax_10" onClick="javascript:wpsh_code(10)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_10" onClick="javascript:wpsh_print(10)" title="Print code"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_10" class="wp-synhighlighter-inner" style="display: none;"><pre class="actionscript3" style="font-family:monospace;"><span class="kw4">package</span> <span class="br0">&#123;</span>
&nbsp;
	<span class="kw1">import</span> <span class="kw6">flash.display</span><span class="sy0">.</span><span class="kw5">Sprite</span><span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.utils</span><span class="sy0">.</span><span class="kw5">Timer</span><span class="sy0">;</span>
	<span class="kw1">import</span> <span class="kw6">flash.events</span><span class="sy0">.</span><span class="kw5">TimerEvent</span><span class="sy0">;</span>
	<span class="kw1">import</span> com<span class="sy0">.</span>plastikaweb<span class="sy0">.</span>model<span class="sy0">.</span>WeatherModel<span class="sy0">;</span>
	<span class="kw1">import</span> com<span class="sy0">.</span>plastikaweb<span class="sy0">.</span>controller<span class="sy0">.</span>WeatherController<span class="sy0">;</span>
	<span class="kw1">import</span> com<span class="sy0">.</span>plastikaweb<span class="sy0">.</span>view<span class="sy0">.</span>TempWeatherView<span class="sy0">;</span>
	<span class="kw1">import</span> com<span class="sy0">.</span>plastikaweb<span class="sy0">.</span>view<span class="sy0">.</span>DataWeatherView<span class="sy0">;</span>
	<span class="kw1">import</span> com<span class="sy0">.</span>plastikaweb<span class="sy0">.</span>view<span class="sy0">.</span>IconWeatherView<span class="sy0">;</span>
&nbsp;
	<span class="kw1">public</span> <span class="kw4">class</span> Weather <span class="kw1">extends</span> <span class="kw5">Sprite</span><span class="br0">&#123;</span>
&nbsp;
		<span class="kw1">public</span> <span class="kw3">function</span> Weather<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
			<span class="co1">//modelo</span>
			<span class="co1">//parametro</span>
			<span class="co1">//url que genera el XML con la información sobre el tiempo de la localización elegida</span>
			<span class="co1">//SPXX0209 en este caso es el ID local para Barcelona</span>
			<span class="co1">//parametros importantes:</span>
			<span class="co1">//par - id individual de nuestra cuenta en weather.com</span>
			<span class="co1">//key - clave individual de nuestra cuenta en weather.com</span>
			<span class="co1">//unit - valor m para sistema métrico</span>
			<span class="kw2">var</span> model<span class="sy0">:</span>WeatherModel = <span class="kw1">new</span> WeatherModel<span class="br0">&#40;</span><span class="st0">&quot;http://xoap.weather.com/weather/local/SPXX0015?cc=*&amp;amp;dayf=5&amp;amp;link=xoap&amp;amp;prod=xoap&amp;amp;par=1126782060&amp;amp;key=7d908860312f34ae&amp;amp;unit=m&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
			<span class="co1">//controlador</span>
			<span class="kw2">var</span> controller<span class="sy0">:</span>WeatherController = <span class="kw1">new</span> WeatherController<span class="br0">&#40;</span>model<span class="br0">&#41;</span><span class="sy0">;</span>
			<span class="co1">//vista de temperatura</span>
			<span class="kw2">var</span> tempview<span class="sy0">:</span>TempWeatherView = <span class="kw1">new</span> TempWeatherView<span class="br0">&#40;</span>model<span class="br0">&#41;</span><span class="sy0">;</span>
			<span class="co1">//vista del icono</span>
			<span class="kw2">var</span> iconview<span class="sy0">:</span>IconWeatherView = <span class="kw1">new</span> IconWeatherView<span class="br0">&#40;</span>model<span class="br0">&#41;</span><span class="sy0">;</span>
			<span class="co1">//vista de datos ampliados</span>
			<span class="kw2">var</span> dataview<span class="sy0">:</span>DataWeatherView = <span class="kw1">new</span> DataWeatherView<span class="br0">&#40;</span>model<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
			<span class="kw7">addChild</span><span class="br0">&#40;</span>tempview<span class="br0">&#41;</span><span class="sy0">;</span>
			<span class="kw7">addChild</span><span class="br0">&#40;</span>iconview<span class="br0">&#41;</span><span class="sy0">;</span>
			<span class="kw7">addChild</span><span class="br0">&#40;</span>dataview<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
			<span class="co1">//primera llamada al servidor de datos</span>
			controller<span class="sy0">.</span>update<span class="br0">&#40;</span><span class="kw1">null</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
			<span class="co1">//intervalo de actualización de datos (1 minuto en este caso)</span>
			<span class="kw2">var</span> <span class="kw7">timer</span><span class="sy0">:</span><span class="kw5">Timer</span> = <span class="kw1">new</span> <span class="kw5">Timer</span><span class="br0">&#40;</span>60000<span class="br0">&#41;</span><span class="sy0">;</span>
			<span class="kw7">timer</span><span class="sy0">.</span><span class="kw7">addEventListener</span><span class="br0">&#40;</span><span class="kw5">TimerEvent</span><span class="sy0">.</span><span class="kw8">TIMER</span><span class="sy0">,</span> controller<span class="sy0">.</span>update<span class="br0">&#41;</span><span class="sy0">;</span>
			<span class="kw7">timer</span><span class="sy0">.</span><span class="kw7">start</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
		<span class="br0">&#125;</span>
	<span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div></li>
	<li>
<h5>Anexo</h5>
Lo dicho, si compiláis el fla y ejecutáis el swf en local veréis que no funciona. Si en las opciones de compilación de Flash activáis la opción de crear proyector para Windows o Mac, o creáis una aplicación AIR si que funcionará como aplicación de escritorio.

Un truco para ejecutarlo en servidor o en local desde un swf sin lidiar con los problemas de seguridad de Flash Player es crear un archivo de servidor (PHP, .NET, etc) que recoja el XML servido desde weather.com, por ejemplo en PHP:

&nbsp;

&nbsp;

&nbsp;

&nbsp;

<div id="wpshdo_11" class="wp-synhighlighter-outer"><div id="wpshdt_11" class="wp-synhighlighter-collapsed"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_11"></a><a id="wpshat_11" class="wp-synhighlighter-title" href="#codesyntax_11"  onClick="javascript:wpsh_toggleBlock(11)" title="Click to show/hide code block">proxy.php</a></td><td align="right"><a href="#codesyntax_11" onClick="javascript:wpsh_code(11)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_11" onClick="javascript:wpsh_print(11)" title="Print code"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.plastikaweb.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_11" class="wp-synhighlighter-inner" style="display: none;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
	<span class="re0">$dataURL</span> <span class="sy0">=</span> <span class="st0">&quot;http://xoap.weather.com/weather/local/SPXX0015?
		cc=*&amp;
		dayf=5&amp;
		link=xoap&amp;
		prod=xoap&amp;
		par=1126782060&amp;
		key=7d908860312f34ae&amp;
		unit=m&quot;</span><span class="sy0">;</span>
&nbsp;
	<span class="kw3">readfile</span><span class="br0">&#40;</span><span class="re0">$dataURL</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="sy1">?&gt;</span></pre></div></div>

Luego en nuestro caso cambiamos la url que pasamos por parámetro en Weather.as al instanciar el Model a la del fichero php alojado en nuestro servidor.

Tener en cuenta dos últimas cosas:

- En las opciones de configuración de publicación de Flash, pestaña "Flash", en avanzado, aseguraos que  en la seguridad de reproducción local está seleccionada la opción "Acceder sólo a la red", en caso contrario el Flash Player os pedirá permisos para acceder al dominio donde está alojado vuestro fichero de lenguaje de servidor.

- Al ejecutar en local el swf necesitáis colocar en la raíz de vuestro servidor un fichero crossdomain.xml que de permisos a cualquier dominio.
Suena algo terrorífico, pero otra solución no he sabido encontrarle...
Todo esto significa una cosa, que un formato como el swf no es un formato de servidor y en consecuencia está restringido su acceso con buen criterio.

<img class="alignleft size-full wp-image-155" style="margin: 10px;" title="publicacion en flash " src="http://www.plastikaweb.com/wp-content/uploads/2011/04/publicacion.jpg" alt="publicacion en flash " width="370" height="216" />

Espero os haya sido de utlidad, cualquier mejora o comentario será bienvenido.</li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.plastikaweb.com/widget-que-muestra-el-tiempo-con-actionscript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>home</title>
		<link>http://www.plastikaweb.com/home/</link>
		<comments>http://www.plastikaweb.com/home/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 06:45:22 +0000</pubDate>
		<dc:creator>plastik</dc:creator>
		
		<guid isPermaLink="false">http://www.plastikaweb.com/?page_id=2</guid>
		<description><![CDATA[Me llamo Carlos Matheu y soy desarrollador web freelance.Busco la belleza con razón y sentimiento.No sólo al llegar a destino, sino antes de partir y durante todo el camino.Para ello crearé código ágil y lógico, y lucharé por un mundo de aplicaciones útiles y entendibles. Durante más de 14 años he estado involucrado en el [...]]]></description>
			<content:encoded><![CDATA[<div class="dcs-divider-top"  style="border-bottom-width:2px;border-bottom-style:solid;" ></div>
<div class="cma"><img class="retrato" src="http://www.plastikaweb.com/wp-content/uploads/2011/05/cma.png" alt="" />Me llamo Carlos Matheu y soy desarrollador web freelance.<img src="wp-content/themes/PrestigeLight/img/home/separator.png" alt="" />Busco la belleza con razón y sentimiento.<img src="wp-content/themes/PrestigeLight/img/home/separator.png" alt="" />No sólo al llegar a destino, sino antes de partir y durante todo el camino.<img src="wp-content/themes/PrestigeLight/img/home/separator.png" alt="" />Para ello crearé código ágil y lógico, y lucharé por un mundo de aplicaciones útiles y entendibles.</div>
<p style="text-align: justify;">Durante más de 14 años he estado involucrado en el diseño de aplicaciones web. En un principio guiado por la curiosidad y  asombrado ante lo que podía crear y el potencial de la Red, hasta el día de hoy, en que me dedico profesionalmente como freelance, ya desde hace 4 años.</p>
<p style="text-align: justify;">Todo ello para poder ofrecerte soluciones, porque tu presencia en la red no un fin en si, sino una herramienta para tu negocio.</p>
<p style="text-align: justify;">Para ello puedo desarrollar <strong>Comercio Online</strong>, <strong>blogs (WordPress)</strong>, <strong>CMS (Joomla!, Drupal)</strong>, aplicaciones para <strong>redes sociales (Facebook y Twitter)</strong> o cualquier utilidad que se te pueda ocurrir, siguiendo estándares y programando código semántico.</p>
<p style="text-align: justify;">También estoy abierto a cualquier colaboración, ya sea en el <a href="http://www.plastikaweb.com/category/blog/">blog</a> o a nivel profesional.</p>
<p style="text-align: justify;">¡No lo dudes!</p>
<a  style=""  class="pdf "  href="http://plastikaweb.emurse.com/" target="_blank" > Carlos Matheu / plastikaweb </a>]]></content:encoded>
			<wfw:commentRss>http://www.plastikaweb.com/home/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

