<?xml version="1.0" encoding="iso-8859-1"?><!-- generator="b2evolution/2.4.6" -->
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Webnology</title>
		<link>http://www.evarions.com/index.php/webnology/</link>
		<description>This blog contain information about php, mysql, ajax, html, css and Interviews Help</description>
		<language>en-GB</language>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<admin:generatorAgent rdf:resource="http://b2evolution.net/?v=2.4.6"/>
		<ttl>60</ttl>
				<item>
			<title>Drupal content management system software Review</title>
			<link>http://www.evarions.com/index.php/webnology/2010/10/27/drupal-content-management-system-softwar</link>
			<pubDate>Wed, 27 Oct 2010 07:52:45 +0000</pubDate>			<dc:creator>shardulk10</dc:creator>
			<category domain="alt">Uncategorized</category>
<category domain="alt">PHP</category>
<category domain="alt">HTML</category>
<category domain="alt">CSS</category>
<category domain="alt">Introduction</category>
<category domain="alt">Applications</category>
<category domain="alt">Blog Application</category>
<category domain="main">CMS</category>			<guid isPermaLink="false">67@http://www.evarions.com/</guid>
						<description>&lt;p&gt;Drupal is content management system software that is much-beloved by a large and thriving developer community. The ever-evolving magnum opus of developer Dries Buytaert, the system, its modules, users and developers value flexibility, simplicity, utility, modularity, extensibility and maintainability in the code. The theory here seems to be that the core files are made light and feature-less &amp;#8211; a blank canvas on which to create. &lt;/p&gt;

&lt;p&gt;This philosophy obviously isn&amp;#8217;t for everyone. The code is clean and light (only a few M&lt;img src=&quot;http://www.evarions.com/rsc/smilies/icon_cool.gif&quot; alt=&quot;&amp;#66;&amp;#41;&quot; class=&quot;middle&quot; /&gt; but that&amp;#8217;s because you will need to install/tweak many (20-30) plugins before you have the site of your dreams.&lt;/p&gt;

&lt;div style=&quot;float:left; clear:both; margin:5px;&quot;&gt;

&lt;!-- Paste from here... --&gt;
&lt;div style=&quot;border:1px solid orange; width:468px; padding:15px;&quot;&gt;
&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-3081027618975944&quot;;
/* 468x15, created 19/10/10 */
google_ad_slot = &quot;2436738772&quot;;
google_ad_width = 468;
google_ad_height = 15;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;
&lt;/div&gt;
&lt;!-- ...to here --&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Standout Features&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;    * Modules &amp;#8211; thousands of them for utility, content, third-party integration, admin, content, media, e-commerce, and on and on.&lt;br /&gt;
    * Intense levels of personalization &amp;#8211; considered to be the &amp;#8220;core of Drupal.&amp;#8221;&lt;br /&gt;
    * Fully indexed and searchable content.&lt;br /&gt;
    * Role-based permissions &amp;#8211; not so different from our other highly ranked systems, but vital nonetheless.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Built-in Applications:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Main criticisms of Drupal include that the countless modules are also its biggest drawback: a site in this system is nothing without many installed modules and conversely maintenance on 20+ modules is a nightmare. Also, this system is not object-oriented, which a lot of potential users find off-putting.&lt;/p&gt;

&lt;p&gt;Some say Drupal is the best they&amp;#8217;ve ever used &amp;#8211; some say it is the worst. This just seems to be more proof that a content management system software is only as good as its user &amp;#8211; meaning know what you need before choosing any CMS.&lt;/p&gt;

&lt;p&gt;Back to Drupal, as stated before, this system is lacking in built-in features yet can&amp;#8217;t really be compared to any other system nor directly penalized in our ratings for same. The Drupal stalwarts all contend that handling large amounts of modules and working around the bugs is completely do-able and worth the time.&lt;/p&gt;

&lt;p&gt;User forums also reveal this system is weak when dealing with image modules &amp;#8211; there are three that overlap but no one does it all on its own. So beware to photo-heavy sites.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Management:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This CMS does offer a lot in the way of built-in management &amp;#8211; almost everything on our list. Analysis, tracking and statistics are built-in and you will definitely need these if you are running an online business of any kind. Having a site is almost pointless if you don&amp;#8217;t pay attention to how it&amp;#8217;s performing traffic-wise and make adjustments based on that research.&lt;/p&gt;

&lt;p&gt;The web-based administration is a great plus here &amp;#8211; you can administer your Drupal site from a web browser anywhere in the world and doesn&amp;#8217;t require any additional software or installation for such.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Performance:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Caching is a must with this system since you will be running plenty of modules in addition to your core files, especially if your site has a lot of visitors as well. You can configure this option from the Administrator&gt;Site Configuration&gt;Performance path. This reduces queries to the server and will help a busy site stay up and running fast for its users.&lt;/p&gt;

&lt;p&gt;The system also performs load balancing between multiple servers as another way to keep the site running smoothly and quickly. This is a built-in feature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Commerce:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All commerce options in Drupal are available as plugins. This system doesn&amp;#8217;t have a point-of-sale function.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ease of Use:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Server page language and friendly URLs are the only built-ins here. Everything else on our list (with the exception of UI levels) can be added on for free.&lt;/p&gt;

&lt;div style=&quot;float:left; clear:both; margin:5px;&quot;&gt;

&lt;!-- Paste from here... --&gt;
&lt;div style=&quot;border:1px solid orange; width:468px; padding:15px;&quot;&gt;
&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-3081027618975944&quot;;
/* 468x15, created 19/10/10 */
google_ad_slot = &quot;2436738772&quot;;
google_ad_width = 468;
google_ad_height = 15;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;
&lt;/div&gt;
&lt;!-- ...to here --&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Support:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Drupal content management system software offers the full complement of support, with smoke tests available &amp;#8211; you guessed it &amp;#8211; as a plugin. The forums and documentation aren&amp;#8217;t perfect, but they are active and if you do have a nailbiter of a problem, you should be able to find someone or something to help you out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Summary:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Drupal is an amazing assemblage of Open Source development, working from scratch and creating something totally unique. It&amp;#8217;s most certainly made for developers, though. It's not content management system software for the faint-of-heart.&lt;/p&gt;

&lt;p&gt;If you are planning a community site or a high traffic site, Drupal might not be the best choice. For less developer-heavy features, try another of our highly ranked products such as Wordpress.org or Joomla!&lt;/p&gt;

&lt;p&gt;Reference Site : &lt;a href=&quot;http://cms-software-review.toptenreviews.com/drupal-review-pg2.html&quot;&gt;http://cms-software-review.toptenreviews.com/drupal-review-pg2.html&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://www.evarions.com/index.php/webnology/2010/10/27/drupal-content-management-system-softwar&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Drupal is content management system software that is much-beloved by a large and thriving developer community. The ever-evolving magnum opus of developer Dries Buytaert, the system, its modules, users and developers value flexibility, simplicity, utility, modularity, extensibility and maintainability in the code. The theory here seems to be that the core files are made light and feature-less &#8211; a blank canvas on which to create. </p>

<p>This philosophy obviously isn&#8217;t for everyone. The code is clean and light (only a few M<img src="http://www.evarions.com/rsc/smilies/icon_cool.gif" alt="&#66;&#41;" class="middle" /> but that&#8217;s because you will need to install/tweak many (20-30) plugins before you have the site of your dreams.</p>

<div style="float:left; clear:both; margin:5px;">

<!-- Paste from here... -->
<div style="border:1px solid orange; width:468px; padding:15px;">
<script type="text/javascript"><!--
google_ad_client = "pub-3081027618975944";
/* 468x15, created 19/10/10 */
google_ad_slot = "2436738772";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<!-- ...to here -->

</div>

<p><strong>Standout Features</strong></p>

<p>    * Modules &#8211; thousands of them for utility, content, third-party integration, admin, content, media, e-commerce, and on and on.<br />
    * Intense levels of personalization &#8211; considered to be the &#8220;core of Drupal.&#8221;<br />
    * Fully indexed and searchable content.<br />
    * Role-based permissions &#8211; not so different from our other highly ranked systems, but vital nonetheless.</p>


<p><strong>Built-in Applications:</strong></p>

<p>Main criticisms of Drupal include that the countless modules are also its biggest drawback: a site in this system is nothing without many installed modules and conversely maintenance on 20+ modules is a nightmare. Also, this system is not object-oriented, which a lot of potential users find off-putting.</p>

<p>Some say Drupal is the best they&#8217;ve ever used &#8211; some say it is the worst. This just seems to be more proof that a content management system software is only as good as its user &#8211; meaning know what you need before choosing any CMS.</p>

<p>Back to Drupal, as stated before, this system is lacking in built-in features yet can&#8217;t really be compared to any other system nor directly penalized in our ratings for same. The Drupal stalwarts all contend that handling large amounts of modules and working around the bugs is completely do-able and worth the time.</p>

<p>User forums also reveal this system is weak when dealing with image modules &#8211; there are three that overlap but no one does it all on its own. So beware to photo-heavy sites.</p>

<p><strong>Management:</strong></p>

<p>This CMS does offer a lot in the way of built-in management &#8211; almost everything on our list. Analysis, tracking and statistics are built-in and you will definitely need these if you are running an online business of any kind. Having a site is almost pointless if you don&#8217;t pay attention to how it&#8217;s performing traffic-wise and make adjustments based on that research.</p>

<p>The web-based administration is a great plus here &#8211; you can administer your Drupal site from a web browser anywhere in the world and doesn&#8217;t require any additional software or installation for such.</p>

<p><strong>Performance:</strong></p>

