<?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>Bin-Blog &#187; Web Development</title>
	<atom:link href="http://www.bin-co.com/blog/tag/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bin-co.com/blog</link>
	<description>Learn about the latest in Web Development - as soon as I do.</description>
	<lastBuildDate>Tue, 13 Oct 2009 18:55:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Web Application Installer</title>
		<link>http://www.bin-co.com/blog/2007/07/web-application-installer/</link>
		<comments>http://www.bin-co.com/blog/2007/07/web-application-installer/#comments</comments>
		<pubDate>Sun, 01 Jul 2007 18:07:17 +0000</pubDate>
		<dc:creator>Binny V A</dc:creator>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[basic]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[installer]]></category>
		<category><![CDATA[nexty]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.bin-co.com/blog/2007/07/web-application-installer/</guid>
		<description><![CDATA[Almost all distributed web applications has an installer &#8211; it makes installation process easier for the end user. I will try to outline some of the most important things to look out for when creating an installer. Examples of Web Installers WordPress Joomla Nexty I have created an installer for Nexty &#8211; I used the [...]]]></description>
			<content:encoded><![CDATA[<p class="intro">Almost all distributed web applications has an installer &#8211; it makes installation process easier for the end user. I will try to outline some of the most important things to look out for when creating an installer.</p>
<h2>Examples of Web Installers</h2>
<h3><a href="http://wordpress.org/">WordPress</a></h3>
<p><a href='http://www.bin-co.com/blog/wp-content/uploads/2007/07/wordpress.png' title='WordPress Installer Screenshot'><img src='http://www.bin-co.com/blog/wp-content/uploads/2007/07/wordpress.thumbnail.png' alt='WordPress Installer Screenshot' /></a></p>
<h3><a href="http://www.joomla.com/">Joomla</a></h3>
<p><a href='http://www.bin-co.com/blog/wp-content/uploads/2007/07/joomla.png' title='Joomla Installer Screenshot'><img src='http://www.bin-co.com/blog/wp-content/uploads/2007/07/joomla.thumbnail.png' alt='Joomla Installer Screenshot' /></a></p>
<h3>Nexty</h3>
<p>I have created an installer for Nexty &#8211; I used the same installer for <a href="http://www.bin-co.com/blog/2007/05/jus5-light-weight-cms/">Jus5</a> as well. Here&#8217;s a screenshot&#8230;</p>
<p><a href='http://www.bin-co.com/blog/wp-content/uploads/2007/07/nexty.png' title='Nexty Installer Screenshot'><img src='http://www.bin-co.com/blog/wp-content/uploads/2007/07/nexty.thumbnail.png' alt='Nexty Installer Screenshot' /></a></p>
<h2>Functions of an Installer</h2>
<h3>Check Requirements</h3>
<p>If you software needs the GD PHP extension, check for it &#8211; it it is not present, show an error. If any folder must be writable, check for that. Make sure that the user cannot go to the next page without solving all the problems.</p>
<p>Make sure you have provided clear instructions on how to solve the problems &#8211; changing the permission might be easy for you and me &#8211; but the average user will find it very hard.</p>
<h3>Database Connection Details</h3>
<p>The user have to provide this data if our system uses a database.</p>
<ul>
<li>Host</li>
<li>User</li>
<li>Password</li>
<li>Database</li>
</ul>
<p>In some applications, the user must manually enter these data into the config file(for eg. WordPress). In other software, the user have to enter it at the time of installation. For example, Joomla uses this method &#8211; as does my application, <a href="http://nexty.sourceforge.net/">Nexty</a>.</p>
<h3>Create tables and insert initial data</h3>
<p>Check for existing data first &#8211; you don&#8217;t want to delete the existing data when reinstalling the software. This step is necessary only if you are using a Database in your application.</p>
<h3>Save the inputted data</h3>
<p>The user inputted data must be saved &#8211; in my application I just write it to the config file. But for that to work, the config file must have write permission. I also give the user an option to copy the code and place it in the config file themself.</p>
<p>Joomla also writes the values to a config file. However, WordPress inserts the data into the database. The only thing in the config file in wordpress is the database connection details &#8211; which the user must enter manually.</p>
<h3>Disable the Installer</h3>
<p>Make sure that the installer cannot be run after the installation is successfully compleated. This is important for the security of the application. You really don&#8217;t want any Yahoos opening up the install URL of your application and resetting all the data!</p>
<p>The easiest way of doing this is just deleting the installation script/folder. Joomla insists that you remove the installation folder before letting you use the application. In Nexty, removing the installation directory is recommended &#8211; but not enforced.</p>
<p>More on Web Installers in the next post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bin-co.com/blog/2007/07/web-application-installer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>What I learned from Nexty</title>
		<link>http://www.bin-co.com/blog/2007/05/what-i-learned-from-nexty/</link>
		<comments>http://www.bin-co.com/blog/2007/05/what-i-learned-from-nexty/#comments</comments>
		<pubDate>Sat, 26 May 2007 19:36:29 +0000</pubDate>
		<dc:creator>Binny V A</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[nexty]]></category>

		<guid isPermaLink="false">http://www.bin-co.com/blog/2007/05/what-i-learned-from-nexty/</guid>
		<description><![CDATA[Remember Nexty? Recently I was able to make the 1.0 version. Currently I am planning for the second version. But before starting on that I want to document the different things I learned when creating Nexty. These are a list of things you can expect on this series&#8230; Client Side CSS Icons Theming using CSS [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://nexty.sourceforge.net/' title='Nexty Logo'><img class="intro" align="right" src='http://www.bin-co.com/blog/wp-content/uploads/2007/04/nexty_logo.thumbnail.png' alt='Nexty Logo' /></a></p>
<p class="intro">Remember <a href="http://www.bin-co.com/blog/2007/04/nexty-10-released/">Nexty</a>? Recently I was able to make the 1.0 version. Currently I am planning for the second version. But before starting on that I want to document the different things I learned when creating Nexty. These are a list of things you can expect on this series&#8230;</p>
<h2>Client Side</h2>
<ul>
<li>CSS
<ul>
<li>Icons</li>
<li>Theming using CSS</li>
</ul>
</li>
<li>JavaScript
<ul>
<li>Ajax &#8211; Success/Failure Pattern</li>
</ul>
</li>
</ul>
<h2>Server Side</h2>
<ul>
<li>Installer</li>
<li>Framework</li>
<li>API</li>
<li>Distributed Apps</li>
</ul>
<p>Before starting, a small notice &#8211; I will include links to Nexty&#8217;s internal pages in this series. Most of these pages are behind a login. So I would advice that you get an <a href="http://www.bin-co.com/php/programs/apps/nexty/demo/users/register.php">account in Nexty</a> and <a href="http://www.bin-co.com/php/programs/apps/nexty/demo/users/login.php">login</a> into it using the &#8216;Remember Me&#8217; option enabled. This would make sure that you have the most seamless experience.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bin-co.com/blog/2007/05/what-i-learned-from-nexty/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iFrame &#8211; My PHP Framework</title>
		<link>http://www.bin-co.com/blog/2007/05/iframe-my-php-framework/</link>
		<comments>http://www.bin-co.com/blog/2007/05/iframe-my-php-framework/#comments</comments>
		<pubDate>Fri, 18 May 2007 08:35:50 +0000</pubDate>
		<dc:creator>Binny V A</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[iframe]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.bin-co.com/blog/2007/05/iframe-my-php-framework/</guid>
		<description><![CDATA[I have created a number of Web Applications &#8211; Nexty and Jus5 are just a few examples. I used a common code base when creating these sites &#8211; but I did not consider it a full fledged framework. However, now the code base has evolved enough to be called a framework. So, I called it [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.bin-co.com/blog/2007/05/iframe-my-php-framework/iframe-logo/' rel='attachment wp-att-20' title='iFrame Logo'><img class="intro" align="right" src='http://www.bin-co.com/blog/wp-content/uploads/2007/05/iframe.png' alt='iFrame Logo' /></a></p>
<p class="intro">I have created a number of Web Applications &#8211; <a href="http://www.bin-co.com/blog/2007/04/nexty-10-released/">Nexty</a> and <a href="http://www.bin-co.com/blog/2007/05/jus5-light-weight-cms/">Jus5</a> are just a few examples. I used a common code base when creating these sites &#8211; but I did not consider it a full fledged framework. However, now the code base has evolved enough to be called a framework. So, I called it a framework &#8211; <strong class="highlight">the <a href="http://www.bin-co.com/php/scripts/iframe/">iFrame</a> framework</strong>. I know, lame joke &#8211; geek humor <img src='http://www.bin-co.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Before moving further, a word of warning &#8211; <strong class="highlight">Do not use this framework</strong> for your project. There are plenty of great PHP frameworks out there &#8211; use one of those. For example&#8230;</p>
<ul>
<li><a href="http://www.cakephp.org/">CakePHP</a></li>
<li><a href="http://codeigniter.com/">CodeIgniter</a></li>
<li><a href="http://www.symfony-project.com/">Symfony</a></li>
<li><a href="http://framework.zend.com/">ZendPHP</a></li>
</ul>
<p><strong class="highlight">These are professional, enterprise level frameworks</strong>. They are secure, well designed and documented. Use any of those when creating your site &#8211; do not use mine. There are no legal restrictions &#8211; the code for iFrame is under BSD License. These are the reasons why you should not use my framework&#8230;</p>
<h2>Disadvantages</h2>
<dl>
<dt>Documentation</dt>
<dd>Many Users of frameworks complain that there is not enough documentation. My framework has no such problems &#8211; it has <strong>no documentation whatsoever </strong>. They only way to find what a function is supposed to do, is to read the code.</dd>
<dt>Bugs</dt>
<dd>This system is developed, used and tested by just one person &#8211; me. So, there are many yet undiscovered bugs.</dd>
<dt>No <abbr title="Object Relation Mapping">ORM</abbr></dt>
<dd>Those who are in love with ORM will be disappointed when using iFrame &#8211; I have not implemented ORM.</dd>
<dt>Currently, only MySQL is supported</dt>
<dd>There is a database abstraction layer &#8211; but as of yet, only MySQL is supported.</dd>
<dt>And a lot more other reasons</dt>
<dd>The reasons why you should not use this framework is too numerous to list here.</dd>
</dl>
<h2>Advantages</h2>
<p>Despite all the given disadvantages, I will use this framework &#8211; these are the reasons for that&#8230;</p>
<dl>
<dt>Lightweight</dt>
<dd>This is the most lightweight framework that I have ever seen.</dd>
<dt>Helpful functions that reduce coding time</dt>
<dd>
<p>All my PHP functions are available in the framework &#8211; If you know how to use them, these functions save a lot of time. For example&#8230;</p>
<ul>
<li><a href="http://www.bin-co.com/php/scripts/upload_function/">upload()</a></li>
<li><a href="http://www.bin-co.com/php/scripts/dump/">dump()</a></li>
<li><a href="http://www.bin-co.com/php/scripts/xml2array/">xml2array()</a></li>
<li><a href="http://www.bin-co.com/php/scripts/array2json/">array2json()</a></li>
<li>And more&#8230;</li>
</ul>
</dd>
<dt>Encourages clean code</dt>
<dd>iFrame is an MVC framework(although the &#8216;Model&#8217; is a bit limited for now). By default, each controller has its own folder and each action has its own file. This will greatly increase the number of files &#8211; but will reduce the number of lines in each file. Some might find it hard to use &#8211; but I find it more manageable this way.</dd>
<dt>A lot of cool features</dt>
<dd>I will talk about these &#8216;cool features&#8217; in the next post.</dd>
</dl>
<h2>Code</h2>
<p>What good is a framework without the code&#8230;</p>
<p><a href="http://www.bin-co.com/php/scripts/iframe/code/">View the iFrame code online</a></p>
<p>You can get the code from my subversion server &#8211; use this command&#8230;</p>
<p><code>svn checkout http://www.bin-co.com/php/scripts/iframe/code/ iframe</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bin-co.com/blog/2007/05/iframe-my-php-framework/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

