<?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>Giedrius Majauskas blog &#187; boonex</title>
	<atom:link href="http://www.majauskas.com/tag/boonex/feed" rel="self" type="application/rss+xml" />
	<link>http://www.majauskas.com</link>
	<description></description>
	<lastBuildDate>Thu, 29 Jul 2010 08:34:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Boonex &#8211; bad programming example</title>
		<link>http://www.majauskas.com/boonex-bad-programming-example</link>
		<comments>http://www.majauskas.com/boonex-bad-programming-example#comments</comments>
		<pubDate>Wed, 26 Nov 2008 13:35:41 +0000</pubDate>
		<dc:creator>Giedrius</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[boonex]]></category>

		<guid isPermaLink="false">http://www.majauskas.com/?p=68</guid>
		<description><![CDATA[Boonex is an assembly of social site php scripts including chats, forum and the site itself. As we work on several social sites this year, we have chosen boonex as starting platform to build things upon and kinda regret it now.  I wrote a post about newscloud a year ago and about pligg. Well, boonex [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.majauskas.com%2Fboonex-bad-programming-example"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.majauskas.com%2Fboonex-bad-programming-example&amp;source=giedrius&amp;style=normal&amp;service=bit.ly&amp;service_api=R_6b70a2205c1a0ba9dbc37392e42c745d" height="61" width="50" /><br />
			</a>
		</div>
<p>Boonex is an assembly of social site php scripts including chats, forum and the site itself. As we work on several social sites this year, we have chosen boonex as starting platform to build things upon and kinda regret it now. </p>
<p>I wrote a post about <a href="http://www.majauskas.com/newscloud-media-platform-review">newscloud</a> a year ago and about <a href="http://www.majauskas.com/pligg-review">pligg</a>. Well, boonex is shittier than pligg and as newscloud as well. Why ? Lets tackle some of its problems<span id="more-68"></span></p>
<p style="color: red;">Boonex problem nr1. No coding standard </p>
<p>Boonex is writen by several people using different technologies. Its main base (Dolphin) is writen in pure php with its own template engine and forum  (Orca) uses xlst. That has large negative impact to integration of forum in site and site in forum. When coding, please use single technology and template system. </p>
<p>Whats even worser, different parts of dolphins code itself is writen by completely different people, and very in the hurry. So everyone has its own imagination how to interact with different parts of the code. It is very tricky to modify code that way to suit site needs. </p>
<p style="color: red;">Boonex problem nr2. Template engine and separation of code/design/database</p>
<p>This problem in dolphin/boonex needs a point on its own. Boonex uses custom template system ( that should be called layout system). The blocks of generated html code are pased to specific places in the template. That creates a big headache for programers as they need to search through code for the place where some box is generated. It might be generated in template, or in specific function in one of numerous includes. And so on. Even pligg has better templating than this. </p>
<p>It is very tricky to rip boonex templating apart, as whole coding is based on such poor programming practice. They would be better off using existing template system like smarty or similar one. </p>
<p>This leads to problem nr3</p>
<p style="color: red;">Boonex problem nr3. Crapy use of Database</p>
<p>We saw serveral other competing sites launched on boonex, but we did not care much. Why? Becouse when they reach 500-1000 daily visitors they will break apart. The reason for it is very bad programming and use of database. </p>
<p>For example, boonex uses profile builder which assigns fields to profiles. So the output of profile uses more than one table and is quite inefficient. </p>
<p>Also, there is a nice 20-30 query overhead on each page display to fetch all the configuration values from table. Silly, isn&#8217;t it ? They would be FAR better of using a file for configuring sofware or caching it in php file like it is done in most of the systems. </p>
<p>Another simple problem. When boonex wants to display a profile being online it additionally check database for its status. But that data was pulled from database already. So 20 useless queries again. </p>
<p style="color: red;">Resume</p>
<p>I would not suggest using boonex if you want to keep your programmers sane. We have have changed the code almost completely for now, and you will need to do that too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.majauskas.com/boonex-bad-programming-example/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
	</channel>
</rss>