<p>Caching is a must with this system since you will be running plenty of modules in addition to your core files, especially if your site has a lot of visitors as well. You can configure this option from the Administrator>Site Configuration>Performance path. This reduces queries to the server and will help a busy site stay up and running fast for its users.</p>

<p>The system also performs load balancing between multiple servers as another way to keep the site running smoothly and quickly. This is a built-in feature.</p>

<p><strong>Commerce:</strong></p>

<p>All commerce options in Drupal are available as plugins. This system doesn&#8217;t have a point-of-sale function.</p>

<p><strong>Ease of Use:</strong></p>

<p>Server page language and friendly URLs are the only built-ins here. Everything else on our list (with the exception of UI levels) can be added on for free.</p>

<!-- Adsense block #4 not displayed since it exceed the limit of 3 -->

<p><strong>Support:</strong></p>

<p>Drupal content management system software offers the full complement of support, with smoke tests available &#8211; you guessed it &#8211; as a plugin. The forums and documentation aren&#8217;t perfect, but they are active and if you do have a nailbiter of a problem, you should be able to find someone or something to help you out.</p>

<p><strong>Summary:</strong></p>

<p>Drupal is an amazing assemblage of Open Source development, working from scratch and creating something totally unique. It&#8217;s most certainly made for developers, though. It's not content management system software for the faint-of-heart.</p>

<p>If you are planning a community site or a high traffic site, Drupal might not be the best choice. For less developer-heavy features, try another of our highly ranked products such as Wordpress.org or Joomla!</p>

<p>Reference Site : <a href="http://cms-software-review.toptenreviews.com/drupal-review-pg2.html">http://cms-software-review.toptenreviews.com/drupal-review-pg2.html</a></p><div class="item_footer"><p><small><a href="http://www.evarions.com/index.php/webnology/2010/10/27/drupal-content-management-system-softwar">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://www.evarions.com/index.php/webnology/2010/10/27/drupal-content-management-system-softwar#comments</comments>
		</item>
				<item>
			<title>eZ Publish Open Source Enterprise CMS</title>
			<link>http://www.evarions.com/index.php/webnology/2010/10/27/ez-publish-open-source-enterprise-cms</link>
			<pubDate>Wed, 27 Oct 2010 07:49:00 +0000</pubDate>			<dc:creator>shardulk10</dc:creator>
			<category domain="alt">PHP</category>
<category domain="alt">HTML</category>
<category domain="alt">Applications</category>
<category domain="main">CMS</category>			<guid isPermaLink="false">66@http://www.evarions.com/</guid>
						<description>&lt;p&gt;eZ Publish is one of the world&amp;#8217;s leading Open Source Enterprise CMS and development architecture. Some users might consider this complex framework to be complicated, but generally agree that eZ Publish has one feature that stands above the rest: the ability to create different content classes in the administration interface. If you want to create your own custom site on a solid framework, this CMS could be for you.&lt;/p&gt;

&lt;!-- Adsense block #5 not displayed since it exceed the limit of 3 --&gt;

&lt;p&gt;&lt;strong&gt;Standout Features&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;    * Web publishing&lt;br /&gt;
    * Intranets&lt;br /&gt;
    * E-commerce capability&lt;br /&gt;
    * Commercial support and documentation&lt;br /&gt;
    * Wiki capability&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Built-in Applications:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With eZ Publish content management system, if it&amp;#8217;s not included, it&amp;#8217;s a free add-on when it comes to built-in applications. Extensions, as they are called in this system, are many and easily downloadable from the developer&amp;#8217;s site.&lt;/p&gt;

&lt;p&gt;This system lets you easily publish content such as files, photos and articles using the Website Toolbar &amp;#8211; directly from your web browser. When you log in you will see the toolbar which will give you the option to publish, move, replace or even translate your content.&lt;/p&gt;

&lt;p&gt;There is no HTML coding required when adding content &amp;#8211; the rich text editor is WYSIWYG and offers the formatting functions you would see in a word processing app. You can also publish your content right from your word processing program using OpenOffice. This makes it possible for you to create content independent of internet access then upload the document using a client or the front-end of your site.&lt;/p&gt;

&lt;p&gt;We can see why this style of interface might seem foreign to users of Drupal, Joomla! or the like &amp;#8211; it looks different and doesn&amp;#8217;t behave like a typical &amp;#8220;dashboard&amp;#8221;. But if what you want in a CMS is flexibility and expandability, eZ Publish really does offer it all as far as the many elements we&amp;#8217;ve reviewed here.&lt;/p&gt;

&lt;!-- Adsense block #6 not displayed since it exceed the limit of 3 --&gt;

&lt;p&gt;&lt;strong&gt;Management:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All the management elements in our side-by-side comparison are covered by eZ Publish &amp;#8211; from advertising management to the workflow engine.&lt;/p&gt;

&lt;p&gt;One of the things we loved most from this category was the upload capabilities &amp;#8211; you can batch upload and also the system detects the type of content and creates web pages accordingly. You can upload many photos at once and store them in a gallery &amp;#8211; the system automatically scales, formats and resizes photos according to their content type and destination. This is a huge time-saving feature.&lt;/p&gt;

&lt;p&gt;The administration interface is comprehensive, offering content management and editing, site management, configuration, customization and development.&lt;/p&gt;

&lt;p&gt;The workflow engine is a really amazing mechanism. It has a built-in collaboration system that allows an administrator to pre-define a sequence of actions to be performed in a specific order after an object is published.&lt;/p&gt;

&lt;p&gt;The content model is also very unique &amp;#8211; the content engine lets administrators create content definitions on graphical interfaces.&lt;br /&gt;
Content cross publishing and versioning and modification tracking are a couple of the other super-powerful and versatile elements that are sure to be useful to large companies with diverse offerings.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Commerce:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you&amp;#8217;re in search of a content management system with e-commerce capability, this one offers plenty of options to make that possible. Shopping cart and wish list functions are built-in. Also built-in is the option to plugin your preferred payment service, shipping calculator and tax calculator. These are all available as extensions to your eZ Publish installation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ease of Use:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This CMS takes a while to learn and become familiar with, but after spending a week or so, we felt it was indeed eZ to publish and use. The rich text editor is WYSIWYG, which means you don&amp;#8217;t need to know any code to create text content.&lt;/p&gt;

&lt;p&gt;The access system is multi-level and role-based. The admin can give a user or an entire group (writers, designers, video production, etc.) of users access to just the specific functions they need to do their jobs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Support:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;eZ Publish content management system software offers the full complement of support, online and off. If you can&amp;#8217;t figure out the system on your own, try the online documentation and forums. The developers also offer commercial manuals, support and training if you&amp;#8217;re from a large company looking to implement this system company-wide.&lt;/p&gt;

&lt;p&gt;Smoke tests are fairly standard with this level of code and we agree that it&amp;#8217;s essential to not breaking your site &amp;#8211; it&amp;#8217;s a secure area within the CMS where you can test new code, plugins, updates, etc, and check to make sure it&amp;#8217; not going to break anything on implementation.&lt;/p&gt;

&lt;p&gt;The built-in prototyping allows for default settings to be made for various content types &amp;#8211; then when you need to reuse the certain type of content, the settings have already been created.&lt;/p&gt;

&lt;p&gt;Images are automatically resized when you upload them into the system and the system also creates friendly (short, comprehensible) URLs which helps with search engine optimization as well as being easy to find and read by humans.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Summary:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you are looking for a quick fix to a content problem and you are not so knowledgeable about web development (PHP, server configurations, etc.) you should avoid eZ Publish content management system software and go for something lighter such as WordPress.org or Movable Type, both of which are considered a little more &amp;#8220;plug-n-play&amp;#8221;.&lt;/p&gt;

&lt;p&gt;If you have a large company with a professional Web developer, eZ Publish CMS could be the best decision you ever make! It&amp;#8217;s difficult to judge these amazing systems by just looking at a collection of check marks, but it can give you a great idea of the standard features available and a starting point from which to consider your own specific needs.&lt;/p&gt;

&lt;!-- Adsense block #7 not displayed since it exceed the limit of 3 --&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://www.evarions.com/index.php/webnology/2010/10/27/ez-publish-open-source-enterprise-cms&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>eZ Publish is one of the world&#8217;s leading Open Source Enterprise CMS and development architecture. Some users might consider this complex framework to be complicated, but generally agree that eZ Publish has one feature that stands above the rest: the ability to create different content classes in the administration interface. If you want to create your own custom site on a solid framework, this CMS could be for you.</p>

<!-- Adsense block #8 not displayed since it exceed the limit of 3 -->

<p><strong>Standout Features</strong></p>

<p>    * Web publishing<br />
    * Intranets<br />
    * E-commerce capability<br />
    * Commercial support and documentation<br />
    * Wiki capability</p>

<p><strong>Built-in Applications:</strong></p>

<p>With eZ Publish content management system, if it&#8217;s not included, it&#8217;s a free add-on when it comes to built-in applications. Extensions, as they are called in this system, are many and easily downloadable from the developer&#8217;s site.</p>

<p>This system lets you easily publish content such as files, photos and articles using the Website Toolbar &#8211; directly from your web browser. When you log in you will see the toolbar which will give you the option to publish, move, replace or even translate your content.</p>

<p>There is no HTML coding required when adding content &#8211; the rich text editor is WYSIWYG and offers the formatting functions you would see in a word processing app. You can also publish your content right from your word processing program using OpenOffice. This makes it possible for you to create content independent of internet access then upload the document using a client or the front-end of your site.</p>

