<?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>Software Associates - India &#187; best practices</title>
	<atom:link href="http://www.softwareassociates.in/blog/category/best-practices/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.softwareassociates.in</link>
	<description>Synergize with experience and expertise</description>
	<lastBuildDate>Tue, 07 Feb 2012 08:31:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>Animations and Your iPhone Application</title>
		<link>http://www.softwareassociates.in/blog/animations-and-your-application/</link>
		<comments>http://www.softwareassociates.in/blog/animations-and-your-application/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 04:44:34 +0000</pubDate>
		<dc:creator>Jackson</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.softwareassociates.in/?p=2984</guid>
		<description><![CDATA[&#8220;It might be The Art of Presenting rather than your Best Product, which could gather you the first applause.&#8221; Well most of you would remember the &#8220;Genie and the Lamp.&#34; As a kid I was mesmerized by the power of &#8230; <a href="http://www.softwareassociates.in/blog/animations-and-your-application/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong><span class="blackclass">&ldquo;It</span> <span class="blackclass">might</span> <span class="blackclass">be</span> <span class="blackclass">The</span> <span class="blackclass">Art</span> <span class="blackclass">of</span> <span class="blackclass">Presenting</span> <span class="blackclass">rather</span> <span class="blackclass">than</span> <span class="blackclass">your</span> <span class="blackclass">Best</span> <span class="phraseanchor">Product,</span> <span class="blackclass">which</span> <span class="blackclass">could</span> <span class="blackclass">gather</span> <span class="blackclass">you</span> <span class="blackclass">the</span> <span class="blackclass">first</span> <span class="blackclass">applause.&rdquo;</span></strong></p>
<p><span class="blackclass"><span>Well</span></span> <span class="blackclass"><span>most</span></span> <span class="blackclass"><span>of</span></span> <span class="blackclass"><span>you</span></span> <span class="blackclass"><span>would</span></span> <span class="blackclass"><span>remember</span></span> <span class="blackclass"><span>the</span></span> <span class="blackclass"><span>&ldquo;Genie</span></span> <span class="blackclass"><span>and</span></span> <span class="blackclass"><span>the</span></span> <span class="phraseanchor"><span>Lamp.&quot;</span></span> <span class="blackclass"><span>As</span></span> <span class="blackclass"><span>a</span></span> <span class="blackclass"><span>kid</span></span> <span class="blackclass"><span>I</span></span> <span class="blackclass"><span>was</span></span> <span class="blackclass"><span>mesmerized</span></span> <span class="blackclass"><span>by</span></span> <span class="blackclass"><span>the</span></span> <span class="blackclass"><span>power</span></span> <span class="blackclass"><span>of</span></span> <span class="blackclass"><span>Genie</span></span> <span class="blackclass"><span>to</span></span> <span class="blackclass"><span>change</span></span> <span class="blackclass"><span>form</span></span> <span class="blackclass"><span>and</span></span> <span class="blackclass"><span>his</span></span> <span class="blackclass"><span>ability</span></span> <span class="blackclass"><span>to</span></span> <span class="blackclass"><span>do</span></span> <span class="blackclass"><span>things.</span></span> <span class="blackclass"><span>My</span></span> <span class="blackclass"><span>personal</span></span> <span class="blackclass"><span>favourite</span> <span class="blackclass"><span>was</span></span> <span class="blackclass"><span>him</span></span> <span class="blackclass"><span>coming</span></span> <span class="blackclass"><span>out</span></span> <span class="blackclass"><span>and</span></span> <span class="blackclass"><span>going</span></span> <span class="phraseanchor"><span>back</span></span> <span class="blackclass"><span>to</span></span> <span class="blackclass"><span>the</span></span> <span class="blackclass"><span>lamp.</span></span> <span class="blackclass"><span>Once</span></span> <span class="blackclass"><span>genie</span></span> <span class="blackclass"><span>moves</span></span> <span class="phraseanchor"><span>back</span></span> <span class="blackclass"><span>to</span></span> <span class="blackclass"><span>his</span></span> <span class="blackclass"><span>lamp</span></span> <span class="blackclass"><span>there</span></span> <span class="blackclass"><span>is</span></span> <span class="blackclass"><span>no</span></span> <span class="blackclass"><span>doubt</span></span> <span class="blackclass"><span>where</span></span> <span class="blackclass"><span>he</span></span> <span class="blackclass"><span>is</span></span> <span class="blackclass"><span>for</span></span> <span class="blackclass"><span>the</span></span> <span class="blackclass"><span>kids,</span></span> <span class="blackclass"><span>it&rsquo;s</span></span> <span class="blackclass"><span>not</span></span> <span class="blackclass"><span>in</span></span> <span class="blackclass"><span>the</span></span> <span class="blackclass"><span>bedroom</span></span> <span class="blackclass"><span>or</span></span> <span class="blackclass"><span>dining</span></span> <span class="blackclass"><span>room</span></span> <span class="blackclass"><span>it&rsquo;s</span></span> <span class="blackclass"><span>inside</span></span> <span class="blackclass"><span>the</span></span> <span class="blackclass"><span>&quot;Magic</span></span> <span class="phraseanchor"><span>Lamp.&quot;</span></span></span></p>
<p class="MsoNormal" style="text-align: center"><img align="middle" alt="iPhone application development | Animation in iPhone| Web Application Development | UK | USA | Singapore" height="300" src="http://www.softwareassociates.in/wp-content/uploads/bottle(1).jpg" width="380" /></p>
<p class="MsoNormal" style="text-align: justify">&nbsp;</p>
<p class="MsoNormal" style="text-align: justify"><span class="blackclass">Animations</span> <span class="blackclass"><span>are</span></span> <span class="blackclass"><span>the</span></span> <span class="blackclass"><span>&ldquo;Most</span></span> <span class="blackclass"><span>Coolest&rdquo;</span></span> <span class="blackclass"><span>part</span></span> <span class="blackclass"><span>when</span></span> <span class="blackclass"><span>you</span></span> <span class="blackclass"><span>use</span></span> <span class="blackclass"><span>an</span></span> <span class="blackclass"><span>application.</span></span> <span class="blackclass"><span>Still</span></span> <span class="blackclass"><span>remember</span></span> <span class="blackclass"><span>the</span></span> <span class="blackclass"><span>first</span></span> <span class="blackclass"><span>time</span></span> <span class="blackclass"><span>I</span></span> <span class="blackclass"><span>was</span></span> <span class="blackclass"><span>introduced</span></span> <span class="blackclass"><span>to</span></span> <span class="blackclass"><span>MAC</span></span> <span class="blackclass"><span>OSX.</span></span> <span class="blackclass"><span>That</span></span> <span class="blackclass"><span>day</span></span> <span class="blackclass"><span>I</span></span> <span class="blackclass"><span>witnessed</span></span> <span class="blackclass"><span>the</span></span> <span class="blackclass"><span>magnificent</span></span> <span class="phraseanchor"><span>welcome</span></span> <span class="blackclass"><span>screen</span></span> <span class="blackclass"><span>for</span></span> <span class="blackclass"><span>OSX</span></span> <span class="blackclass"><span>Leopard,</span></span> <span class="phraseanchor"><span>&quot;Welcome&quot;</span></span> <span class="blackclass"><span>coming</span></span> <span class="blackclass"><span>out</span></span> <span class="blackclass"><span>in</span></span> <span class="blackclass"><span>different</span></span> <span class="blackclass"><span>languages</span></span> <span class="blackclass"><span>on</span></span> <span class="blackclass"><span>screen,</span></span> <span class="blackclass"><span>and</span></span> <span class="blackclass"><span>it</span></span> <span class="blackclass"><span>also</span></span> <span class="blackclass"><span>gave</span></span> <span class="blackclass"><span>me</span></span> <span class="blackclass"><span>the</span></span> <span class="blackclass"><span>feel</span></span> <span class="blackclass"><span>of</span></span> <span class="blackclass"><span>traveling</span></span> <span class="blackclass"><span>through</span></span> <span class="blackclass"><span>space.</span></span> <span class="blackclass"><span>I</span></span> <span class="blackclass"><span>fell</span></span> <span class="blackclass"><span>for</span></span> <span class="blackclass"><span>that</span></span> <span class="phraseanchor"><span>OS,</span></span> <span class="blackclass"><span>even</span></span> <span class="blackclass"><span>before</span></span> <span class="blackclass"><span>I</span></span> <span class="blackclass"><span>started</span></span> <span class="blackclass"><span>using</span></span> <span class="blackclass"><span>it,</span></span> <span class="blackclass"><span>but</span></span> <span class="blackclass"><span>there</span></span> <span class="blackclass"><span>were</span></span> <span class="blackclass"><span>more</span></span> <span class="blackclass"><span>to</span></span> <span class="blackclass"><span>come.</span></span> <span class="blackclass"><span>Creating</span></span> <span class="phraseanchor"><span>a</span><span class="contextmenu"> ripple</span></span> <span class="blackclass"><span>on</span></span> <span class="blackclass"><span>Dashboard</span></span> <span class="blackclass"><span>while</span></span> <span class="blackclass"><span>adding</span></span> <span class="blackclass"><span>new</span></span> <span class="blackclass"><span>widgets,</span></span> <span class="blackclass"><span>the</span></span> <span class="blackclass"><span>Genie</span></span> <span class="blackclass"><span>effect</span></span> <span class="blackclass"><span>on</span></span> <span class="blackclass"><span>minimizing</span></span> <span class="blackclass"><span>the</span></span> <span class="blackclass"><span>app.</span></span> <span class="blackclass"><span>the</span></span> <span class="blackclass"><span>list</span></span> <span class="blackclass"><span>goes</span></span> <span class="blackclass"><span>on.</span></span></p>
<p>T<span class="blackclass"><span>hese </span></span>a<span class="blackclass"><span>re </span></span>n<span class="blackclass"><span>ot </span></span>o<span class="blackclass"><span>nly </span></span>c<span class="blackclass">ool; they</span><span> </span>are a w<span class="blackclass"><span>ay </span></span>o<span class="blackclass"><span>f </span></span>c<span class="blackclass"><span>ommunicating </span></span>t<span class="blackclass"><span>o </span></span>t<span class="blackclass"><span>he </span></span>u<span class="blackclass"><span>ser </span></span>w<span class="blackclass"><span>hat </span></span>j<span class="blackclass"><span>ust </span></span>h<span class="blackclass"><span>appened.&nbsp;</span></span></p>
<p>D<span class="blackclass"><span>o </span></span>y<span class="blackclass"><span>ou </span></span>k<span class="blackclass"><span>now </span></span>w<span class="blackclass"><span>here </span></span>G<span class="blackclass"><span>enie </span></span>i<span class="blackclass"><span>s </span></span>n<span class="blackclass"><span>ow? </span></span><span class="phraseanchor">Yes,</span> h<span class="blackclass"><span>e </span></span>i<span class="blackclass"><span>s </span></span>s<span class="phraseanchor"><span>till </span></span>i<span class="blackclass"><span>nside </span></span>t<span class="blackclass"><span>he </span></span>l<span class="blackclass"><span>amp. </span></span>D<span class="blackclass"><span>o </span></span>y<span class="blackclass"><span>ou </span></span>k<span class="blackclass"><span>now </span></span>w<span class="blackclass"><span>hy </span></span>y<span class="blackclass"><span>ou </span></span>s<span class="phraseanchor"><span>till </span></span>r<span class="blackclass"><span>emember </span></span>i<span class="blackclass"><span>t? </span></span><span class="phraseanchor">Obviously,</span> i<span class="blackclass"><span>t&rsquo;s </span></span>b<span class="blackclass"><span>ecause </span></span>t<span class="blackclass"><span>he </span></span>g<span class="blackclass"><span>enie </span></span>d<span class="blackclass"><span>idn&#39;t </span></span>v<span class="blackclass"><span>anish </span></span>i<span class="blackclass"><span>nto </span></span><span class="phraseanchor">the</span><span class="contextmenu"> thin</span> a<span class="blackclass"><span>ir, </span></span>i<span class="blackclass"><span>nstead </span></span>h<span class="blackclass"><span>e </span></span>s<span class="blackclass"><span>lowly </span></span>m<span class="blackclass"><span>oved </span></span>i<span class="phraseanchor"><span>n </span><span class="contextmenu">to </span></span>t<span class="blackclass"><span>he </span></span>l<span class="blackclass"><span>amp. </span></span><span class="phraseanchor">Likewise,</span> a<span class="blackclass"><span>nimation </span></span>s<span class="blackclass"><span>hould </span></span>a<span class="blackclass"><span>lso </span></span>b<span class="blackclass"><span>e </span></span>o<span class="blackclass"><span>bvious, </span></span>s<span class="blackclass"><span>hould </span></span>t<span class="blackclass"><span>ell </span></span>i<span class="blackclass"><span>ts </span></span>s<span class="blackclass"><span>tory. </span></span></p>
<p>P<span class="blackclass"><span>rolonged </span></span>a<span class="blackclass"><span>nimations </span></span>m<span class="blackclass"><span>ay </span></span>n<span class="blackclass"><span>ot </span></span>b<span class="blackclass"><span>e </span></span>s<span class="blackclass"><span>uitable </span></span>a<span class="blackclass"><span>t </span></span>a<span class="blackclass"><span>ll </span></span>t<span class="blackclass"><span>imes. </span></span>I<span class="blackclass"><span>f </span></span>y<span class="blackclass"><span>ou </span></span>s<span class="blackclass"><span>elect </span></span>a <span class="phraseanchor">button,</span> a<span class="blackclass"><span>nd </span></span>i<span class="blackclass"><span>t </span></span>s<span class="blackclass"><span>tarts </span></span>v<span class="blackclass"><span>ibrating </span></span>o<span class="blackclass"><span>r </span></span>m<span class="blackclass"><span>ake </span></span>r<span class="blackclass"><span>ipples </span></span>i<span class="blackclass"><span>t </span></span>m<span class="blackclass"><span>ay </span></span>i<span class="blackclass"><span>nitially </span></span>g<span class="blackclass"><span>ather </span></span>a w<span class="blackclass"><span>ow </span></span>f<span class="blackclass"><span>or </span></span>t<span class="blackclass"><span>he </span></span>a<span class="blackclass"><span>nimation, </span></span>b<span class="blackclass"><span>ut </span></span>l<span class="blackclass"><span>ater </span></span>w<span class="blackclass"><span>hen </span></span><span class="phraseanchor"><span>the</span><span class="contextmenu"> user</span></span> s<span class="blackclass"><span>tarts </span></span>r<span class="blackclass"><span>eally </span></span>u<span class="blackclass"><span>sing </span></span>t<span class="blackclass"><span>hat </span></span>s<span class="blackclass"><span>tuff </span></span>m<span class="blackclass"><span>ight </span></span>i<span class="blackclass"><span>rritate </span></span>h<span class="blackclass"><span>im.</span></span><br />
	The<span class="blackclass"><span>re ma</span>y<span class="blackclass"> be</span> <span class="blackclass"><span>an</span></span>i<span class="phraseanchor"><span>mations/</span><span class="contextmenu">ideas wh</span></span>i<span class="blackclass"><span>ch ar</span></span>e<span> <span class="blackclass">ye</span></span>t<span> <span class="blackclass">to</span></span> <span class="blackclass"><span>be</span></span> <span class="blackclass"><span>ut</span></span>i<span class="blackclass"><span>lized. It</span></span> <span class="blackclass"><span>ma</span></span>y<span class="blackclass"><span>be</span></span> <span class="blackclass"><span>fr</span></span>o<span class="blackclass"><span>m ca</span></span>r<span class="phraseanchor"><span>toons, </span><span class="greenclass">it ma</span></span>y<span class="blackclass"><span>be</span></span> <span class="blackclass"><span>fr</span></span>o<span class="blackclass"><span>m wh</span></span>a<span class="blackclass"><span>t we</span></span> <span class="blackclass"><span>se</span></span>e<span> <span class="blackclass">in</span></span> <span class="blackclass"><span>ou</span></span>r <span class="blackclass"><span>da</span></span>y<span> <span class="blackclass">to</span></span> <span class="blackclass"><span>da</span></span>y<span> <span class="blackclass">li</span></span>f<span class="blackclass"><span>e&hellip; th</span></span>e<span class="blackclass"><span>ir so</span></span>u<span class="blackclass"><span>rce is</span></span> <span class="blackclass"><span>un</span></span>k<span class="blackclass"><span>nown, bu</span></span>t <span class="blackclass"><span>my</span></span> <span class="blackclass"><span>se</span></span>a<span class="blackclass"><span>rch st</span></span>i<span class="blackclass"><span>ll co</span></span>n<span class="blackclass"><span>tinues fo</span></span>r <span class="blackclass"><span>th</span></span>e<span class="blackclass"><span>se lo</span></span>s<span class="blackclass"><span>t ar</span>t<span class="blackclass">efacts.</span></span></span></p>
<p class="MsoNormal" style="text-align: justify"><em>(&nbsp;Jackson Sunny Rodrigues is an extremely talented&nbsp;iOS Programmer at Software Associates. Follow him on twitter at @<a href="http://www.twitter.com/jaxsonrodrigues">jaxsonrodrigues</a>, or catch up with him on Facebook at&nbsp;<a href="http://www.facebook.com/jaxsonrodrigues">Jackson Rodrigues</a>. )</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareassociates.in/blog/animations-and-your-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Safe file upload on PHP web servers: Why is it important?</title>
		<link>http://www.softwareassociates.in/blog/safe-file-upload-on-php-web-servers-why-is-it-important/</link>
		<comments>http://www.softwareassociates.in/blog/safe-file-upload-on-php-web-servers-why-is-it-important/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 06:28:58 +0000</pubDate>
		<dc:creator>Jayan A</dc:creator>
				<category><![CDATA[best practices]]></category>

		<guid isPermaLink="false">http://www.softwareassociates.in/?p=2945</guid>
		<description><![CDATA[You are a successful business organization. Some time back, you had realized your need for growth, and the great new website of yours was going to help you in expanding your business all over the world. After putting in lot &#8230; <a href="http://www.softwareassociates.in/blog/safe-file-upload-on-php-web-servers-why-is-it-important/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify"><span style="background-color: white;font-family: Arial, sans-serif;font-size: 9pt;text-align: justify">You are a successful business organization. Some time back, you had realized your need for growth, and the great new website of yours was going to help you in expanding your business all over the world. After putting in lot of effort, money and time, you got the website of your dreams up and running. Things were going great until one fine morning, your website got hacked.&nbsp;</span></p>
<p style="background-color: white;text-align: justify"><span style="font-size: 9pt;font-family: Arial, sans-serif">Safety of files while uploading to a web server has always been a headache for PHP developers.&nbsp;Because of lack of experience and expertise,&nbsp;I have seen many cases where naive developers, end up giving complete permissions for the files being uploaded on the PHP servers. Seldom do they realize that the consequences can be lethal, and a lot of things are on stake when they make this mistake.</span></p>
<p style="background-color: white;text-align: justify"><span style="font-size: 9pt;font-family: Arial, sans-serif">If the security concerns during the file uploads are not properly dealt with, there is always a probability of someone snooping at it. It can be easily hacked. What more? You lose your data, money, time and effort. You lose trust of your client. Organization&#039;s reputation as a great web service provider is at stake. All because of immaturity of most of the PHP service providers, who seldom worry how much client&#039;s data is worth, and only worry about quantity of work not the quality of it.</span></p>
<p style="background-color: white;text-align: justify"><span style="font-size: 9pt;font-family: Arial, sans-serif">Recently, we had a hands on experience with one of such situations, which I feel is worth sharing with you all.<span class="apple-converted-space">&nbsp;</span>&nbsp;In this case, the website was created long back by some naive PHP service providers, who certainly lacked maturity in understanding the security needs of the end client. After getting more insight over their website, it was very clear to our team that the website is in for the trouble and can be hacked at any instant, thanks to the way immature service providers, who lack experience and expertise and empathy to clients. Once our team, at software associates recognized this need for revamp, we readily jumped into it, so that our client could get a safe and secure manageable web site; the service that our client really deserves.&nbsp;</span></p>
<p style="background-color: white;text-align: justify"><span style="font-size: 9pt;font-family: Arial, sans-serif">From our experiences with these issues, I will really suggest that the both PHP service providers and the clients should take utmost care regarding this issue. Naive PHP service providers should never be trusted for your website development as they will never understand your needs for better safe and secure service. Only the service providers who understand the value of your information and work towards making your business successful should be trusted with this task.</span></p>
<p class="MsoNormal" style="text-align: justify"><em>(Jayan A is Operations and Resource Manager at Software Associates. He is a PHP guru and technology enthusiast.)&nbsp;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareassociates.in/blog/safe-file-upload-on-php-web-servers-why-is-it-important/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>8 reasons to choose Umbraco over other content management systems</title>
		<link>http://www.softwareassociates.in/blog/8-reasons-to-choose-umbraco-over-other-content-management-systems/</link>
		<comments>http://www.softwareassociates.in/blog/8-reasons-to-choose-umbraco-over-other-content-management-systems/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 11:05:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[best practices]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[relationship management]]></category>
		<category><![CDATA[Technologies]]></category>
		<category><![CDATA[Umbraco]]></category>

		<guid isPermaLink="false">http://www.softwareassociates.in/?p=2922</guid>
		<description><![CDATA[Recently, we had a real-time experience of the capabilities and advantages that Umbraco has over other content management systems, and&#160;we thought that it would be great to share this experience and learning with all of you.&#160;&#160; One of our clients &#8230; <a href="http://www.softwareassociates.in/blog/8-reasons-to-choose-umbraco-over-other-content-management-systems/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><span class="blackClass context_menu" id="ws1024" jquery1322124362281="5594" originalword="Recently,">Recently,</span> <span class="blackClass context_menu" id="ws1025" jquery1322124362281="5595" originalword="we">we</span> <span class="blackClass context_menu" id="ws1026" jquery1322124362281="5596" originalword="had">had</span> <span class="blackClass context_menu" id="ws1027" jquery1322124362281="5597" originalword="a">a</span> <span class="blackClass context_menu" id="ws1028" jquery1322124362281="5598" originalword="real-time">real-time</span> <span class="blackClass context_menu" id="ws1029" jquery1322124362281="5599" originalword="experience">experience</span> <span class="blackClass context_menu" id="ws1030" jquery1322124362281="5600" originalword="of">of</span> <span class="blackClass context_menu" id="ws1031" jquery1322124362281="5601" originalword="the">the</span> <span class="blackClass context_menu" id="ws1032" jquery1322124362281="5602" originalword="capabilities">capabilities</span> <span class="blackClass context_menu" id="ws1033" jquery1322124362281="5603" originalword="and">and</span> <span class="blackClass context_menu" id="ws1034" jquery1322124362281="5604" originalword="advantages">advantages</span> <span class="blackClass context_menu" id="ws1035" jquery1322124362281="5605" originalword="that">that</span> <span class="blackClass context_menu" id="ws1036" jquery1322124362281="5606" originalword="Umbraco">Umbraco</span> <span class="blackClass context_menu" id="ws1037" jquery1322124362281="5607" originalword="has">has</span> <span class="blackClass context_menu" id="ws1038" jquery1322124362281="5608" originalword="over">over</span> <span class="blackClass context_menu" id="ws1039" jquery1322124362281="5609" originalword="other">other</span> <span class="blackClass context_menu" id="ws1040" jquery1322124362281="5610" originalword="content">content</span> <span class="blackClass context_menu" id="ws1041" jquery1322124362281="5611" originalword="management">management</span> <span class="blackClass context_menu" id="ws1042" jquery1322124362281="5612" originalword="systems,">systems,</span> <span class="blackClass context_menu" id="ws1043" jquery1322124362281="5613" originalword="and">and</span>&nbsp;<span class="blackClass context_menu" id="ws1044" jquery1322124362281="5614" originalword="we">we</span> <span class="blackClass context_menu" id="ws1045" jquery1322124362281="5615" originalword="thought">thought</span> <span class="blackClass context_menu" id="ws1046" jquery1322124362281="5616" originalword="that">that</span> <span class="blackClass context_menu" id="ws1047" jquery1322124362281="5617" originalword="it">it</span> <span class="blackClass context_menu" id="ws1048" jquery1322124362281="5618" originalword="would">would</span> <span class="blackClass context_menu" id="ws1049" jquery1322124362281="5619" originalword="be">be</span> <span class="blackClass context_menu" id="ws1050" jquery1322124362281="5620" originalword="great">great</span> <span class="blackClass context_menu" id="ws1051" jquery1322124362281="5621" originalword="to">to</span> <span class="blackClass context_menu" id="ws1052" jquery1322124362281="5622" originalword="share">share</span> <span class="blackClass" id="ws1053" jquery1322124362281="5623" originalword="this">this</span> <span class="blackClass context_menu" id="ws1054" jquery1322124362281="5624" originalword="experience">experience</span> <span class="blackClass context_menu" id="ws1055" jquery1322124362281="5625" originalword="and">and</span> <span class="blackClass context_menu" id="ws1056" jquery1322124362281="5626" originalword="learning">learning</span> <span class="blackClass context_menu" id="ws1057" jquery1322124362281="5627" originalword="with">with</span> <span class="blackClass context_menu" id="ws1058" jquery1322124362281="5628" originalword="all">all</span> <span class="blackClass context_menu" id="ws1059" jquery1322124362281="5629" originalword="of">of</span> <span class="blackClass context_menu" id="ws1060" jquery1322124362281="5630" originalword="you.">you.</span>&nbsp;&nbsp;<br cr="rn" /><br />
	<span class="blackClass context_menu" id="ws1061" jquery1322124362281="5631" originalword="One">One</span> <span class="blackClass context_menu" id="ws1062" jquery1322124362281="5632" originalword="of">of</span> <span class="blackClass context_menu" id="ws1063" jquery1322124362281="5633" originalword="our">our</span> <span class="blackClass context_menu" id="ws1064" jquery1322124362281="5634" originalword="clients">clients</span> <span class="blackClass context_menu" id="ws1065" jquery1322124362281="5635" originalword="came">came</span> <span class="blackClass context_menu" id="ws1066" jquery1322124362281="5636" originalword="to">to</span> <span class="blackClass context_menu" id="ws1067" jquery1322124362281="5637" originalword="us">us</span> <span class="blackClass context_menu" id="ws1068" jquery1322124362281="5638" originalword="with">with</span> <span class="blackClass context_menu" id="ws1069" jquery1322124362281="5639" originalword="a">a</span> <span class="blackClass context_menu" id="ws1070" jquery1322124362281="5640" originalword="proposal">proposal</span> <span class="blackClass context_menu" id="ws1071" jquery1322124362281="5641" originalword="for">for</span> <span class="blackClass context_menu" id="ws1072" jquery1322124362281="5642" originalword="creating">creating</span> <span class="blackClass context_menu" id="ws1073" jquery1322124362281="5643" originalword="some">some</span> <span class="blackClass context_menu" id="ws1074" jquery1322124362281="5644" originalword="e-commerce">e-commerce</span> <span class="blackClass context_menu" id="ws1075" jquery1322124362281="5645" originalword="stuff">stuff</span> <span class="blackClass context_menu" id="ws1076" jquery1322124362281="5646" originalword="using">using</span> <span class="blackClass context_menu" id="ws1077" jquery1322124362281="5647" originalword="one">one</span> <span class="blackClass context_menu" id="ws1078" jquery1322124362281="5648" originalword="of">of</span> <span class="blackClass context_menu" id="ws1079" jquery1322124362281="5649" originalword="the">the</span> <span class="blueClass context_menu" id="ws1080" jquery1322124362281="5650" next="ws1103" originalword="content management"><span class="phrase_anchor">content </span>management</span> <span class="blackClass context_menu" id="ws1081" jquery1322124362281="5651" originalword="systems.">systems.</span> <span class="blackClass context_menu" id="ws1082" jquery1322124362281="5652" originalword="Based">Based</span> <span class="blackClass context_menu" id="ws1083" jquery1322124362281="5653" originalword="on">on</span> <span class="blackClass context_menu" id="ws1084" jquery1322124362281="5654" originalword="the">the</span> <span class="blackClass context_menu" id="ws1085" jquery1322124362281="5655" originalword="client">client</span> <span class="blackClass context_menu" id="ws1086" jquery1322124362281="5656" originalword="requirements,">requirements,</span> <span class="blackClass context_menu" id="ws1087" jquery1322124362281="5657" originalword="our">our</span> <span class="blackClass context_menu" id="ws1088" jquery1322124362281="5658" originalword="team">team</span> <span class="blackClass context_menu" id="ws1089" jquery1322124362281="5659" originalword="at">at</span> <span class="blackClass context_menu" id="ws1090" jquery1322124362281="5660" originalword="software">software</span> <span class="blackClass context_menu" id="ws1091" jquery1322124362281="5661" originalword="associates">associates</span> <span class="blackClass context_menu" id="ws1092" jquery1322124362281="5662" originalword="did">did</span> <span class="blackClass context_menu" id="ws1093" jquery1322124362281="5663" originalword="feasibility">feasibility</span> <span class="blackClass context_menu" id="ws1094" jquery1322124362281="5664" originalword="analysis,">analysis,</span> <span class="blackClass context_menu" id="ws1095" jquery1322124362281="5665" originalword="and">and</span>&nbsp;<span class="blackClass context_menu" id="ws1096" jquery1322124362281="5666" originalword="came">came</span> <span class="blackClass context_menu" id="ws1097" jquery1322124362281="5667" originalword="to">to</span> <span class="blackClass context_menu" id="ws1098" jquery1322124362281="5668" originalword="a">a</span> <span class="blackClass context_menu" id="ws1099" jquery1322124362281="5669" originalword="conclusion">conclusion</span> <span class="blackClass context_menu" id="ws1100" jquery1322124362281="5670" originalword="that">that</span>&nbsp;<span class="blackClass context_menu" id="ws1101" jquery1322124362281="5671" originalword="this">this</span> <span class="blackClass context_menu" id="ws1102" jquery1322124362281="5672" originalword="particular">particular</span> <span class="blueClass context_menu" id="ws1103" jquery1322124362281="5673" next="ws1199" originalword="content management" prev="ws1080"><span class="phrase_anchor">content </span>management</span> <span class="blackClass context_menu" id="ws1104" jquery1322124362281="5674" originalword="system">system</span> <span class="blackClass context_menu" id="ws1105" jquery1322124362281="5675" originalword="was">was</span> <span class="blackClass context_menu" id="ws1106" jquery1322124362281="5676" originalword="not">not</span> <span class="blackClass context_menu" id="ws1107" jquery1322124362281="5677" originalword="efficient">efficient</span> <span class="blackClass context_menu" id="ws1108" jquery1322124362281="5678" originalword="enough">enough</span> <span class="blackClass context_menu" id="ws1109" jquery1322124362281="5679" originalword="for">for</span> <span class="blackClass context_menu" id="ws1110" jquery1322124362281="5680" originalword="the">the</span> <span class="blackClass context_menu" id="ws1111" jquery1322124362281="5681" originalword="task.">task.</span><br cr="rn" /><br />
	<span class="blackClass context_menu" id="ws1112" jquery1322124362281="5682" originalword="What">What</span> <span class="blackClass context_menu" id="ws1113" jquery1322124362281="5683" originalword="should">should</span>&nbsp;<span class="blackClass context_menu" id="ws1114" jquery1322124362281="5684" originalword="we">we</span>&nbsp;<span class="blackClass context_menu" id="ws1115" jquery1322124362281="5685" originalword="do">do</span>&nbsp;<span class="blackClass context_menu" id="ws1116" jquery1322124362281="5686" originalword="now?">now?</span> <span class="blackClass context_menu" id="ws1117" jquery1322124362281="5687" originalword="Solving">Solving</span> <span class="blackClass context_menu" id="ws1118" jquery1322124362281="5688" originalword="the">the</span> <span class="blackClass context_menu" id="ws1119" jquery1322124362281="5689" originalword="problems">problems</span> <span class="blackClass context_menu" id="ws1120" jquery1322124362281="5690" originalword="of">of</span> <span class="blackClass context_menu" id="ws1121" jquery1322124362281="5691" originalword="our">our</span> <span class="blackClass context_menu" id="ws1122" jquery1322124362281="5692" originalword="client">client</span> <span class="blackClass context_menu" id="ws1123" jquery1322124362281="5693" originalword="being">being</span> <span class="blackClass context_menu" id="ws1124" jquery1322124362281="5694" originalword="our">our</span> <span class="blackClass context_menu" id="ws1125" jquery1322124362281="5695" originalword="first">first</span> <span class="blackClass context_menu" id="ws1126" jquery1322124362281="5696" originalword="priority;">priority;</span> <span class="blackClass context_menu" id="ws1127" jquery1322124362281="5697" originalword="we">we</span> <span class="blackClass context_menu" id="ws1128" jquery1322124362281="5698" originalword="started">started</span> <span class="blackClass context_menu" id="ws1129" jquery1322124362281="5699" originalword="looking">looking</span> <span class="blackClass context_menu" id="ws1130" jquery1322124362281="5700" originalword="for">for</span> <span class="blackClass context_menu" id="ws1131" jquery1322124362281="5701" originalword="the">the</span> <span class="blackClass context_menu" id="ws1132" jquery1322124362281="5702" originalword="right">right</span> <span class="blackClass context_menu" id="ws1133" jquery1322124362281="5703" originalword="solution.">solution.</span> <span class="blackClass context_menu" id="ws1134" jquery1322124362281="5704" originalword="Luckily,">Luckily,</span> <span class="blackClass context_menu" id="ws1135" jquery1322124362281="5705" originalword="we">we</span> <span class="blackClass context_menu" id="ws1136" jquery1322124362281="5706" originalword="have">have</span> <span class="blackClass context_menu" id="ws1137" jquery1322124362281="5707" originalword="a">a</span> <span class="blackClass context_menu" id="ws1138" jquery1322124362281="5708" originalword="bunch">bunch</span> <span class="blackClass context_menu" id="ws1139" jquery1322124362281="5709" originalword="of">of</span> <span class="blackClass context_menu" id="ws1140" jquery1322124362281="5710" originalword="great">great</span> <span class="blackClass context_menu" id="ws1141" jquery1322124362281="5711" originalword="Umbraco">Umbraco</span> <span class="blackClass context_menu" id="ws1142" jquery1322124362281="5712" originalword="specialists">specialists</span> <span class="blackClass context_menu" id="ws1143" jquery1322124362281="5713" originalword="to">to</span> <span class="blackClass context_menu" id="ws1144" jquery1322124362281="5714" originalword="rescue">rescue</span> <span class="blackClass context_menu" id="ws1145" jquery1322124362281="5715" originalword="our">our</span> <span class="blackClass context_menu" id="ws1146" jquery1322124362281="5716" originalword="client,">client,</span> <span class="blackClass context_menu" id="ws1147" jquery1322124362281="5717" originalword="and">and</span> <span class="blackClass context_menu" id="ws1148" jquery1322124362281="5718" originalword="of">of</span> <span class="blackClass context_menu" id="ws1149" jquery1322124362281="5719" originalword="course,">course,</span> <span class="blackClass context_menu" id="ws1150" jquery1322124362281="5720" originalword="us.">us.</span> <span class="blackClass context_menu" id="ws1151" jquery1322124362281="5721" originalword="They">They</span> <span class="blackClass context_menu" id="ws1152" jquery1322124362281="5722" originalword="came">came</span> <span class="blackClass context_menu" id="ws1153" jquery1322124362281="5723" originalword="out">out</span> <span class="blackClass context_menu" id="ws1154" jquery1322124362281="5724" originalword="with">with</span> <span class="blackClass context_menu" id="ws1155" jquery1322124362281="5725" originalword="brilliant">brilliant</span> <span class="blackClass context_menu" id="ws1156" jquery1322124362281="5726" originalword="out">out</span> <span class="blackClass context_menu" id="ws1157" jquery1322124362281="5727" originalword="of">of</span> <span class="blackClass context_menu" id="ws1158" jquery1322124362281="5728" originalword="the">the</span> <span class="blackClass context_menu" id="ws1159" jquery1322124362281="5729" originalword="box">box</span> <span class="blackClass context_menu" id="ws1160" jquery1322124362281="5730" originalword="ideas">ideas</span> <span class="blackClass context_menu" id="ws1161" jquery1322124362281="5731" originalword="using">using</span> <span class="blackClass context_menu" id="ws1162" jquery1322124362281="5732" originalword="Umbraco,">Umbraco,</span> <span class="blackClass context_menu" id="ws1163" jquery1322124362281="5733" originalword="to">to</span> <span class="blackClass context_menu" id="ws1164" jquery1322124362281="5734" originalword="do">do</span> <span class="blackClass context_menu" id="ws1165" jquery1322124362281="5735" originalword="what">what</span> <span class="blackClass context_menu" id="ws1166" jquery1322124362281="5736" originalword="our">our</span> <span class="blackClass context_menu" id="ws1167" jquery1322124362281="5737" originalword="client">client</span> <span class="blackClass context_menu" id="ws1168" jquery1322124362281="5738" originalword="exactly">exactly</span> <span class="blackClass context_menu" id="ws1169" jquery1322124362281="5739" originalword="wanted">wanted</span> <span class="blackClass context_menu" id="ws1170" jquery1322124362281="5740" originalword="us">us</span> <span class="blackClass context_menu" id="ws1171" jquery1322124362281="5741" originalword="to">to</span> <span class="blackClass context_menu" id="ws1172" jquery1322124362281="5742" originalword="do.">do.</span> <span class="blackClass context_menu" id="ws1173" jquery1322124362281="5743" originalword="So,">So,</span> <span class="blackClass context_menu" id="ws1174" jquery1322124362281="5744" originalword="what">what</span> <span class="blackClass context_menu" id="ws1175" jquery1322124362281="5745" originalword="are">are</span> <span class="blackClass context_menu" id="ws1176" jquery1322124362281="5746" originalword="these">these</span> <span class="blackClass context_menu" id="ws1177" jquery1322124362281="5747" originalword="capabilities">capabilities</span> <span class="blackClass context_menu" id="ws1178" jquery1322124362281="5748" originalword="of">of</span> <span class="blackClass context_menu" id="ws1179" jquery1322124362281="5749" originalword="Umbraco,">Umbraco,</span> <span class="blackClass context_menu" id="ws1180" jquery1322124362281="5750" originalword="which">which</span> <span class="blackClass context_menu" id="ws1181" jquery1322124362281="5751" originalword="make">make</span> <span class="blackClass context_menu" id="ws1182" jquery1322124362281="5752" originalword="it,">it,</span> <span class="blackClass context_menu" id="ws1183" jquery1322124362281="5753" originalword="stand">stand</span> <span class="blackClass context_menu" id="ws1184" jquery1322124362281="5754" originalword="apart">apart</span> <span class="blackClass context_menu" id="ws1185" jquery1322124362281="5755" originalword="in">in</span> <span class="blackClass context_menu" id="ws1186" jquery1322124362281="5756" originalword="the">the</span> <span class="blackClass context_menu" id="ws1187" jquery1322124362281="5757" originalword="crowd">crowd</span> <span class="blackClass context_menu" id="ws1188" jquery1322124362281="5758" originalword="of">of</span> <span class="blackClass context_menu" id="ws1189" jquery1322124362281="5759" originalword="content">content</span> <span class="blackClass context_menu" id="ws1190" jquery1322124362281="5760" originalword="management">management</span> <span class="blackClass context_menu" id="ws1191" jquery1322124362281="5761" originalword="platforms?">platforms?</span>&nbsp;&nbsp;<span class="blackClass context_menu" id="ws1192" jquery1322124362281="5762" originalword="Here,">Here,</span> <span class="blackClass context_menu" id="ws1193" jquery1322124362281="5763" originalword="they">they</span> <span class="blackClass context_menu" id="ws1194" jquery1322124362281="5764" originalword="go:">go:</span><br cr="rn" /><br />
	<span class="blackClass context_menu" id="ws1195" jquery1322124362281="5765" originalword="1)">1 )</span>&nbsp;<span class="blackClass context_menu" id="ws1196" jquery1322124362281="5766" originalword="Umbraco">Umbraco</span> <span class="blackClass context_menu" id="ws1197" jquery1322124362281="5767" originalword="is">is</span> <span class="blackClass context_menu" id="ws1198" jquery1322124362281="5768" originalword="a">a</span> <span class="greenClass context_menu" id="ws1199" jquery1322124362281="5769" next="ws1254" originalword="leading .NET" prev="ws1103"><span class="phrase_anchor">leading .</span>NET</span> <span class="blackClass context_menu" id="ws1200" jquery1322124362281="5770" originalword="based">based</span> <span class="blackClass context_menu" id="ws1201" jquery1322124362281="5771" originalword="open">open</span> <span class="blackClass context_menu" id="ws1202" jquery1322124362281="5772" originalword="source">source</span> <span class="blackClass context_menu" id="ws1203" jquery1322124362281="5773" originalword="web-based">web-based</span> <span class="blackClass context_menu" id="ws1204" jquery1322124362281="5774" originalword="content">content</span> <span class="blackClass context_menu" id="ws1205" jquery1322124362281="5775" originalword="management">management</span> <span class="blackClass context_menu" id="ws1206" jquery1322124362281="5776" originalword="platform.">platform.</span><br cr="rn" /><br />
	<span class="blackClass context_menu" id="ws1207" jquery1322124362281="5777" originalword="2)">2 )</span>&nbsp;<span class="blackClass context_menu" id="ws1208" jquery1322124362281="5778" originalword="We">We</span> <span class="blackClass context_menu" id="ws1209" jquery1322124362281="5779" originalword="have">have</span>&nbsp;<span class="blackClass context_menu" id="ws1210" jquery1322124362281="5780" originalword="out">out</span> <span class="blackClass context_menu" id="ws1211" jquery1322124362281="5781" originalword="of">of</span> <span class="blackClass context_menu" id="ws1212" jquery1322124362281="5782" originalword="the">the</span> <span class="blackClass context_menu" id="ws1213" jquery1322124362281="5783" originalword="box">box</span> <span class="blackClass context_menu" id="ws1214" jquery1322124362281="5784" originalword="features,">features,</span> <span class="blackClass context_menu" id="ws1215" jquery1322124362281="5785" originalword="like">like</span> <span class="blackClass context_menu" id="ws1216" jquery1322124362281="5786" originalword="Membership">Membership</span> <span class="blackClass context_menu" id="ws1217" jquery1322124362281="5787" originalword="provider">provider</span> <span class="blackClass context_menu" id="ws1218" jquery1322124362281="5788" originalword="for">for</span> <span class="blackClass context_menu" id="ws1219" jquery1322124362281="5789" originalword="User">User</span> <span class="blackClass context_menu" id="ws1220" jquery1322124362281="5790" originalword="management.">management.</span> <span class="blackClass context_menu" id="ws1221" jquery1322124362281="5791" originalword="So,">So,</span> <span class="blackClass context_menu" id="ws1222" jquery1322124362281="5792" originalword="we">we</span> <span class="blackClass context_menu" id="ws1223" jquery1322124362281="5793" originalword="can">can</span> <span class="blackClass context_menu" id="ws1224" jquery1322124362281="5794" originalword="easily">easily</span> <span class="blackClass context_menu" id="ws1225" jquery1322124362281="5795" originalword="configure">configure</span> <span class="blackClass context_menu" id="ws1226" jquery1322124362281="5796" originalword="and">and</span> <span class="blackClass context_menu" id="ws1227" jquery1322124362281="5797" originalword="manage">manage</span> <span class="blackClass context_menu" id="ws1228" jquery1322124362281="5798" originalword="the">the</span> <span class="blackClass context_menu" id="ws1229" jquery1322124362281="5799" originalword="users.">users.</span><br cr="rn" /><br />
	<span class="blackClass context_menu" id="ws1230" jquery1322124362281="5800" originalword="3)">3 )</span>&nbsp;<span class="blackClass context_menu" id="ws1231" jquery1322124362281="5801" originalword="We">We</span> <span class="blackClass context_menu" id="ws1232" jquery1322124362281="5802" originalword="have">have</span> <span class="blackClass context_menu" id="ws1233" jquery1322124362281="5803" originalword="a">a</span> <span class="blackClass context_menu" id="ws1234" jquery1322124362281="5804" originalword="great">great</span> <span class="blackClass context_menu" id="ws1235" jquery1322124362281="5805" originalword="level">level</span> <span class="blackClass context_menu" id="ws1236" jquery1322124362281="5806" originalword="of">of</span> <span class="blackClass context_menu" id="ws1237" jquery1322124362281="5807" originalword="flexibility">flexibility</span> <span class="blackClass context_menu" id="ws1238" jquery1322124362281="5808" originalword="in">in</span> <span class="blackClass context_menu" id="ws1239" jquery1322124362281="5809" originalword="customizing">customizing</span> <span class="blackClass context_menu" id="ws1240" jquery1322124362281="5810" originalword="the">the</span> <span class="blackClass context_menu" id="ws1241" jquery1322124362281="5811" originalword="Umbraco">Umbraco</span> <span class="blackClass context_menu" id="ws1242" jquery1322124362281="5812" originalword="platform">platform</span> <span class="blackClass context_menu" id="ws1243" jquery1322124362281="5813" originalword="to">to</span> <span class="blackClass context_menu" id="ws1244" jquery1322124362281="5814" originalword="carry">carry</span> <span class="blackClass context_menu" id="ws1245" jquery1322124362281="5815" originalword="out">out</span> <span class="blackClass context_menu" id="ws1246" jquery1322124362281="5816" originalword="our">our</span> <span class="blackClass context_menu" id="ws1247" jquery1322124362281="5817" originalword="custom">custom</span> <span class="blackClass context_menu" id="ws1248" jquery1322124362281="5818" originalword="functionalities">functionalities</span> <span class="blackClass context_menu" id="ws1249" jquery1322124362281="5819" originalword="easily.">easily.</span><br cr="rn" /><br />
	<span class="blackClass context_menu" id="ws1250" jquery1322124362281="5820" originalword="4)">4 )</span>&nbsp;<span class="blackClass context_menu" id="ws1251" jquery1322124362281="5821" originalword="Search">Search</span> <span class="blackClass context_menu" id="ws1252" jquery1322124362281="5822" originalword="made">made</span> <span class="blackClass context_menu" id="ws1253" jquery1322124362281="5823" originalword="easy">easy</span> <span class="redClass context_menu" id="ws1254" jquery1322124362281="5824" next="ws1280" originalword="with&nbsp;out" prev="ws1199"><span class="phrase_anchor">with&nbsp;</span>out</span> <span class="blackClass context_menu" id="ws1255" jquery1322124362281="5825" originalword="of">of</span> <span class="blackClass context_menu" id="ws1256" jquery1322124362281="5826" originalword="the">the</span> <span class="blackClass context_menu" id="ws1257" jquery1322124362281="5827" originalword="box">box</span> <span class="blackClass context_menu" id="ws1258" jquery1322124362281="5828" originalword="examine">examine</span> <span class="blackClass context_menu" id="ws1259" jquery1322124362281="5829" originalword="support">support</span> <span class="blackClass context_menu" id="ws1260" jquery1322124362281="5830" originalword="for">for</span> <span class="blackClass context_menu" id="ws1261" jquery1322124362281="5831" originalword="content">content</span> <span class="blackClass context_menu" id="ws1262" jquery1322124362281="5832" originalword="search.">search.</span> <span class="blackClass context_menu" id="ws1263" jquery1322124362281="5833" originalword="We">We</span> <span class="blackClass context_menu" id="ws1264" jquery1322124362281="5834" originalword="have">have</span> <span class="blackClass context_menu" id="ws1265" jquery1322124362281="5835" originalword="the">the</span> <span class="blackClass context_menu" id="ws1266" jquery1322124362281="5836" originalword="default">default</span> <span class="blackClass context_menu" id="ws1267" jquery1322124362281="5837" originalword="index">index</span> <span class="blackClass context_menu" id="ws1268" jquery1322124362281="5838" originalword="is">is</span> <span class="blackClass context_menu" id="ws1269" jquery1322124362281="5839" originalword="based">based</span> <span class="blackClass context_menu" id="ws1270" jquery1322124362281="5840" originalword="on">on</span> <span class="blackClass context_menu" id="ws1271" jquery1322124362281="5841" originalword="Lucene,">Lucene,</span> <span class="blackClass context_menu" id="ws1272" jquery1322124362281="5842" originalword="so">so</span> <span class="blackClass context_menu" id="ws1273" jquery1322124362281="5843" originalword="searching">searching</span> <span class="blackClass context_menu" id="ws1274" jquery1322124362281="5844" originalword="is">is</span> <span class="blackClass context_menu" id="ws1275" jquery1322124362281="5845" originalword="made">made</span> <span class="blackClass context_menu" id="ws1276" jquery1322124362281="5846" originalword="fast.">fast.</span><br cr="rn" /><br />
	<span class="blackClass context_menu" id="ws1277" jquery1322124362281="5847" originalword="5)">5 )</span>&nbsp;<span class="blackClass context_menu" id="ws1278" jquery1322124362281="5848" originalword="We">We</span> <span class="blackClass context_menu" id="ws1279" jquery1322124362281="5849" originalword="recommend">recommend</span> <span class="redClass context_menu" id="ws1280" jquery1322124362281="5850" next="ws1313" originalword="uCommerce" prev="ws1254"><span class="phrase_anchor">uCommerce</span></span> <span class="blackClass context_menu" id="ws1281" jquery1322124362281="5851" originalword="as">as</span> <span class="blackClass context_menu" id="ws1282" jquery1322124362281="5852" originalword="a">a</span> <span class="blackClass context_menu" id="ws1283" jquery1322124362281="5853" originalword="solution">solution</span> <span class="blackClass context_menu" id="ws1284" jquery1322124362281="5854" originalword="for">for</span> <span class="blackClass context_menu" id="ws1285" jquery1322124362281="5855" originalword="E">E</span> <span class="blackClass context_menu" id="ws1286" jquery1322124362281="5856" originalword="Commerce">Commerce</span> <span class="blackClass context_menu" id="ws1287" jquery1322124362281="5857" originalword="functionality">functionality</span> <span class="blackClass context_menu" id="ws1288" jquery1322124362281="5858" originalword="in">in</span> <span class="blackClass context_menu" id="ws1289" jquery1322124362281="5859" originalword="Umbraco.">Umbraco.</span> <span class="blackClass context_menu" id="ws1290" jquery1322124362281="5860" originalword="It">It</span> <span class="blackClass context_menu" id="ws1291" jquery1322124362281="5861" originalword="has">has</span> <span class="blackClass context_menu" id="ws1292" jquery1322124362281="5862" originalword="out">out</span> <span class="blackClass context_menu" id="ws1293" jquery1322124362281="5863" originalword="of">of</span> <span class="blackClass context_menu" id="ws1294" jquery1322124362281="5864" originalword="the">the</span> <span class="blackClass context_menu" id="ws1295" jquery1322124362281="5865" originalword="box">box</span> <span class="blackClass context_menu" id="ws1296" jquery1322124362281="5866" originalword="features">features</span> <span class="blackClass context_menu" id="ws1297" jquery1322124362281="5867" originalword="for">for</span> <span class="blackClass context_menu" id="ws1298" jquery1322124362281="5868" originalword="payment">payment</span> <span class="blackClass context_menu" id="ws1299" jquery1322124362281="5869" originalword="integration,">integration,</span> <span class="blackClass context_menu" id="ws1300" jquery1322124362281="5870" originalword="customization">customization</span> <span class="blackClass context_menu" id="ws1301" jquery1322124362281="5871" originalword="of">of</span> <span class="blackClass context_menu" id="ws1302" jquery1322124362281="5872" originalword="shipping">shipping</span> <span class="blackClass context_menu" id="ws1303" jquery1322124362281="5873" originalword="logic,">logic,</span> <span class="blackClass context_menu" id="ws1304" jquery1322124362281="5874" originalword="etc.">etc.</span> <span class="blackClass context_menu" id="ws1305" jquery1322124362281="5875" originalword="All">All</span> <span class="blackClass context_menu" id="ws1306" jquery1322124362281="5876" originalword="this">this</span> <span class="blackClass context_menu" id="ws1307" jquery1322124362281="5877" originalword="customization">customization</span> <span class="blackClass context_menu" id="ws1308" jquery1322124362281="5878" originalword="could">could</span> <span class="blackClass context_menu" id="ws1309" jquery1322124362281="5879" originalword="be">be</span> <span class="blackClass context_menu" id="ws1310" jquery1322124362281="5880" originalword="easily">easily</span> <span class="blackClass context_menu" id="ws1311" jquery1322124362281="5881" originalword="managed">managed</span> <span class="blackClass context_menu" id="ws1312" jquery1322124362281="5882" originalword="in">in</span> <span class="redClass context_menu" id="ws1313" jquery1322124362281="5883" next="ws1319" originalword="uCommerce," prev="ws1280"><span class="phrase_anchor">uCommerce,</span></span> <span class="blackClass context_menu" id="ws1314" jquery1322124362281="5884" originalword="and">and</span> <span class="blackClass context_menu" id="ws1315" jquery1322124362281="5885" originalword="also">also</span> <span class="blackClass context_menu" id="ws1316" jquery1322124362281="5886" originalword="we">we</span> <span class="blackClass context_menu" id="ws1317" jquery1322124362281="5887" originalword="can">can</span> <span class="blackClass context_menu" id="ws1318" jquery1322124362281="5888" originalword="configure">configure</span> <span class="greenClass context_menu" id="ws1319" jquery1322124362281="5889" next="ws1323" originalword="PayPal/SagePay/Authorized.net" prev="ws1313"><span class="phrase_anchor">PayPal/</span>SagePay/Authorized.net</span> <span class="blackClass context_menu" id="ws1320" jquery1322124362281="5890" originalword="payment">payment</span> <span class="blackClass context_menu" id="ws1321" jquery1322124362281="5891" originalword="gateway,">gateway,</span> <span class="blackClass context_menu" id="ws1322" jquery1322124362281="5892" originalword="within">within</span> <span class="redClass context_menu" id="ws1323" jquery1322124362281="5893" next="ws1348" originalword="uCommerce" prev="ws1319"><span class="phrase_anchor">uCommerce</span></span> <span class="blackClass context_menu" id="ws1324" jquery1322124362281="5894" originalword="package">package</span> <span class="blackClass context_menu" id="ws1325" jquery1322124362281="5895" originalword="according">according</span> <span class="blackClass context_menu" id="ws1326" jquery1322124362281="5896" originalword="to">to</span> <span class="blackClass context_menu" id="ws1327" jquery1322124362281="5897" originalword="our">our</span> <span class="blackClass context_menu" id="ws1328" jquery1322124362281="5898" originalword="need.">need.</span><br cr="rn" /><br />
	<span class="blackClass context_menu" id="ws1329" jquery1322124362281="5899" originalword="6)">6 )</span>&nbsp;<span class="blackClass context_menu" id="ws1330" jquery1322124362281="5900" originalword="We">We</span> <span class="blackClass context_menu" id="ws1331" jquery1322124362281="5901" originalword="have">have</span> <span class="blackClass context_menu" id="ws1332" jquery1322124362281="5902" originalword="Umbraco">Umbraco</span> <span class="blackClass context_menu" id="ws1333" jquery1322124362281="5903" originalword="packages">packages</span> <span class="blackClass context_menu" id="ws1334" jquery1322124362281="5904" originalword="for">for</span> <span class="blackClass context_menu" id="ws1335" jquery1322124362281="5905" originalword="Google">Google</span> <span class="blackClass context_menu" id="ws1336" jquery1322124362281="5906" originalword="Analytics.">Analytics.</span><br cr="rn" /><br />
	<span class="blackClass context_menu" id="ws1337" jquery1322124362281="5907" originalword="7)">7 )</span>&nbsp;<span class="blackClass context_menu" id="ws1338" jquery1322124362281="5908" originalword="SEO">SEO</span> <span class="blackClass context_menu" id="ws1339" jquery1322124362281="5909" originalword="supporting">supporting</span> <span class="blackClass context_menu" id="ws1340" jquery1322124362281="5910" originalword="packages">packages</span> <span class="blackClass context_menu" id="ws1341" jquery1322124362281="5911" originalword="are">are</span> <span class="blackClass context_menu" id="ws1342" jquery1322124362281="5912" originalword="available">available</span> <span class="blackClass context_menu" id="ws1343" jquery1322124362281="5913" originalword="with">with</span> <span class="blackClass context_menu" id="ws1344" jquery1322124362281="5914" originalword="Umbraco.">Umbraco.</span><br cr="rn" /><br />
	<span class="blackClass context_menu" id="ws1345" jquery1322124362281="5915" originalword="8)">8 )</span>&nbsp;<span class="blackClass context_menu" id="ws1346" jquery1322124362281="5916" originalword="Umbraco">Umbraco</span> <span class="blackClass context_menu" id="ws1347" jquery1322124362281="5917" originalword="has">has</span> <span class="greenClass context_menu" id="ws1348" jquery1322124362281="5918" next="" originalword="cloud" prev="ws1323"><span class="phrase_anchor">cloud</span></span> <span class="blackClass context_menu" id="ws1349" jquery1322124362281="5919" originalword="support">support</span> <span class="blackClass context_menu" id="ws1350" jquery1322124362281="5920" originalword="and">and</span> <span class="blackClass context_menu" id="ws1351" jquery1322124362281="5921" originalword="is">is</span> <span class="blackClass context_menu" id="ws1352" jquery1322124362281="5922" originalword="easy">easy</span> <span class="blackClass context_menu" id="ws1353" jquery1322124362281="5923" originalword="to">to</span> <span class="blackClass context_menu" id="ws1354" jquery1322124362281="5924" originalword="host.">host.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareassociates.in/blog/8-reasons-to-choose-umbraco-over-other-content-management-systems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Continuous Integration for Android Smartphone</title>
		<link>http://www.softwareassociates.in/blog/implementing-continuous-integration-for-android-and-iphone/</link>
		<comments>http://www.softwareassociates.in/blog/implementing-continuous-integration-for-android-and-iphone/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 08:57:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[android application]]></category>
		<category><![CDATA[android smartphone]]></category>
		<category><![CDATA[development practice]]></category>
		<category><![CDATA[ipad application]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.softwareassociates.in/blog/best-practices/implementing-continuous-integration-for-android-and-iphone/</guid>
		<description><![CDATA[We already have a post on how Continuous Integration allows developers to work as a team effectively.&#160; Now let&#8217;s get into the finer details of implementing CI for Android applications and iPad applications. Our Android smartphone and iPad CI teams &#8230; <a href="http://www.softwareassociates.in/blog/implementing-continuous-integration-for-android-and-iphone/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">We already have a post on how Continuous Integration allows developers to work as a team effectively.&nbsp; Now let&rsquo;s get into the finer details of implementing CI for Android applications and iPad applications.<br />
	</span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Our Android smartphone and iPad CI teams recently came across an application &lsquo;Hudson&rsquo; which made life a lot easier for them. Hudson manages the CI process by integrating changes to the project thereby providing the development team with a fresh build every time. The developer can configure Hudson to receive regular emails that capture the output on each build, alerting when something goes wrong.</span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Installing Hudson is easy enough; just execute hudson.war file or deploy it in a servlet container. Since the output is sent through email to the concerned accounts, it does not require a database. Accessing Hudson is as easy as accessing a website. Just type in http://localhost:8080/ (on local machine) or http://domain:portnumber/ (on remote machine), in a web browser and the user will be presented with the web GUI for Hudson. The GUI is simple and offers all the configuration details required for Hudson. Hence, the user is not exposed to intricate coding details.</span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">To configure a new job for Hudson, a user has to authenticate himself to create a job, execute it etc. Select &ldquo;New Job&rdquo;, type in a unique Job Name and select &quot;Build a free_style software project&quot;. On clicking on OK you will be moved to a page where you can specifically configure Hudson for a new job. One can also get to the configuration page by clicking on the job names listed in Hudson and by selecting Configure.</span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">In the project configuration page, the following steps need to be followed,</span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">1. Enter the Project name.</span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">2. Source Code Management: Select radio button <em>Subversion</em></span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.1 Select the path to <em>Repository URL for SCM</em></span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <em>Eg: https://xxx.xxx.xxx.xxx/svn/platform/FolderName</em></span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.2 Select check-box &quot;<em>Use update</em>&quot;.</span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If checked, Hudson will use &#39;svn update&#39; whenever possible, making the build faster. But this causes the artifacts from&nbsp; the previous build to remain when a new build starts.</span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">3. Build Triggers:&nbsp;&nbsp; Select check box Poll SCM</span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.1 Set schedule 0, 10, 20, 30, 40, 50&hellip; This sets HUDSON to poll SCM every 0th, 10th&nbsp;&nbsp;&nbsp; 20th, 30th &hellip;50th minute</span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">4. Build :&nbsp; Select drop-down &quot;Add build step&quot;</span></span></p>
<ul>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">select &quot;Execute shell&quot;</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">fill &quot;<strong>Command</strong>&quot; section</span></span></li>
</ul>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For the techie reader, check out the build configuration command examples,</span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For iPhone,<br />
	</strong></span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rm -rf $WORKSPACE/hudsonbld/*rmdir $WORKSPACE/hudsonbldmkdir $WORKSPACE/hudsonbldcd $WORKSPACE/Job Name/checker-240/scan-build -v -o $WORKSPACE/ScanBldOutput xcodebuild -project AppName.xcodeproj -target TargetAppName -configuration Debug -sdk iphonesimulator 3.1.3 TARGET_BUILD_DIR=$WORKSPACE/hudsonbld</span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For Android,<br />
	</strong></span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </strong>cd $WORKSPACE/trunk&nbsp; ant debug</span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">5. Post-build Actions</span></span></p>
<ul>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Select checkBox &ldquo;E-mail Notification&rdquo;. Fill in the recipients email addresses separated by comma.</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Select check-box &quot;Send e-mail for every unstable build&quot; which mails a report on every unstable build to the specified recipients.</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Select check-box &quot;Send separate e-mails to individuals who broke the build&quot;</span></span></li>
</ul>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">6. Click Save and you are good to go.</span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Hudson can be used in any development platform, by changing the build configuration command accordingly. Investing in the CI infrastructure has turned out to be a good call for us, by allowing our development teams&rsquo; incremental code integration and well-timed code checks which makes the final integration manageable and also provides a robust copy of software at each stage of the development process.</span></span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">To know more about Hudson,</span></span></p>
<ul>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><a href="http://wiki.hudson-ci.org/display/HUDSON/Home" target="_blank">http://wiki.hudson-ci.org/display/HUDSON/Home<br />
		</a></span></span></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareassociates.in/blog/implementing-continuous-integration-for-android-and-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Implementation of CI</title>
		<link>http://www.softwareassociates.in/blog/implementation-of-continuous-integration/</link>
		<comments>http://www.softwareassociates.in/blog/implementation-of-continuous-integration/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 05:37:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[development practice]]></category>

		<guid isPermaLink="false">http://www.softwareassociates.in/?p=2177</guid>
		<description><![CDATA[The commonly used tools in the continuous integration process are: CruiseControl.Net [ Version: 1.5.0.6268] Visual SVN Server [Version: 2.0.7] MSBuild Microsoft FXCop [Version: 1.36] SourceMonitor [Version: 2.5.1.0] CruiseControl .Net CruiseControl.Net is an automated integration server that automates the integration process &#8230; <a href="http://www.softwareassociates.in/blog/implementation-of-continuous-integration/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><span style="font-size: 14px;">The commonly used tools in the continuous integration process are:</span></p>
<ol>
<li style="text-align: justify;"><span style="font-size: 14px;">CruiseControl.Net [ Version: 1.5.0.6268]</span></li>
<li style="text-align: justify;"><span style="font-size: 14px;">Visual SVN Server [Version: 2.0.7]</span></li>
<li style="text-align: justify;"><span style="font-size: 14px;">MSBuild</span></li>
<li style="text-align: justify;"><span style="font-size: 14px;">Microsoft FXCop [Version: 1.36]</span></li>
<li style="text-align: justify;"><span style="font-size: 14px;">SourceMonitor [Version: 2.5.1.0]</span></li>
</ol>
<p><strong><span style="font-size: 14px;">CruiseControl .Net</span></strong></p>
<p style="text-align: justify;"><span style="font-size: 14px;">CruiseControl.Net is an automated integration server that automates the integration process by monitoring the development team&rsquo;s source control repository directly.</span></p>
<p><strong><span style="font-size: 14px;">Visual SVN Server</span></strong></p>
<p style="text-align: justify;"><span style="font-size: 14px;">Visual SVN Server can be used as the subversion repository.</span></p>
<p><strong><span style="font-size: 14px;">MSBuild</span></strong></p>
<p style="text-align: justify;"><span style="font-size: 14px;">MSBuild is a Microsoft build platform for Asp.Net projects which can be used to build our solutions in the continuous integration process.</span></p>
<p><strong><span style="font-size: 14px;">Microsoft FXCop</span></strong></p>
<p style="text-align: justify;"><span style="font-size: 14px;">MS FxCop is a tool used to check whether the code follows the custom guidelines designed by the developer for writing robust and maintainable code by using .Net framework.</span></p>
<p><strong><span style="font-size: 14px;">SourceMonitor</span></strong></p>
<p style="text-align: justify;"><span style="font-size: 14px;">SourceMonitor is a freeware, used to find out the extend/number of codes&nbsp; included in the solution and also to find the complexity of modules.</span></p>
<p><strong><span style="font-size: 14px;">Implementation</span></strong></p>
<p style="text-align: justify;"><span style="font-size: 14px;">1. <strong>Installation</strong></span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">Before starting the implementation, setup two servers exclusively for the continuous integration process &#8211; a Continuous Integration Server and an Integrated Testing Server.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">The Continuous Integration Server contains the above tools used for the integration process. The Integrated testing server is used to store the published source code after the integration process.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">In the C.I process, the first step is the installation of CruiseControl.Net. With the installation of CruiseControl.Net, a virtual directory named &ldquo;ccnet&rdquo; will be created in the machine&rsquo;s IIS webserver or this can be done by pointing a virtual directory to the &ldquo;webdashboard&rdquo; folder of the installed files.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">Install all the tools mentioned above in the Continuous Integration server. MsBuild is a tool which is available with the installation of .Net framework.&nbsp;&nbsp;&nbsp;</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">2. <strong>Configuration Files Setup</strong></span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">While&nbsp; running, the CruiseControl.Net will search for&nbsp; file named ccnet.config which is an XML file. So all the information needed by ccnet to access, what it is supposed to do and how it is supposed to do&nbsp; must be placed in the ccnet.config file.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">ccnet.config file contains a root element &lt;cruisecontrol&gt; and a child element &lt;project&gt;. So configuration settings for each project are included in their corresponding &lt;project&gt; tag.&nbsp;&nbsp;</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">&lt;cruisecontrol&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;project name=&quot; SampleProject&rdquo; &gt; <br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/project&gt;&nbsp;&nbsp;&nbsp; <br />
	&nbsp;&nbsp;&nbsp; &lt;/cruisecontrol&gt;</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">Each project contains some child tags. They are explained below.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">&lt;workingDirectory&gt;&lt;/workingDirectory&gt;<br />
	&lt;artifactDirectory&gt;&lt;/artifactDirectory&gt;</span></p>
<ul>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;workingDirectory&gt; contains the checked out version of the project under integration.</span></li>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;artifactDirectory&gt; is meant to save the results of build such as build logs.</span></li>
</ul>
<p><strong><span style="font-size: 14px;">Security</span></strong></p>
<p style="text-align: justify;"><span style="font-size: 14px;">The security tag is used to protect the system from unauthorized access and&nbsp; to provide permission to authorized users.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">&lt;security type=&quot;defaultProjectSecurity&quot; defaultRight=&quot;Deny&quot;&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;permissions&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
	&lt;rolePermission name=&quot;SampleProjectAdmin&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ref=&quot;SampleProjectAdmin&quot; /&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/permissions&gt;<br />
	&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/security&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;internalSecurity&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;users&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;passwordUser name=&quot;User1&quot; password=&quot;12345&quot;/&gt;<br />
	&lt;/users&gt;<br />
	&lt;permissions&gt;<br />
	&lt;rolePermission name=&quot;SampleProjectAdmin&quot; forceBuild=&quot;Allow&quot; viewProject=&quot;Allow&quot; startProject=&quot;Allow&quot; viewConfiguration=&quot;Deny&quot; viewSecurity=&quot;Deny&quot;&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;users&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;userName name=&quot;User1&quot;/&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/users&gt;<br />
	&nbsp;&nbsp;&nbsp; &lt;/rolePermission&gt;<br />
	&lt;/permissions&gt;<br />
	&lt;/internalSecurity&gt;</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">In the above security settings, this&nbsp; will restrict permission for SampleProjectAdmin user group according to the authentication defined in the &lt;rolePermission&gt; tag.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;"><u>Subversion Source Control Block<br />
	</u></span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">CruiseControl.Net provides basic support for subversion. It can check for changes, can be used for updating sources and can also automatically check out for source.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">&lt;sourcecontrol type=&quot;svn&quot;&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;executable&gt;C:\Program Files\VisualSVN Server\bin\svn.exe&lt;/executable&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;trunkUrl&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; https://server/svn/SampleProject<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/trunkUrl&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;workingDirectory&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; C:\ProjectWorkingDirectories\SampleProject<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/workingDirectory&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;username&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; username<br />
	&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;/username&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;password&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; password<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/password&gt;<br />
	&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/sourcecontrol&gt;</span></p>
<ul>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;trunkUrl&gt; is the url of the repository for the project.</span></li>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;workingDirectory&gt; is the locally checked out path for the project.</span></li>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;executable&gt; is the location of the SVN executable.</span></li>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;username&gt; is the username for authentication when connecting to repository.</span></li>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;password&gt; is the password for authentication when connecting to repository.</span></li>
</ul>
<p style="text-align: justify;"><span style="font-size: 14px;"><u>Trigger Block<br />
	</u></span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">A trigger block is used to instruct the cruise control .net to perform the integration process periodically after a specified interval of time.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;triggers&gt;<br />
	&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;intervalTrigger name=&quot;Subversion&quot; seconds=&quot;1800&quot; /&gt;<br />
	&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/triggers&gt;</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;"><u>Task Block<br />
	</u></span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">Tasks declared in the task block will be executed for each trigger. Here MsBuild can be used for building our project.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">&lt;tasks&gt;&nbsp;&nbsp; <br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &lt;msbuild&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;executable&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/executable&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;workingDirectory&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; C:\ProjectWorkingDirectories\SampleProject<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/workingDirectory&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;projectFile&gt; SampleProject.sln&lt;/projectFile&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;buildArgs&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; /noconsolelogger<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; /p:Configuration=Debug<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/buildArgs&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;targets&gt;Build&lt;/targets&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;timeout&gt;900&lt;/timeout&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;logger&gt;<br />
	C:\ProgramFiles\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll<br />
	&lt;/logger&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &lt;/msbuild&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/tasks&gt;</span></p>
<ul>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;executable&gt; is the location of MSBuild.exe.</span></li>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;workingDirectory&gt; is the directory containing our project source.</span></li>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;projectFile&gt; is the name of the project to run which is relative to working directory.</span></li>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;buildArgs&gt; is the extra arguments that pass to MSBuild command.</span></li>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;timeout&gt; is the number of seconds to wait before assuming that the process has hung and should be killed.</span></li>
</ul>
<p style="text-align: justify;"><span style="font-size: 14px;">Another MsBuild task can be used to publish the build source code. The second MsBuild uses another config file which publishes the build code to a folder in the integrated testing server. We use AspNetCompiler task to precompile our applications.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">The second config file contains:</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">&lt;Project&nbsp; xmlns = &quot;http://schemas.microsoft.com/developer/msbuild/2003&quot;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; name = &quot;AspNetPreCompile&quot;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; DefaultTargets = &quot;PrecompileWeb&quot;&gt;<br />
	&lt;Target Name = &quot;PrecompileWeb&quot;&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;AspNetCompiler<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; VirtualPath = &quot;DeployTemp&quot; <br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; PhysicalPath = &quot;C:\ProjectWorkingDirectories\ SampleProject&rdquo;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; TargetPath =&rdquo;\\IntegratedTestingServer\SampleProject&rdquo; <br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Force = &quot;true&quot;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Debug = &quot;true&quot;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Updateable = &quot;true&quot;/&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/Target&gt;<br />
	&lt;/Project&gt;</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">It publishes the build code in the working directory to the integrated testing server. So in the second MSBuild the &lt;projectFile&gt; points to this new config file.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;"><u>Executable Task<br />
	</u></span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">CCNet gives the opportunity to integrate any tool in the executable task. By integrating such tools we can generate more useful build results.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">&lt;tasks&gt;<br />
	&lt;exec&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;executable&gt; &lt;/executable&gt;<br />
	&lt;baseDirectory&gt; &lt;/baseDirectory&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;buildArgs&gt; &lt;/buildArgs&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;buildTimeoutSeconds&gt; &lt;/buildTimeoutSeconds&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/exec&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;/tasks&gt;</span></p>
<ul>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;executable&gt; is the path of the program to run.</span></li>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;baseDirectory&gt; is the directory to run the program.</span></li>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;buildArgs&gt; contains any command line arguments to pass while running the program.</span></li>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;buildTimeoutSeconds&gt; is the number of seconds to wait before assuming that the process has hung and should be killed.</span></li>
</ul>
<p style="text-align: justify;"><span style="font-size: 14px;">By using this executable task, Microsoft FXCop and SourceMonitor can be integrated to check the coding standards and to find the complexity of modules in our code.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">We can integrate any new process to ccnet by using the &lt;executable&gt; task.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">For example: Here we have integrated a web.config editor to change the debug mode to release mode.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">&lt;exec&gt;<br />
	&lt;executable&gt;SampleProject\WebConfigEditor.bat&lt;/executable&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/exec&gt;</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">During each trigger, this batch file will execute and change the debug mode in the web.config to release mode before publishing the project into the integration testing server.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;"><u>Publisher Block<br />
	</u></span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">The publisher block is used to merge the build reports.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">&lt;publishers&gt;<br />
	&lt;merge&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;files&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;file&gt; &lt;/file&gt;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/files&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/merge&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;xmllogger logDir=&quot;buildlogs&quot; /&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;statistics /&gt;<br />
	&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;modificationHistory /&gt;<br />
	&lt;/publishers&gt;</span></p>
<ul>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;file&gt; contains the path of the reports that has to be shown in the dashboard.</span></li>
<li style="text-align: justify;"><span style="font-size: 14px;">&lt;xmllogger&gt; is used to create the log files used by cruise control .net dashboard. logDir is the directory used to save log files. The path is relative to Artifact directory.</span></li>
</ul>
<p style="text-align: justify;"><span style="font-size: 14px;">By setting the above config files, a sample project named Sampleproject can be displayed in the dashboard of ccnet. By forcing the project, it will build and publish to the integration testing server.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;">Sample screen shot for&nbsp; the dashboard of ccnet appears as given below.</span></p>
<p style="text-align: justify;"><span style="font-size: 14px;"><a href="http://www.softwareassociates.in/wp-content/uploads/dashboard1.jpg"><img alt="" class="alignnone size-medium wp-image-2179" height="191" src="http://www.softwareassociates.in/wp-content/uploads/2010/08/dashboard1-300x191.jpg" title="dashboard" width="300" /></a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareassociates.in/blog/implementation-of-continuous-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Information Architecture –An Overview</title>
		<link>http://www.softwareassociates.in/blog/information-architecture%e2%80%93an-overview/</link>
		<comments>http://www.softwareassociates.in/blog/information-architecture%e2%80%93an-overview/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 16:30:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[best practices]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[information architecture]]></category>
		<category><![CDATA[wire framing]]></category>

		<guid isPermaLink="false">http://www.softwareassociates.in/?p=1450</guid>
		<description><![CDATA[In a web development environment, a client would come up with a pile of requirements to a web development firm like ours. Even if the core development starts from building HTML and ends at coding and deploying, there is an &#8230; <a href="http://www.softwareassociates.in/blog/information-architecture%e2%80%93an-overview/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In a web development environment, a client would come up with a pile of requirements to a web development firm like ours. Even if the core development starts from building HTML and ends at coding and deploying, there is an art of concept analyzing and content management that must come right after requirement gathering. This is called Information Architecture (IA).</p>
<p>	Information Architecture starts at sorting the pile of requirements in to different sections. These sections or classes become the backbone of the whole site .This backbone must get through
</p>
<ul>
<li>Site content</li>
<li>Interrelation and dependency of content</li>
<li>The core structure/li>
<li>And finally, to the ultimate design.</li>
</ul>
<p>In other words Information Architecture delivers what people want, by bringing together how people think and how the system works.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>	The Principles:&nbsp; </p>
<p>	Pr&eacute;cising over to the topic, Information Architecture is a systematic method of identifying, organizing and managing Information for a particular need. Rather than just viewing the pages, an Information Architect must have an insight of, how information must be arranged and connected for easy user access. On this basis we generally classify the principle aspects behind IA as,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>	1) Organizing&nbsp;&nbsp; </p>
<p>	The first and foremost task of an information architect is to categorize the available data to fulfill the requirements of the client. This process is handled in the organizing phase in a vivid manner.</p>
<p>	2) Labeling&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>	Labeling is merely a form of representation. They are used to represent larger chunks of information in our websites. Labels can include contextual links, heading, Internal navigation, Index term, Iconic labels.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>	3) Navigation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>	The navigation helps user in a website to know where the user is and where the user can go.The navigation system can be embedded, supplemental, or advanced.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>	4) Searching&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>	Searching needs no explanation and we usually follow one of these 3 types&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>	Simple browsing over data <br />
	Alphabetical search&nbsp;&nbsp;&nbsp;&nbsp; <br />
	and search based on keyword.&nbsp;&nbsp;&nbsp; </p>
<p>	5) Metadata&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>	Metadata is machine understandable information about web resource or information about information. It helps us to group users according to keywords such as name, type etc. Metadata plays an important role in accessing websites through search engines and in ranking them. Metadata is otherwise called data of data.</p>
<p>	The 9 step Methodology:
	</p>
<ul>
<li>The methodology of information of architecture deals with how the architecture is implemented in an effective manner. We can concise this into the following steps.</li>
</ul>
<ul>
<li>To know what the requirements are. Information Architects must understand requirements precisely as they are the backbone builders.</li>
</ul>
<ul>
<li>Card sorting: In card sorting method, we provide users with the contents written in different cards and allow them to arrange these contents in a manner with which they are familiar. </li>
</ul>
<ul>
<li>Analyze the results of card sorting and check the possibility of developing an architecture, keeping their preferences in card sorting.</li>
</ul>
<ul>
<li>Develop an architecture based on the above possibility and proceed to finalizing, grouping and labeling of content. We may go for number of iterations as the first grouping will definitely be far from perfect. </span><span style="font-size: 14px;">Develop the sitemap that deals with data relations and content flow as main focus.</li>
</ul>
<ul>
<li>Wire framing. It is the bridge between design-architecture and between planning-executing. After creating the sitemap, we mix it up with the rawest form of design together which results in the creation of wire frames. A typical example of wire frame is as shown below.</li>
</ul>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Your browser may not support display of this image.</p>
<ul>
<li>Story boarding &#8211; is the technique of sketching webpage layouts on paper to define how the user will navigate through the site. It defines a number of common user tasks, such as finding out how to request and relate data. It explains the functions of each field or sections and what type of contents to be placed in these sections.
		</li>
</ul>
<ul>
<li>Perfecting the outlook of the architecture so far, within the project members from top to bottom. It could give them a clear idea about what we have completed, and what we are expecting from them, over the superior client needs that we had sorted up.</li>
</ul>
<ul>
<li>In the final step, we turn over to complete design implementation of the page layout by visual designers and further to the development side of the project.</li>
</ul>
<p>References:<br />
	<a href="http://www.eduscapes.com/arch/ia/index.htm" target="_blank"><br />
	http://eduscapes.com/arch/ia/index.htm</a><br />
	<a href="http://useit.com/alertbox/20040719.html" target="_blank"><br />
	http://www.useit.com/alertbox/20040719.html</a>
	</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareassociates.in/blog/information-architecture%e2%80%93an-overview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Continuous Integration</title>
		<link>http://www.softwareassociates.in/blog/continuous-integration/</link>
		<comments>http://www.softwareassociates.in/blog/continuous-integration/#comments</comments>
		<pubDate>Mon, 10 May 2010 05:05:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[android application]]></category>
		<category><![CDATA[aspnet]]></category>
		<category><![CDATA[code integration]]></category>
		<category><![CDATA[code metrices]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[development practice]]></category>
		<category><![CDATA[iphone apps]]></category>

		<guid isPermaLink="false">http://www.softwareassociates.in/?p=1147</guid>
		<description><![CDATA[&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160; Code Integration A software development team consists of a set of developers each working in their own development environments, containing tools to develop. Due to the different environments in which the code is getting built and the &#8230; <a href="http://www.softwareassociates.in/blog/continuous-integration/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><span _fck_bookmark="1" style="display: none;">&nbsp;</span></p>
<p style="text-align: justify;"><span _fck_bookmark="1" style="display: none;">&nbsp;</span><span _fck_bookmark="1" style="display: none;">&nbsp;</span><span _fck_bookmark="1" style="display: none;">&nbsp;</span><span _fck_bookmark="1" style="display: none;">&nbsp;</span><span _fck_bookmark="1" style="display: none;">&nbsp;</span><span _fck_bookmark="1" style="display: none;">&nbsp;</span><span _fck_bookmark="1" style="display: none;">&nbsp;</span></p>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><span class="Apple-style-span"><span _fck_bookmark="1" style="display: none;">&nbsp;</span></span></font></span></span></p>
<div style="line-height: 130%;">
<h2><span style="color: rgb(0, 0, 0);"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><b><b>Code Integration</b></b></font></span></span></span></h2>
<p style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span">A software development team consists of a set of developers each working in their own development environments, containing tools to develop. Due to the different environments in which the code is getting built and the need to create a deployment version, there is a need to maintain an official environment and an official codebase for the application being developed. The process of integrating the code for changes developed in the local development environments into the official codebase and ensuring that the intended functionality changes are achieved in the integration testing environment, is the code integration we are referring to here. In the subsequent sections, we will look into some good practices around this.</font></span></span></p>
</div>
<div style="line-height: 130%;">
<h2><span style="color: rgb(0, 0, 0);"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><b><b>Continuous Integration</b></b></font></span></span></span></h2>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span">Continuous Integration (CI) is a software development practice that allows developers to work as a team, where each team member integrates his work into a central repository, very frequently. This in turn results in multiple integrations taking place daily which presents an opportunity for correcting issues early on. In order to carry out an integration, the code is first verified, converted to a deployable state and deployed to the official stage for integration &ndash; the integration testing (IT) environment. Based on the technology involved, this might consist of performing compilation of codebase, post processing of build output etc. Once the changes are integrated and deployed to the IT environment, the product could be verified.</font></span></span></div>
<div style="text-align: justify;">&nbsp;</div>
<div style="text-align: justify;"><span style="color: rgb(0, 0, 0);"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><b><b>Why do we need Code integration</b></b></font></span></span></span></div>
<div style="text-align: justify;">&nbsp;</div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span">The main goal of CI is frequent verification and correction of errors when changes are introduced to the code base. This rapid feedback allows programmers to correct errors as soon as possible and we keep developing the official codebase, in small chunks ensuring things are fine at each integration.</font></span></span></div>
<div style="text-align: justify;">&nbsp;</div>
<div style="text-align: justify;"><span style="color: rgb(0, 0, 0);"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><b><b>How does Code Integration work?</b></b></font></span></span></span></div>
<div style="text-align: justify;">&nbsp;</div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span">There are quite a few tools in the market &ndash; both open source and licensed ones &#8211; which help in creating a CI environment for different technology stacks. In this section we will touch upon the different steps involved in creating a CI environment and types of tools that help us.</font></span></span></div>
<div style="text-indent: 36pt; text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><br />
		</font></span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span">The first step involved in a continuous integration solution is a mechanism to integrate the code changes from the different developers into the official codebase. This can be addressed with the help of a source code control system. A developer checks-out a working copy of the projects&rsquo; source code from the central repository to start work. On completing the task at hand, the developer commits the code back to the repository. The source control system will have mechanisms and tools for tracking different versions of the code artifacts, identify conflicts and resolving conflicts between versions. Thus commits into the code repository after any such conflict resolution represents the individual changes being reflected in the project codebase.</font></span></span></div>
<div style="text-indent: 36pt; text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><br />
		</font></span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span">The next main step is to trigger an integration based on the changes. Since a new integration makes sense only if there is a change to the codebase and since it involves consumption of resources, the trigger is usually based on a monitoring mechanism with the source control system to check whether there are any changes and a polling interval to control the number of integrations. CI tools are usually configurable to integrate with different source control systems.</font></span></span></div>
<div style="text-indent: 36pt; text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><br />
		</font></span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span">As mentioned earlier, once an integration is triggered, based on the technology, there will be a series of steps that needs to be executed. The CI tools provide an infrastructure to specify the tasks to be performed. The tasks configured typically involves </font></span></span></div>
<div style="text-indent: 36pt; text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><br />
		</font></span></span></div>
<div style="margin: 0cm 0cm 10pt 54pt; text-indent: -18pt; line-height: 115%; text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><span style="line-height: 115%;">&Oslash;&nbsp;</span><span style="line-height: 115%;">Labelling the codebase and fetching the current version of the codebase.</span></font></span></span></div>
<div style="margin: 0cm 0cm 10pt 54pt; text-indent: -18pt; line-height: 115%; text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><span style="line-height: 115%;">&Oslash;&nbsp;</span><span style="line-height: 115%;">Verification / Preparation of code for deployment like compilation</span></font></span></span></div>
<div style="margin: 0cm 0cm 10pt 54pt; text-indent: -18pt; line-height: 115%; text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><span style="line-height: 115%;">&Oslash;&nbsp;</span><span style="line-height: 115%;">Keep back-up of build.</span></font></span></span></div>
<div style="margin: 0cm 0cm 10pt 54pt; text-indent: -18pt; line-height: 115%; text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><span style="line-height: 115%;">&Oslash;&nbsp;</span><span style="line-height: 115%;">Deploy the build to the integrated testing server.</span></font></span></span></div>
<div style="margin: 0cm 0cm 10pt 54pt; text-indent: -18pt; line-height: 115%; text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><span style="line-height: 115%;">&Oslash;&nbsp;</span><span style="line-height: 115%;">Runs required tests.</span></font></span></span></div>
<div style="margin: 0cm 0cm 10pt 54pt; text-indent: -18pt; line-height: 115%; text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><span style="line-height: 115%;">&Oslash;&nbsp;</span><span style="line-height: 115%;">Generates reports like code metrics to measure the quality of the code</span></font></span></span></div>
<div style="margin-bottom: 10pt; line-height: 115%; text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><br />
		</font></span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><u><font class="Apple-style-span" color="#000000"><span class="Apple-style-span"><img alt="" height="340" src="http://www.softwareassociates.in/wp-content/uploads/ci(2).jpg" width="400" /><br />
		</span></font></u></font></span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><u><br />
		</u></font></span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span">The impact of implementing CI and following it in the right spirit is that the development happens in an incremental fashion, with necessary sanity checks at each increment. As a result, there is always an official copy of software that is working quite robust, though it has not yet been subjected to rigorous system testing. Another advantage of the incremental development is that the issues arising out of each incremental integration will be manageable, as opposed to a big bang approach. </font></span></span></div>
<div style="text-indent: 36pt; text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><br />
		</font></span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span">With these advantages in view, we, at <a href="http://www.softwareassociates.in">Software Associates</a> have invested in CI infrastructure for <a href="http://www.softwareassociates.in/blog/net/microsoft-technologies-skills-update/">aspnet</a> ,<a href="http://www.softwareassociates.in/iphone-and-android-application-development/">android application</a> and iPhone app devleopment and are reaping dividends during the execution of projects.<br />
		</font></span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><br />
		</font></span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span">This post was aimed at providing an introduction to CI. For more information on the practices and implementation of Continuous Integration please check out our next posts.&nbsp;</font></span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><br />
		</font></span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><font class="Apple-style-span"><strong>Continuous Integration Team<span style="color: black;"> @ Software Associates</span></strong></font></span></span></div>
</div>
<p style="text-align: justify;"><span _fck_bookmark="1" style="display: none;">&nbsp;</span><span _fck_bookmark="1" style="display: none;">&nbsp;</span><span _fck_bookmark="1" style="display: none;">&nbsp;</span><span _fck_bookmark="1" style="display: none;">&nbsp;</span><span _fck_bookmark="1" style="display: none;">&nbsp;</span><span _fck_bookmark="1" style="display: none;">&nbsp;</span><span _fck_bookmark="1" style="display: none;">&nbsp;</span></p>
<p class="MsoNormal" style="line-height: 130%; text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span class="apple-style-span"><span lang="EN-US" style="color: black;"><o:p></o:p></span></span></span><span class="apple-style-span"><span lang="EN-US" style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; color: black;"><o:p></o:p></span></span></p>
<p style="text-align: justify;"><span _fck_bookmark="1" style="display: none;">&nbsp;</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareassociates.in/blog/continuous-integration/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Android and iPhone tablet browsers</title>
		<link>http://www.softwareassociates.in/blog/website-testing-and-browse-compliance/</link>
		<comments>http://www.softwareassociates.in/blog/website-testing-and-browse-compliance/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 13:11:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[united kingdom]]></category>
		<category><![CDATA[USA]]></category>
		<category><![CDATA[Web standards]]></category>
		<category><![CDATA[Web testing]]></category>
		<category><![CDATA[android application]]></category>
		<category><![CDATA[cross browser testing]]></category>
		<category><![CDATA[London]]></category>
		<category><![CDATA[new york]]></category>
		<category><![CDATA[testcomplete]]></category>
		<category><![CDATA[testing services]]></category>

		<guid isPermaLink="false">http://softwareassociatesuk.com/blog/?p=92</guid>
		<description><![CDATA[Quality is free but no one is ever going to know it unless there is some agreed system of measurement.&#160;A report by Creative Good showed that 39 per cent of test shoppers failed in their buying attempts because sites were &#8230; <a href="http://www.softwareassociates.in/blog/website-testing-and-browse-compliance/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Quality is free but no one is ever going to know it unless there is some agreed system of measurement.&nbsp;A report by Creative Good showed that 39 per cent of test shoppers failed in their buying attempts because sites were too difficult to navigate. Additionally, 56 per cent of search attempts failed.</span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><br />
	</span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Portal development is only half the work done. You need professional web site testers who can unearth hidden bugs and enforce webs standards that would otherwise cost your company thousands of pounds in maintaining and fixing these costly errors. In 2004, the <span class="blsp-spelling-error" id="SPELLING_ERROR_0">UK&#39;s</span> Department of Inland Revenue experienced software errors that resulted in a $3.45 billion tax-credit over payment.&nbsp;</span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><br />
	</span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Here is a recent report on the horrors of coding errors &#8211; surprisingly from a <a href="http://dealbook.blogs.nytimes.com/2010/06/21/the-tremors-from-a-coding-error/" target="_blank">mutual fund company</a></span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><br />
	</span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">It seems to be happening all over the world &#8211; but who or what is to blame? All web developers understand the need to test their own scripts, but few take the time or make it a priority to test early in the web application development cycle. The result is a vicious cycle of few tests, poor-quality code and an increasing amount of debugging work. This is often due to insufficient resources, lack of technical know how, inadequate planning, scope creep and poor design.</span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><br />
	</span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Our experienced team of web and application testers could help you save thousands of dollars through our manual and automated testing procedures for ERP applications using <span class="blsp-spelling-error" id="SPELLING_ERROR_1">TestComplete</span> and selenium.<br />
	</span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><br />
	</span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">We do quality assurance testing services for web portals, extranets&nbsp;and intranets; they includ<strong>e tests for cross browsers, website functionality, performance, security and web standards</strong> ; work closely with designers and developers to bring about drastic improvement in code quality and predictability. Our quality assurance projects include big names in United Kingdom such as O2, <span class="blsp-spelling-error" id="SPELLING_ERROR_3">NHS</span>, Honda, Esprit, Dell and <span class="blsp-spelling-error" id="SPELLING_ERROR_4">Cadbury</span>.</span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><br />
	</span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Whether you are based at London or New York,&nbsp; &#8211; our web standards testing, application testing and web portal application development and testing services are available to you at a short notice.&nbsp;We also provide long term independent testing services for web development companies who build portals and social networks to bring about tangible benefits in testing time and shorter version release cycles</span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><br />
	</span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><strong>What we provide</strong></span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><br />
	</span></span></div>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><strong>#Standard operating checklist with severity of errors</strong></span></span></div>
<ul>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Critical Error</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Lack of Functionality / Logical Error</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Not Living up to Specification</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Spelling or Grammar Error</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Design Problem</span></span></li>
</ul>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><strong># Web security</strong></span></span></div>
<ul>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><span class="blsp-spelling-error" id="SPELLING_ERROR_5">SQL</span> injection</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Bot <span class="blsp-spelling-error" id="SPELLING_ERROR_6">login</span> prevention</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">JavaScript loopholes</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Password protection</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Document privacy</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Reader privacy</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><span class="blsp-spelling-error" id="SPELLING_ERROR_7">IP</span> restrictions</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Credit card encryption</span></span></li>
</ul>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><strong># HTML web standards</strong></span></span></div>
<ul>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">W3C standards</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Web accessibility</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Section 508 compliance</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">AAA compliance</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><span class="blsp-spelling-error" id="SPELLING_ERROR_8">XHTML</span> compliance</span></span></li>
</ul>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><strong># Cross browser compatibility testing</strong></span></span></div>
<ul>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Internet Explorer 6</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Internet Explorer 7</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">IE 8</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><span class="blsp-spelling-error" id="SPELLING_ERROR_9">Firefox</span> 1.5 browser</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Safari browser for Mac and Windows <span class="blsp-spelling-error" id="SPELLING_ERROR_10">XP</span></span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">IE 5.2 for Macintosh</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Netscape browser 7.x</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Opera 8.x</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Android and iPhone tablet browsers<br />
		</span></span></li>
</ul>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><strong># Coding and performance</strong></span></span></div>
<ul>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Portal development standards</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Web services testing</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Web load performance testing</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Automated web testing</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Web site optimization</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Website coder <span class="blsp-spelling-error" id="SPELLING_ERROR_11">matrices</span></span></span></li>
</ul>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><strong># Requirements</strong></span></span></div>
<ul>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Functional specification of the project</span></span></li>
<li style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Client / Admin <span class="blsp-spelling-error" id="SPELLING_ERROR_12">login</span> access on staging server</span></span></li>
</ul>
<div style="text-align: justify;"><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;"><strong># Engagement models</strong></span></span></div>
<ul>
<li><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Pay per bug</span></span></li>
<li><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Fixed hour testing</span></span></li>
<li><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Agile testing for large projects</span></span></li>
</ul>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: 14px;">Write to us to know about skill sets and the services that we can provide to you.&nbsp;</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareassociates.in/blog/website-testing-and-browse-compliance/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>eSCM &#8211; capability Level 3</title>
		<link>http://www.softwareassociates.in/blog/escm-capability-level-3/</link>
		<comments>http://www.softwareassociates.in/blog/escm-capability-level-3/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 10:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[best practices]]></category>
		<category><![CDATA[escm]]></category>
		<category><![CDATA[relationship management]]></category>

		<guid isPermaLink="false">http://softwareassociatesuk.com/blog/?p=68</guid>
		<description><![CDATA[eSCM &#8211; With more and more organisations across the globe changing their strategies to outsourcing their non-core activities, it has opened a world of opportunity for the software outsourcing service providers. India, with a large pool of skilled and talented &#8230; <a href="http://www.softwareassociates.in/blog/escm-capability-level-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>eSCM &#8211; With more and more organisations across the globe changing their strategies to outsourcing their non-core activities, it has opened a world of opportunity for the software outsourcing service providers.</p>
<p>	India, with a large pool of skilled and talented manpower is the number one choice of most countries. This has led to the mushrooming of small outsourcing companies who are endeavoring to get their share of the pie. In this scenario, it has become a necessity for small companies who have the skills and the expertise to prove their capabilities to the clients worldwide.</p>
<p>	The clients on the other hand are having difficulty recognising the chaff from the grain and has often ended up in unsuccessful sourcing relationship. eSCM-SP seems to be the ideal solution to both. It gives service providers the guidance to improving their capabilities through a set of &#39;best practices&#39; standards and provides clients with an objective means of evaluating the capabilities of the service providers</p>
<p>	It had become inevitable for us to stand out as a quality service provider to gain competitive advantage. eSCM-SP being a capability model seems different from other quality models which laid more emphasis on documenting the process, appears best suited and a feasibility study was conducted.</p>
<p>	The study conducted at the <a href="http://www.iimk.ac.in">Indian Institute of Management</a> involved assessing the current processes of the capability area, relationship management against objectives defined. To gauge the success of the present sourcing relationships, a survey was conducted based on the practices in relationship management, using a semantic differential scale, and open-ended questions asking for suggestions for improvement if required.</p>
<p>	The actual rating was compared with the desired rating to learn whether we have met our objective. The result of the study has proved that we have a fairly high capability in the area of relationship management and can be considered to be at Capability Level 3.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareassociates.in/blog/escm-capability-level-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Collaboration Tool for project success</title>
		<link>http://www.softwareassociates.in/blog/products/</link>
		<comments>http://www.softwareassociates.in/blog/products/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 08:33:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[best practices]]></category>

		<guid isPermaLink="false">http://www.softwareassociates.in/?p=889</guid>
		<description><![CDATA[Communicate, Collaborate and Control your business on one single platform Cut supervisory time by 50% Manage and track multiple activities / projects Never miss a task, information or event Simple and easy implementation Access information real time on SA-CM&#39;s web-based &#8230; <a href="http://www.softwareassociates.in/blog/products/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Communicate, Collaborate and Control your business on one single platform</p>
<ul class="pdgLftTp20 font13">
<li>Cut supervisory time by 50%</li>
<li>Manage and track multiple activities / projects</li>
<li>Never miss a task, information or event</li>
<li>Simple and easy implementation</li>
<li>Access information real time on SA-CM&#39;s web-based platform</li>
</ul>
<p>Do you have a geographically distributed small service business ? Do you have to manage &#39;n&#39; number of people to get your work done? Be it any network of clients, vendors, suppliers, distributors &#8211; Client Manager helps you efficiently collaborate your entire network and get your work done with significant time and cost savings.</p>
<p><strong>How does SA-CM help you manage your business?</strong></p>
<p>By performing the function of a collaborator, SA-CM integrates and brings every task under one umbrella. You can communicate, instruct and get tasks done through Client Manager. No tasks go unattended and no information is lost!</p>
<p>Here are some benefits that you can leverage:</p>
<ul class="pdgLftTp20 font13">
<li>Migrate your entire project communication to one centralized platform</li>
<li>Get rid of the hassles in searching for email communications</li>
<li>Every task / activity is recorded</li>
<li>Monitor and track progress</li>
<li>Get detailed status reports, anywhere, anytime</li>
<li>Draw immediate attention to urgent tasks</li>
<li>Estimate accurate project billable time</li>
<li>Simplify the approval process</li>
<li>Increase user participation among the team members</li>
<li>Access information real time on SA-CM&#39;s web-based platform</li>
</ul>
<p><strong>Eliminate the hassles of back and forth emails &#8211; Communicate and get all the info at SA-CM</strong></p>
<p>Have you felt the difficulties in hunting for emails and missed emails? You cannot afford to have such state of affairs to affect the efficiency of your business. SA-CM completely eliminates the need for emails by automating the entire process. Every communication related to the project can be made through SA-CM cutting down on unnecessary email instructions, approvals and eventually improving efficiency.</p>
<p><strong>Save time, stay informed</strong></p>
<p>Smart communication is what Client Manager is all about. SA-CM brings in efficient time management which helps you cut supervisory time by almost 50%. Check out the robust features of Client Manager:</p>
<ul class="pdgLftTp20 font13">
<li>Send and receive sms alerts on your mobile</li>
<li>Send and receive requests as Tweets</li>
<li>Import reports on to Excel sheets</li>
<li>Get deadline alerts</li>
<li>Perform quick searches with SA-CM&#39;s powerful search tool</li>
<li>Enjoy information security with restricted access</li>
<li>Implement the tool fast and simple</li>
<li>Scalable and reliable hosted solution</li>
</ul>
<p>You get all this with an easy to use simple interface. Also, you save on training costs as SA-CM does not require any kind of additional training. Anyone with basic computer skills can use SA-CM efficiently.</p>
<p>Increase your clientele and improve on your client management skills.</p>
<p><strong>Get started with Client Manager! </strong></p>
<p>Contact us to place an order for Client Manager. Wish to see a free demo? Write to us now or call Steve Roche @ 203 287 2635 and get started!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwareassociates.in/blog/products/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  www.softwareassociates.in/blog/category/best-practices/feed/ ) in 0.77898 seconds, on Feb 8th, 2012 at 3:46 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 8th, 2012 at 4:46 am UTC -->
