<?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>eMarketing Trends &#187; open source</title>
	<atom:link href="http://www.emarketingtrends.co.za/tags/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.emarketingtrends.co.za</link>
	<description>Verbal Acrobatics &#38; Graphic Gymnastics</description>
	<lastBuildDate>Fri, 13 Jan 2012 10:10:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>Using hooks in openGoo</title>
		<link>http://www.emarketingtrends.co.za/2009/09/using-hooks-in-opengoo/</link>
		<comments>http://www.emarketingtrends.co.za/2009/09/using-hooks-in-opengoo/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 21:28:38 +0000</pubDate>
		<dc:creator>eMarketing Trends</dc:creator>
				<category><![CDATA[Back-end Development]]></category>
		<category><![CDATA[customization]]></category>
		<category><![CDATA[developement]]></category>
		<category><![CDATA[duck]]></category>
		<category><![CDATA[hooking]]></category>
		<category><![CDATA[hooks]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[openGoo]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[weboffice]]></category>

		<guid isPermaLink="false">http://www.emarketingtrends.co.za/?p=1056</guid>
		<description><![CDATA[So, you&#8217;ve discovered the world of openGoo. It does a pretty good job overall but now you want to add some custom flavour! Where do you start? What are the options? Firstly, I&#8217;d recommend running through the “Hello World” application tutorial (that can be found HERE ) as it gives you a quick overview of [...]]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p>So, you&#8217;ve discovered the world of 	<a href="http://www.opengoo.org/">openGoo</a>. It does a pretty good 	job overall but now you want to add some custom flavour! Where do 	you start? What are the options?</p>
<p style="margin-bottom: 0cm">Firstly, I&#8217;d recommend running through the “Hello World” application tutorial (that can be found <a href="http://wiki.opengoo.org/doku.php/hello_world_application"><strong><span style="background: transparent none repeat scroll 0% 0%">HERE</span></strong></a> ) as it gives you a quick overview of the control flow of openGoo. If you&#8217;re not familiar with MVC (<a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller">Model-View-Controller</a>) programming it&#8217;d be a good idea to take a few moments to read up on the principles of a MVC system, get the basic idea of what each component should be used for. I&#8217;ll be looking at the MVC of openGoo in a future blog post, for now we&#8217;re moving on to the Hooks.</p>
<p style="margin-bottom: 0cm">If you&#8217;ve had previous experience with customization of a CRM / CMS / Web application you might be familiar with the concept of <a href="http://en.wikipedia.org/wiki/Hooking">hooking / hooks</a>. A hook is one of the easiest and fastest way to extend and application&#8217;s functionality in an <span style="background: transparent none repeat scroll 0% 0%">upgrade safe </span>way. And believe me, you want to keep your customizations as much upgrade safe as possible. Trying to figure out why a customization you did a year ago broke isn&#8217;t as fun the second time, it tens to ends in a complete rewrite of the initial customization. There&#8217;s nothing that frustrates me more than having to re-write code.</p>
<p style="margin-bottom: 0cm">A <a href="http://whatis.techtarget.com/definition/0,,sid9_gci213615,00.html">hook</a> is basically a place where you can “hook” in your custom code without having to change anything to the existing code. In fact, you don&#8217;t need to know how the rest of the package works to use a hook.</p>
<p style="margin-bottom: 0cm">Using a hook in openGoo is as easy as 1, 2, 3.</p>
<ol>
<li>
<p style="margin-bottom: 0cm"><strong>Create a new php file</strong> in 	the &#8216;Application/Hooks&#8217; directory, which will contain your custom 	code. Example: &#8216;opengoo_hooks.php&#8217; , &#8216;myhooks.php&#8217;</p>
</li>
<li>
<p style="margin-bottom: 0cm"><strong>Register your hook<br />
</strong><span style="font-family: Courier New,monospace"><br />
Hook::register(&#8220;opengoo&#8221;);<br />
</span><br />
The string used when registering the hook can be anything, as far as I can see its used as a key in the array where the hooks are stored. You could use 	this key to reference a specific hook later in your code, if needed. I&#8217;ll refer to this as the [hook_key] later. Also note it may be a good practice to name your php file “[hook_key]_hooks.php”.</p>
</li>
<li>
<p style="margin-bottom: 0cm"><strong>Define the hook function.</strong></p>
</li>
</ol>
<ul></ul>
<ul>
<blockquote>
<p style="margin-bottom: 0cm"><span style="font-family: Courier New,monospace">function 	opengoo_render_upload_control($args, &amp;$ret) {<br />
if 	(upload_hook() == &#8216;opengoo&#8217;) {<br />
$attributes = 	$args['attributes'];<br />
echo file_field(&#8216;file_file&#8217;, null, 	$attributes);<br />
}<br />
}</span></p>
</blockquote>
</ul>
<p style="margin-bottom: 0cm">Note that the function name should be of the format &#8216;[hook_key]_[hook]&#8216;.</p>
<p style="margin-bottom: 0cm">In the above example [hook_key] = &#8216;opengoo&#8217; and [hook] = &#8216;render_upload_control&#8217;.</p>
<p style="margin-bottom: 0cm"><span style="text-decoration: underline"><strong>Working example:</strong></span></p>
<p style="margin-bottom: 0cm">Lets say we want to customize one of the layouts on openGoo. For this example lets change the Login layout for illustration. Instead of overwriting the layout file in “Applications/Layout” we can simply define a hook to set the layout to be used to our new custom layout.</p>
<p style="margin-bottom: 0cm">
<div id="attachment_1059" class="wp-caption alignnone" style="width: 483px"><span style="font-family: Courier New,monospace"> </span></p>
<dt><img src="../wp-content/uploads/2009/09/openGoo_hooks1.jpg" alt="Default layout." width="473" height="521" /><p class="wp-caption-text">Default Layout of login dialog</p></div>
<p style="margin-bottom: 0cm">First lets create our hook file. I created a file “example_hooks.php” in the &#8216;Application/Hooks&#8217; folder.</p>
<blockquote>
<p style="margin-left: 1.25cm;margin-bottom: 0cm"><span style="font-family: Courier New,monospace">&lt;?php</span></p>
<p style="margin-left: 1.25cm;margin-bottom: 0cm"><span style="font-family: Courier New,monospace">/* Register your hook else it won&#8217;t fire! */<br />
Hook::register(&#8220;example&#8221;);</span></p>
<p style="margin-left: 1.25cm;margin-bottom: 0cm"><span style="font-family: Courier New,monospace">/* Define hook functions */<br />
function example_override_action_view($controller, &amp;$ignored) {<br />
/* Check which controller has fired the hook */<br />
if ($controller-&gt;getControllerName() == &#8216;access&#8217;) {<br />
/* Check that the action is &#8216;login&#8217; */<br />
if ($controller-&gt;getAction() == &#8216;login&#8217;) {<br />
$controller-&gt;setLayout(&#8216;example&#8217;);<br />
}<br />
}<br />
}</span>
</p>
<p style="margin-left: 1.25cm;margin-bottom: 0cm"><span style="font-family: Courier New,monospace">?&gt;</span></p>
</blockquote>
<p style="margin-bottom: 0cm"><span style="background: transparent none repeat scroll 0% 0%">I&#8217;ve used the &#8216;override_action_view&#8217; hook for this example. This hook gets fired by all the controllers. We want to change the layout of the login form so we need to set the new layout when the &#8216;login&#8217; action of the &#8216;access&#8217; controller is called. After we&#8217;ve tested that we&#8217;re at the right spot we can change the layout by calling the “setLayout” method of the controller.</span></p>
<p style="margin-bottom: 0cm">You can use the getLayout method to see what layout is currently being used. In this example the original layout being used is &#8216;Application/Layouts/dialog.php&#8217;</p>
<p style="margin-bottom: 0cm">Next step, we need to create our new layout &#8216;example&#8217;. Note you use the file name without extension to set the layout, openGoo automatically looks for the layout in the &#8216;Application/Layout&#8217; folder. Create a copy of the dialog.php in &#8216;Application/Layouts&#8217; and rename it to &#8216;example.php&#8217;. Open up &#8216;example.php&#8217; and make some changes to the layout. I simply added an image below the dialog div and the word “example” to the H1 tags.</p>
<blockquote>
<p style="margin-bottom: 0cm"><span style="font-family: Courier New,monospace">&lt;img src=&#8221;&lt;?php echo get_image_url(&#8220;jack.jpg&#8221;) ?&gt;&#8221; height=&#8221;250px&#8221;&gt;</span></p>
</blockquote>
<p style="margin-bottom: 0cm">I put the image of Jack, my trusty testing duck, in &#8216;public/assets/themes/default/images/jack.jpg&#8217; the &#8216;get_image_url&#8217; function fetches the image URL according to the selected theme.</p>
<p style="margin-bottom: 0cm">Browse to the login dialog page and &#8216;Hello Jack!&#8217;. It&#8217;s that simple to add a duck to your openGoo login page.</p>
<p style="margin-bottom: 0cm">
<div id="attachment_1059" class="wp-caption alignnone" style="width: 482px"><a rel="attachment wp-att-1059" href="http://www.emarketingtrends.co.za/2009/09/using-hooks-in-opengoo/opengoo_hooks2/"><img class="size-full wp-image-1059" src="http://www.emarketingtrends.co.za/wp-content/uploads/2009/09/openGoo_hooks2.jpg" alt="Custom 'example' Layout" width="472" height="517" /></a><p class="wp-caption-text">Custom &#39;example&#39; Layout</p></div>
<p style="margin-bottom: 0cm">
<p style="margin-bottom: 0cm"><span style="text-decoration: underline"><strong>List of available hooks:</strong></span> ( for more detail take a look at &#8216;Application/Hooks/opengoo_hooks.php&#8217; )</p>
<blockquote>
<p style="margin-bottom: 0cm"><span style="font-family: Courier New,monospace">/*<br />
* &#8211; <span>render_page_actions</span>: Called when drawing actions for an object&#8217;s view. Call add_page_action to add actions.<br />
* &#8211; render_page_header: Called when drawing the page header.<br />
* &#8211; render_getting_started: Add additional getting started help.<br />
* &#8211; render_object_properties: Called when drawing properties for an object&#8217;s view. Echo the HTML to be drawn.<br />
* &#8211; reminder_email: Called when an email reminder is being sent.<br />
* &#8211; render_userbox_crumbs: Called when drawing the userbox (top-right of the page).<br />
* &#8211; autoload_javascripts: Tells which javascripts should be load when the application starts.<br />
* &#8211; autoload_stylesheets: Tells which CSSs should be loaded when the application starts.<br />
* &#8211; render_administration_icons: Called when drawing administration panel.<br />
* &#8211; object_definition: Allows to define extra columns for a system object.<br />
* &#8211; render_object_description: Called when rendering the description that goes below the title in an object&#8217;s view.<br />
* &#8211; permissions_sql: Called when generating the SQL permissions string for object listings.<br />
* &#8211; can_access: Called before checking access permissions for an object.<br />
* &#8211; object_edit_categories: Called when rendering categories for an object creation or edition interface.<br />
*  &#8211; object_validate: Executed before saving an object to validate object fields.<br />
*  &#8211; before_action: Called before executing an action to determine if the action will be called.<br />
*  &#8211; override_action_view: Called before generating an action&#8217;s view, so that you can change it.<br />
*/</span></p>
</blockquote>
<p style="margin-bottom: 0cm"><span style="text-decoration: underline"><strong>Fire your own hooks from your custom module:</strong></span></p>
<p style="margin-bottom: 0cm;text-decoration: none">To create and fire a hook from your own module, you simply call the static <em><strong>fire</strong></em> method of the Hook class.</p>
<blockquote>
<p style="margin-bottom: 0cm;text-decoration: none"><span style="font-family: Courier New,monospace">Hook::fire($function, $argument, &amp;$ret)</span></p>
</blockquote>
<p style="margin-bottom: 0cm;text-decoration: none">$function : String containing the name of the hook. Example &#8216; <span>render_page_actions&#8217;.</span></p>
<p style="margin-bottom: 0cm;text-decoration: none">$argument :  Arguments passed to the hook. For the built in hooks this is normally the current controller.</p>
<p style="margin-bottom: 0cm;text-decoration: none">$ret :  The value</p>
<p style="margin-bottom: 0cm;text-decoration: none">
<p style="margin-bottom: 0cm;text-decoration: none"><a name="DDE_LINK4"></a> Well that&#8217;s it for hooks in openGoo. This is meant as a starting point for customization, I&#8217;m sure there&#8217;s more to be added, any input is welcome. In the next blog I&#8217;ll be showing how to create a simple Bulletine Board type module.</p>
</dt>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Using+hooks+in+openGoo+http%3A%2F%2Fis.gd%2FSfOg8s" title="Post to Twitter"><img class="nothumb" src="http://www.emarketingtrends.co.za/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter3.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.emarketingtrends.co.za/2009/09/using-hooks-in-opengoo/&amp;t=Using+hooks+in+openGoo" title="Post to Facebook"><img class="nothumb" src="http://www.emarketingtrends.co.za/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.emarketingtrends.co.za/2009/09/using-hooks-in-opengoo/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>openGoo &#8211; Introduction</title>
		<link>http://www.emarketingtrends.co.za/2009/09/opengoo-introduction/</link>
		<comments>http://www.emarketingtrends.co.za/2009/09/opengoo-introduction/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 19:53:00 +0000</pubDate>
		<dc:creator>eMarketing Trends</dc:creator>
				<category><![CDATA[Back-end Development]]></category>
		<category><![CDATA[customization]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[openGoo]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[web office]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://www.emarketingtrends.co.za/?p=997</guid>
		<description><![CDATA[OpenGoo is an open source web office developed by Feng Office and the OpenGoo community. It can be used for project management, including the scheduling of tasks and milestones, document storage, contact and calendar management, email receiving (POP3 or IMAP) and sending(SMTP) and runs on a PHP webserver with MySQL installed. OpenGoo can be downloaded [...]]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } -->OpenGoo is an open source web office developed by Feng Office and the OpenGoo community. It can be used for project management, including the scheduling of tasks and milestones, document storage, contact and calendar management, email receiving (POP3 or IMAP) and sending(SMTP) and runs on a PHP webserver with MySQL installed.</p>
<p style="margin-bottom: 0cm"><span id="more-997"></span>OpenGoo can be downloaded <a href="http://www.opengoo.org/downloads.html">here</a> and is easily installed on a websever, with minimal setup needed. If you don&#8217;t have experience with webservers it might be a good idea to get the sys admin to handle the install. Never the less the install is quite straight forward, with installation instruction located in the readme.txt file.</p>
<p style="margin-bottom: 0cm">When installed on a local firewall, OpenGoo has the advantages of a web interface without having sensitive data being transferred to and fro a remote server somewhere on the internet. You have 100% control over your data, even allowing for custom encryption to be set for the more paranoid among us, whereas other online services limit your control. No internet connection is needed to use the application and thus can be completely isolated from the outside world. Or it could be installed on a remote server that is accessed by different people all over the internet.</p>
<p style="margin-bottom: 0cm">I quite like the interface of OpenGoo. It uses the extJS framework to render the UI and site layouts. It utilizes AJAX to update content dynamically giving an enjoyable user experience.</p>
<p style="margin-bottom: 0cm">So, this is a very nice piece of software, but what if we want to add some custom features? The one thing the project is greatly lacking is development documentation. There is limited information in the <a title="opengoo wiki" href="wiki.opengoo.org/">openGoo WIKI</a> which isn&#8217;t at all satisfactory and quite frankly no help to the novice.</p>
<p style="margin-bottom: 0cm">After browsing through the <a href="http://wiki.opengoo.org/">wiki</a>, <a href="http://forums.opengoo.org/">forum</a> and <a href="http://forums.opengoo.org/">blog</a>, I decided the only way to get anywhere was to dive head on into the code. To my delight, the code itself is well commented and any PHP programmer that has some experiece with the MVC (model view controller) method of programming would catch on quickly to the basic structure of the application.</p>
<p style="margin-bottom: 0cm">This is the first blog in a series of blogs on openGoo, that I hope will help other developers with their customizations. In the next blog I&#8217;ll cover how to create Hooks in openGoo and in another future post I plan to give an example of creating a custom “Bulletin Board” addon, explaining some of the MVC structure I&#8217;ve uncovered.</p>
<p style="margin-bottom: 0cm"><em><span style="text-decoration: none">( Check out <a href="http://www.opengoo.org/">http://www.opengoo.org/</a> for more info. or </span><a href="http://demo.opengoo.org/">http://demo.opengoo.org/</a> to check out the demo )</em></p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=openGoo+%E2%80%93+Introduction+http%3A%2F%2Fis.gd%2FICFz0o" title="Post to Twitter"><img class="nothumb" src="http://www.emarketingtrends.co.za/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter3.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.emarketingtrends.co.za/2009/09/opengoo-introduction/&amp;t=openGoo+%E2%80%93+Introduction" title="Post to Facebook"><img class="nothumb" src="http://www.emarketingtrends.co.za/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.emarketingtrends.co.za/2009/09/opengoo-introduction/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Latest News From Google</title>
		<link>http://www.emarketingtrends.co.za/2008/09/latest-news-from-google/</link>
		<comments>http://www.emarketingtrends.co.za/2008/09/latest-news-from-google/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 06:54:53 +0000</pubDate>
		<dc:creator>eMarketing Trends</dc:creator>
				<category><![CDATA[Google news]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Google chrome]]></category>
		<category><![CDATA[high-speed web access]]></category>
		<category><![CDATA[Internet browser]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[privacy concerns]]></category>

		<guid isPermaLink="false">http://www.emarketingtrends.co.za/?p=313</guid>
		<description><![CDATA[Jip, you guessed it, the World is abuzz with more Google News. Google, HSBC back African Internet project Google and Europe&#8217;s biggest bank HSBC have thrown their weight behind an ambitious plan to provide cheap, high-speed web access to three billion people in Africa and other emerging markets. Google Chrome code to be open source [...]]]></description>
			<content:encoded><![CDATA[<p>Jip, you guessed it, the World is abuzz with more Google News.</p>
<p><a href="http://www.ioltechnology.co.za/article_page.php?iSectionId=2884&amp;iArticleId=4601400" target="_blank"><span id="more-313"></span>Google, HSBC back African Internet project</a><br />
Google and Europe&#8217;s biggest bank HSBC have thrown their weight behind an ambitious plan to provide cheap, high-speed web access to three billion people in Africa and other emerging markets.</p>
<p><a href="http://www.ioltechnology.co.za/article_page.php?iSectionId=2886&amp;iArticleId=4593701" target="_blank">Google Chrome code to be open source</a><br />
Google&#8217;s chief executive admitted on Thursday there was a &#8220;defensive component&#8221; to the web search giant&#8217;s launch of its own Internet browser, thereby pitting it against Microsoft&#8217;s dominant software. Schmidt added that &#8220;there is a defensive component&#8221; to the launch of Google Chrome, the code of which will be open source so no rights will have to be paid by anyone using or adapting the software, which will be a competitor to Microsoft&#8217;s Internet Explorer, the dominant Internet browser.</p>
<p><a href="http://edition.cnn.com/2008/TECH/biztech/09/08/google.at.ten.ap/index.html" target="_blank">Google turns 10, raises monopoly concerns</a><br />
When Larry Page and Sergey Brin founded Google Inc. on September 7, 1998, they had little more than their ingenuity, four computers and an investor&#8217;s $100,000 bet on their belief that an Internet search engine could change the world. It sounded preposterous 10 years ago, but look now: Google draws upon a gargantuan computer network, nearly 20,000 employees and a $150 billion market value to redefine media, marketing and technology. Perhaps Google&#8217;s biggest test in the next decade will be finding a way to pursue its seemingly boundless ambitions without triggering a backlash that derails the company.</p>
<p><a href="http://www.internetnews.com/security/article.php/3770531" target="_blank">Google to Purge Server Logs Twice as Fast</a><br />
In response to growing privacy concerns from U.S. and European lawmakers, Google announced that it will cut the amount of time it stores users&#8217; IP addresses on its servers in half, reducing the retention period from 18 months to nine months.</p>
<p><a href="http://www.informationweek.com/news/internet/google/showArticle.jhtml?articleID=210600655&amp;cid=RSSfeed_IWK_News" target="_blank">Google Offers Web Searchers, Chrome Users More Privacy</a><br />
&#8220;We&#8217;re significantly shortening our previous 18-month retention policy to address regulatory concerns and to take another step to improve privacy for our users.&#8221;</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Latest+News+From+Google+http%3A%2F%2Fis.gd%2F9iP2Li" title="Post to Twitter"><img class="nothumb" src="http://www.emarketingtrends.co.za/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter3.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.emarketingtrends.co.za/2008/09/latest-news-from-google/&amp;t=Latest+News+From+Google" title="Post to Facebook"><img class="nothumb" src="http://www.emarketingtrends.co.za/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.emarketingtrends.co.za/2008/09/latest-news-from-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