<p>We can see why this style of interface might seem foreign to users of Drupal, Joomla! or the like &#8211; it looks different and doesn&#8217;t behave like a typical &#8220;dashboard&#8221;. But if what you want in a CMS is flexibility and expandability, eZ Publish really does offer it all as far as the many elements we&#8217;ve reviewed here.</p>

<!-- Adsense block #9 not displayed since it exceed the limit of 3 -->

<p><strong>Management:</strong></p>

<p>All the management elements in our side-by-side comparison are covered by eZ Publish &#8211; from advertising management to the workflow engine.</p>

<p>One of the things we loved most from this category was the upload capabilities &#8211; you can batch upload and also the system detects the type of content and creates web pages accordingly. You can upload many photos at once and store them in a gallery &#8211; the system automatically scales, formats and resizes photos according to their content type and destination. This is a huge time-saving feature.</p>

<p>The administration interface is comprehensive, offering content management and editing, site management, configuration, customization and development.</p>

<p>The workflow engine is a really amazing mechanism. It has a built-in collaboration system that allows an administrator to pre-define a sequence of actions to be performed in a specific order after an object is published.</p>

<p>The content model is also very unique &#8211; the content engine lets administrators create content definitions on graphical interfaces.<br />
Content cross publishing and versioning and modification tracking are a couple of the other super-powerful and versatile elements that are sure to be useful to large companies with diverse offerings.</p>

<p><strong>Commerce:</strong></p>

<p>If you&#8217;re in search of a content management system with e-commerce capability, this one offers plenty of options to make that possible. Shopping cart and wish list functions are built-in. Also built-in is the option to plugin your preferred payment service, shipping calculator and tax calculator. These are all available as extensions to your eZ Publish installation.</p>

<p><strong>Ease of Use:</strong></p>

<p>This CMS takes a while to learn and become familiar with, but after spending a week or so, we felt it was indeed eZ to publish and use. The rich text editor is WYSIWYG, which means you don&#8217;t need to know any code to create text content.</p>

<p>The access system is multi-level and role-based. The admin can give a user or an entire group (writers, designers, video production, etc.) of users access to just the specific functions they need to do their jobs.</p>

<p><strong>Support:</strong></p>

<p>eZ Publish content management system software offers the full complement of support, online and off. If you can&#8217;t figure out the system on your own, try the online documentation and forums. The developers also offer commercial manuals, support and training if you&#8217;re from a large company looking to implement this system company-wide.</p>

<p>Smoke tests are fairly standard with this level of code and we agree that it&#8217;s essential to not breaking your site &#8211; it&#8217;s a secure area within the CMS where you can test new code, plugins, updates, etc, and check to make sure it&#8217; not going to break anything on implementation.</p>

<p>The built-in prototyping allows for default settings to be made for various content types &#8211; then when you need to reuse the certain type of content, the settings have already been created.</p>

<p>Images are automatically resized when you upload them into the system and the system also creates friendly (short, comprehensible) URLs which helps with search engine optimization as well as being easy to find and read by humans.</p>

<p><strong>Summary:</strong></p>

<p>If you are looking for a quick fix to a content problem and you are not so knowledgeable about web development (PHP, server configurations, etc.) you should avoid eZ Publish content management system software and go for something lighter such as WordPress.org or Movable Type, both of which are considered a little more &#8220;plug-n-play&#8221;.</p>

<p>If you have a large company with a professional Web developer, eZ Publish CMS could be the best decision you ever make! It&#8217;s difficult to judge these amazing systems by just looking at a collection of check marks, but it can give you a great idea of the standard features available and a starting point from which to consider your own specific needs.</p>

<!-- Adsense block #10 not displayed since it exceed the limit of 3 --><div class="item_footer"><p><small><a href="http://www.evarions.com/index.php/webnology/2010/10/27/ez-publish-open-source-enterprise-cms">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://www.evarions.com/index.php/webnology/2010/10/27/ez-publish-open-source-enterprise-cms#comments</comments>
		</item>
				<item>
			<title>PHP Basics for Beginners</title>
			<link>http://www.evarions.com/index.php/webnology/2010/10/26/php-basics-for-beginners</link>
			<pubDate>Tue, 26 Oct 2010 09:41:46 +0000</pubDate>			<dc:creator>shardulk10</dc:creator>
			<category domain="main">Uncategorized</category>			<guid isPermaLink="false">65@http://www.evarions.com/</guid>
						<description>&lt;p&gt;This article aims to serve for beginner PHP developers but those who are comfortable with PHP will also find this article useful. Basically, I&amp;#8217;ll tell you the difference between some of PHP commonly used functions/features. By the end of this article you will have a clear difference among:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;    * include VS require&lt;br /&gt;
    * include_once VS include&lt;br /&gt;
    * require_once VS require&lt;br /&gt;
    * echo VS print&lt;br /&gt;
    * Single quote VS Double quote&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Apparently all functions in each above point work in similar fashion. However, they are slightly different from other. Continue reading to explore the differences.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;include VS require&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Both are frequently used to include other files into our PHP code. Following are the differences between &amp;#8216;include&amp;#8217; and &amp;#8216;require&amp;#8217;:&lt;/p&gt;

&lt;p&gt;    * &amp;#8216;include&amp;#8217; throws a warning, if your specified file is not found. Rest of the code will be rendered.&lt;br /&gt;
    * &amp;#8216;require&amp;#8217; throws a fatal error, if your specified file is not found. Rest of the code will not be rendered.&lt;/p&gt;

&lt;!-- Adsense block #11 not displayed since it exceed the limit of 3 --&gt;

&lt;p&gt;&lt;strong&gt;include_once VS include AND require_once VS require&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&amp;#8216;include_once&amp;#8217; and &amp;#8216;require_once&amp;#8217; are same in nature. Here we will see the difference of &amp;#8216;include_once&amp;#8217; against &amp;#8216;include&amp;#8217;. Following are the differences between &amp;#8216;include&amp;#8217; and &amp;#8216;include_once&amp;#8217;:&lt;/p&gt;

&lt;p&gt;    * All includes for same file will be rendered, if you are using &amp;#8216;include&amp;#8217;.&lt;br /&gt;
    * While all includes for same file will be rendered only once, if you are using &amp;#8216;include_once&amp;#8217;. This helps you to prevent an error, if same file included again.&lt;/p&gt;

&lt;!-- Adsense block #12 not displayed since it exceed the limit of 3 --&gt;

&lt;p&gt;&lt;strong&gt;Single quote VS Double quote&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This might be very confusing for many developers to choose between single and double quote for writing string. There is a couple of difference between using single and double quote:&lt;/p&gt;

&lt;p&gt;    * Any variable or special character like \n \r etc under the single quote will not be rendered. It will be displayed as an string.&lt;br /&gt;
    * Any variable or special character like \n \r etc under the double quote will be rendered properly.&lt;/p&gt;


&lt;!-- Adsense block #13 not displayed since it exceed the limit of 3 --&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://www.evarions.com/index.php/webnology/2010/10/26/php-basics-for-beginners&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>This article aims to serve for beginner PHP developers but those who are comfortable with PHP will also find this article useful. Basically, I&#8217;ll tell you the difference between some of PHP commonly used functions/features. By the end of this article you will have a clear difference among:</p>

<p><strong>    * include VS require<br />
    * include_once VS include<br />
    * require_once VS require<br />
    * echo VS print<br />
    * Single quote VS Double quote</strong></p>

<p>Apparently all functions in each above point work in similar fashion. However, they are slightly different from other. Continue reading to explore the differences.</p>


<p><strong>include VS require</strong></p>

<p>Both are frequently used to include other files into our PHP code. Following are the differences between &#8216;include&#8217; and &#8216;require&#8217;:</p>

<p>    * &#8216;include&#8217; throws a warning, if your specified file is not found. Rest of the code will be rendered.<br />
    * &#8216;require&#8217; throws a fatal error, if your specified file is not found. Rest of the code will not be rendered.</p>

<!-- Adsense block #14 not displayed since it exceed the limit of 3 -->

<p><strong>include_once VS include AND require_once VS require</strong></p>

<p>&#8216;include_once&#8217; and &#8216;require_once&#8217; are same in nature. Here we will see the difference of &#8216;include_once&#8217; against &#8216;include&#8217;. Following are the differences between &#8216;include&#8217; and &#8216;include_once&#8217;:</p>

<p>    * All includes for same file will be rendered, if you are using &#8216;include&#8217;.<br />
    * While all includes for same file will be rendered only once, if you are using &#8216;include_once&#8217;. This helps you to prevent an error, if same file included again.</p>

<!-- Adsense block #15 not displayed since it exceed the limit of 3 -->

<p><strong>Single quote VS Double quote</strong></p>

<p>This might be very confusing for many developers to choose between single and double quote for writing string. There is a couple of difference between using single and double quote:</p>

<p>    * Any variable or special character like \n \r etc under the single quote will not be rendered. It will be displayed as an string.<br />
    * Any variable or special character like \n \r etc under the double quote will be rendered properly.</p>


<!-- Adsense block #16 not displayed since it exceed the limit of 3 --><div class="item_footer"><p><small><a href="http://www.evarions.com/index.php/webnology/2010/10/26/php-basics-for-beginners">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://www.evarions.com/index.php/webnology/2010/10/26/php-basics-for-beginners#comments</comments>
		</item>
				<item>
			<title>Turn Text into an Image using the PHP GD Library</title>
			<link>http://www.evarions.com/index.php/webnology/2010/10/11/turn-text-into-an-image-using-the-php-gd</link>
			<pubDate>Mon, 11 Oct 2010 11:59:41 +0000</pubDate>			<dc:creator>shardulk10</dc:creator>
			<category domain="main">PHP</category>
