<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.7.3" -->
<rss version="2.0">
	<channel>
		<title>Blog entries from Jorge Pablos</title>
		<description>A short description about your blog</description>
		<link>http://www.nearsoft.com</link>
		<lastBuildDate>Mon, 06 Sep 2010 04:34:51 +0100</lastBuildDate>
        <generator>FeedCreator 1.7.3</generator>
		<item>
			<title>Mobilebot: Joomla Goes Mobile!    </title>
			<link>http://www.nearsoft.com/blog/mobilebot-joomla-goes-mobile.html</link>
			<description>&lt;p&gt;The way a website should look and behave in a mobile device is significantly different than how it does on a laptop or desktop display.&amp;nbsp; We came up with a plug-in for Joomla! to make it easy to instantiate different interfaces depending on the client platform.&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://www.nearsoft.com/images/stories/nearsoft/blog/iPhone-panoramic.png&quot; class=&quot;blog-hook-image&quot; mce_src=&quot;http://www.nearsoft.com/images/stories/nearsoft/blog/iPhone-panoramic.png&quot; alt=&quot;Websites should look &amp;amp; feel native to the client platform&quot; title=&quot;Websites should look &amp;amp; feel native to the client platform&quot;&gt;We’ve been working on a site redesign that requires significantly different templates for laptops/desktops and mobile displays.&amp;nbsp; On the one hand, we want to optimize the UI for each device; on the other, we don’t want to force users to maintain multiple copies of every page.&amp;nbsp; That would be disgustingly inefficient, particularly for a site based on Joomla!&lt;/p&gt;&lt;p&gt;Instead, wouldn’t it be beautiful to have all sorts of custom templates for each mobile platform and have the appropriate template selected automatically?&lt;/p&gt;  A Plug-in Is Born&lt;p&gt;I started “googling” around and ended up in the Joomla Core-Enhancements Mobile Section.&amp;nbsp; I found three extensions (good) but they all had significant limitations (not so good).&amp;nbsp; For example, one of them required a Joomla! “core” change.&amp;nbsp; Not pretty.&lt;/p&gt;  &lt;p&gt;One plug-in in particular captured my attention, the PDA-plugin for Joomla 1.5.&amp;nbsp; This plug-in came pretty close to what I was looking for because 1) it detects all popular mobile platforms and 2) switches Joomla! to a specified mobile template (&lt;i&gt;i.e.&lt;/i&gt;, this template can also be downloaded with the plug-in).&lt;/p&gt;&lt;p&gt;Unfortunately, even though it came close it still had some shortcomings,&lt;/p&gt;     You can’t handle multiple, independent device/templates with it (i.e., you can’t have one template for iPhone, another for Blackberry, etc).   You can’t make custom adjustments to your final HTML code based on the device detected (e.g., remove a particular DIV block for the iPhone or a particular OBJECT element for a Blackberry, etc).   Finally, the detection strings are not easily configurable from the plug-in parameters.   &lt;p&gt;I’m a curious person, so I looked at the plug-in’s source code.&amp;nbsp; A few hours later a new little monster was born (&lt;i&gt;taddah!&lt;/i&gt;): the Mobilebot for Joomla 1.5+ plug-in.&amp;nbsp; Here’s a summary of what this plug-in does,&lt;/p&gt;     It can detect iPhone, Blackberry, Android and Opera Mini separately and load a particular template for each of them.It has two extra spaces so you can add your own custom mobile devices.   You can adjust your final HTML code with simple/regular expression PHP replacements; this can be done independently for each particular device.   If none of the specific devices is detected (or you just have one template for all mobiles), the plug-in can also perform a general mobile detection and load a “generic” mobile template if configured accordingly.   &lt;p&gt;This plug-in uses two detection methods,&lt;/p&gt;    Compare the user-agent HTTP header with a list of strings (all of them configurable)   Detect a named subdomain in the address bar assigned by you for that particular device  &lt;p&gt;It can even use both methods at the same time.&amp;nbsp;&amp;nbsp; Here’s an example:&lt;/p&gt;  &lt;p&gt;Let’s assume that you assign the subdomain http://iphone.example.com for the iPhone template and you enable both detections methods for such devices in the Mobilebot parameters.&lt;/p&gt;  &lt;p&gt;If you receive a visit of someone using an iPhone, this is what happens:&lt;/p&gt;     If the visitor types in http://iphone.example.com directly, then subdomain-based detection is triggered and the visitor gets the correct template.&amp;nbsp; In this case, user-agent detection is disregarded.   If the visitor reaches the site using&amp;nbsp;http://www.example.com, then subdomain based detection doesn’t trigger but the visitor gets the correct template anyway because user-agent detection is enabled too.   &lt;p&gt;The only difference between these two cases is the URL showing in the address bar.&amp;nbsp; In the first case it will show http://iphone.example.com, and http://www.example.com in the second case.&amp;nbsp; If this is not what you want, keep reading.&lt;/p&gt;  &lt;p&gt;You may have a reason to keep a consistent URL showing in the iPhone visitor’s address bar.&amp;nbsp; For example,&lt;/p&gt;     You want to get the word out regarding the existence of your mobile subdomain.   You just are a consistency freak (like yours truly) &lt;img src=&quot;/plugins/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-smile.gif&quot; mce_src=&quot;/plugins/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-smile.gif&quot; alt=&quot;Smile&quot; title=&quot;Smile&quot; border=&quot;0&quot;&gt;   &lt;p&gt;Either way, you can accomplish this by enabling the “Redirect to iPhone subdomain” feature along with user-agent detection.&amp;nbsp; In the configuration dialog, each platform has its own “Redirect to mobile subdomain” parameter.&lt;/p&gt;  &lt;p&gt;With this configuration, user-agent detection is used as a secondary helper only to correct the URL when needed.&amp;nbsp; Otherwise, the redirection option is turned off by default because it’s not needed by most people.&amp;nbsp; However, if you need it, you can turn it on easily.&lt;/p&gt;  &lt;p&gt;&lt;img src=&quot;http://www.nearsoft.com/images/stories/nearsoft/blog/mobilebot-config.png&quot; mce_src=&quot;http://www.nearsoft.com/images/stories/nearsoft/blog/mobilebot-config.png&quot; alt=&quot;alt&quot;&gt;&lt;/p&gt;  Version 1.0 &lt;p&gt;This is the first version of the plug-in so if you find any issues with your particular environment or specific configuration, please, help me correct them.&amp;nbsp; We can accomplish more together!&lt;/p&gt;&lt;p&gt;No mobile template is included with this release.&amp;nbsp; This plug-in has the primary objective of giving you the freedom to have completely independent templates for mobile devices.&amp;nbsp; You can get started with the “PDA” template provided by Denis Ryabov (&lt;i&gt;aka.&lt;/i&gt;, Physicist) with the PDA-plugin (you may need to do some adjustments to it).&lt;/p&gt;  &lt;p&gt;Using this approach, you can include very device-specific HTML markup without affecting the default behavior of your website!&lt;/p&gt;  &lt;p&gt;I hope this plug-in helps somebody out there.&amp;nbsp; It certainly will be helpful for us at Nearsoft and new site layout we’re working on.&amp;nbsp; Come back here with your iPhone in about a month and you’ll see what I mean.&lt;/p&gt;  Final Setup Notes &lt;p&gt;If the template you provide for a particular device doesn’t exist, no template change is performed.&amp;nbsp; This is a good thing, for example, if you mistype the template name in the plug-in configuration parameters.&amp;nbsp; Your site won’t break.&amp;nbsp; It will not look right for that device, but it won’t break.&lt;/p&gt;  &lt;p&gt;Subdomain-based detection requires some extra configuration.&amp;nbsp; Continuing with the example, both http://www.example.com and http://iphone.example.com should point to the same IP address (&lt;i&gt;e.g.&lt;/i&gt;, your website) so you may need to do some DNS configurations first.&lt;/p&gt;  &lt;br/&gt;&lt;br/&gt;&lt;img src=&quot;http://www.nearsoft.com/images/stories/download-btn.gif&quot; alt=&quot;Download Now!&quot;&gt;</description>
			<author>Jorge Pablos</author>
			<pubDate>Fri, 21 Aug 2009 06:00:00 +0100</pubDate>
		<category>Mobile Website</category>
 <category>Joomla Plug-ins</category>
		</item>
		<item>
			<title>Joomla as Valid XHTML 1.0</title>
			<link>http://www.nearsoft.com/blog/joomla-as-valid-xhtml-10.html</link>
			<description>&lt;p&gt;When it comes to Web standards, I like to consider myself a fan and follower, although not in an obsessive kind of way.&amp;nbsp; I think that it’s also important (usually more important) to get the necessary features in the product.&lt;/p&gt;      To validate or not to validate, that is the question      - Me         &lt;p&gt;The line for me is exactly there, I always try to deliver the best I can.&amp;nbsp; For a website, for example, standards compliance is important but meeting users’ needs is more important.&lt;/p&gt;&lt;p&gt;Let’s take Joomla! as an example.&amp;nbsp; This open source CMS allows you to have a website up and running much faster than if you were developing it from scratch.&amp;nbsp; It has a powerful backend and a lot of already-tested features and extensions in place.&lt;/p&gt;&lt;p&gt;However, when it comes to having the site be XHTML 1.0 compliant, Joomla! fights you all the way.&amp;nbsp; You can go crazy trying to do it.&amp;nbsp; I know, I’ve tried.&lt;/p&gt;&lt;p&gt;Creating a valid XHTML 1.0 template is not a particularly difficult thing to do if you pay even minimal attention to standards.&amp;nbsp; Extensions are a different ball of wax altogether.&lt;/p&gt;Houston, We Have a Problem&lt;br /&gt;&lt;p&gt;Making sure that all the components and modules you use generate valid XHTML 1.0 code is damn near impossible.&amp;nbsp; Joomla! extensions (i.e., components, modules and plug-ins) are developed by lots of people from all over the world, some who care about Web standards (good) and some who don’t (not so good).&lt;/p&gt;&lt;p&gt;To correct this situation you have to have a pretty good understanding of Joomla’s architecture, dive into PHP/HTML code and modify its core files.&amp;nbsp; Ditto for the extensions.&amp;nbsp; That would be a crazy thing to do.&amp;nbsp; It invalidates one of the big benefits of working with an OSS CMS in that you are now going to be messing around with time-tested code.&lt;/p&gt;&lt;p&gt;This is unsustainable, not to mention impractical.&amp;nbsp; Every time you update one of your components, you will most likely have to implement your changes all over again.&amp;nbsp; Alternatively, you could keep track of all your customized files and then review each one and manually upgrade after each update.&amp;nbsp; More likely than not, once you’ve made extensive changes, you’ll be very reticent to update and would not be able to take advantage of bug fixes, new features, etc.&lt;/p&gt;   Creating Valid XHTML 1.0 Content &lt;p&gt;One popular component is TinyMCE, the default text editor that comes with Joomla!&lt;/p&gt; &lt;p&gt;This little monster has a mind on its own and will mess with everything you do.&amp;nbsp; You can turn off the “Code Cleanup on Startup” and “Code cleanup on save” parameters but to no avail.&amp;nbsp; If TinyMCE could talk, this is the conversation you’d have with it: &amp;nbsp;&lt;/p&gt;    &lt;br/&gt;&lt;br/&gt;     &lt;br/&gt;&lt;br/&gt;  &lt;br/&gt;    &lt;img src=&quot;/images/stories/you-hi.jpg&quot; style=&quot;float: left;&quot; mce_src=&quot;/images/stories/you-hi.jpg&quot; alt=&quot;You&quot; height=&quot;30&quot; width=&quot;30&quot;&gt;You:&lt;br/&gt;    Hi Tiny, how have you been? &lt;br/&gt;  &lt;br/&gt;  &lt;br/&gt;    &lt;img src=&quot;/images/stories/tinymce.jpg&quot; style=&quot;float: left;&quot; mce_src=&quot;/images/stories/tinymce.jpg&quot; alt=&quot;Joomla's TinyMCE&quot; height=&quot;30&quot; width=&quot;30&quot;&gt;Tiny MCE:&lt;br/&gt;    Great, buddy, what can I do for you?&lt;br/&gt;  &lt;br/&gt;  &lt;br/&gt;    &lt;img src=&quot;/images/stories/you-please-do.jpg&quot; style=&quot;float: left;&quot; mce_src=&quot;/images/stories/you-please-do.jpg&quot; alt=&quot;You&quot; height=&quot;30&quot; width=&quot;30&quot;&gt;You:&lt;br/&gt;    Please put this &amp;lt;br /&amp;gt; tag in my article’s HTML code.&lt;br/&gt;  &lt;br/&gt;  &lt;br/&gt;    &lt;img src=&quot;/images/stories/tinymce.jpg&quot; style=&quot;float: left;&quot; mce_src=&quot;/images/stories/tinymce.jpg&quot; alt=&quot;Joomla's TinyMCE&quot; height=&quot;30&quot; width=&quot;30&quot;&gt;Tiny MCE:&lt;br/&gt;    He he he. You crazy. I’ll save space by putting the usual &amp;lt;br&amp;gt; instead&lt;br/&gt;  &lt;br/&gt;  &lt;br/&gt;    &lt;img src=&quot;/images/stories/you-no-please.jpg&quot; style=&quot;float: left;&quot; mce_src=&quot;/images/stories/you-no-please.jpg&quot; alt=&quot;You&quot; height=&quot;30&quot; width=&quot;30&quot;&gt;You:&lt;br/&gt;    No please, add the slash in there. It’s important so the site can be valid XHTML 1.0.&lt;br/&gt;  &lt;br/&gt;  &lt;br/&gt;    &lt;img src=&quot;/images/stories/tinymce.jpg&quot; style=&quot;float: left;&quot; mce_src=&quot;/images/stories/tinymce.jpg&quot; alt=&quot;Joomla's TinyMCE&quot; height=&quot;30&quot; width=&quot;30&quot;&gt;Tiny MCE:&lt;br/&gt;    Oh, I’m sorry, I already did it my way. BTW, what does “valid XHTML 1.0” mean?&lt;br/&gt;  &lt;br/&gt;  &lt;br/&gt;    &lt;img src=&quot;/images/stories/you-sobbing.jpg&quot; style=&quot;float: left;&quot; mce_src=&quot;/images/stories/you-sobbing.jpg&quot; alt=&quot;You&quot; height=&quot;30&quot; width=&quot;30&quot;&gt;You:&lt;br/&gt;    [Uncontrollable sobbing sounds]&lt;br/&gt;  &lt;br/&gt;&lt;br/&gt;  &lt;br/&gt;&lt;br/&gt;&lt;p&gt;Even if you could find a better HTML editor that listens to you and respects your feelings you may still end up with non-compliant code because each author can mess with the HTML code directly (and since we’re a technology company, many of our authors do).&amp;nbsp; In this case, you would have to monitor and check every single article that comes into the system to make sure it’s compliant.&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;ANOTHER APPROACH&lt;br/&gt;&lt;br/&gt;&lt;p&gt;At this point it is very tempting to just give up on the whole thing and let the site be non-compliant.&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Even though passing the XHTML 1.0 validation is not vital for a Joomla!-based website, it has been bothering me for a while and I don’t like it.&amp;nbsp; I mean, we’re a technology company and this reflects badly on us.&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;So, I decided to create the CleanHTML plug-in to resolve this situation.&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;This plug-in runs after the final HTML has been generated by Joomla! and just before the page is sent to the visitor (onAfterRender Joomla! event).&amp;nbsp; At that point, the plug-in cleans up the code to make it compliant, regardless of what extensions and authors do (yeay!).&lt;/p&gt;  &lt;br/&gt;&lt;br/&gt;CleanHTML Features&lt;br/&gt;&lt;br/&gt;&lt;p&gt;CleanHTML can be configured to use the Tidy PHP extension to parse and fix your code to make it valid XHTML 1.0 or HMTL 4.01.&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;When Tidy is not available (&lt;i&gt;i.e.&lt;/i&gt;, most hosting providers still don’t include this extension) or if you just decide not to enable this feature, the plug-in can perform a set of manual cleanups using regular expressions such as replacing  for , fix unescaped query strings, sanitize ID attributes, enclose  and  blocks of code in CDATA sections, etc.&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Last but not least, you can add custom rules with raw PHP code that are then applied to the page, held in the $html variable.&lt;/p&gt;&lt;p&gt;For example, say you’ve noticed that some onclick attributes in certain pages are coded as onClick (&lt;i&gt;i.e.&lt;/i&gt;, making the page XHTML 1.0 non-compliant).&amp;nbsp; In this case, you can add a PHP replacement line such as:&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;  $html = str_replace('onclick=', onclick=', $html);&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;This will fix all instances of this problem in all of your frontend pages.&amp;nbsp; Cool, huh?&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;Final Notes&lt;br/&gt;&lt;br/&gt;&lt;p&gt;It is important to mention that executing regular expression replacements for every generated page can have an impact in website performance.&amp;nbsp; This impact is almost imperceptible for the most part unless you have lots and lots of visitors and a lousy hosting provider.&amp;nbsp; Otherwise, you won’t even notice the difference.&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Given the “global community” nature of Joomla!, it’s very hard to get all the contributors lined up to generate valid XHTML 1.0 websites out of the box.&amp;nbsp; For that you would need to,&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;  Have the Joomla! Core Team signed up to generate only valid XHTML 1.0 markup.&lt;br/&gt;  Have some sort of automated QA subsystem to qualify Joomla! extensions (i.e., sounds complicated and unreal).&lt;br/&gt;  Replace TinyMCE with one that generates valid XHTML 1.0 code.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Of course, all of this is complicated by the fact that “compliance” is somewhat of a loose thing because THERE’S NO SAMPLE IMPLEMENTATION of these standards.&lt;/p&gt;&lt;p&gt;Therefore, this is the only way I can think to achieve this (for now at least).&amp;nbsp; So, there you have it.&amp;nbsp; What do you think?&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;CleanHTML 1.0 plug-in for Joomla 1.5&lt;br/&gt;&lt;br/&gt;&lt;p&gt;If you decide to try this plug-in, please let me know if you find any issues with it so I can fix them.&amp;nbsp; I hope you find this plug-in useful. &lt;/p&gt; &lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;img src=&quot;http://www.nearsoft.com/images/stories/download-btn.gif&quot; mce_src=&quot;http://www.nearsoft.com/images/stories/download-btn.gif&quot; alt=&quot;Download Now!&quot;&gt;&lt;/p&gt;</description>
			<author>Jorge Pablos</author>
			<pubDate>Fri, 14 Aug 2009 16:10:20 +0100</pubDate>
		<category>validate XHTML</category>
 <category>Joomla Plug-ins</category>
		</item>
		<item>
			<title>And What About Joomla?</title>
			<link>http://www.nearsoft.com/blog/And-What-About-Joomla-.html</link>
			<description>&lt;p&gt;Recently, we found ourselves in a familiar situation where we needed to have a consumer-facing website up and running in no time. We got together with the client to evaluate the options and after talking about several options, somebody asked &quot;and what about Joomla!?&quot; &lt;/p&gt;&lt;p&gt;There were a lot of opinions, pros and cons thrown around the table, but the general feeling was positive so we decided to do a quick evaluation. As you probably guessed, the end result is that we decided to go with Joomla!, primarily because of its extensibility and huge ecosystem of developers.&lt;/p&gt;  &lt;p&gt;&lt;img src=&quot;http://www.nearsoft.com/images/joomla_logo_vert_color.png&quot; style=&quot;margin: 0pt 0pt 5px 5px; padding: 5px; float: right&quot; title=&quot;Joomla! logo&quot; align=&quot;right&quot; border=&quot;1&quot; height=&quot;155&quot; width=&quot;227&quot; /&gt;Joomla! is a free Open Source (OSS) Content Management System (CMS) currently at version 1.5.9. It is a &quot;Website in a box&quot; you can download from the project site, install it on your favorite server and then customize the heck out of it to fit your needs.&lt;/p&gt;Website-In-A-Box  &lt;p&gt;Joomla! has the most common features already built-in for you such as RSS feeds, SEF URLs, printable version pages, site search and internationalization among many others. &lt;/p&gt;  &lt;p&gt;Like other CMS platforms, it has an administration backend where multiple users can edit/configure the site with little or no effort at different levels of authorization. I particularly liked the UI and the navigation of this backend. After all is said and done, however, the area where Joomla! wins hands down is in its extensibility.&lt;/p&gt;  &lt;p&gt;There are tons of free and commercial extensions for it. All the ones I tried worked well with the platform. In every case, I just downloaded the extension/module, installed it and the new functionality would come right up. With fair knowledge of PHP programming, you can even build your own. &lt;/p&gt;  &lt;p&gt;For this particular client, I was able to get them the website they wanted by with a combination of custom templates, integrating existing extensions, developing a couple and modifying the rest. I would not call myself a Joomla! &quot;guru&quot;, but at this point I know the platform well enough to answer the perennial question:  &lt;/p&gt;Is Joomla the Best Solution? &lt;p&gt;It all boils down to &quot;features&quot; and &quot;customization&quot; issues. In other words, what level of customization does the client need?&lt;/p&gt; &lt;p&gt;Despite the many advantages, there are few risks and difficulties I found while working with Joomla!:&lt;/p&gt;  The HTML it generates is not the cleanest and leanest it could be (but I believe that they're working on that). This may be an issue if you follow W3C standards (and you should or else @mollydotcom will get you).  The variety of HTML generated by components and modules makes Joomla! difficult to syle with CSS. You need to have experience with HTML and CSS to achieve exactly the look you want, consistently through the site.    We tried not to, but in the end I had to dig in with PHP and make some modifications to components and/or modules to generate different markup.  Independent packages are maintained by folks not related to the Joomla! core team and they can conflict with each other. Troubleshooting this kind of problems can be time consuming.   &lt;p&gt;In summary, I can say that if the client requires a very specific web application or a highly customized site, you will save time. But, it won't all work straight out of the box. Depending on the specific requirements, the issues listed above may sap some of the savings.&lt;/p&gt;Would I Make the Same Choice?  &lt;p&gt;After all is said and done, however, I am still convinced we made the right choice for the level of complexity required by this site. We got the site up and going with less programming and higher quality.  More importantly, we got it in production (&lt;i&gt;i.e.&lt;/i&gt;, generating revenue for our client) sooner than if we had tried to do it from scratch. Obviously, we didn't do a side-by-side test, but I also have the feeling that although the learning curve might have been a bit longer, the results were delivered faster than we could have with some of the other options. I'd like to try some of the others and see how they compare.&lt;/p&gt;  &lt;p&gt;We took full advantage of the features already present in the package, tested every day by lots of websites worldwide. Reproducing this code base would be, at least, a real pain to develop from scratch.&lt;/p&gt;  &lt;p&gt;The OSS community has invested a lot of time and effort in this CMS. They've done a terrific job, given the size and complexity of the task. There are some TODOs and they'll always will. That's the nature of software. It needs to evolve.&lt;/p&gt;&lt;p&gt;To the Joomla! core team and all the contributors out there, we only have two things to tell you:&lt;/p&gt;&lt;p&gt;Congratulations and Thank You!&lt;/p&gt;  &lt;p&gt;Oh, and thanks to whomever asked, “and what about Joomla!?”&lt;/p&gt;</description>
			<author>Jorge Pablos</author>
			<pubDate>Thu, 05 Feb 2009 07:00:00 +0100</pubDate>
		<category>Open Source</category>
 <category>Joomla</category>
 <category>CMS</category>
		</item>
	</channel>
</rss>
