<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.7.2" -->
<rss version="2.0">
    <channel>
        <title>xfemail[ Search for &quot;&quot;]</title>
        <description></description>
        <link>http://xataface.com/admin.php?-action=single_record_search&amp;-table=products&amp;product_id=%3D8&amp;-cursor=0&amp;-skip=0&amp;-limit=30&amp;-mode=list&amp;--subsearch=</link>
        <lastBuildDate>Wed, 22 May 2013 02:28:18 +0100</lastBuildDate>
        <generator>FeedCreator 1.7.2</generator>
        <item>
            <title>Application Versioning &amp; Synchronization with Xataface</title>
            <link>http://xataface.com/admin.php?-action=blog&amp;-table=news&amp;news_id=%3D62</link>
            <description>&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;News id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;62&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Headline&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Application Versioning &amp;amp; Synchronization with Xataface&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Content&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;	One of the more annoying challenges involved with managing production web applications is keeping the development and production versions in sync.  Verson control systems such as Subversion and CVS make this task trivial for source code and file system changes, but changes to the database schema between versions still need to be handled with [...]&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Date posted&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Wed Nov 26 06:16:49 2008&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Posted by&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;shannah&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Status&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Approved&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Categories&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Steve Hannah's Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source url&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;http://www.sjhannah.com/blog/?p=144&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description>
            <author>62</author>
            <pubDate>Wed, 26 Nov 2008 14:16:49 +0100</pubDate>
        </item>
        <item>
            <title>Replacing Scriptaculous/Prototype with jQuery</title>
            <link>http://xataface.com/admin.php?-action=blog&amp;-table=news&amp;news_id=%3D63</link>
            <description>&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;News id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;63&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Headline&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Replacing Scriptaculous/Prototype with jQuery&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Content&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;	I have used Scriptaculous in the past to sprinkle little bits of UI magic into Xataface.  Specifically, I have used it to add collapsible sections, sortable sections (via drag-and-drop), and sortable tables (also via drag and drop).  These worked great!  The Scriptaculous library was a bit bulky and it made the initial [...]&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Date posted&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Tue Nov 25 06:34:24 2008&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Posted by&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;shannah&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Status&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Approved&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Categories&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Steve Hannah's Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source url&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;http://www.sjhannah.com/blog/?p=143&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description>
            <author>63</author>
            <pubDate>Tue, 25 Nov 2008 14:34:24 +0100</pubDate>
        </item>
        <item>
            <title>SVN committing</title>
            <link>http://xataface.com/admin.php?-action=blog&amp;-table=news&amp;news_id=%3D70</link>
            <description>&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;News id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;70&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Headline&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;SVN committing&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Content&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;This isn't exactly a Xataface related issue, but I found myself continually forgetting about this that I thought it would be good to blog about this so I can remember.  When I have ssh'ed onto the server and I need to do a svn commit, I get an error message about not having an editor to input my svn commit message.  The following piece of code fixes this:br /br /blockquotebr /export EDITOR=vibr //blockquotebr /br /Where vi is the editor program we are using.  If you have something else installed on your server (and hopefully you do because vi really blows), then you can just use that.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Date posted&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Sat Nov 22 13:01:00 2008&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Posted by&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;noreply@blogger.com (Fong Chun Chan)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Status&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Approved&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Categories&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Fong's Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source url&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;http://fongxataface.blogspot.com/2008/11/svn-committing.html&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description>
            <author>70</author>
            <pubDate>Sat, 22 Nov 2008 21:01:00 +0100</pubDate>
        </item>
        <item>
            <title>Testing Xataface on IE6 when you have Vista</title>
            <link>http://xataface.com/admin.php?-action=blog&amp;-table=news&amp;news_id=%3D71</link>
            <description>&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;News id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;71&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Headline&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Testing Xataface on IE6 when you have Vista&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Content&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;So I ran into a pretty annoying problem the other day.  I had to test a Xataface application on IE6 with Vista as my OS.  Which basically meant I had IE7 preinstalled, and I couldn't install IE6.  Ughh...annoying.  I don't understand why people still use IE6, but whatever.br /br /The best way to actually shove this is to install a virtual machine with the OS set to XP and then you can use IE6 on it.  To do this follow this a href=&amp;quot;http://www.raizlabs.com/blog/?p=221&amp;quot;tutorial/a.  br /br /One thing you need to note is that Virtual PC 2004 does NOT work on Vista.  So you actually have to use Virtual PC (VPC) 2007 .  This can be found a href=&amp;quot;http://www.microsoft.com/downloads/details.aspx?FamilyId=04D26402-3199-48A3-AFA2-2DC0B40A73B6displaylang=en&amp;quot;here/a.  The &amp;quot;Internet Explorer 6 Testing VPC Image&amp;quot; is still the same.br /br /Another annoying thing is that VPC 2007 is NOT fully supported with Vista Home edition (UGHHH...why are things to complicated!).  And you'll be faced with all these messages not non-compatibility.  But you are just limited from some features which I didn't bother looking directly into.  But if you just want to test Xataface sites on it, then just ignore the messages and install it.br /br /After you have loaded the VPC image, then the next step is to actually setup internet connection from inside the VPC.  If you are using a LAN connection, then do this:br /br /olbr /liEdit/libr /liSettings/libr /liNetworking /libr /liAdaptor 1: NAT/libr //olbr /br /Try to connect now, and if you have a firewall on then you will be prompted to allow the VPC to pass it.  After you &amp;quot;unblock&amp;quot; it, then everything should work!br /br /If you are using wireless, then use this a href=&amp;quot;http://claytonj.wordpress.com/2007/02/02/connect-virtual-pc-to-internet/&amp;quot;tutorial/a.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Date posted&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Sun Nov 16 07:42:00 2008&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Posted by&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;noreply@blogger.com (Fong Chun Chan)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Status&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Approved&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Categories&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Fong's Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source url&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;http://fongxataface.blogspot.com/2008/11/testing-xataface-on-ie6-when-you-have.html&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description>
            <author>71</author>
            <pubDate>Sun, 16 Nov 2008 15:42:00 +0100</pubDate>
        </item>
        <item>
            <title>Adding some text when no block/slot exists</title>
            <link>http://xataface.com/admin.php?-action=blog&amp;-table=news&amp;news_id=%3D72</link>
            <description>&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;News id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;72&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Headline&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Adding some text when no block/slot exists&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Content&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Sometimes you need to add some text to a certain template, but Xataface doesn't have the specific block or slot to use.  For example, say you wanted to include some text underneath the password field in the login page for Xataface.  You can't do this with blocks or slots since nothing exists underneath that field.  You can however do a workaround by using javascript and the DOM concept.  br /br /For example:br /br /blockquotebr /function block__after_login_form(){br /lt;script language=quot;javascriptquot;gt;lt;!--br /var div = document.createElement(#39;div#39;);br /div.className = 'formHelp';br /var text = document.createTextNode(#39;Please enter the correct password#39;);br /div.appendChild(text);br /br /document.getElementById(#39;Login-Password#39;).appendChild(div);br ///--gt;lt;/scriptgt;br /}br //blockquotebr /br /First thing to notice is we are using the block__after_login_form() which simply a block on that template.  We are using it to include our javascript of interest.  We could have actually used any block. br /br /blockquotevar div = document.createElement(#39;div#39;);/blockquotebr /br /The first thing we do is create a div element.br /br /blockquotediv.className = 'formHelp';/blockquotebr /br /Here are just giving it the css class name of formHelp which gives it a nice styling feel.  This is the same style used for widget:description values.br /br /blockquotevar text = document.createTextNode(#39;Please enter the correct password#39;);/blockquotebr /br /And then we create a textnode which contains the text of interest.br /br /blockquotediv.appendChild(text);/blockquotebr /br /With out div element, we are appending the text node we just created to it.br /br /blockquotedocument.getElementById(#39;Login-Password#39;).appendChild(div);/blockquotebr /br /And finally we add our div element to our element of interest which happens to have the id of &amp;quot;Login-Password&amp;quot;  This id has been assigned by Xataface itself.br /br /And if everything works out fine, then you should see the text appear below the password field!br /br /You can find more information about how to manipulate DOM structure using javascript a href=&amp;quot;http://www.howtocreate.co.uk/tutorials/javascript/domstructure&amp;quot;here/a.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Date posted&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Wed Nov 12 07:01:00 2008&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Posted by&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;noreply@blogger.com (Fong Chun Chan)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Status&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Approved&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Categories&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Fong's Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source url&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;http://fongxataface.blogspot.com/2008/11/adding-some-text-when-no-blockslot.html&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description>
            <author>72</author>
            <pubDate>Wed, 12 Nov 2008 15:01:00 +0100</pubDate>
        </item>
        <item>
            <title>Displaying Xataface record values</title>
            <link>http://xataface.com/admin.php?-action=blog&amp;-table=news&amp;news_id=%3D33</link>
            <description>&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;News id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;33&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Headline&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Displaying Xataface record values&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Content&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Taking a look at the Xataface Record API presents you with several techniques to display the values of the record.  At the lowest level, there is a function called val and can be called like this (assuming $rec is a Xataface record)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;blockquote&amp;gt;$rec-&amp;gt;val('fieldname')&amp;lt;/blockquote&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;What this does is it displays the raw value of field.  As in exactly what is stored in the database.  &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;But what happens if the value is say a foreign key to another table say like a number of a company.  We don't really want to display just the number, but rather the company name of the id.  If a valuelist has been setup for this company_id in a valuelist.ini file, then you can easily display the field you really want by simply using the &amp;quot;display&amp;quot; function.  &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;So say for example, in your application delegate's valuelists.ini file you have this:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;br /&amp;gt;[companies]&amp;lt;br /&amp;gt;__sql__=&amp;quot;select company_id,company_name from companies order by company_name&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;So you are basically telling Xataface to use the company_name as a replacement for the company_id.  Since this is the application's delegate, this valuelist is accessible by any table and can be overwritten the own table's valuelist.  In any case, if in your other table you just call:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;blockquote&amp;gt;$rec-&amp;gt;display('company_id')&amp;lt;/blockquote&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Xataface will be smart enough to use the company_name in replacement for the company_id.  This display function is also useful for database field types datetime, time, or date.  If you were simply use the &amp;quot;val&amp;quot; function it would return the date as an array with keys &amp;quot;year&amp;quot;, &amp;quot;month&amp;quot;, &amp;quot;seconds&amp;quot;, etc.  And you would be left with having to piece together the information yourself.  But by using the display() function you can quickly circumvent this problem.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Date posted&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Sat Aug  2 03:41:00 2008&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Posted by&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;noreply@blogger.com (Fong Chun Chan)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Status&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Approved&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Categories&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Fong's Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source url&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;http://fongxataface.blogspot.com/2008/08/displaying-xataface-record-values.html&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description>
            <author>33</author>
            <pubDate>Sat, 02 Aug 2008 10:41:00 +0100</pubDate>
        </item>
        <item>
            <title>Xataface: Setting a logo for a xataface record</title>
            <link>http://xataface.com/admin.php?-action=blog&amp;-table=news&amp;news_id=%3D34</link>
            <description>&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;News id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;34&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Headline&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Xataface: Setting a logo for a xataface record&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Content&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;When you go into the details view of a record, in addition to the all the different values in the database about the record, you can also specify a logo for that record and this logo will appear in the top left corner of the record.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;You should first refer to this &amp;lt;a href=&amp;quot;http://framework.weblite.ca/documentation/how-to/how-to-handle-file-uploads&amp;quot;&amp;gt;document&amp;lt;/a&amp;gt; on how to actually store images/file in xataface.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;I used method two because I always find it much easier to manage when the files exist physically and not just as bytes in the database.  So let's assume that the picture field in the database is what is storing the file name in the database, and you have a directory called picture in your delegate class.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The next step is to go into your delegate class that represents this record and include this function:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;function field__friend_picture(&amp;amp;$record){&amp;lt;br /&amp;gt;  return '&amp;amp;lt;img src=&amp;quot;'.$record-&amp;gt;display('picture').'&amp;quot;&amp;amp;gt;&amp;amp;lt;/img&amp;amp;gt;';   &amp;lt;br /&amp;gt; } &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;What this does is define a custom field called friend_picture which will basically return the image.  By using $record-&amp;gt;display() we are returning the whole address of the picture.  Xataface is smart enough to figure out how to return the address.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This is opposed to using $record-&amp;gt;val('picture') which would return the raw value of the field in the database which would just be the filename. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;And then final step is to go into the fields.ini file of this delegate class and include this:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;br /&amp;gt;[friend_picture]&amp;lt;br /&amp;gt;logo = 1&amp;lt;br /&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This causes xataface to recognize this was a logo field for the record and then display the picture in the top left hand corner of the detail view of the record.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;And volia!&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Some things to note is that trying to include the logo = 1 as attribute for the field that holds the filename that's seem to work.  For example, say in the fields.ini file you have:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;br /&amp;gt;[picture]&amp;lt;br /&amp;gt;logo = 1&amp;lt;br /&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This would place this field to the top left hand corner, but it would just say &amp;quot;View Field Content In New Window ()&amp;quot; in the top left hand corner.  You have to make a custom field.  &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Also, you can specify exactly records of which table should display logos by including this line of code in the ApplicationDelegate class' getPreferences() function:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;br /&amp;gt;//this is needed to determine which table records will have a logo on them&amp;lt;br /&amp;gt;  if ( !in_array($query['-table'], array('companies', 'dealers','news', 'strategies', 'offerings') ) ){&amp;lt;br /&amp;gt;   $prefs['hide_record_view_logo'] = 1;&amp;lt;br /&amp;gt;  }&amp;lt;br /&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;What this basically did was check whether the current table viewing this record was either companies, dealer, etc. And if it wasn't, it would turn the hide_record_view_logo preference.  So a modified line of code could be like this:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;br /&amp;gt;if ( !in_array($query['-table'], array('companies', 'dealers','news', 'strategies, 'offerings') ) ){&amp;lt;br /&amp;gt;            $prefs['hide_record_view_logo'] = 1;&amp;lt;br /&amp;gt;        }&amp;lt;br /&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Date posted&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Thu Jul 31 00:40:00 2008&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Posted by&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;noreply@blogger.com (Fong Chun Chan)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Status&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Approved&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Categories&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Fong's Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source url&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;http://fongxataface.blogspot.com/2008/07/xataface-setting-logo-for-xataface.html&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description>
            <author>34</author>
            <pubDate>Thu, 31 Jul 2008 07:40:00 +0100</pubDate>
        </item>
        <item>
            <title>Smarty Tags</title>
            <link>http://xataface.com/admin.php?-action=blog&amp;-table=news&amp;news_id=%3D39</link>
            <description>&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;News id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;39&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Headline&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Smarty Tags&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Content&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;So Xataface employs smarty templates throughout its application to apply its styles and stuff.  I am not 100% sure how it works, but there are list of ENV variables which are available to be used throughout any template file in xataface.   These ENV variables can be found at this &amp;lt;a href=&amp;quot;http://lamp.weblite.ca/dataface-0.6/docs/index.php?-table=Classes&amp;amp;-action=browse&amp;amp;ClassID=%3D41&amp;quot;&amp;gt;link&amp;lt;/a&amp;gt;.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Date posted&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Thu Jun  5 04:13:00 2008&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Posted by&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;noreply@blogger.com (Fong Chun Chan)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Status&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Approved&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Categories&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Fong's Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source url&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;http://fongxataface.blogspot.com/2008/06/smarty-tags.html&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description>
            <author>39</author>
            <pubDate>Thu, 05 Jun 2008 11:13:00 +0100</pubDate>
        </item>
        <item>
            <title>The debug option</title>
            <link>http://xataface.com/admin.php?-action=blog&amp;-table=news&amp;news_id=%3D42</link>
            <description>&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;News id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;42&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Headline&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;The debug option&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Content&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;You have the option of turning on debug = 1 in the conf.ini file in the application folder of a Xataface application.  What this will do is basically display all the possible blocks you can insert code/templates into. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Slots will not be displayed in the page, but rather they will be present in the html code in comments.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Date posted&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Tue Jun  3 14:36:00 2008&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Posted by&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;noreply@blogger.com (Fong Chun Chan)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Status&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Approved&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Categories&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Fong's Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source url&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;http://fongxataface.blogspot.com/2008/06/debug-option.html&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description>
            <author>42</author>
            <pubDate>Tue, 03 Jun 2008 21:36:00 +0100</pubDate>
        </item>
        <item>
            <title>Xataface - How to unset tabs in the table view</title>
            <link>http://xataface.com/admin.php?-action=blog&amp;-table=news&amp;news_id=%3D47</link>
            <description>&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;News id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;47&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Headline&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Xataface - How to unset tabs in the table view&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Content&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Inside of a delegate class' fields.ini file, you can specify the notion of &amp;quot;tabs&amp;quot; and actually put separate fields into their tabs.  &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Sometimes you don't want a tab to appear in the view of a record.  You can set the permissions of this like this:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;function __tabs__(&amp;amp;$record){&amp;lt;br /&amp;gt;    $user =&amp;amp; getUser();&amp;lt;br /&amp;gt;        &amp;lt;br /&amp;gt;    $t =&amp;amp; $record-&amp;gt;_table;&amp;lt;br /&amp;gt;    $tabs = $t-&amp;gt;_tabs;&amp;lt;br /&amp;gt;    if ( $record and !isAdmin() ){&amp;lt;br /&amp;gt;        &amp;lt;br /&amp;gt;        if ( !$record-&amp;gt;val('people_approval_status') )&amp;lt;br /&amp;gt;            unset($tabs['__people__']);&amp;lt;br /&amp;gt;        if ( !$record-&amp;gt;val('researcher_approval_status') )&amp;lt;br /&amp;gt;            unset($tabs['__gcms__']);&amp;lt;br /&amp;gt;    }&amp;lt;br /&amp;gt;    return $tabs;&amp;lt;br /&amp;gt;}&amp;lt;br /&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Here we call the __tabs__ function to actually process the tabs before they are run.  And then we unset the tabs that we don't want the user to see.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Date posted&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Wed Apr 23 00:29:00 2008&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Posted by&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;noreply@blogger.com (Fong Chun Chan)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Status&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Approved&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Categories&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Fong's Blog&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Source url&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;http://fongxataface.blogspot.com/2008/04/xataface.html&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description>
            <author>47</author>
            <pubDate>Wed, 23 Apr 2008 07:29:00 +0100</pubDate>
        </item>
        <item>
            <title>xfemail</title>
            <link>http://xataface.com/admin.php?-table=products&amp;-action=browse&amp;product_id=%3D8</link>
            <description>&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Product id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;8&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Freshmeat project name&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;xfemail&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Use freshmeat details&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Freshmeat data&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE project-listing SYSTEM &amp;quot;http://freshmeat.net/backend/fm-projects-0.4.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;project-listing&amp;gt;&lt;br /&gt;
  &amp;lt;project&amp;gt;&lt;br /&gt;
    &amp;lt;project_id&amp;gt;72221&amp;lt;/project_id&amp;gt;&lt;br /&gt;
    &amp;lt;date_added&amp;gt;2009-02-19 17:26:41&amp;lt;/date_added&amp;gt;&lt;br /&gt;
    &amp;lt;date_updated&amp;gt;2009-02-19 19:23:58&amp;lt;/date_updated&amp;gt;&lt;br /&gt;
    &amp;lt;projectname_short&amp;gt;xfemail&amp;lt;/projectname_short&amp;gt;&lt;br /&gt;
    &amp;lt;projectname_full&amp;gt;Xataface Email Module&amp;lt;/projectname_full&amp;gt;&lt;br /&gt;
    &amp;lt;desc_short&amp;gt;A Xataface module to email any set found in a MySQL database.&amp;lt;/desc_short&amp;gt;&lt;br /&gt;
    &amp;lt;desc_full&amp;gt;Xataface Email Module allows you to email to the&lt;br /&gt;
results of any set found in a Xataface&lt;br /&gt;
application. This allows you to easily convert&lt;br /&gt;
your existing database of contacts into a mailing&lt;br /&gt;
list. It supports HTML email, recipient opt-out,&lt;br /&gt;
mailmerge macros, and more. The email is sent in&lt;br /&gt;
the background via a cron script, so arbitrarily&lt;br /&gt;
large email lists can be supported.&amp;lt;/desc_full&amp;gt;&lt;br /&gt;
    &amp;lt;vitality_score&amp;gt;1.00&amp;lt;/vitality_score&amp;gt;&lt;br /&gt;
    &amp;lt;vitality_percent&amp;gt;0.00&amp;lt;/vitality_percent&amp;gt;&lt;br /&gt;
    &amp;lt;vitality_rank&amp;gt;25885&amp;lt;/vitality_rank&amp;gt;&lt;br /&gt;
    &amp;lt;popularity_score&amp;gt;29.87&amp;lt;/popularity_score&amp;gt;&lt;br /&gt;
    &amp;lt;popularity_percent&amp;gt;0.05&amp;lt;/popularity_percent&amp;gt;&lt;br /&gt;
    &amp;lt;popularity_rank&amp;gt;44181&amp;lt;/popularity_rank&amp;gt;&lt;br /&gt;
    &amp;lt;rating&amp;gt;0.00&amp;lt;/rating&amp;gt;&lt;br /&gt;
    &amp;lt;rating_count&amp;gt;0&amp;lt;/rating_count&amp;gt;&lt;br /&gt;
    &amp;lt;rating_rank&amp;gt;405&amp;lt;/rating_rank&amp;gt;&lt;br /&gt;
    &amp;lt;subscriptions&amp;gt;1&amp;lt;/subscriptions&amp;gt;&lt;br /&gt;
    &amp;lt;branch_name&amp;gt;Default&amp;lt;/branch_name&amp;gt;&lt;br /&gt;
    &amp;lt;url_project_page&amp;gt;http://freshmeat.net/projects/xfemail/&amp;lt;/url_project_page&amp;gt;&lt;br /&gt;
    &amp;lt;url_homepage&amp;gt;http://freshmeat.net/redir/xfemail/77903/url_homepage/&amp;lt;/url_homepage&amp;gt;&lt;br /&gt;
    &amp;lt;url_tgz&amp;gt;http://freshmeat.net/redir/xfemail/77903/url_tgz/&amp;lt;/url_tgz&amp;gt;&lt;br /&gt;
    &amp;lt;url_bz2&amp;gt;&amp;lt;/url_bz2&amp;gt;&lt;br /&gt;
    &amp;lt;url_zip&amp;gt;http://freshmeat.net/redir/xfemail/77903/url_zip/&amp;lt;/url_zip&amp;gt;&lt;br /&gt;
    &amp;lt;url_changelog&amp;gt;&amp;lt;/url_changelog&amp;gt;&lt;br /&gt;
    &amp;lt;url_rpm&amp;gt;&amp;lt;/url_rpm&amp;gt;&lt;br /&gt;
    &amp;lt;url_deb&amp;gt;&amp;lt;/url_deb&amp;gt;&lt;br /&gt;
    &amp;lt;url_osx&amp;gt;&amp;lt;/url_osx&amp;gt;&lt;br /&gt;
    &amp;lt;url_bittorrent&amp;gt;&amp;lt;/url_bittorrent&amp;gt;&lt;br /&gt;
    &amp;lt;url_bsdport&amp;gt;&amp;lt;/url_bsdport&amp;gt;&lt;br /&gt;
    &amp;lt;url_autopackage&amp;gt;&amp;lt;/url_autopackage&amp;gt;&lt;br /&gt;
    &amp;lt;url_jar&amp;gt;&amp;lt;/url_jar&amp;gt;&lt;br /&gt;
    &amp;lt;url_purchase&amp;gt;&amp;lt;/url_purchase&amp;gt;&lt;br /&gt;
    &amp;lt;url_cvs&amp;gt;&amp;lt;/url_cvs&amp;gt;&lt;br /&gt;
    &amp;lt;url_bugtracker&amp;gt;&amp;lt;/url_bugtracker&amp;gt;&lt;br /&gt;
    &amp;lt;url_list&amp;gt;&amp;lt;/url_list&amp;gt;&lt;br /&gt;
    &amp;lt;url_mirror&amp;gt;&amp;lt;/url_mirror&amp;gt;&lt;br /&gt;
    &amp;lt;url_demo&amp;gt;&amp;lt;/url_demo&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License v2&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;latest_release&amp;gt;&lt;br /&gt;
      &amp;lt;latest_release_version&amp;gt;0.1&amp;lt;/latest_release_version&amp;gt;&lt;br /&gt;
      &amp;lt;latest_release_id&amp;gt;294520&amp;lt;/latest_release_id&amp;gt;&lt;br /&gt;
      &amp;lt;latest_release_date&amp;gt;2009-02-19 19:23:58&amp;lt;/latest_release_date&amp;gt;&lt;br /&gt;
    &amp;lt;/latest_release&amp;gt;&lt;br /&gt;
    &amp;lt;screenshot_thumb&amp;gt;&amp;lt;/screenshot_thumb&amp;gt;&lt;br /&gt;
    &amp;lt;authors&amp;gt;&lt;br /&gt;
      &amp;lt;author&amp;gt;&lt;br /&gt;
        &amp;lt;author_name&amp;gt;Steve Hannah&amp;lt;/author_name&amp;gt;&lt;br /&gt;
        &amp;lt;author_url&amp;gt;http://freshmeat.net/~shannah/&amp;lt;/author_url&amp;gt;&lt;br /&gt;
        &amp;lt;author_role&amp;gt;Owner&amp;lt;/author_role&amp;gt;&lt;br /&gt;
      &amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;/authors&amp;gt;&lt;br /&gt;
    &amp;lt;descriminators&amp;gt;&lt;br /&gt;
      &amp;lt;trove_id&amp;gt;10&amp;lt;/trove_id&amp;gt;&lt;br /&gt;
      &amp;lt;trove_id&amp;gt;237&amp;lt;/trove_id&amp;gt;&lt;br /&gt;
      &amp;lt;trove_id&amp;gt;3&amp;lt;/trove_id&amp;gt;&lt;br /&gt;
      &amp;lt;trove_id&amp;gt;4&amp;lt;/trove_id&amp;gt;&lt;br /&gt;
      &amp;lt;trove_id&amp;gt;1130&amp;lt;/trove_id&amp;gt;&lt;br /&gt;
      &amp;lt;trove_id&amp;gt;235&amp;lt;/trove_id&amp;gt;&lt;br /&gt;
      &amp;lt;trove_id&amp;gt;183&amp;lt;/trove_id&amp;gt;&lt;br /&gt;
      &amp;lt;trove_id&amp;gt;30&amp;lt;/trove_id&amp;gt;&lt;br /&gt;
      &amp;lt;trove_id&amp;gt;68&amp;lt;/trove_id&amp;gt;&lt;br /&gt;
      &amp;lt;trove_id&amp;gt;914&amp;lt;/trove_id&amp;gt;&lt;br /&gt;
    &amp;lt;/descriminators&amp;gt;&lt;br /&gt;
    &amp;lt;dependencies&amp;gt;&lt;br /&gt;
      &amp;lt;dependency type=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;dependency_release_id&amp;gt;0&amp;lt;/dependency_release_id&amp;gt;&lt;br /&gt;
        &amp;lt;dependency_branch_id&amp;gt;0&amp;lt;/dependency_branch_id&amp;gt;&lt;br /&gt;
        &amp;lt;dependency_project_id&amp;gt;58929&amp;lt;/dependency_project_id&amp;gt;&lt;br /&gt;
        &amp;lt;dependency_project_title&amp;gt;Xataface&amp;lt;/dependency_project_title&amp;gt;&lt;br /&gt;
      &amp;lt;/dependency&amp;gt;&lt;br /&gt;
      &amp;lt;dependency type=&amp;quot;required&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;dependency_release_id&amp;gt;0&amp;lt;/dependency_release_id&amp;gt;&lt;br /&gt;
        &amp;lt;dependency_branch_id&amp;gt;0&amp;lt;/dependency_branch_id&amp;gt;&lt;br /&gt;
        &amp;lt;dependency_project_id&amp;gt;6904&amp;lt;/dependency_project_id&amp;gt;&lt;br /&gt;
        &amp;lt;dependency_project_title&amp;gt;MySQL&amp;lt;/dependency_project_title&amp;gt;&lt;br /&gt;
      &amp;lt;/dependency&amp;gt;&lt;br /&gt;
    &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
  &amp;lt;/project&amp;gt;&lt;br /&gt;
&amp;lt;/project-listing&amp;gt;&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Product name&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Xataface Email Module&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Product description&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Xataface Email Module allows you to email to the results of any set found in a Xataface application. This allows you to easily convert your existing database of contacts into a mailing list. It supports HTML email, recipient opt-out, mailmerge macros, and more. The email is sent in the background via a cron script, so arbitrarily large email lists can be supported.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Product license&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;GNU General Public License v2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Download url&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;https://sourceforge.net/project/platformdownload.php?group_id=253820&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Website url&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;http://xataface.com/wiki/Email&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Product category&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Xataface Modules&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Date posted&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Wed Feb 18 23:15:58 2009&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Last modified&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;Wed Dec 16 13:28:42 2009&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;Owner id&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;shannah&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description>
            <author>shannah</author>
            <pubDate>Wed, 16 Dec 2009 21:28:42 +0100</pubDate>
        </item>
    </channel>
</rss>