<category domain="alt">Interview Help</category>			<guid isPermaLink="false">64@http://www.evarions.com/</guid>
						<description>&lt;p&gt;While developing a site for a client, I needed to figure out a way to convert certain text elements into images. I had no clue how to do this but after doing a bit of research, I discovered a nifty library of functions already available through PHP. The GD library offers tons of cools way to dynamically create PNG, JPEG or GIF files and output them directly to your browser, but you need to make sure that your server has the library enabled.&lt;/p&gt;

&lt;p&gt;You can check to see if the GD library available on your server by placing the code:&lt;/p&gt;

&lt;p&gt;&lt;?php phpinfo(); ?&gt;&lt;/p&gt;

&lt;p&gt;into a test.php file and uploading it to your site&amp;#8217;s main directory. Open the file online and look to see if GD Support is Enabled. If it is, you are good to go.&lt;/p&gt;

&lt;p&gt;The following code will dynamically create a PNG file from a text string.&lt;/p&gt;

&lt;p&gt;&lt;?php&lt;br /&gt;
header(&quot;Content-type: image/png&quot;);&lt;br /&gt;
 &lt;br /&gt;
$string = &quot;This is my test string.&quot;;&lt;br /&gt;
 &lt;br /&gt;
$font  = 2;&lt;br /&gt;
$width  = imagefontwidth($font) * strlen($string);&lt;br /&gt;
$height = imagefontheight($font);&lt;br /&gt;
 &lt;br /&gt;
$image = imagecreatetruecolor ($width,$height);&lt;br /&gt;
$white = imagecolorallocate ($image,255,255,255);&lt;br /&gt;
$black = imagecolorallocate ($image,0,0,0);&lt;br /&gt;
imagefill($image,0,0,$white);&lt;br /&gt;
 &lt;br /&gt;
imagestring ($image,$font,0,0,$string,$black);&lt;br /&gt;
 &lt;br /&gt;
imagepng ($image);&lt;br /&gt;
imagedestroy($image);&lt;br /&gt;
?&gt;&lt;/p&gt;

&lt;p&gt;The above code must be included in its own file, it cannot be added to an existing PHP file with other functions. To access this image from another file just include it as the source in an image tag.&lt;/p&gt;

&lt;p&gt;Test out turning text into an image by typing in something below.&lt;/p&gt;

&lt;p&gt;Reference Site Name : &lt;a href=&quot;http://bavotasan.com&quot;&gt;http://bavotasan.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks And Regards&lt;br /&gt;
Shardul Kulkarni&lt;/p&gt;

&lt;!-- Adsense block #17 not displayed since it exceed the limit of 3 --&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://www.evarions.com/index.php/webnology/2010/10/11/turn-text-into-an-image-using-the-php-gd&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>While developing a site for a client, I needed to figure out a way to convert certain text elements into images. I had no clue how to do this but after doing a bit of research, I discovered a nifty library of functions already available through PHP. The GD library offers tons of cools way to dynamically create PNG, JPEG or GIF files and output them directly to your browser, but you need to make sure that your server has the library enabled.</p>

<p>You can check to see if the GD library available on your server by placing the code:</p>

<p><?php phpinfo(); ?></p>

<p>into a test.php file and uploading it to your site&#8217;s main directory. Open the file online and look to see if GD Support is Enabled. If it is, you are good to go.</p>

<p>The following code will dynamically create a PNG file from a text string.</p>

<p><?php<br />
header("Content-type: image/png");<br />
 <br />
$string = "This is my test string.";<br />
 <br />
$font  = 2;<br />
$width  = imagefontwidth($font) * strlen($string);<br />
$height = imagefontheight($font);<br />
 <br />
$image = imagecreatetruecolor ($width,$height);<br />
$white = imagecolorallocate ($image,255,255,255);<br />
$black = imagecolorallocate ($image,0,0,0);<br />
imagefill($image,0,0,$white);<br />
 <br />
imagestring ($image,$font,0,0,$string,$black);<br />
 <br />
imagepng ($image);<br />
imagedestroy($image);<br />
?></p>

<p>The above code must be included in its own file, it cannot be added to an existing PHP file with other functions. To access this image from another file just include it as the source in an image tag.</p>

<p>Test out turning text into an image by typing in something below.</p>

<p>Reference Site Name : <a href="http://bavotasan.com">http://bavotasan.com</a></p>

<p>Thanks And Regards<br />
Shardul Kulkarni</p>

<!-- Adsense block #18 not displayed since it exceed the limit of 3 --><div class="item_footer"><p><small><a href="http://www.evarions.com/index.php/webnology/2010/10/11/turn-text-into-an-image-using-the-php-gd">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://www.evarions.com/index.php/webnology/2010/10/11/turn-text-into-an-image-using-the-php-gd#comments</comments>
		</item>
				<item>
			<title>Five more PHP design patterns</title>
			<link>http://www.evarions.com/index.php/webnology/2010/10/06/five-more-php-design-patterns</link>
			<pubDate>Wed, 06 Oct 2010 12:10:36 +0000</pubDate>			<dc:creator>shardulk10</dc:creator>
			<category domain="main">Uncategorized</category>			<guid isPermaLink="false">63@http://www.evarions.com/</guid>
						<description>&lt;p&gt;&lt;b&gt;Requirements&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;To get the most out of this article and use the examples, install the following on your computer:&lt;/p&gt;

&lt;p&gt;    * PHP V5 or later (this article was written with PHP V5.2.4)&lt;br /&gt;
    * An extraction program, such as WinZIP (to extract the downloadable code archive)&lt;/p&gt;

&lt;!-- Adsense block #19 not displayed since it exceed the limit of 3 --&gt;

&lt;p&gt;&lt;b&gt;The adapter pattern&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Use the adapter pattern when you need to convert an object of one type to an object of another type. Typically, developers handle this process through a bunch of assignment code, as shown in Listing 1. The adapter pattern is a nice way to clean this type of code up and reuse all your assignment code in other places. Also, it hides the assignment code, which can simplify things quite a bit if you're also doing some formatting along the way. &lt;/p&gt;

&lt;p&gt;================================================================&lt;br /&gt;
class AddressDisplay&lt;br /&gt;
{&lt;br /&gt;
    private $addressType;&lt;br /&gt;
    private $addressText;&lt;/p&gt;

&lt;p&gt;    public function setAddressType($addressType)&lt;br /&gt;
    {&lt;br /&gt;
        $this-&gt;addressType = $addressType;&lt;br /&gt;
    }&lt;/p&gt;

&lt;p&gt;    public function getAddressType()&lt;br /&gt;
    {&lt;br /&gt;
        return $this-&gt;addressType;&lt;br /&gt;
    }&lt;/p&gt;

&lt;p&gt;    public function setAddressText($addressText)&lt;br /&gt;
    {&lt;br /&gt;
        $this-&gt;addressText = $addressText;&lt;br /&gt;
    }&lt;/p&gt;

&lt;p&gt;    public function getAddressText()&lt;br /&gt;
    {&lt;br /&gt;
        return $this-&gt;addressText;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/p&gt;

&lt;p&gt;class EmailAddress&lt;br /&gt;
{&lt;br /&gt;
    private $emailAddress;&lt;br /&gt;
    &lt;br /&gt;
    public function getEmailAddress()&lt;br /&gt;
    {&lt;br /&gt;
        return $this-&gt;emailAddress;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public function setEmailAddress($address)&lt;br /&gt;
    {&lt;br /&gt;
        $this-&gt;emailAddress = $address;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/p&gt;

&lt;p&gt;$emailAddress = new EmailAddress();&lt;br /&gt;
/* Populate the EmailAddress object */&lt;br /&gt;
$address = new AddressDisplay();&lt;br /&gt;
/* Here's the assignment code, where I'm assigning values &lt;br /&gt;
  from one object to another... */&lt;br /&gt;
$address-&gt;setAddressType(&quot;email&quot;);&lt;br /&gt;
$address-&gt;setAddressText($emailAddress-&gt;getEmailAddress());&lt;/p&gt;

&lt;p&gt;================================================================&lt;/p&gt;

&lt;p&gt;This example uses an AddressDisplay object to display an address to a user. The AddressDisplay object has two parts: the type of address and a formatted address string.&lt;/p&gt;

&lt;p&gt;After implementing the pattern (see Listing 2), the PHP script no longer needs to worry about exactly how the EmailAddress object is turned into the AddressDisplay object. That's a good thing, especially if the AddressDisplay object changes or the rules that govern how an EmailAddress object is turned into an AddressDisplay object change. Remember, one of the main benefits of designing your code in a modular fashion is to take advantage of having to change as little code as possible if something in the business domain changes or you need to add a new feature to the software. Think about this even when you're doing mundane tasks, such as assigning values from properties of one object to another. &lt;/p&gt;

&lt;p&gt;=================================================================&lt;br /&gt;
Listing 2. Using the adapter pattern&lt;/p&gt;

&lt;p&gt;                &lt;br /&gt;
class EmailAddressDisplayAdapter extends AddressDisplay&lt;br /&gt;
{&lt;br /&gt;
    public function __construct($emailAddr)&lt;br /&gt;
    {&lt;br /&gt;
        $this-&gt;setAddressType(&quot;email&quot;);&lt;br /&gt;
        $this-&gt;setAddressText($emailAddr-&gt;getEmailAddress());&lt;br /&gt;
    }&lt;br /&gt;
}	&lt;/p&gt;

&lt;p&gt;$email = new EmailAddress();&lt;br /&gt;
$email-&gt;setEmailAddress(&quot;user@example.com&quot;);&lt;/p&gt;

&lt;p&gt;$address = new EmailAddressDisplayAdapter($email);&lt;/p&gt;

&lt;p&gt;echo($address-&gt;getAddressType() . &quot;\n&quot;) ;&lt;br /&gt;
echo($address-&gt;getAddressText());&lt;/p&gt;

&lt;p&gt;=================================================================&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
Alternate method&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;An alternate method of writing an adapter &amp;#8212; and one that some prefer &amp;#8212; is to implement an interface to adapt behavior, rather than extending an object. This is a very clean way of creating an adapter and doesn't have the drawbacks of extending the object. One of the disadvantages of using the interface is that you need to add the implementation into the adapter class&lt;/p&gt;

&lt;p&gt;&lt;b&gt;The iterator pattern&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;The iterator pattern provides a way to encapsulate looping through a collection or array of objects. It is particularly handy if you want to loop through different types of objects in the collection.&lt;/p&gt;

&lt;p&gt;Look back at the e-mail and physical address example in Listing 1. Before adding an iterator pattern, if you're looping through the person's addresses, you might loop through the physical addresses and display them, then loop through the person's e-mail addresses and display them, then loop through the person's IM addresses and display those. That's some messy looping!&lt;/p&gt;

&lt;p&gt;Instead, by implementing an iterator, all you have to do is call while($itr-&gt;hasNext()) and deal with the next item $itr-&gt;next() returns. An example of one of the iterators is shown in Listing 3. An iterator is powerful because you can add new types of items through which to iterate, and you don't have to change the code that loops through the items. In the Person example, for instance, you could add an array of IM addresses; simply by updating the iterator, you don't have to change any code that loops through the addresses for display. &lt;/p&gt;

&lt;p&gt;================================================================&lt;br /&gt;
Listing 3. Using the iterator pattern to loop through objects&lt;/p&gt;

&lt;p&gt;                &lt;br /&gt;
class PersonAddressIterator implements AddressIterator&lt;br /&gt;
{&lt;br /&gt;
    private $emailAddresses;&lt;br /&gt;
    private $physicalAddresses;&lt;br /&gt;
    private $position;&lt;br /&gt;
    &lt;br /&gt;
    public function __construct($emailAddresses)&lt;br /&gt;
    {&lt;br /&gt;
        $this-&gt;emailAddresses = $emailAddresses;&lt;br /&gt;
        $this-&gt;position = 0;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public function hasNext()&lt;br /&gt;
    {&lt;br /&gt;
        if ($this-&gt;position &gt;= count($this-&gt;emailAddresses) || &lt;br /&gt;
            $this-&gt;emailAddresses[$this-&gt;position] == null) {&lt;br /&gt;
            return false;&lt;br /&gt;
        } else {&lt;br /&gt;
            return true;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public function next()&lt;br /&gt;
    {&lt;br /&gt;
        $item = $this-&gt;emailAddresses[$this-&gt;position];&lt;br /&gt;
        $this-&gt;position = $this-&gt;position + 1;&lt;br /&gt;
        return $item;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
}&lt;/p&gt;

&lt;p&gt;================================================================&lt;/p&gt;

&lt;p&gt;If the Person object is modified to return an implementation of the AddressIterator interface, the application code that uses the iterator doesn't need to be modified if the implementation is extended to loop through additional objects. You can use a compound iterator that wraps the iterators that loop through each type of address like the one listed in Listing 3. An example of this is available (see Download). &lt;/p&gt;

&lt;p&gt;&lt;b&gt;The decorator pattern&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Consider the code sample in Listing 4. The purpose of this code is to add a bunch of features onto a car for a Build Your Own Car site. Each car model has more features and an associated cost. With only two models, it would be fairly trivial to add these features with if then statements. However, if a new model came along, you'd have to go back through the code and make sure the statements worked for the new model. &lt;/p&gt;

&lt;p&gt;=================================================================&lt;br /&gt;
Listing 4. Using the decorator pattern to add features&lt;/p&gt;

&lt;p&gt;                &lt;br /&gt;
require('classes.php');&lt;/p&gt;

&lt;p&gt;$auto = new Automobile();&lt;/p&gt;

&lt;p&gt;$model = new BaseAutomobileModel();&lt;/p&gt;

&lt;p&gt;$model = new SportAutomobileModel($model);&lt;/p&gt;

&lt;p&gt;$model = new TouringAutomobileModel($model);&lt;/p&gt;

&lt;p&gt;$auto-&gt;setModel($model);&lt;/p&gt;

&lt;p&gt;$auto-&gt;printDescription();&lt;/p&gt;

&lt;p&gt;=================================================================&lt;/p&gt;

&lt;!-- Adsense block #20 not displayed since it exceed the limit of 3 --&gt;


&lt;p&gt;Enter the decorator pattern, which allows you to add this functionality onto the AutomobileModel in a nice, clean class. Each class remains concerned only about its price and options and how they're added to the base model. &lt;/p&gt;

&lt;p&gt;An advantage of the decorator pattern is that you can easily tack on more than one decorator to the base at a time.&lt;/p&gt;

&lt;p&gt;If you've done much work with stream objects, you have used a decorator. Most stream constructs, such as an output stream, are decorators that take a base input stream, then decorate it by adding additional functionality &amp;#8212; like one that inputs streams from files, one that inputs streams from buffers, etc. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;The delegate pattern&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;The delegate pattern provides a way of delegating behavior based on different criteria. Consider the code in Listing 5. This code contains several conditions. Based on the condition, the code selects the appropriate type of object to handle the request. &lt;/p&gt;

&lt;p&gt;=================================================================&lt;br /&gt;
Listing 5. Using conditional statements to route shipping requests&lt;/p&gt;

&lt;p&gt;                &lt;br /&gt;
pkg = new Package(&quot;Heavy Package&quot;);&lt;br /&gt;
$pkg-&gt;setWeight(100);&lt;/p&gt;

&lt;p&gt;if ($pkg-&gt;getWeight() &gt; 99)&lt;br /&gt;
{&lt;br /&gt;
	echo( &quot;Shipping &quot; . $pkg-&gt;getDescription() . &quot; by rail.&quot;);&lt;br /&gt;
} else {&lt;br /&gt;
	echo(&quot;Shipping &quot; . $pkg-&gt;getDescription() . &quot; by truck&quot;);&lt;br /&gt;
}&lt;/p&gt;

&lt;p&gt;=================================================================&lt;/p&gt;

&lt;p&gt;With a delegate pattern, an object internalizes this routing process by setting an internal reference to the appropriate object when a method is called, like useRail() in Listing 6. This is especially handy if the criteria change for handling various packages or if a new type of shipping becomes available. &lt;/p&gt;

&lt;p&gt;=================================================================&lt;br /&gt;
Listing 6. Using the delegate pattern to route shipping requests&lt;/p&gt;

&lt;p&gt;                &lt;br /&gt;
require_once('classes.php');&lt;/p&gt;

&lt;p&gt;$pkg = new Package(&quot;Heavy Package&quot;);&lt;br /&gt;
$pkg-&gt;setWeight(100);&lt;/p&gt;

&lt;p&gt;$shipper = new ShippingDelegate();&lt;/p&gt;

&lt;p&gt;if ($pkg-&gt;getWeight() &gt; 99)&lt;br /&gt;
{&lt;br /&gt;
	$shipper-&gt;useRail();&lt;br /&gt;
}&lt;/p&gt;

&lt;p&gt;$shipper-&gt;deliver($pkg);&lt;/p&gt;

&lt;p&gt;=================================================================&lt;/p&gt;

&lt;p&gt;The delegate provides the advantage that behavior can change dynamically by calling the useRail() or useTruck() method to switch which class handles the work. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;The state pattern&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;The state pattern is a similar to the command pattern, but the intent is quite different. Consider the code below.&lt;/p&gt;

&lt;p&gt;==================================================================&lt;br /&gt;
Listing 7. Using code to build a robot&lt;/p&gt;

&lt;p&gt;                &lt;br /&gt;
class Robot &lt;br /&gt;
{&lt;/p&gt;

&lt;p&gt;	private $state;&lt;/p&gt;

&lt;p&gt;	public function powerUp()&lt;br /&gt;
	{&lt;br /&gt;
		if (strcmp($state, &quot;poweredUp&quot;) == 0)&lt;br /&gt;
		{&lt;br /&gt;
			echo(&quot;Already powered up...\n&quot;);&lt;br /&gt;
			/* Implementation... */&lt;br /&gt;
		} else if ( strcmp($state, &quot;powereddown&quot;) == 0) {&lt;br /&gt;
			echo(&quot;Powering up now...\n&quot;);&lt;br /&gt;
			/* Implementation... */&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;/p&gt;

&lt;p&gt;	public function powerDown()&lt;br /&gt;
	{&lt;br /&gt;
		if (strcmp($state, &quot;poweredUp&quot;) == 0)&lt;br /&gt;
		{&lt;br /&gt;
			echo(&quot;Powering down now...\n&quot;);&lt;br /&gt;
			/* Implementation... */&lt;br /&gt;
		} else if ( strcmp($state, &quot;powereddown&quot;) == 0) {&lt;br /&gt;
			echo(&quot;Already powered down...\n&quot;);&lt;br /&gt;
			/* Implementation... */&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;/p&gt;

&lt;p&gt;	/* etc... */&lt;/p&gt;

&lt;p&gt;}&lt;br /&gt;
==================================================================&lt;/p&gt;

&lt;p&gt;In this listing, the PHP code represents the operating system for a powerful robot that turns into a car. The robot can power up, power down, turn into a robot when it's a vehicle, and turn into a vehicle when it's a robot. The code is OK now, but you see that it can become complex if any of the rules change or if another state comes into the picture.&lt;/p&gt;

&lt;p&gt;Now look at Listing 8, which has the same logic for handling the robot's states, but this time puts the logic into the state pattern. The code in Listing 8 does the same thing as the original code, but the logic for handling states has been put into one object for each state. To illustrate the advantages of using the design pattern, imagine that after a while, these robots have discovered that they shouldn't power down while being in robot mode. In fact, if they power down, they must change to vehicle mode first. If they're already in vehicle mode, the robot just powers down. With the state pattern, the changes are pretty trivial. &lt;/p&gt;

&lt;p&gt;==================================================================&lt;br /&gt;
Listing 8. Using the state pattern to handle the robot's state&lt;/p&gt;

&lt;p&gt;                &lt;br /&gt;
$robot = new Robot();&lt;br /&gt;
echo(&quot;\n&quot;);&lt;br /&gt;
$robot-&gt;powerUp();&lt;br /&gt;
echo(&quot;\n&quot;);&lt;br /&gt;
$robot-&gt;turnIntoRobot();&lt;br /&gt;
echo(&quot;\n&quot;);&lt;br /&gt;
$robot-&gt;turnIntoRobot(); /* This one will just give me a message */&lt;br /&gt;
echo(&quot;\n&quot;);&lt;br /&gt;
$robot-&gt;turnIntoVehicle();&lt;br /&gt;
echo(&quot;\n&quot;);&lt;/p&gt;

&lt;p&gt;==================================================================&lt;/p&gt;

&lt;p&gt;==================================================================&lt;br /&gt;
Listing 9. Small changes to one of the state objects&lt;/p&gt;

&lt;p&gt;                &lt;br /&gt;
class NormalRobotState implements RobotState&lt;br /&gt;
{&lt;br /&gt;
    private $robot;&lt;/p&gt;

&lt;p&gt;    public function __construct($robot)&lt;br /&gt;
    {&lt;br /&gt;
        $this-&gt;robot = $robot;&lt;br /&gt;
    }&lt;/p&gt;

&lt;p&gt;    public function powerUp()&lt;br /&gt;
    {&lt;br /&gt;
        /* implementation... */&lt;br /&gt;
    }&lt;br /&gt;
    public function powerDown()  &lt;br /&gt;
    {&lt;br /&gt;
        /* First, turn into a vehicle */&lt;br /&gt;
        $this-&gt;robot-&gt;setState(new VehicleRobotState($this-&gt;robot));&lt;br /&gt;
        $this-&gt;robot-&gt;powerDown();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public function turnIntoVehicle()  &lt;br /&gt;
    {&lt;br /&gt;
        /* implementation... */&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public function turnIntoRobot() &lt;br /&gt;
    {&lt;br /&gt;
        /* implementation... */&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/p&gt;

&lt;p&gt;==================================================================&lt;/p&gt;

&lt;p&gt;Something that doesn't appear obvious when looking at Figure 6 is that each object in the state pattern has a reference to the context object (the robot), so each object can advance the state onto the appropriate one.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Using design patterns in your PHP code is one way to make your code more readable and maintainable. By using established patterns, you benefit from common design constructs that allow other developers on a team to understand your code's purpose. It also allows you to benefit from the work done by other designers, so you don't have to learn the hard lessons of design ideas that don't work out. &lt;/p&gt;

&lt;p&gt;I have got this nice article from here :&lt;br /&gt;
&lt;a href=&quot;http://www.stumbleupon.com/su/1n5Erx/www.ibm.com/developerworks/library/os-php-designpatterns/index.html%253Fca%253Ddrs-&quot;&gt;http://www.stumbleupon.com/su/1n5Erx/www.ibm.com/developerworks/library/os-php-designpatterns/index.html%253Fca%253Ddrs-&lt;/a&gt;&lt;br /&gt;
Thanks And Regards&lt;br /&gt;
Shardul Kulkarni&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://www.evarions.com/index.php/webnology/2010/10/06/five-more-php-design-patterns&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><b>Requirements</b></p>

<p>To get the most out of this article and use the examples, install the following on your computer:</p>

<p>    * PHP V5 or later (this article was written with PHP V5.2.4)<br />
    * An extraction program, such as WinZIP (to extract the downloadable code archive)</p>

<!-- Adsense block #21 not displayed since it exceed the limit of 3 -->

<p><b>The adapter pattern</b></p>

<p>Use the adapter pattern when you need to convert an object of one type to an object of another type. Typically, developers handle this process through a bunch of assignment code, as shown in Listing 1. The adapter pattern is a nice way to clean this type of code up and reuse all your assignment code in other places. Also, it hides the assignment code, which can simplify things quite a bit if you're also doing some formatting along the way. </p>

<p>================================================================<br />
class AddressDisplay<br />
{<br />
    private $addressType;<br />
    private $addressText;</p>

<p>    public function setAddressType($addressType)<br />
    {<br />
        $this->addressType = $addressType;<br />
    }</p>

<p>    public function getAddressType()<br />
    {<br />
        return $this->addressType;<br />
    }</p>

<p>    public function setAddressText($addressText)<br />
    {<br />
        $this->addressText = $addressText;<br />
    }</p>

<p>    public function getAddressText()<br />
    {<br />
        return $this->addressText;<br />
    }<br />
}</p>

<p>class EmailAddress<br />
{<br />
    private $emailAddress;<br />
    <br />
    public function getEmailAddress()<br />
    {<br />
        return $this->emailAddress;<br />
    }<br />
    <br />
    public function setEmailAddress($address)<br />
    {<br />
        $this->emailAddress = $address;<br />
    }<br />
}</p>

<p>$emailAddress = new EmailAddress();<br />
/* Populate the EmailAddress object */<br />
$address = new AddressDisplay();<br />
/* Here's the assignment code, where I'm assigning values <br />
  from one object to another... */<br />
$address->setAddressType("email");<br />
$address->setAddressText($emailAddress->getEmailAddress());</p>

<p>================================================================</p>

<p>This example uses an AddressDisplay object to display an address to a user. The AddressDisplay object has two parts: the type of address and a formatted address string.</p>

<p>After implementing the pattern (see Listing 2), the PHP script no longer needs to worry about exactly how the EmailAddress object is turned into the AddressDisplay object. That's a good thing, especially if the AddressDisplay object changes or the rules that govern how an EmailAddress object is turned into an AddressDisplay object change. Remember, one of the main benefits of designing your code in a modular fashion is to take advantage of having to change as little code as possible if something in the business domain changes or you need to add a new feature to the software. Think about this even when you're doing mundane tasks, such as assigning values from properties of one object to another. </p>

<p>=================================================================<br />
Listing 2. Using the adapter pattern</p>

<p>                <br />
class EmailAddressDisplayAdapter extends AddressDisplay<br />
{<br />
    public function __construct($emailAddr)<br />
    {<br />
        $this->setAddressType("email");<br />
        $this->setAddressText($emailAddr->getEmailAddress());<br />
    }<br />
}	</p>

<p>$email = new EmailAddress();<br />
$email->setEmailAddress("user@example.com");</p>

<p>$address = new EmailAddressDisplayAdapter($email);</p>

<p>echo($address->getAddressType() . "\n") ;<br />
echo($address->getAddressText());</p>

<p>=================================================================<br />
<b><br />
Alternate method</b></p>

<p>An alternate method of writing an adapter &#8212; and one that some prefer &#8212; is to implement an interface to adapt behavior, rather than extending an object. This is a very clean way of creating an adapter and doesn't have the drawbacks of extending the object. One of the disadvantages of using the interface is that you need to add the implementation into the adapter class</p>

<p><b>The iterator pattern</b></p>

<p>The iterator pattern provides a way to encapsulate looping through a collection or array of objects. It is particularly handy if you want to loop through different types of objects in the collection.</p>

<p>Look back at the e-mail and physical address example in Listing 1. Before adding an iterator pattern, if you're looping through the person's addresses, you might loop through the physical addresses and display them, then loop through the person's e-mail addresses and display them, then loop through the person's IM addresses and display those. That's some messy looping!</p>

<p>Instead, by implementing an iterator, all you have to do is call while($itr->hasNext()) and deal with the next item $itr->next() returns. An example of one of the iterators is shown in Listing 3. An iterator is powerful because you can add new types of items through which to iterate, and you don't have to change the code that loops through the items. In the Person example, for instance, you could add an array of IM addresses; simply by updating the iterator, you don't have to change any code that loops through the addresses for display. </p>

<p>================================================================<br />
Listing 3. Using the iterator pattern to loop through objects</p>

<p>                <br />
class PersonAddressIterator implements AddressIterator<br />
{<br />
    private $emailAddresses;<br />
    private $physicalAddresses;<br />
    private $position;<br />
    <br />
    public function __construct($emailAddresses)<br />
    {<br />
        $this->emailAddresses = $emailAddresses;<br />
        $this->position = 0;<br />
    }<br />
    <br />
    public function hasNext()<br />
    {<br />
        if ($this->position >= count($this->emailAddresses) || <br />
            $this->emailAddresses[$this->position] == null) {<br />
            return false;<br />
        } else {<br />
            return true;<br />
        }<br />
    }<br />
    <br />
    public function next()<br />
    {<br />
        $item = $this->emailAddresses[$this->position];<br />
        $this->position = $this->position + 1;<br />
        return $item;<br />
    }<br />
    <br />
}</p>

<p>================================================================</p>

<p>If the Person object is modified to return an implementation of the AddressIterator interface, the application code that uses the iterator doesn't need to be modified if the implementation is extended to loop through additional objects. You can use a compound iterator that wraps the iterators that loop through each type of address like the one listed in Listing 3. An example of this is available (see Download). </p>

<p><b>The decorator pattern</b></p>

<p>Consider the code sample in Listing 4. The purpose of this code is to add a bunch of features onto a car for a Build Your Own Car site. Each car model has more features and an associated cost. With only two models, it would be fairly trivial to add these features with if then statements. However, if a new model came along, you'd have to go back through the code and make sure the statements worked for the new model. </p>

<p>=================================================================<br />
Listing 4. Using the decorator pattern to add features</p>

<p>                <br />
require('classes.php');</p>

<p>$auto = new Automobile();</p>

<p>$model = new BaseAutomobileModel();</p>

<p>$model = new SportAutomobileModel($model);</p>

<p>$model = new TouringAutomobileModel($model);</p>

<p>$auto->setModel($model);</p>

<p>$auto->printDescription();</p>

<p>=================================================================</p>

<!-- Adsense block #22 not displayed since it exceed the limit of 3 -->


<p>Enter the decorator pattern, which allows you to add this functionality onto the AutomobileModel in a nice, clean class. Each class remains concerned only about its price and options and how they're added to the base model. </p>

<p>An advantage of the decorator pattern is that you can easily tack on more than one decorator to the base at a time.</p>

<p>If you've done much work with stream objects, you have used a decorator. Most stream constructs, such as an output stream, are decorators that take a base input stream, then decorate it by adding additional functionality &#8212; like one that inputs streams from files, one that inputs streams from buffers, etc. </p>

<p><b>The delegate pattern</b></p>

<p>The delegate pattern provides a way of delegating behavior based on different criteria. Consider the code in Listing 5. This code contains several conditions. Based on the condition, the code selects the appropriate type of object to handle the request. </p>

<p>=================================================================<br />
Listing 5. Using conditional statements to route shipping requests</p>

<p>                <br />
pkg = new Package("Heavy Package");<br />
$pkg->setWeight(100);</p>

<p>if ($pkg->getWeight() > 99)<br />
{<br />
	echo( "Shipping " . $pkg->getDescription() . " by rail.");<br />
} else {<br />
	echo("Shipping " . $pkg->getDescription() . " by truck");<br />
}</p>

<p>=================================================================</p>

<p>With a delegate pattern, an object internalizes this routing process by setting an internal reference to the appropriate object when a method is called, like useRail() in Listing 6. This is especially handy if the criteria change for handling various packages or if a new type of shipping becomes available. </p>

<p>=================================================================<br />
Listing 6. Using the delegate pattern to route shipping requests</p>

<p>                <br />
require_once('classes.php');</p>

<p>$pkg = new Package("Heavy Package");<br />
$pkg->setWeight(100);</p>

<p>$shipper = new ShippingDelegate();</p>

<p>if ($pkg->getWeight() > 99)<br />
{<br />
	$shipper->useRail();<br />
}</p>

<p>$shipper->deliver($pkg);</p>

<p>=================================================================</p>

<p>The delegate provides the advantage that behavior can change dynamically by calling the useRail() or useTruck() method to switch which class handles the work. </p>

<p><b>The state pattern</b></p>

<p>The state pattern is a similar to the command pattern, but the intent is quite different. Consider the code below.</p>

<p>==================================================================<br />
Listing 7. Using code to build a robot</p>

<p>                <br />
class Robot <br />
{</p>

<p>	private $state;</p>

<p>	public function powerUp()<br />
	{<br />
		if (strcmp($state, "poweredUp") == 0)<br />
		{<br />
			echo("Already powered up...\n");<br />
			/* Implementation... */<br />
		} else if ( strcmp($state, "powereddown") == 0) {<br />
			echo("Powering up now...\n");<br />
			/* Implementation... */<br />
		}<br />
	}</p>

<p>	public function powerDown()<br />
	{<br />
		if (strcmp($state, "poweredUp") == 0)<br />
		{<br />
			echo("Powering down now...\n");<br />
			/* Implementation... */<br />
		} else if ( strcmp($state, "powereddown") == 0) {<br />
			echo("Already powered down...\n");<br />
			/* Implementation... */<br />
		}<br />
	}</p>

<p>	/* etc... */</p>

<p>}<br />
==================================================================</p>

<p>In this listing, the PHP code represents the operating system for a powerful robot that turns into a car. The robot can power up, power down, turn into a robot when it's a vehicle, and turn into a vehicle when it's a robot. The code is OK now, but you see that it can become complex if any of the rules change or if another state comes into the picture.</p>

<p>Now look at Listing 8, which has the same logic for handling the robot's states, but this time puts the logic into the state pattern. The code in Listing 8 does the same thing as the original code, but the logic for handling states has been put into one object for each state. To illustrate the advantages of using the design pattern, imagine that after a while, these robots have discovered that they shouldn't power down while being in robot mode. In fact, if they power down, they must change to vehicle mode first. If they're already in vehicle mode, the robot just powers down. With the state pattern, the changes are pretty trivial. </p>

<p>==================================================================<br />
Listing 8. Using the state pattern to handle the robot's state</p>

<p>                <br />
$robot = new Robot();<br />
echo("\n");<br />
$robot->powerUp();<br />
echo("\n");<br />
$robot->turnIntoRobot();<br />
echo("\n");<br />
$robot->turnIntoRobot(); /* This one will just give me a message */<br />
echo("\n");<br />
$robot->turnIntoVehicle();<br />
echo("\n");</p>

<p>==================================================================</p>

<p>==================================================================<br />
Listing 9. Small changes to one of the state objects</p>

<p>                <br />
class NormalRobotState implements RobotState<br />
{<br />
    private $robot;</p>

<p>    public function __construct($robot)<br />
    {<br />
        $this->robot = $robot;<br />
    }</p>

<p>    public function powerUp()<br />
    {<br />
        /* implementation... */<br />
    }<br />
    public function powerDown()  <br />
    {<br />
        /* First, turn into a vehicle */<br />
        $this->robot->setState(new VehicleRobotState($this->robot));<br />
        $this->robot->powerDown();<br />
    }<br />
    <br />
    public function turnIntoVehicle()  <br />
    {<br />
        /* implementation... */<br />
    }<br />
    <br />
    public function turnIntoRobot() <br />
    {<br />
        /* implementation... */<br />
    }<br />
}</p>

<p>==================================================================</p>

<p>Something that doesn't appear obvious when looking at Figure 6 is that each object in the state pattern has a reference to the context object (the robot), so each object can advance the state onto the appropriate one.</p>

<p><b>Summary</b></p>

<p>Using design patterns in your PHP code is one way to make your code more readable and maintainable. By using established patterns, you benefit from common design constructs that allow other developers on a team to understand your code's purpose. It also allows you to benefit from the work done by other designers, so you don't have to learn the hard lessons of design ideas that don't work out. </p>

<p>I have got this nice article from here :<br />
<a href="http://www.stumbleupon.com/su/1n5Erx/www.ibm.com/developerworks/library/os-php-designpatterns/index.html%253Fca%253Ddrs-">http://www.stumbleupon.com/su/1n5Erx/www.ibm.com/developerworks/library/os-php-designpatterns/index.html%253Fca%253Ddrs-</a><br />
Thanks And Regards<br />
Shardul Kulkarni</p><div class="item_footer"><p><small><a href="http://www.evarions.com/index.php/webnology/2010/10/06/five-more-php-design-patterns">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://www.evarions.com/index.php/webnology/2010/10/06/five-more-php-design-patterns#comments</comments>
		</item>
				<item>
			<title>Web traffic</title>
			<link>http://www.evarions.com/index.php/webnology/2010/10/04/web-traffic</link>
			<pubDate>Mon, 04 Oct 2010 13:00:12 +0000</pubDate>			<dc:creator>shardulk10</dc:creator>
			<category domain="main">Uncategorized</category>			<guid isPermaLink="false">62@http://www.evarions.com/</guid>
						<description>&lt;p&gt;Web traffic is the amount of data sent and received by visitors to a web site. It is a large portion of Internet traffic. This is determined by the number of visitors and the number of pages they visit. Sites monitor the incoming and outgoing traffic to see which parts or pages of their site are popular and if there are any apparent trends, such as one specific page being viewed mostly by people in a particular country. There are many ways to monitor this traffic and the gathered data is used to help structure sites, highlight security problems or indicate a potential lack of bandwidth &amp;#8212; not all web traffic is welcome.&lt;/p&gt;

&lt;p&gt;Some companies offer advertising schemes that, in return for increased web traffic (visitors), pay for screen space on the site. Sites also often aim to increase their web traffic through inclusion on search engines and through Search engine optimization.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;br /&gt;
Analyzing Web Traffics&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Web analytics  is the measurement of the behavior of visitors to a website. In a commercial context, it especially refers to the measurement of which aspects of the website work towards the business objectives of Internet marketing initiatives; for example, which landing pages encourage people to make a purchase. Notable vendors of web analytics software and services include: Webtrends, Coremetrics, Omniture, and Google Analytics.&lt;/p&gt;

&lt;p&gt;Web traffic is measured to see the popularity of web sites and individual pages or sections within a site.&lt;br /&gt;
Web traffic can be analyzed by viewing the traffic statistics found in the web server log file, an automatically-generated list of all the pages served. A hit is generated when any file is served. The page itself is considered a file, but images are also files, thus a page with 5 images could generate 6 hits (the 5 images and the page itself). A page view is generated when a visitor requests any page within the web site &amp;#8211; a visitor will always generate at least one page view (the main page) but could generate many more.&lt;/p&gt;

&lt;p&gt;Tracking applications external to the web site can record traffic by inserting a small piece of HTML code in every page of the web site.&lt;/p&gt;

&lt;p&gt;Web traffic is also sometimes measured by packet sniffing and thus gaining random samples of traffic data from which to extrapolate information about web traffic as a whole across total Internet usage.&lt;/p&gt;

&lt;p&gt;The following types of information are often collated when monitoring web traffic:&lt;/p&gt;

&lt;p&gt;* The number of visitors.&lt;br /&gt;
* The average number of page views per visitor &amp;#8211; a high number would indicate that the average visitors go deep inside the site, possibly because they like it or find it useful.&lt;br /&gt;
* Average visit duration &amp;#8211; the total length of a user's visit. As a rule the more time they spend the more they're interested in your company and are more prone to contact.&lt;br /&gt;
* Average page duration &amp;#8211; how lo&lt;/p&gt;

&lt;p&gt; 1. REDIRECT Target page name&lt;br /&gt;
 2. Numbered list item&lt;/p&gt;


&lt;p&gt;* Domain classes &amp;#8211; all levels of the IP Addressing information required to deliver Webpages and content.&lt;br /&gt;
* Busy times &amp;#8211; the most popular viewing time of the site would show when would be the best time to do promotional campaigns and when would be the most ideal to perform maintenance&lt;br /&gt;
* Most requested pages &amp;#8211; the most popular pages&lt;br /&gt;
* Most requested entry pages &amp;#8211; the entry page is the first page viewed by a visitor and shows which are the pages most attracting visitors&lt;br /&gt;
* Most requested exit pages &amp;#8211; the most requested exit pages could help find bad pages, broken links or the exit pages may have a popular external link&lt;br /&gt;
* Top paths &amp;#8211; a path is the sequence of pages viewed by visitors from entry to exit, with the top paths identifying the way most customers go through the site&lt;br /&gt;
* Referrers; The host can track the (apparent) source of the links and determine which sites are generating the most traffic for a particular page.&lt;/p&gt;

&lt;p&gt;Web sites like Alexa Internet produce traffic rankings and statistics based on those people who access the sites while using the Alexa toolbar. The difficulty with this is that it's not looking at the complete traffic picture for a site. Large sites usually hire the services of companies like Nielsen NetRatings, but their reports are available only by subscription. &lt;/p&gt;

&lt;!-- Adsense block #23 not displayed since it exceed the limit of 3 --&gt;

&lt;p&gt;Google Analytics is the enterprise-class web analytics solution that gives you rich insights into your website traffic and marketing effectiveness. Powerful, flexible and easy-to-use features now let you see and analyze your traffic data in an entirely new way. With Google Analytics, you're more prepared to write better-targeted ads, strengthen your marketing initiatives and create higher converting websites. &lt;/p&gt;

&lt;p&gt;Join Following Amizing Programs for getting good hosting plans:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;HOSTSTEPS's product:&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://d8798rnw330d-umawd7ow34lds.hop.clickbank.net/?tid=143&quot; target=&quot;_top&quot;&gt;Click Here!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;RADSYSLTD's product&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://4ebd1ou-sy9ewsiioywsvj005z.hop.clickbank.net/?tid=FDFS&quot; target=&quot;_top&quot;&gt;Click Here!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;AAMIRSHAHJ's product&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://62057nj-ta6iyw8vecxm72m1ue.hop.clickbank.net/?tid=33433&quot; target=&quot;_top&quot;&gt;Click Here!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;TAKIS76's product.&lt;/b&gt; &lt;br /&gt;
&lt;a href=&quot;http://a272dlo6x80ftzbjkelc9x6o24.hop.clickbank.net/?tid=RERE&quot; target=&quot;_top&quot;&gt;Click Here!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;MEGACLERK's product&lt;/b&gt;&lt;br /&gt;
Membership provides Unlimited space and bandwidth. Fresh Content Generator retrieves all the latest from articles, blogs, forums, podcasts, videos, and hot press releases. Create websites, web pages and ad campaigns with just a click... Recurring Income!&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://f279fhr35389t-hel6cxwa4cfj.hop.clickbank.net/?tid=DSDS&quot; target=&quot;_top&quot;&gt;Click Here!&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://www.evarions.com/index.php/webnology/2010/10/04/web-traffic&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Web traffic is the amount of data sent and received by visitors to a web site. It is a large portion of Internet traffic. This is determined by the number of visitors and the number of pages they visit. Sites monitor the incoming and outgoing traffic to see which parts or pages of their site are popular and if there are any apparent trends, such as one specific page being viewed mostly by people in a particular country. There are many ways to monitor this traffic and the gathered data is used to help structure sites, highlight security problems or indicate a potential lack of bandwidth &#8212; not all web traffic is welcome.</p>

<p>Some companies offer advertising schemes that, in return for increased web traffic (visitors), pay for screen space on the site. Sites also often aim to increase their web traffic through inclusion on search engines and through Search engine optimization.</p>

<p><b><br />
Analyzing Web Traffics</b></p>

<p>Web analytics  is the measurement of the behavior of visitors to a website. In a commercial context, it especially refers to the measurement of which aspects of the website work towards the business objectives of Internet marketing initiatives; for example, which landing pages encourage people to make a purchase. Notable vendors of web analytics software and services include: Webtrends, Coremetrics, Omniture, and Google Analytics.</p>

<p>Web traffic is measured to see the popularity of web sites and individual pages or sections within a site.<br />
Web traffic can be analyzed by viewing the traffic statistics found in the web server log file, an automatically-generated list of all the pages served. A hit is generated when any file is served. The page itself is considered a file, but images are also files, thus a page with 5 images could generate 6 hits (the 5 images and the page itself). A page view is generated when a visitor requests any page within the web site &#8211; a visitor will always generate at least one page view (the main page) but could generate many more.</p>

<p>Tracking applications external to the web site can record traffic by inserting a small piece of HTML code in every page of the web site.</p>

<p>Web traffic is also sometimes measured by packet sniffing and thus gaining random samples of traffic data from which to extrapolate information about web traffic as a whole across total Internet usage.</p>

<p>The following types of information are often collated when monitoring web traffic:</p>

<p>* The number of visitors.<br />
* The average number of page views per visitor &#8211; a high number would indicate that the average visitors go deep inside the site, possibly because they like it or find it useful.<br />
* Average visit duration &#8211; the total length of a user's visit. As a rule the more time they spend the more they're interested in your company and are more prone to contact.<br />
* Average page duration &#8211; how lo</p>

<p> 1. REDIRECT Target page name<br />
 2. Numbered list item</p>


<p>* Domain classes &#8211; all levels of the IP Addressing information required to deliver Webpages and content.<br />
* Busy times &#8211; the most popular viewing time of the site would show when would be the best time to do promotional campaigns and when would be the most ideal to perform maintenance<br />
* Most requested pages &#8211; the most popular pages<br />
* Most requested entry pages &#8211; the entry page is the first page viewed by a visitor and shows which are the pages most attracting visitors<br />
* Most requested exit pages &#8211; the most requested exit pages could help find bad pages, broken links or the exit pages may have a popular external link<br />
* Top paths &#8211; a path is the sequence of pages viewed by visitors from entry to exit, with the top paths identifying the way most customers go through the site<br />
* Referrers; The host can track the (apparent) source of the links and determine which sites are generating the most traffic for a particular page.</p>

<p>Web sites like Alexa Internet produce traffic rankings and statistics based on those people who access the sites while using the Alexa toolbar. The difficulty with this is that it's not looking at the complete traffic picture for a site. Large sites usually hire the services of companies like Nielsen NetRatings, but their reports are available only by subscription. </p>

<!-- Adsense block #24 not displayed since it exceed the limit of 3 -->

<p>Google Analytics is the enterprise-class web analytics solution that gives you rich insights into your website traffic and marketing effectiveness. Powerful, flexible and easy-to-use features now let you see and analyze your traffic data in an entirely new way. With Google Analytics, you're more prepared to write better-targeted ads, strengthen your marketing initiatives and create higher converting websites. </p>

<p>Join Following Amizing Programs for getting good hosting plans:</p>

<p><b>HOSTSTEPS's product:</b><br />
<a href="http://d8798rnw330d-umawd7ow34lds.hop.clickbank.net/?tid=143" target="_top">Click Here!</a></p>

<p><b>RADSYSLTD's product</b><br />
<a href="http://4ebd1ou-sy9ewsiioywsvj005z.hop.clickbank.net/?tid=FDFS" target="_top">Click Here!</a></p>

<p><b>AAMIRSHAHJ's product</b><br />
<a href="http://62057nj-ta6iyw8vecxm72m1ue.hop.clickbank.net/?tid=33433" target="_top">Click Here!</a></p>

<p><b>TAKIS76's product.</b> <br />
<a href="http://a272dlo6x80ftzbjkelc9x6o24.hop.clickbank.net/?tid=RERE" target="_top">Click Here!</a></p>

<p><b>MEGACLERK's product</b><br />
Membership provides Unlimited space and bandwidth. Fresh Content Generator retrieves all the latest from articles, blogs, forums, podcasts, videos, and hot press releases. Create websites, web pages and ad campaigns with just a click... Recurring Income!</p>

<p><a href="http://f279fhr35389t-hel6cxwa4cfj.hop.clickbank.net/?tid=DSDS" target="_top">Click Here!</a></p><div class="item_footer"><p><small><a href="http://www.evarions.com/index.php/webnology/2010/10/04/web-traffic">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://www.evarions.com/index.php/webnology/2010/10/04/web-traffic#comments</comments>
		</item>
			</channel>
</rss>

