<?xml version="1.0" ?> 
<?xml-stylesheet type='text/xsl' href='rss.xslt' version='1.0'?>
<!--  RSS generation by 'A blog about all things ecommerce.' on Sat, 05 Jul 2008 17:05:13 GMT   --> 
<rss version="0.92">
	<channel>
		<title>A blog about all things ecommerce.</title> 
		<link>http://blog.cartweaver.com/</link> 
		<description>A blog about all things ecommerce.</description> 
		<webMaster>lawrence@cartweaver.com</webMaster> 
		<language>en-us</language> 

		<item>
			<title>Adobe releases Dreamweaver CS4 Public Beta!</title>
			<description><![CDATA[<p>The last release of Dreamweaver saw what I would call an partial migration of Dreamweaver into the Adobe Suite of tools, a lot of work was done under the covers and some serious CSS improvements were folded in, but the whole package was not quite cooked yet.</p>
  <p>Not so with Dreamweaver CS4! Adobe has really moved the bar on this release. First off Dreamweaver was given the complete &quot;OWL&quot; treatment and has the ultra flexible UI as Photoshop and Illustrator. At first glance you may panic and say what have they done?! But take the time to get reacquainted with the UI ans soon you will be amazed at how cool this interface is. Next, there are a boatload of new and improved features, one that stands out is Live View - this one feature alone will fundamentally change the way you design your sites and brings Dreamweaver as close the the WYSIWYG dream as any web developement tool has ever been!</p>
  <p>There are far too many changes, improvements and additions for me to go into detail on here, but suffice it to say that Dreamweaver CS4 will be THE upgrade for all current users of Dreamweaver. This release will greatly improve and solidify Dreamweaver's position in the industry as the d facto cross platform visual web developement tool.</p>
  <p>Go to Adobe Labs to download your beta copy now.</p>
  <p><a href="http://labs.adobe.com/technologies/dreamweavercs4/" target="_blank">http://labs.adobe.com/technologies/dreamweavercs4/</a></p>
  <p>Also, be sure to hop over to David Powers' blog for a couple of excellent video introductions to Dreamweaver CS4 features.</p>
  <p><a href="http://foundationphp.com/tutorials/cs4beta.php" target="_blank">http://foundationphp.com/tutorials/cs4beta.php</a><br />
  </p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=49</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=49</guid>
			<pubDate>Tue, 27 May 2008 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>New vision and life given to Adobe Fireworks CS4!</title>
			<description><![CDATA[<p>Ever since the Adobe acquisition of Macromedia faithful developers that find Fireworks to be a vital part of their work flow have worried about Fireworks going down the same path as Freehand. With each CS Suite release they'd ask, is this the end of Fireworks? The release of the public beta for Fireworks CS4 gives a resounding answer to this question!</p>
  <p>No it's definitely not the end of Fireworks... In fact, I'd call it a new 
    beginning. Adobe struggled to get it's head around Fireworks and how it should fit 
    into there suite of tools, they were so Photoshop focused that they didn't 
    have a clear vision for Fireworks.  Not any more. They finally &quot;got it&quot;! <br />
    </p>
  <p>Fireworks is not a competitor to Photoshop, it's the &quot;next step&quot; in the web 
    development work flow. Adobe has positioned Fireworks as THE tool to quickly 
    comp web sites and RIA UIs. It is meant to bring together designs and 
    elements done in Photoshop and Illustrator and combine them and prep them 
    for the transition to HTML, Flash, or Flex. Take time to dig around the new 
    features and you'll see what I mean. </p>
  <p>Looks like Fireworks has been formally 
    welcomed into the family and shaken it's &quot;red headed stepchild&quot;   status. Download the public beta and take it for a test drive, the new features, tighter integration with the other Adobe Suite applications and updated &quot;Owl&quot; interface will confirm the fact that Fireworks is definitely here to stay and it's comfortable in it's new roll in the family!<br />
      <br />
      <a href="http://labs.adobe.com/technologies/fireworkscs4/" target="_blank">http://labs.adobe.com/technologies/fireworkscs4/</a><br />
  </p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=48</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=48</guid>
			<pubDate>Tue, 27 May 2008 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Adding a second payment type in ASP</title>
			<description><![CDATA[<strong>Multiple payment methods ASP version </strong>        <p>This modification can be used for &quot;Pay by Credit Card or Check&quot;          or for &quot;Pay now or request a Quote&quot;. This is simply a matter          of changing the credit card processor from your payment processor that          is set up in the Application.asp file to &quot;none&quot; on the fly,          based on user input.</p>       <p>&nbsp;</p>       <p>You should be able to set up a form field on the order form to allow          for checks to be sent on CWIncOrderForm.asp: (Add, around line 160, rigth          above the form:</p>       <p class="code">&lt;p&gt;Pay by:&lt;br /&gt;<br />         Send check:<br />         &lt;input type=&quot;radio&quot; name=&quot;paymenttype&quot; value=&quot;0&quot;          checked=&quot;checked&quot; /&gt;<br />         Credit Card:<br />         &lt;input type=&quot;radio&quot; name=&quot;paymenttype&quot; value=&quot;1&quot;          /&gt;<br />         &lt;/p&gt;</p>       <p><br />         then add a bit of code to the CWIncOrderForm.asp file around line 27,          right after If Request.Form(&quot;OrderFormNext&quot;)  &quot;&quot;          Then</p>       <p class="code">Session(&quot;paymenttype&quot;)=Request.Form(&quot;paymenttype&quot;)</p>       <p>&nbsp;</p>       <p> then a bit of code to the CWIncShowCart.asp file: (You can add this          code anywhere on that file)</p>       <p class="code">&lt;%<br />         IF Session(&quot;paymenttype&quot;)  &quot;&quot; Then <br />         <br />         &nbsp; &nbsp; &nbsp; &nbsp;SELECT Case Session(&quot;paymenttype&quot;)          <br />         <br />         &nbsp; &nbsp; &nbsp; Case &quot;0&quot; <br />         &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;paymentAuthType = &quot;none&quot;<br />         &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;paymentAuthName = &quot;none&quot;          <br />         <br />         &nbsp; &nbsp; &nbsp; Case &quot;1&quot; <br />         &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;paymentAuthType = &quot;gateway&quot;<br />         &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;paymentAuthName = &quot;CWIncAuthorizeNet.asp&quot;          <br />         &nbsp; <br />         &nbsp; &nbsp; END SELECT <br />         <br />         END IF<br />         %&gt; </p>       <p>&nbsp;</p>       <p>Also, if you want to change the confirmation emails based on the payment          type, add this code to the top of CWIncConfirmation.asp as well:<br />       </p>       <p class="code">&lt;%<br />         IF Session(&quot;paymenttype&quot;)  &quot;&quot; Then <br />         <br />         &nbsp; &nbsp; &nbsp; &nbsp;SELECT Case Session(&quot;paymenttype&quot;)          <br />         <br />         &nbsp; &nbsp; &nbsp; Case &quot;0&quot; <br />         &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;paymentAuthType = &quot;none&quot;<br />         &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;paymentAuthName = &quot;none&quot;          <br />         <br />         &nbsp; &nbsp; &nbsp; Case &quot;1&quot; <br />         &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;paymentAuthType = &quot;gateway&quot;<br />         &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;paymentAuthName = &quot;CWIncAuthorizeNet.asp&quot;          <br />         &nbsp; <br />         &nbsp; &nbsp; END SELECT <br />         <br />         END IF<br />         %&gt; </p>       <p>&nbsp;</p>       <p>You can edit file CWFunOrderConfirmEmails.asp to change the message the          email sends in each case (Lines 43/57)</p>       <p class="code">If PaymentAuthType = &quot;gateway&quot; Then<br />         strBody = &quot;Your order has been received and will be shipped to you          shortly! Your details are as follows.&quot; &amp; VbCrLf &amp;_<br />         VbCrLf &amp;_<br />         strContents &amp; VbCrLf &amp;_ <br />         &quot;Thank you!&quot;<br />      Else<br />         strBody = &quot;Your order has been received.&quot; &amp; VbCrLf &amp;_<br />         &quot;As soon as your payment is verified you will receive a confirmation          &quot; &amp;_<br />         &quot;notice and your order will be shipped! Your order details are as          follows.&quot; &amp; VbCrLf &amp;_<br />         VbCrLf &amp;_<br />         strContents &amp; VbCrLf &amp;_<br />         &quot;Thank you!&quot;<br />         <br />         End If 'PaymentAuthType = &quot;Gateway&quot;</p>       <p>&nbsp;</p>       <p>This could also be used to switch between a gateway and Paypal, or even          3 options -- credit card, check, or Paypal.</p>       <p>&nbsp;</p>       <p>Update: If the customer is logged in already, the default payment option          only is shown, but you can set up a link to change the payment type like          this (in file CWIncShowCart.asp</p>       <p class="code"> &lt;a href=&quot;&lt;%= targetCheckOut %&gt;&quot;&gt;          &lt;strong&gt;Change your payment type&lt;/strong&gt;&lt;/a&gt;</p>        <p>     </p><p>Customers can download a set of these modified files from the customers download area.</p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=47</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=47</guid>
			<pubDate>Thu, 22 May 2008 19:59:12 GMT</pubDate>
		</item>
		<item>
			<title>Adding a second payment type in ColdFusion</title>
			<description><![CDATA[<p>This modification can be used for &quot;Pay by Credit Card or Check&quot; or for &quot;Pay now or request a Quote&quot;. This is simply a matter of changing the credit card processor from your payment processor that is set up in the Application.cfm file to &quot;none&quot; on the fly, based on user input. The code for this modification in PHP is shown at <a href="http://www.tom-muck.com/cw/">http://www.tom-muck.com/cw/</a></p>
<p>You should be able to set up a form field on the order form to allow for checks to be sent on CWIncOrderForm.cfm:</p>
<p class="code">&lt;p&gt;Pay by:&lt;br /&gt;<br />
  Send check:<br />
  &lt;input type=&quot;radio&quot; name=&quot;paymenttype&quot; value=&quot;0&quot; checked=&quot;checked&quot; /&gt;<br />
  Credit Card:<br />
  &lt;input type=&quot;radio&quot; name=&quot;paymenttype&quot; value=&quot;1&quot; /&gt;<br />
  &lt;/p&gt;<br />
</p>
<p> then add a bit of code to the CWIncOrderForm.cfm file around line 43, right after &lt;cfif IsDefined ('FORM.OrderFormNext')&gt; :</p>
<p class="code"> &lt;cfif isDefined(&quot;Form.paymenttype&quot;)&gt;<br />
&lt;cfset session.paymenttype = form.paymenttype /&gt;<br />
&lt;/cfif&gt;</p>
<p>then a bit of code to the CWIncShowCart.cfm file:</p>
<p class="code">&lt;cfif IsDefined(&quot;Session.paymenttype&quot;)&gt;<br />
&nbsp;&lt;cfswitch expression=&quot;#Session.paymenttype#&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;cfcase value=&quot;0&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;cfset request.paymentAuthType = &quot;none&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;cfset request.paymentAuthName = &quot;none&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/cfcase&gt; <br />
&nbsp;&nbsp;&nbsp;&lt;cfcase value=&quot;1&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;cfset request.paymentAuthType = &quot;gateway&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;cfset request.paymentAuthName = &quot;CWIncAuthorizeNet.cfm&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/cfcase&gt;<br />
&nbsp;&lt;/cfswitch&gt;<br />
&lt;/cfif&gt;</p>

<p>Also, if you want to change the confirmation emails based on the payment type, add this code to the top of CWIncConfirmation.cfm as well:</p>
<p class="code">&lt;cfif IsDefined(&quot;Session.paymenttype&quot;)&gt;<br />
&nbsp;&lt;cfswitch expression=&quot;#Session.paymenttype#&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;cfcase value=&quot;0&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;cfset request.paymentAuthType = &quot;none&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;cfset request.paymentAuthName = &quot;none&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/cfcase&gt; <br />
&nbsp;&nbsp;&nbsp;&lt;cfcase value=&quot;1&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;cfset request.paymentAuthType = &quot;gateway&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;cfset request.paymentAuthName = &quot;CWIncAuthorizeNet.cfm&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/cfcase&gt;<br />
&nbsp;&lt;/cfswitch&gt;<br />
&lt;/cfif&gt;</p>
<p>Then you can make your changes in the email within the CFMAIL tag however you like, such as:</p>
<p class="code">Your order has been received.<br />
	As soon as your payment is received you will receive a confirmation notice and your order will be shipped! Your order details are as follows.<br/><br/>
#EmailContents# </p>
<p>You might also add a bit of code after the &lt;h2&gt;Order Details&lt;/h2&gt; line:</p>
<p class="code">&lt;h2&gt;Order Details&lt;/h2&gt;<br />
	&lt;cfif request.paymentAuthType EQ &quot;none&quot;&gt;<br />
&lt;p&gt;Your order has been recieved. The order will be shipped when your check or money order is received.&lt;/p&gt;<br />
&lt;/cfif&gt;</p>
<p>This could also be used to switch between a gateway and Paypal, or even 3 options -- credit card, check, or Paypal. </p>
<p><strong>Update:</strong> If the customer is logged in already, the default payment option only is shown, but you can set up a link to change the payment type like this:</p>
<p class="code">&lt;a href="&lt;cfoutput&gt;#request.targetCheckOut#&lt;/cfoutput&gt;"&gt;&lt;strong&gt;Change your 
payment type&lt;/strong&gt;&lt;/a&gt;</p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=46</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=46</guid>
			<pubDate>Sun, 11 May 2008 15:37:41 GMT</pubDate>
		</item>
		<item>
			<title>How to &quot;Hard Code&quot; add to cart links.</title>
			<description><![CDATA[<p><em>&quot;I am building a site and the links to the categories are images. I don't know how to do this.&quot;</em></p>
    <p>Due  to the fact that a lot of Cartweaver users are new to dynamic web  development we frequently get asked this question.  Fortunately, when  it comes to learning code, this is one of the easiest things you'll  learn. Another good thing is that all server models, ASP, PHP, and  ColdFusion handle this is the same way, so that makes things pretty  easy.</p>
    <p>Here's what you do. You select the image or test you want  to use as the category link and simply link it to the search results  page, by default this is Results.cfm, (or .asp or .php) depending on  which server model you are using. This is pretty standard, you've done this plenty of times. Next come the &quot;coding part&quot; Here's all you need to do... In code view, look at your link</p>
    <p><strong>Results.cfm</strong></p>
    <p>Then add this</p>
    <p><strong>Results.cfm?category=1</strong></p>
    <p>The question mark tells the server that a variable is being passed followed by the name of the variable, in this case &quot;category&quot; then the equal sign tells the server that what follows is the variable's value. Here I used the number 1, for your case you will need to look into the database and see what the actual ID is for the category you are wanting to pull. </p>
    <p>That's it. Easy stuff no?</p>
    <p>Now what if you want to narrow things down by searching on both a category and a secondary category? You can do this by using the ampersand to tack the secondary category ID, like this...</p>
    <p><strong>Results.cfm?category=1&amp;secondary=2</strong></p>
    <p>Notice there are no spaces, that the values and the names and = and &amp; are all bunched together. Be sure you do it this way. Spaced will cause this to fail.</p>
    <p>One additional way to use your new found coding skills. What if you want to &quot;hard code&quot; a link to a particular product... Easy. Just do the same as you've done above but this time link to the Details page and pass the product ID. Like this...</p>
    <p><strong>Details.cfm?ProdID=1</strong></p>
    <p>Again, you'll need to check in your database to see what the ID is, or as a short cut you can use one if the links that Cartweaver generates for you and link to the product you want then look in the address bar of your browser and low and behold, there's the ID and the link you'll need.</p>
    <p>This one little coding technique make it very easy to manually place links through out the site to put products you want to feature on you home page or where every you wish.</p>
    <p>If you have any questions stop by our newsgroups, we will be happy to help out.</p>
    <p><a href="news://support.cartweaver.com">news://support.cartweaver.com</a><br />
    </p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=45</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=45</guid>
			<pubDate>Tue, 08 Apr 2008 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Adobe Releases ColdFusion 8.01!</title>
			<description><![CDATA[<p>Mac Leopard users rejoice! Adobe has just released 8.01 update to ColdFusion and among the notable fixes and enhancements included in this update is an updated installer for OSX Leopard.</p>
    <p>Traditionally the cool thing about updates to ColdFusion, is besides fixing any glitches or bugs found since the version release, Adobe sees fit to add more features and functionality that many companies would hold over till the next &quot;paid&quot; update! This update is no different. With the addition of Windows 64bit support, better AJAX support, new features in the text editor function (ala FCKEditor), some new cfimage features and a ton more.</p>
    <p>ColdFusion just keeps getting better and better!</p>
    <p>For more info, check out the ColdFusion 8 Update 1 <a href="http://www.adobe.com/go/coldfusion8_update1_faq" target="_blank">FAQ</a> and <a href="http://www.adobe.com/go/coldfusion8_update1_releasenotes" target="_blank">Release Notes</a>.<br />
    </p>
    <p>Mac Leopard users should go to: <a href="http://www.adobe.com/products/coldfusion/" target="_blank">http://www.adobe.com/products/coldfusion/</a> and download CF8 Developer's Version, the version you will download is the 8.01 update.</p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=44</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=44</guid>
			<pubDate>Fri, 04 Apr 2008 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Cartweaver and Database driven web development on the Mac</title>
			<description><![CDATA[ <p>Cartweaver, like with many other we applications comes with an Access database. Access is fine for small, low traffic sites and a lot of sites around the web use it, also it's really easy to set up, so for training purposes it offer a pretty easy entry into database driven web development. But, what if you are on a Mac? You'll quickly find that  the Mac does not support MS Access, so you'll have to use a database that the Mac and most web hosts support. That would be MySQL.</p>
    <p> What we usually tell folks who are new to dynamic development who are looking to use Cartweaver is, &quot;you  don't need to know code or databases to use Cartweaver to create ecommerce  sites, but you do need to be willing to learn some new things.&quot; Cartweaver makes developing a standalone shopping  cart / ecommerce site about as easy as it can be, but there is going to be a  learning curve. You will need to learn how to set up a dynamic development  environment and create a DSN (data source name) to connect to the database, and  in the case of the Mac that database will need to be MySQL, so you will need to  install and set up MySQL and get familiar with a MySQL GUI admin. I can recommend  CoCoaMySQL as a free admin, I also highly recommend Navicat, it cost about  $90 but it is really about the best there is and is very user friendly. Cartweaver  has a script that creates all the tables and fields you need for you so  you don't need to know databases, but you will have to become familiar enough  with MySQL and the admin tool to be able to run the script.</p>
    <p>Please note: The above is not a Cartweaver specific process, this will  be necessary to develop any dynamic database driven web site on your Mac, be it  a shopping cart application or even a simple &quot;Hello World&quot; script. The good  news is that, even though it's a little more involved setting up a dynamic  development environment on a Mac, once done the Mac can serve as an excellent  development platform! So it's worth the effort.</p>
    <p><strong>Here are some resources for you to look at&</strong></p>
    <ul>
      <li>An article on setting up ColdFusion on the Mac<br />
        &nbsp;&nbsp;&nbsp;<a href="http://www.adobe.com/devnet/coldfusion/articles/mac_osx.html" target="_blank">http://www.adobe.com/devnet/coldfusion/articles/mac_osx.html</a></li>
      <li>MySQL for the Mac download page:<br />
        &nbsp;&nbsp;&nbsp;<a href="http://dev.mysql.com/downloads/mysql/5.0.html#macosx-dmg" target="_blank">http://dev.mysql.com/downloads/mysql/5.0.html#macosx-dmg</a></li>
      </ul>
    <p><strong>GUI downloads: </strong></p>
    <ul>
      <li>CoCoaMySQL -   <a href="http://cocoamysql.sourceforge.net/" target="_blank">http://cocoamysql.sourceforge.net/  </a>  </li>
      <li>Navicat - <a href="http://www.navicat.com/">http://www.navicat.com/</a></li>
      </ul>
    <p><strong>As a follow up, Lynda.com has this course:</strong></p>
    <ul>
      <li><a href="http://movielibrary.lynda.com/html/modPage.asp?ID=433">http://movielibrary.lynda.com/html/modPage.asp?ID=433</a></li>
    </ul>
    <blockquote>
      <p>This covers installing and testing CF8 on a Mac and should be helpful.  Fortunately, this part of the title is free, so you can view it even if you  aren't subscribed to Lynda.com!</p>
    </blockquote>
    <p>There is an additional glitch that has to do with Mac Leopard. It is not  a Cartweaver specific issue, but it will impact your situation until Adobe  comes up with an update. Here is a blog post about it.</p>
    <blockquote>
      <p><a href="http://blog.cartweaver.com/index.cfm?newsid=40">http://blog.cartweaver.com/index.cfm?newsid=40</a></p>
    </blockquote>
    <p>Don't let the extra steps involved stop you from your plans to begin developing dynamic web site! Believe me the effort involved is well worth it. Your &quot;market value&quot; as a web designer/developer will be much higher once you get over the initial learning curve and can offer the benefits of dynamic development to your clients or employer.</p>
    <p>If you have any questions stop by our newsgroups, we will be happy to help out.</p>
    <p><a href="news://support.cartweaver.com">news://support.cartweaver.com</a><br />
    </p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=43</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=43</guid>
			<pubDate>Thu, 03 Apr 2008 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Protect that download directory</title>
			<description><![CDATA[<p>When running a digital downloads store, you want to make sure your web visitors do not have access to the folder where your downloads are contained. This also applies to anyone using the Cartweaver Downloadable Products plug-in. Depending on your server, you have different options. If the web server is IIS, you can go into the admin and turn off anonymous access. If it is an Apache server, add an .htaccess file to the downloads folder like this:</p>
<p>Deny from all</p>
<p>or</p>
<p>Redirect /yourstorefolder/ http://yourdomain.com/yourstorefolder/error.php?error=No%20access%20allowed%20</p>
<p>That should take care of any attempts to download from the folder.</p>
<p>Note that not all web hosts allow the use of .htaccess. If not, you may have to contact the web host to ask them to turn off web access to this folder. You may also have access to an administrative panel for your web hosting account that has this functionality available.<br />
</p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=42</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=42</guid>
			<pubDate>Sun, 30 Mar 2008 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>New price format string functionality in Cartweaver</title>
			<description><![CDATA[<p>The lastest versions of Cartweaver PHP and ColdFusion contain a new price format string. This was a much requested feature, as many CW users wanted to format prices in a different way than it was set up by default. Some users might need to display prices with tax, prices without tax, both prices, tax amounts, etc. VAT formatting in particular needed a different format. We came up with a price format string in the getPriceList() function:</p>
<p>The function takes these arguments.<br />
	<strong>productID</strong>: The product ID to display.<br />
	<strong>allowBackOrders</strong>: Do we allow back orders?<br />
	<strong>taxRate</strong>: Rate of tax for the item<br />
	<strong>currentRecord</strong>: row number for CSS ids<br />
	<strong>showMax</strong>: flag to show max price along with min price<br />
	<strong>priceFormat</strong>: string with replaceable masks for price parts</p>
<p>Price format string new in 3.0.7 (PHP) and 3.0.9 (ColdFusion) to format price on results and details page for taxable items
	$priceFormat in this format:<br />
	@@beforeDiscountPrice@@<br />
	@@currentPrice@@<br />
	@@tax@@<br />
	@@priceWithTax@@<br />
	@@taxAmount@@<br />
</p>
<p>Use in combination with <strong>showMax</strong>. By default, minimum and maximum price of product are shown ($1.00 - $5.00).
Set to false to show only the minimum price. Then, <strong>priceFormat</strong> can be used to format the price like this:</p>
<p>	for example, assuming a 50% discount, 5% tax rate, showing prices before tax and after tax:<br />
	@@beforeDiscountPrice@@ @@currentPrice@@ (@@priceWithTax@@ including @@tax@@% tax)<br />
	shows <span style="text-decoration: line-through;">2.00 - 10.00 (2.10 - 10.50 including 5% tax)</span> 1.00 - 5.00 (1.05 - 5.25 including 5% tax)</p>
<p>Another example shows displaying minimum price only with 50% discount, 25% VAT, and showing price with VAT included and excluded:<br /> 
	@@beforeDiscountPrice@@ @@priceWithTax@@ (@@currentPrice@@ + @@taxAmount@@ VAT)<br />
shows 	<span style="text-decoration: line-through;"> 2.50 (2.00 excluding.50 VAT)</span> 1.25  (1.00 excluding .25 VAT)</p>
<p>A simple example with no discount and no tax, showing only minimum price:<br />
	Prices starting at @@currentPrice@@<br />
	shows: Prices starting at $1.00</p>
<p>The format string is called from the CWIncDetails and CWIncResults pages, but you can also set up a simple session variable or configuration item to handle this:</p>
<p>$_SESSION[&quot;PriceFormatString&quot;] = "@@beforeDiscountPrice@@ @@priceWithTax@@ (@@currentPrice@@ + @@taxAmount@@ VAT)";</p>
<p>Or for CF:<br/><br/>
&lt;cfset Session.PriceFormatString = &quot;@@beforeDiscountPrice@@ @@priceWithTax@@ (@@currentPrice@@ + @@taxAmount@@ VAT)&quot;&gt;</p>
<p><strong>UPDATE:</strong></p>
<p>The getPriceList() function is called like this:</p>
<p class="code">

echo(getPriceList($productID,  <br/>
$allowBackOrders, <br/>
$taxRate, <br/>
$currentRecord, <br/>
$showMax,<br/>
$priceFormat));<br/>
</p><p>
Essentially, you find the place on CWIncResults or CWIncDetails where the function is being called from, and adjust it to your liking:</p>
<p class="code">


echo(getPriceList($row_rsCWGetProduct["product_ID"], <br/>
$cartweaver->settings->allowBackOrders, <br/>
$taxRate, <br/>
', <br/>
true, <br/>
$priceFormatString));</p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=41</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=41</guid>
			<pubDate>Mon, 03 Mar 2008 23:19:11 GMT</pubDate>
		</item>
		<item>
			<title>ColdFusion 8 on Mac Leopard... What to do?</title>
			<description><![CDATA[<p><em>Note: Adobe has released an update that corrects this issue. Go to blog post: <a href="http://blog.cartweaver.com/index.cfm?newsid=44">#44</a> for more information.</em></p>

<p>I've received a number of emails and support tickets about ColdFusion not working on Mac Leopard, so here's what I know...</p>

<p>I know from very good sources that Adobe is indeed working very hard on an update for ColdFusion to work on Leopard, hopefully they will come along quickly on this. Unfortunately Apple does this to everybody with every major release of the Mac OS. They just decide to move forward and then let/force the industry to catch up. I guess the up side is you don't end up with a total train wreck like Vista by trying to be compatible with everything past and future.</p>
    <p><strong>So What to do...</strong></p>
    <p><strong>First: </strong>This is a problem, but not an insurmountable one. There are a few very well known CF  Gurus who have blogged how to get CF up and running on Leopard. Mostly the set up CF to run with Apache, which is a VERY common configuration and once set up will work very well for all your development needs. I've popped a few emails around to see how this is working and it seems to be a good work around till Adobe catches up with Apple.</p>
    <p><strong>Here are the links: <a href="http://www.markdrew.co.uk/blog/index.cfm/2007/10/27/Running-ColdFusion-8-on-Leopard" target="_blank">Mark Drew's Blog</a> and <a href="http://blog.econtentpark.com/2007/06/18/Configuring-Apache-ColdFusion-and-virtual-hosts-for-MacOS-X" target="_blank">eContentPark Blog</a></strong></p>
    <p><strong>Here is a blog post on running CF with the Stand Alone JAVA server that it installs found at <a href="http://www.jeffcoughlin.com/blog/index.cfm/2007/10/30/Running-ColdFusion-8-on-Leopard" target="_blank">jeffcoughlin.com Blog</a></strong></p>
    <p><strong>Also, here is a good thread in the <a href="http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=1&amp;catid=2&amp;threadid=1310812&amp;highlight_key=y&amp;keyword1=leopard" target="_blank">Adobe forums you should read</a>...</strong></p>
    <p>The net result of this is, CF IS a great choice, believe me, we have three versions, ASP, PHP, and CF and CF is the easiest and most powerful of the three application languages, so aside from this bump in the road, you chose wisely :-)</p>
    <p><strong>Secondly: </strong>Adobe knows they have a problem and they are hustling to get it taken care of. What they have done in the past, you see the same thing happened to CF 7 and Apple released Tiger, was Adobe released a public beta on Labs.adobe.com that fixed the Mac problem and was maybe not ready for full blown web hosts but was plenty capable of acting as a local development server. Although I certainly don't know this officially and we will have to wait on them to see what they do, I look for them to do the same thing again this time.</p>
    <p>Hopefully this is helpful and will get you up and going while we wait for Adobe to get an update in our hands.</p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=40</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=40</guid>
			<pubDate>Wed, 06 Feb 2008 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>More validation - ecommerce an essential skill set!</title>
			<description><![CDATA[<p>The following is a quote from Internet Retailer's latest news release, which quotes comScore.com<br /><br /><em>&quot;Online retail spending rises 20% to $122.7 billion in 2007, comScore says<br /><br />Retail e-commerce spending rose 20.2% in 2007 to $122.7 billion, up from $102.1 billion in 2006, comScore Inc. reports.<br /><br />2007&rsquo;s figure was up 132% from 2003, when retail non-travel e-commerce spending amounted to $53.9 billion, comScore says.<br /><br />For the 2007 November-December holiday shopping season, retail non-travel e-commerce spending reached $29.2 billion, up 18.7% from $24.6 billion in 2006 and up 137.4% from $12.3 billion in 2003, comScore says.&quot;</em><br /><br />I quote this as a follow up to my last post about ecommerce being an outstanding opportunity for web developers and the clients they serve. Imagine, nearly a 138% increase in four years! This is unbelievably attractive considering that traditional retail sales have barely stayed ahead of inflation in that time and may actually fall behind inflation in the coming year. All this stands as validation of my saying that ecommerce is of vital importance to any web developer wishing to serve his/her clients well and to prosper in the coming year.</p><p>For more information, and a good resource for following the internet retail market, you may want to take a look at <a target="_blank" href="http://www.internetretailer.com">http://www.internetretailer.com</a>. You can also sign up for a free subscription to their magazine. Be warned, doing so will net you some junk mail, but the magazine is good enough to be worth it.</p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=39</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=39</guid>
			<pubDate>Mon, 28 Jan 2008 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>eCommerce, Your Client&apos;s Edge Against Recession!</title>
			<description><![CDATA[<p><img src="images/MoneyFromComputer.jpg" alt="New Revenu from eCommerce" width="200" height="229" hspace="20" align="right" />2007 marked yet another banner year for e-retailing. Online sales have consistently grown at or near the  annual rate of 25% for the last five years and will continue to grow at a healthy pace. Even though 2007 online sales were a little less than some prognosticators predicted, they still outpaced traditional retail sales by a huge margin.</p>
    <p>So, what does this mean for us as web developers? We possess the skills to help our clients overcome the problem of slowing sales should the economy continue to move into a recession.<em> Or, if we don't we should!</em> If you haven't added the ability to develop ecommerce web sites to your skill set, do it, and do it now! Your clients and your bank account will thank you. In a recession, certain areas are hit more severely than others. If you and your clients are in one of the harder hit areas your business may suffer. As client budgets begin to shrink they look for places to cut. Clients with static non-revenue generating web sites may look at the web as one of the things they should cut or put on hold. That's you my friend, fellow web developer. How many clients can you afford to put your projects on hold before... Well, you get the point.</p>
    <p><strong>eCommerce saves the day!</strong></p>
    <p>eCommerce can help your clients recession proof their business by expanding their  revenue source from their sales floor to the web. By offering their products and in many cases their services to a much broader audience and area, possibly even nationally or world wide, the effects of a recession in the local economy  can be greatly diminished.</p>
    <p>For you, having the ability to help your clients take advantage of the strong growth of internet commerce moves you and the web sites you develop from the expense column to the income column. It's simple business... in down times money makers stay, expenses get cut. Which group do you want to be in? The old, &quot;I'm more of a designer, I don't want to have to mess with code&quot; attitude will put a lot of &quot;web designers&quot; out of business. Decide here and now to bite the bullet, go through the learning curve and do what it takes to move yourself into the asset column by being able to help your clients take advantage of the growth market eCommerce creates.</p>
    <p><strong>Help yourself by helping your clients.</strong></p>
    <p>As the news media continues to negatively drone on about a deepening recession, you can be out there calling on your clients with a positive message... &quot;Let's get you selling online and add an additional revenue source for your business!&quot; </p>
    <p>You'll be helping your clients in a real positive way, and  immersing yourself in a growth industry, rather than duking it out with the other &quot;Web Designers&quot; trying to keep their share of what could be a slowing or shrinking market.</p>
<p>Fortunately the move to developing eCommerce sites is not that big of a hurdle. Yes there is a learning curve, you will have to become familiar with setting up a local development environment, you'll have to learn about at least the basics  of databases, and you'll have to chose  and gain some experience with a server language. But fear not, there is a lot of readily available training and learning resources to help you get up to speed pretty quickly. Additionally, there are shopping cart software applications like Cartweaver  that allow you to implement ecommerce functionality with a minimum of coding knowledge. So, with a little determination and a willingness to dive in and learn some new things you can quickly become a valuable asset to your clients by helping them not only maintain their bottom line, but grow their businesses in a new and exiting direction.</p>
    <p>One thing is for certain, eRetail sales will continue to grow and significantly outpace traditional retail sales for the foreseeable future. By positioning yourself as a resource your clients can call on to move into this growth market you will be recession proofing both your business and  theirs.</p>
    <p><strong>In today's economy, eCommerce presents one heck of an opportunity for web developers and the clients they serve!</strong></p>
    <p>For more information read more of this blog. You may also want to check out this series of articles I did for the Adobe Developer's Network</p>
    <p><strong>How to Develop an Online Shopping Cart - <a href="http://www.adobe.com/devnet/dreamweaver/articles/build_shopping_cart.html" target="_blank">Part 1</a> - <a href="http://www.adobe.com/devnet/dreamweaver/articles/build_shopping_cart_pt2.html" target="_blank">Part 2</a> - <a href="http://www.adobe.com/devnet/dreamweaver/articles/build_shopping_cart_pt3.html" target="_blank">Part 3</a></strong></p>
    <p>If you have any questions let me know.<br />
    </p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=38</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=38</guid>
			<pubDate>Wed, 23 Jan 2008 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Open House at Community MX</title>
			<description><![CDATA[<p><a href="http://www.communitymx.com/" title="Community MX -- Web Developmend tutorials">Community MX</a> is having an open house where visitors are able to view over 2400 articles and tutorials. Community MX is a subscription service, so this is a good opportunity to see what is available. The open house is from 12/24/2007 through 1/1/2008. </p>
<p>Some articles relevant to Cartweaver users are <a href="http://www.communitymx.com//abstract.cfm?cid=F9EAC">Using JumpStarts with Cartweaver, Featuring   Minneapolis</a>, <a href="http://www.communitymx.com//abstract.cfm?cid=A1009C7E225D7B46">Using a ColdFusion Custom Tag as a   Site Template</a>, 
<a href="http://www.communitymx.com//abstract.cfm?cid=CD8AF">Resending Undeliverable Mail in ColdFusion</a>, <a href="http://www.communitymx.com//abstract.cfm?cid=A5B54EAAE1BC138F">Writing Readable SQL</a>, <a href="http://www.communitymx.com//abstract.cfm?cid=54E52">PHP Site Simplification with Application.php</a>. For a full list of what I've written for Community MX, see this page: <a href="http://www.communitymx.com/author.cfm?cid=1003">http://www.communitymx.com/author.cfm?cid=1003</a></p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=37</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=37</guid>
			<pubDate>Mon, 24 Dec 2007 14:19:49 GMT</pubDate>
		</item>
		<item>
			<title>If the need arises, don&apos;t be afraid to switch web hosts!</title>
			<description><![CDATA[<p>People tend to get comfortable and once they are they tend to fear or resist change. This is only natural and we as developers are just as inclined to be this way as anyone else, but when it comes to hosting an ecommerce site - one that is directly generating revenue - we have to be and remain flexible. This is especially true when it comes to choosing or staying with a web host.</p>
    <p>Case in point, as I've written in an earlier blog post, a reason to change hosts may be due to support, or rather lack of support of a particular server language. </p>
    <p>What I tell folks is &quot;never let a host make your choice of development platform for you&quot;  - choose what you want to use, or feel will work best for you, then find a host that supports YOUR choice.&quot; Allowing the host to force your decision here would be like saying &quot;I really want a Ford, but my dealer only sells Chevys&quot; -  You'd never say that, you'd just go to a Ford dealer. Selecting a web host based on your chosen server platform is no different.</p>
    <p>This is pretty obvious, and while a client may balk at this there's usually no time better to switch hosts than when you are converting a web site from a static to dynamic one. In my experience the vast majority of clients will go with you on this decision without much problem.</p>
    <p><strong>Here's the hard one! Moving an existing shopping cart web site.</strong></p>
    <p>The really tough one though, even for seasoned developers, is switching a current dynamic site from the host it's been on for some time to a different one. Why on earth would you do that, you may ask... Well things change. Businesses rise and fall, change leadership or ownership. A host that may have served you well for a long time, may for any number of reasons become unsatisfactory. Customer service that at one time may have been stellar, may now be unresponsive or inadequate.</p>
    <p>It's the here and now that's important. If what used to be a good host now sucks, don't hesitate to move. Don't allow the hosts' business problems become yours. Now I'm not saying you should be quick to pull the trigger here, any business has it's ups and downs, but if reliability or service become consistently bad, it's time to move. Remember what happened to the passengers that stayed on the Titanic? You get the point.</p>
    <p><strong>How to move your ecommerce site to a new web host?</strong></p>
    <p>If it becomes obvious that your current host no longer meets your needs or requirements, here's what you need to consider to make the move as smooth as possible...</p>
    <ol>
      <li><strong>Look before you leap!</strong><br />
        Ask around, take your time, you want to be absolutely sure that you aren't just moving to another bad situation. As hard as it may be to do, leave price out of it until you narrow your choices down to two or three prime candidates, only then let price be one of the deciding factors.<br />
            <br />
        </li>
      <li><strong>Test Test Test</strong><br />
        Once you have made your choice, move everything over and test like crazy before redirecting your domain. While you are testing you should go in and disable your payment gateway script so you can thoroughly test your site without worrying about this interaction. You just want to make sure that the application is running properly. To do this you will have to move your database over as well. Set up and testing is the most time consuming and important part. Fortunately you can take the time here because your site is still live on your old host.<br />
            <br />
            <em><strong>- Important note:</strong> You'll need to enforce a freeze on any development on the live site during this time. You don't want to end up with two different versions of the site and have to go through this process again because things have changes on the live site.</em><br />
          <strong><br />
          </strong></li>
      <li><strong>See to the details</strong><br />
        Now that you've tested the application and the database and everything is working it's time to get your SSL in place  and test the payment gateway.<br />
        The SSL can be pretty tricky because it can't be in two places at once. Frankly SSLs are cheap enough nowadays that you may want to consider getting a new one for this site, so you have the time to thoroughly test things out before switching, then once the switch is made just let the other one expire. You'll have to decide what you want to do here.<br />
            <br />
        </li>
      <li><strong>Avoid email emergencies</strong><br />
        Your almost ready. There is one hidden gotchya that you need to take care of that has nothing to do with the web site really but everything to do with keeping your client or job... Email! You need to take the time to find out how email is currently being handled and make sure that there won't be a disruption of the flow of email when you make the switch. If the email is being handled by the host, then make sure all the current emails accounts are duplicated on the new server. If the client has an exchange server that the email is being routed to, find out what IP address the MX record needs to be pointed at and get this set up on the new host ahead of time. Finally, when you do make the switch, as soon as the domain record is changed with your domain registrar, if the host is handling the email, enter an MX record on your current host to direct all email traffic to your new email server. This will prevent any emails form falling through the cracks as your domain change propagates across the web. If you are directing your email to an exchange server, this will take care of itself as long as the MX record in in place.<br />
          <strong><br />
        </strong></li>
      <li><strong>A quick, clean switch</strong><br />
Time to make the switch. Assuming that you have not made any changes to your current site here's what you do. Temporarily take down the current site and put up a notice. This should be in place only long enough for you to move the data in the database over to your new host. Remember, you've been taking orders this whole time and you have also entered a bunch of junk test data in your new database during the testing process, you'll want to dump all that and move over the live current data. As soon as the data is moved over you can redirect your domain and put a redirect on your old host sending all traffic over to the new one. Doing this will keep you from having to wait till the domain change propagates to be open for business again.</li>
</ol>
<p>If you take the time to adequately prepare and follow these five steps you'll find that switching an active store to a new host is not that scary after all. While these steps may be a huge undertaking for an Amazon.com, for the average small to medium, &quot;home town&quot; shopping cart web site it's really not to that difficult. When you consider the benefits of being hosted on a reliable host that isn't going down all the time or offers fast, competent support when you need it, the exercise is well worth it. No, it's not a move to be taken lightly, but remember you are in control, <em>you are not trapped</em>, if you need to move - do it. Hopefully what I've covered here will be of help if you need to.</p>
    <p><em>Note: the reason for this post is that recently a host that I have referred developers to for a number of years has started getting a concerning number of negative reports, which is very unfortunate, but it happens. It's important to stay current and do what's best for our clients. If a ship starts taking on water, now matter how comfortable you've been in the past, it's time to get off. This is one reason we at Cartweaver have never entered into an affiliate or reseller relationship with any particular host. We refer to a host for quality, not kickbacks.]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=36</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=36</guid>
			<pubDate>Fri, 21 Dec 2007 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Setting up a local development environment - It&apos;s the right thing to do.</title>
			<description><![CDATA[<p>For many web designers making the transition from static HTML web design to dynamic, database driven web development the most daunting task they initially face is setting up a local development / test environment.</p>
    <p><strong>What is a local development environment?</strong><br />
      This is where you set up a system where you can run and test your dynamic, database connected web pages on your own system so you can test and see if your code works as you go. Here are the elements involved...</p>
    <p><strong>Web Server (IIS, Apache, JRun, etc)</strong><br />
    The web server handles basic HTML requests, in other words your browser requests an .htm or .html page, the web server finds it and sends it to the browser... That's it. If you have just been doing static HTML pages setting up local web server  hasn't been necessary because your OS and browser can handel this for you without an actual web server being present. So why add one now? Because your next step is to install an Application Server, which works with and requires a Web Server.</p>
    <p><strong>Application Server (ASP, PHP, ColdFusion, .NET)</strong><br />
      When a Web Server
      receives a request from a browser that is not an HTML page, such as a .cfm or .php page it hands it off the the appropriate Application Server if one exists. The Application server then executes the code and gathers the requested data and variables and compiles this information into an HTLM page and hands it back to the Web Server. Now that the page is in HTML format the Web Server knows what to do with it, and sends it along to the browser.</p>
    <p><strong>Database or Database Server</strong><br />
      The third element is the database, This can be a database file - Access is the only viable choice here for the web. It only works on Windows and has limited capabilities. It works fine for small, low traffic web sites, and is an easy way to get started if you are on a PC since is is very easy to set up and learn. fortunately many of the skills you will learn using MS Access will transfer to more robust solutions... Web Database Server - MS SQL Server and MySQL. A database server is far more robust than an file based database. You should, eventually move to a database server. Ms SQL or MySQL are fast powerful and can handel far greater loads than a file based database like Access ever can. They are more secure and as well.</p>
    <p>Now you know the elements involved in setting up a local development environment. You may ask your self, why bother? Why not just test on your host server? There are a number of very good reasons.</p>
    <ol>
      <li><strong>It saves time</strong>. - Having to upload to the server every time you want to preview and test your work becomes a real pain, quickly. Add up the amount of time this takes over the course of anything but the smallest project, and you'll see this cost you money, pure and simple!</li>
      <li><strong>Keeps you out of trouble.</strong> Uploading and running untested code to a shared sever is both inconsiderate and unprofessional. What if you code cause the server to lock or crash? You will bring down not only your site but every other site on the server. This can make you VERY unpopular.</li>
      <li><strong>Helps track down the problems</strong>. If you have thoroughly tested your code locally and everything works, then you upload it to your host server and it doesn't, you can feel very confident that it is not your code. This is very helpful in dealing with your host i tracking down configuration issues.</li>
      </ol>
    <p>Even though it takes some effort, and there is the initial learning curve to climb, resolve yourself here and now to set up and use a local development environment. Doing so will make the rest of your journey to dynamic web development a much more rewarding one.</p>
    <p>Here are a few resources that should be very helpful in getting you started</p>
    <p>If you are new dynamic development, you may want to try ColdFusion. It is a powerful language, in fact with all that Adobe is doing with it CF has become far more than just a web language, it's an entire development platform that integrates closely with many new and exciting technologies such as Flex and Adobe AIR, as well as PDF, Flash, AJAX, and more. Coincidentally it is also easier to set up thanks to Adobe's Free Developers Edition of CF8, and being tag based similar to HTML it is easier to learn.</p>
    <p>If you should decide to go with ColdFusion here are a few good resources...</p>
    <p>This is a video training course at Lynda.com. Even though Lynda.com is a paid subscription site t course offers a number of free preview classes that you really should see! They alone can teach you a great deal about setting up your development environment. Take a look at sections 1 and 4.<br />
      <a href="http://movielibrary.lynda.com/html/modPage.asp?ID=433" target="_blank">http://movielibrary.lynda.com/html/modPage.asp?ID=433</a></p>
    <p>There are also many excellent resources to be found on the Adobe Developer's Network<br />
      <a href="http://www.adobe.com/devnet/coldfusion/" target="_blank">http://www.adobe.com/devnet/coldfusion/</a></p>
    <p>Another viable choice for a development language it PHP. This immensely popular open sources web development language, especially when teamed with MySQL database is  a viable cross platform  choice. I'll cover setting up a PHP development platform in another post soon.</p>
    <p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=35</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=35</guid>
			<pubDate>Wed, 05 Dec 2007 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Adding Payment Gateways and Processors</title>
			<description><![CDATA[<p>There are literally hundreds of payment processors out there. We support a   few out of the box, and have several others available as free downloads to customers, but it is not too difficult to add a new payment processor   using an existing gateway/processor as a guide.<br />
		<br />
	Basically there are two   types of payment processors: gateway or processor. A gateway communicates behind the scenes (like   Authorize.net) and processes the transaction in realtime, and a processor shows a form on a third-party web site, and credit card data is collected there (like   Paypal.)<br />
	<br />
	The basic procedure to create a new payment processor file in Cartweaver is to get the API from your payment   processor, and use one of our payment processor files as a guide. Modify the   form values in the file to use the names specified by your processor (for   example, it might use &quot;x-lastname&quot; or &quot;UserLastName&quot; or &quot;LastName&quot;). Once you do   this, you should be able to turn on the debugging email functionality, post test   transactions to your payment processor, and proceed from there. </p>
<p>The next step is to parse the result, and all payment processors handle this differently. For example, Authorize.Net passes results in comma-delimited form, so this sample line would parse the result, for PHP:</p>
<p class="code">$authNetCodes = explode(&quot;,&quot;,$authNetResult);</p>
<p>For ColdFusion, use the simple list functions:</p>
<p class="code">&lt;cfset request.TransactionResult = Val(ListFirst(cfhttp.fileContent))&gt;</p>
<p>Some processors use name/value pairs in a querystring. The following will parse those types of results in PHP:</p>
<p class="code"> $resultArray = explode('&amp;', $result);<br />
foreach($resultArray as $val) {<br />
&nbsp;&nbsp;$temp = explode('=', $val);<br />
&nbsp;&nbsp;$response[$temp[0]] = $temp[1];<br />
}</p>
<p>or for ColdFusion:</p>
<p class="code">&lt;cfset resultArray = ListToArray(result, &quot;&amp;&quot;)&gt;<br />
	&lt;cfset response = StructNew()&gt;<br />
	&lt;cfloop from=&quot;1&quot; to=&quot;#ArrayLen(resultArray)#&quot; index=&quot;i&quot;&gt;<br />
&nbsp;&nbsp;&lt;cfset response[ListFirst(resultArray[i], &quot;=&quot;)] = ListLast(resultArray[i], &quot;=&quot;)&gt;<br />
&lt;/cfloop&gt;</p>
<p>After this parsing, you can read the response array/struct values using the variable names described in the gateway API document, such as $response[&quot;success&quot;]. The main point is that we have quite a few payment processors available, and although each one is different, you can probably locate code in these files that will assist you in creating a new payment processor file. For a list of which processors we support, check <a href="http://www.cartweaver.com/features/payments/" title="Cartweaver payment processors">http://www.cartweaver.com/features/payments/</a><br />
	<br />
	If you   find out about the API and want me to take a look at it, let me know through my <a href="http://www.tom-muck.com/contact.cfm" title="Contact Tom Muck">contact form</a>. In the past I   have converted payment processor files for customers for a fee, but it does not   usually fit into my schedule.</p>
]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=34</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=34</guid>
			<pubDate>Fri, 09 Nov 2007 14:15:37 GMT</pubDate>
		</item>
		<item>
			<title>Selling downloadable products from your shopping cart</title>
			<description><![CDATA[<p>Selling digital downloadable products on line become a huge industry. Many experts expect on line sales of music to surpass sales of music through traditional channels this holiday season, which would be a major milestone in the evolution of eCommerce. Due to the growth of this industry it make perfect sense that&nbsp; a downloadable product plug in was high on the priority list of new developments for Cartweaver. The Cartweaver development team is pleased to announce the release of the Downloadable Products Plug-in for Cartweaver 3 CF and PHP. The plug in for ASP is expected soon.<br /><br />Now you can deliver your digital products immediately! This Cartweaver plug in allows your customers to download documents, PDFs, music, photos, artwork, software, and other digital products right away!<br /><br />- Easy to integrate with your Cartweaver 3 CF store<br />- Upload your digital products via the store admin<br />- Customers can log in and download immediately after purchase<br />- Customers can re-download as few or as many times as you allow<br />- Customers can update contact information<br />- View entire order history<br />- Print out previous history<br /><br />Available now!&nbsp; Go to the <a href="http://www.cartweaver.com/store/plug-ins.asp" target="_blank">Products - Plug-Ins page</a> and log in for availability and pricing.<br /></p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=33</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=33</guid>
			<pubDate>Mon, 05 Nov 2007 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Locale settings in Cartweaver PHP</title>
			<description><![CDATA[<p>One of the frequent questions we get is about locales in Cartweaver PHP. Because of the varying nature of locale settings in Windows, Linux, Mac, and other systems running PHP, it is hard to come up with a reliable way to get the locale setting of the server. The locale setting is in application.php, and is how we determine how to format money and date/time displays. For Windows systems, the Dreamweaver setup server behavior takes care of this. A full list of Windows locales is at <a href="http://tom-muck.com/cw/windowslocales.cfm">http://tom-muck.com/cw/windowslocales.cfm</a>. Linux locales are not quite as easy. For that reason, we include a file at http://[yourserver]/cw3/setup/locales/CWGetLocales.php that lists your locales on your server. This is a Linux-only function, and does not work on all Linux server due to security restrictions. I have posted a list of locales on my Linux server at <a href="http://www.tom-muck.com/cw/linuxlocales.cfm">http://www.tom-muck.com/cw/linuxlocales.cfm</a>.</p>
<p>If you are unable to obtain the locale setting on your server, and the listed locales do not work, you can modify the function in CWIncFunctions.php to hard-code the currency symbol like this:</p>
<p class="code">// for CW3<br />
	function cartweaverMoney($theNum, $showCurrencySymbol = true,   $stripComma = false) {<br />&nbsp;&nbsp;$currencySymbol = '$';<br />&nbsp;&nbsp;$theNum =   number_format($theNum, 2, &quot;.&quot;,&quot;,&quot;);<br />&nbsp;&nbsp;if($showCurrencySymbol) $theNum =   $currencySymbol . $theNum;<br />&nbsp;&nbsp;if($stripComma) $theNum =   str_replace(&quot;,&quot;,&quot;&quot;,$theNum);<br />return $theNum;<br />
}</p>
<p>Some typical locales for US format are:</p>
<ul>
<li>en_US</li>
<li> en_US.iso88591 </li>
<li> en_US.iso885915 </li>
<li>english-us</li>
<li>eng</li>
</ul>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=32</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=32</guid>
			<pubDate>Mon, 05 Nov 2007 02:54:34 GMT</pubDate>
		</item>
		<item>
			<title>ColdFusion 8 W.A.C.K. Volume One - Brief book review</title>
			<description><![CDATA[<p><img src="http://blog.cartweaver.com/images/WACK-Cover.jpg" alt="ColdFusion 8 Getting Started" width="115" height="115" hspace="12" align="right" />I've just finished volume one of ColdFusion 8 Web Application Construction Kit by Ben Forta and have just ordered volume 2! Having read each WACK release since version 5, I was really surprised at how much I learned by going over this... Not just the new CF 8 stuff, of which there is a bunch, but just stuff I had forgotten, or didn't learn the last up date. I also like the idea of breaking the releases into three volumes in stead of two this time round. For ColdFusion 7 there were two very thick volumes and a lot of information was only available via the attached CD and not in the book itself. I really didn't like this, the information on the CD was too inaccessible. Now with three volumes users can ease into it with this &quot;getting started&quot; volume and go on from there. Splitting what used to be volume one into two more manageable chunks makes a lot of sense.</p>
<p> I also really like the writing style in this new version. This version has new contributing authors than the last two editions had and I find the resulting conversational style of the book much easier to read and follow, at least in volume one that is... I'll update you on volume two one I get into it.</p>
<p> Anyone using or thinking about using ColdFusion that hasn't gotten at least the first volume should! It will be a great introduction to ColdFusion to anyone wanting to learn about it, and a quick refresher and introduction to some of the new features to those that already are familiar with CF. Either way, it's money very well spent! </p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=29</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=29</guid>
			<pubDate>Fri, 26 Oct 2007 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>PayPal vs. a Real-Time Gateway / Merchant Account</title>
			<description><![CDATA[<p>For your online shopping cart which should you choose to handle your payment transactions PayPal, and one of their ever-expanding product offerings, or a bank merchant account coupled with a real time payment gateway such as Authorize Net, LinkPoint or the like?</p>
<p> First let's look at the benefits of PayPal. It's quick and easy to set up an account and virtually anyone can do it. PayPal does not require a credit check, so even individuals with shall we say &quot;less-than-perfect&quot; credit history can take payments online. PayPal really is what it set out to be& the common Joe's way to make money transactions on the web.</p>
<p> There are some downsides to PayPal however. Some of the drawbacks are the same as the benefits in that just about anybody can get a PayPal account, regardless of who they are& even inmates have PayPal accounts! PayPal by its very nature has a more mom-n-pop feel to it. It's perceived by many as &quot;less professional&quot;. PayPal used to have a bad reputation for security as well, although they have done an outstanding job of correcting this and most shoppers now trust PayPal itself, but there is an underlying concern about trusting the person on the other end of the transaction for the reason stated above. Another drawback is that, until recently a purchase through PayPal meant you had to divert the customer off to the PayPal site to complete the transaction. If a merchant wanted to have a more professional appearance and wanted to establish their own branding, this was a real problem. In an effort to overcome this drawback PayPal recently bought out Verisign, and released other products to overcome this problem& But there are some real caveats to the new offerings by PayPal, let's take a moment to look at them.</p>
<p> First there is PayFlow Pro -- formally Verisign PayFlow Pro. PayFlow Pro has been around a long long time. It was one of the very first real-time payment gateways. It has been and still is rock solid, secure, and fast. There a problem however, it's showing its age. Unlike pretty much all other real-time gateways, PayFlow Pro requires that your host support it, that is, install the PayFlow SDK on the server and provide you with the mapping to the &quot;Certs&quot; folder in order for you to be able to process transactions. When PayFlow was the only game in town, or at least one of the biggest players this was not a problem because no self-respecting host would dare not support it. This is no longer the case. As PayFlow Pro's market share continues to sip further and further into obscurity, fewer and fewer hosts bother to support it. This could end up being a real problem. If you do choose to use PayFlow Pro MAKE SURE your host supports it or is willing to do so. A client could get real grumpy if you told them when the site was almost ready to live that they had to switch hosts because their current host doesn't support the gateway you recommended& Ouch.</p>
<p> The folks at PayPal are no dummies; they saw this coming, so they developed another product confusingly calling it PayPal Website Payments Pro. On the surface this looks like a good solution, a processor capable of real-time transactions but still as easy to get as PayPal Standard -- formally PayPal IPN right? Wrong. First of all, the rules for getting a Website Payments Pro account are stricter, so it's not a come on come all situation, so that &quot;advantage&quot; is gone. Also, PayPal set up this system so it <em>cannot</em> be made transparent to your customer! Even if your customer doesn't have a PayPal account and just wants to check out using their credit card she is still presented with PayPal's branding and forced to choose to go through a PayPal account, or to sign up for one, or check out directly. From a marketing standpoint this stinks! You've just lost much of the advantage of a real-time gateway, that being that it is fast, transparent to the user, and allows you to promote YOUR branding to your customers. This system forces you to promote PayPal to your customers whether they choose to use it or not. I completely disagree with this approach! It really goes back to the &quot;less professional&quot; impression left by using PayPal.</p>
  <p> Now there's the matter of bookkeeping. With PayPal you may have &quot;instant access&quot; to your money via a PayPal card, or to make purchases online and this may be fine for a little side business, but this is not how a real business operates. Accessing your money this way in a real business is a bookkeeper's nightmare and the kiss of death should you ever get audited! To properly track and account for gross revenue and to have a proper paper trail of funds to be able to calculate net profit or loss, all funds need to be deposited into a business account then dispersed from there. To do this with PayPal, you have to manually request the transfer and after doing so it can take four or more days for the funds to show up in your account. Having to manually request the transfer funds all the time can quickly become an enormous headache, and imagine the frustration of being late paying your bills because you forgot to request a transfer and now have to wait for the funds to move over to your bank account.</p>
  <p> To briefly sum this up. PayPal is great for small sideline business or private individuals making money transactions on line. For this purpose it truly is the single best solution out there& period! Other solutions are entering the market but none have the position PayPal has. However, if you're setting your sites higher, or your venture has grown to the point where you want to be a more serious online business, then truthfully, PayPal, no matter which or their products you are considering, comes up short. If you want to run your online business like a business, want to have a more professional appearance and want to firmly establish<em> your</em> branding, then a transparent real-time gateway / merchant account solution is the way to go.</p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=28</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=28</guid>
			<pubDate>Thu, 25 Oct 2007 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>I think I&apos;d like to use server language &quot;A&apos; but my host only supports language &quot;B&quot;</title>
			<description><![CDATA[<p>What we tell folks is "Never let a host make your choice of development platform for you" - Choose what you want to use, or feel will work best for you, then find a host that supports YOUR choice. This would be like saying "I really want a Ford, but my dealer only sells Chevys" -  you'd never say that, you'd just go to a Ford dealer. Selecting a web host is no different.<br>
You are in the driver's seat here. Once you decide which language seams easiest for you to pick up, and fits your needs and requirements, if your current host doesn't support this language find on that does! There are a great many hosts out there and you will have no problem finding one that supports your language of choice be it ColdFusion, ASP, PHP, or .Net.</p>   <p><strong>Which language should you choose?</strong></p>   <p>If you are already acquainted with a language, then this is an easy choice, but if you are new to dynamic development, and are familiar with HTML and web design but not coding, my first recommendation would be ColdFusion due to the fact that it is easier to learn, being tag based similar to HTML rather than script based, and it is easier to install on your local system to have a local development environment. Is ColdFusion THE universal best choice for someone new to shopping cart, or dynamic web site development? No, what is best for you depends of you. Your experience and environment. If you have a helpful PHP wizard in the cubicle next to you, then PHP would obviously be a good choice. You may want to do a little research. Go to your local Barnes and Nobel grab a book on CF, PHP, ASP, ASP.Net and read through the first couple of chapters and see which one clicks. </p>   <p>Here are a couple of other good resources you should look at</p>   <p><a href="http://www.adobe.com/devnet/dreamweaver/application_development.html" target="_blank">http://www.adobe.com/devnet/dreamweaver/application_development.html</a><br />       <a href="http://movielibrary.lynda.com/html/modPage.asp?ID=433" target="_blank">http://movielibrary.lynda.com/html/modPage.asp?ID=433</a><br />     The first eight videos are free for the clicking and should give you a good overview.</p>   <p><strong>There are two caveats to consider when choosing your development language...</strong></p>   <p>1. If you already know VB (visual basic) or are already familiar with traditional ASP, then it may be a good choice. If you are new to dynamic development and you are choosing a platform for now and the future, ASP would probably not be a sound choice. Why? Microsoft has officially &quot;pulled-the-plug&quot; on ASP and is doing no further development and will not be releasing any upgrades or updates. They have also refused to release it to the open source community. Because of this, while ASP has a huge world-wide following and will be around for a long time to come it is eventually going to become obsolete and a dead language.  If you already know ASP, and don't have the time or desire to learn a new language, then ASP should be fine for a long time to come, No sense intentionally driving down a dead end street, even if it is a long one.</p>   <p>2. If you use Adobe Dreamweaver as you web development tool, .Net is not a viable choice. Dreamweaver supports .Net 1 poorly and doesn't support .Net 2 + at all, and from what I've heard from reliable sources Adobe has no intension on changing this. So, unless you want to throw learning a whole new too set into the mix I'd say, for the dreamweaver user .Net is out of the mix.</p>   <p><strong>So, which do you choose?</strong></p>   <p>The important thing is... which server language you should use depends on you, not your current host. Do your research, make YOUR choice then dive in and have fun.<br /><br /></p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=27</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=27</guid>
			<pubDate>Fri, 19 Oct 2007 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Using Application.cfc with Cartweaver ColdFusion</title>
			<description><![CDATA[<p>Cartweaver was designed for use with the Application.cfm file, but versions 7 and 8 of ColdFusion allow the use of an Application.cfc file, giving greater control over application events. Cartweaver can be used with Application.cfc with a few tweaks. </p>
<p>1. First, set up your Application.cfc with some settings (these would be from your cfapplication tag):</p>
<p class="code">&lt;cfcomponent&gt;<br />  &lt;!--- Initialize the application ---&gt;<br />
&lt;cfscript&gt;<br />
this.name = &quot;testCW&quot;; // make sure every application has a unique name<br />
  
  this.applicationTimeout = createTimeSpan(7,0,0,0);<br />
  this.clientmanagement= &quot;yes&quot;;<br />
  this.sessionmanagement = &quot;yes&quot;;<br />
  this.sessiontimeout = createTimeSpan(0,0,30,0);<br />
  this.setClientCookies = &quot;yes&quot;;<br />
  this.clientstorage=&quot;clientvariables&quot;; // datasource for client variables <br />
&lt;/cfscript&gt;</p>
<p>2. Then, copy the &lt;cfmodule&gt; tag from your existing Application.cfm to your onRequestStart method. </p>
<p class="code"> &lt;!--- On request start ---&gt;<br />
&lt;cffunction name=&quot;onRequestStart&quot;&gt; <br />
&nbsp;&nbsp;&lt;cfargument name=&quot;requestname&quot; required=true/&gt;
<br />
&nbsp;&nbsp;&lt;cfmodule <br />
  &nbsp;&nbsp;&nbsp;&nbsp;id = &quot;CW3GlobalSettings&quot;<br />
  &nbsp;&nbsp;&nbsp;&nbsp;template = &quot;cw3/CWTags/CWTagGlobalSettings.cfm&quot; <br />
  &nbsp;&nbsp;&nbsp;&nbsp;datasource = &quot;yourdatasource&quot;<br />
  &nbsp;&nbsp;&nbsp;&nbsp;etc.....  &gt; <br />
&lt;/cffunction&gt;</p>
<p>3. In the onError method,   you'll have to create your own error handling to 
take the place of the error   pages.</p>
<p>4. Rename OnRequestEnd.cfm at the store root to debugger.cfm and   include 
this method in Application.cfc (if you want the   debugging functionality of CW):</p>
<p class="code">
&lt;cffunction name=&quot;onRequestEnd&quot; output=&quot;true&quot;&gt;<br />
&nbsp;&nbsp;&lt;cfargument type=&quot;String&quot; name=&quot;targetPage&quot; required=true/&gt;<br />
&nbsp;&nbsp;&lt;cfinclude template=&quot;debugger.cfm&quot;&gt;<br />
&lt;/cffunction&gt;</p>
<p>5. Include other methods, if needed (onSessionStart, onSessionEnd, etc).</p>
<p>6. Close the component tag:</p>
<p class="code">&lt;/cfcomponent&gt;</p>
<p>7. We include two files of frequently used functions in application.cfm because they are used thoughout the application, but that won't work in 
  Application.cfc. Add these two include files to the rest of your presentation 
  pages (results, details, confirmation, orderform, and showcart):</p>
<p class="code">
&lt;cfinclude   template=&quot;cw3/CWTags/CWIncFunctions.cfm&quot;&gt;<br />
&lt;cfinclude   template=&quot;cw3/CWTags/CWIncDiscountFunctions.cfm&quot;&gt;</p>
<p>8. 
Then create   an ApplicationProxy.cfc file at the store root with this in it:</p>
<p class="code">
&lt;cfcomponent   name=&quot;ApplicationProxy&quot;   extends=&quot;Application&quot;&gt;&lt;/cfcomponent&gt;
</p>
<p>9. That is for the admin functionality, which will have it's own Application.cfc extending the site root Application.cfc. Put a new  Application.cfc file at the root of /cw3/admin, including only 
  the   onRequestStart function:</p>
<p class="code">
&lt;cfcomponent name=&quot;Application&quot;   extends=&quot;ApplicationProxy&quot;&gt;<br />
&nbsp;&nbsp;&lt;cffunction   name=&quot;onRequestStart&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;cfargument name=&quot;requestname&quot;   required=true/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;cfset   super.onRequestStart(requestname)&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--- Here, insert everything   from the Application.cfm from the admin 
folder<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXCEPT for the application.cfm include and the error handling ----&gt;<br />
&nbsp;&nbsp;&lt;/cffunction&gt;<br />
&lt;/cfcomponent&gt;</p>
<p>That should be all that is required. There can be further optimizations, however this should give you a working site.</p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=26</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=26</guid>
			<pubDate>Wed, 17 Oct 2007 00:22:18 GMT</pubDate>
		</item>
		<item>
			<title>Should a Shopping Cart Require Customers To Log In?</title>
			<description><![CDATA[<p>This question comes up quite frequently, what usually prompts this is a developer will have a client, who is new to selling online, say they want to make it easier for their customers by not requiring them to create a username and password the first time they purchase. What should you do? If this functionality is already built in, as it is in Cartweaver and many other shopping cart applications, it's usually not too difficult to disable, but should you?! What advice would be in the best interest of your client?</p>
  <p><strong>Help your client think this trough.</strong></p>
  <p>The first thing I would say is, do all you possibly can to talk your client out of this decision. Your client may be wanting to eliminate the log-in feature to &quot;make it easier&quot; on the customer, or &quot;save them some time&quot; here are some points to consider. By not requiring a customer to log in you may be saving them the time it takes to decide on a username and password and fill in two form 
    fields... in other words, you'll &quot;save&quot; them about fifteen seconds. But what if they like your store and your product and they decide to return and buy more... Rather than filling out two form fields and have the shopping cart remember who they are and pre-fill all the order form for them, they have to go through the whole process again. Your modification has now just cost your customer far more time that it ever saved them. And what if your customer would like to be able to see the status of an order? There is no way to uniquely identify them, so this option is no longer available.</p>
  <p>Ask <em>ANY</em> retailer what one of their greatest assets is and they will say, &quot;loyal repeat customers&quot; by the seemingly harmless step of eliminating the log in feature you are putting roadblocks in front of these &quot;assets&quot;. You are actually making doing business with you more difficult, not easier.</p>
  <p>Now, let's step back and look at this from the merchant's point of view for a minute, with <em>long-term</em> profits in mind.</p>
  <p>Eliminating the user log in feature will mean that every time a customer returns they will create a new customer record. As far a the database in considered they are different individuals every time. This ends up entering a LOT of duplicate &quot;junk&quot; data into your database. As stated before a business' biggest asset is a loyal, repeat customer base, but now you have no way to know for sure who those customers are. Say you decide to do a query to see who your most profitable customers are based on frequency and dollar amounts of past purchases... All you customer have only purchased once as far as the database is concerned. True you can do some SQL tricks to narrow down your results, but it will always just be a best guess situation. Now what if you know that a customer who bought one product would be interested in a new product you are offering, and you'd like to pull an email list and send them a invitation to look at it and offer them an introductory discount... No can do, or it will be difficult to do so.<br />
    If loyal customers are one of a business' greatest assets, then an accurate record of who those customers are is even more important. Taking what would seem to be a simple and harmless step, and eliminating the requirement of a username and password, will have a long reaching, serious impact on your client's on-line business.</p>
  <p><strong><em>Developer and consultant!</em></strong></p>
  <p>Our roll as eCommerce web developers is not just to create the shopping cart web site, but to do all we can to help our clients be successful. Sometime this includes consulting with them to keep them from making a mistake.</p>
  <p>Now, after all this, your client still wants to eliminate the requirement of a username and password let them know that this impacts the database, a number of function files, and presentation files in the application and it will take a few hours and $X (you fill in the X - and make it a good number!) to make this change... Some times a client will make the right decision if only to try to save some money.</p>
  <p>Whatever approach works, keep in mind, persuading your client that it is theirs and their customers best interest to keep the log in functionality in place. You'll be doing them a good service by doing so.</p>
  <p>Good Sales!</p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=25</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=25</guid>
			<pubDate>Mon, 15 Oct 2007 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Adding CSV File Downloads to the Cartweaver Admin (PHP)</title>
			<description><![CDATA[<p>I dug up an old PHP class that I wrote a few years back and thought I would post it for anyone who needs CSV functionality on their site. It will work with any PHP recordset, including Cartweaver recordsets, which use my custom DB abstraction class (only for MySQL, though). The class is simple, and can be downloaded <a href="http://www.tom-muck.com/downloads/csvfile.zip">here</a>.</p>
<p>The class is typically used on a page by itself, or on any page within conditional statements. You link to the page and the file download begins. The class constructor has 3 arguments:</p>
<p class="code">$csvfile = new CSVFile(recordsetName, [quotes true or false], [filename]);</p>
<p>The first is the MySQL recordset. The second optional argument is true or false to put quotes around the fields. The third optional argument is the filename, which defaults to Download.csv by default.</p>
<p>To use it, follow these instructions:</p>
<p>1. If this is a Cartweaver recordset, make sure you include the application.php file at the top of the page:</p>
<p class="code">require_once(&quot;application.php&quot;);</p>
<p>2. Include the class file:</p>
<p class="code">require_once(&quot;yourclassdirectory/CSVFile.php&quot;);</p>
<p>3. Create your recordset. Below is a typical Dreamweaver recordset, using the Northwind database that you can download <a href="http://www.tom-muck.com/downloads/northwindmysql.zip">here</a> for MySQL if you don't have it:</p>
<p class="code">mysql_select_db($database_connNorthwind, $connNorthwind);<br />
  $query_rs = &quot;SELECT p.ProductID, p.ProductName, p.UnitPrice FROM products p ORDER BY p.ProductID&quot;;<br />
  $rs = mysql_query($query_limit_rs, $connNorthwind) or die(mysql_error());<br /></p>
<p>For Cartweaver, a typical recordset might look like this:</p>
<p class="code">  $query_rs = &quot;SELECT * FROM tbl_orders ORDER BY order_Date&quot;;<br />
  $rs = $cartweaver-&gt;db-&gt;executeQuery($query_rs, &quot;rs&quot;);<br />
</p>
<p>4. Add a line to invoke the CSVFile class:</p>
<p class="code">$csvfile = new CSVFile($rs, true);</p>
<p>5. Link to the file. </p>
<p>Now, when the page is browsed, the file download will begin immediately.</p>
<p>Cross-posted from <a href="http://www.tom-muck.com/blog/index.cfm?newsid=173" title="PHP class for CSV file from Tom-Muck.com">tom-muck.com</a>. See <a href="http://blog.cartweaver.com/index.cfm?newsid=23" title="Cartweaver CSV file download for ColdFusion">this blog post</a> for info on creating a button in the CW admin for order downloads.</p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=24</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=24</guid>
			<pubDate>Sat, 13 Oct 2007 15:14:18 GMT</pubDate>
		</item>
		<item>
			<title>Adding CSV File Downloads to the Cartweaver Admin (ColdFusion)</title>
			<description><![CDATA[<p>One of the frequent requests in the forums is to provide a downloadable list of orders, customers, products, or other items from the Cartweaver admin. The following applies to ColdFusion, but is an easy way to create downloadable files for Quickbooks, Excel, or other applications where you might need a CSV file. </p>
<p>The functionality revolves around a custom tag I wrote a while back called CF_CSVFILE. You can find it available free on my blog:</p>
<p><a href="http://www.tom-muck.com/blog/index.cfm?newsid=46">http://www.tom-muck.com/blog/index.cfm?newsid=46</a></p>
<p>I'll go through a simple example using the Cartweaver orders page. The basic technique to using this tag within CW (or any other application) is to create a &lt;cfquery&gt; tag using the data you want to download, put the csvfile tag on the page, and then simply link to the page. We can do this with dynamic queries as well -- the orders page uses form fields to create the display list. We can simply divert this form to a new OrdersDownload.cfm page by following these steps:</p>
<p>1. Create a file called OrdersDownload.cfm. It should be totally blank -- no tags or any other characters in the file.</p>
<p>2. Save the csvfile.cfm tag from my blog to a directory within /cw3/admin called &quot;tags&quot;. </p>
<p>3. Add this code to the top of the OrdersDownload.cfm file: <br />
<br />
<span class="code">&lt;cfimport prefix=&quot;mytag&quot; taglib=&quot;tags&quot;&gt;</span></p>
<p>4. Copy the rsByDate query from the Orders.cfm page to the OrdersDownload.cfm page.</p>
<p>5. Add the reference to the csvfile custom tag to the OrdersDownload page beneath the query:<br /><br />
<span class="code">&lt;mytag:csvfile rs=#rsByDate#&gt;</span></p>
<p>6. Add a new button to the Orders.cfm page next to the submit button that is already there to create a link to the new form post:<br /><br />

<span class="code">&lt;input name=&quot;Submit2&quot; type=&quot;submit&quot; class=&quot;formButton&quot; value=&quot;Download Orders&quot; &nbsp; onclick=&quot;document.DateForm.action='OrdersDownload.cfm'&quot;&gt; </span></p>
<p>That's all there is to it. It looks more complicated than it is, and can be used with any query. For example, to create a downloadable list of all customers, create the CustomersDownload page with this code:</p>
<p class="code">&lt;cfimport prefix=&quot;mytag&quot; taglib=&quot;tags&quot;&gt;<br />
  &lt;!--- retrieve all customers ---&gt;<br />
  &lt;cfquery name=&quot;rsCustomers&quot; datasource=&quot;#request.dsn#&quot;&gt;<br />
  SELECT * FROM tbl_customers<br />
  &lt;/cfquery&gt;<br />
&lt;mytag:csvfile rs=#rsCustomers#&gt;</p>
<p>Then simply link to it. Since you are getting all customers, you don't need the submit button or extra javascript -- a simple link will do.</p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=23</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=23</guid>
			<pubDate>Sat, 13 Oct 2007 02:15:59 GMT</pubDate>
		</item>
		<item>
			<title>Are you ready to develop a shopping cart web site?</title>
			<description><![CDATA[<p>It's a very common scenario; you're a web designer, you're very familiar with Dreamweaver and have been doing standard HTML web sites for a while. One day a client says that they want to start selling their product on the web and asks you if you can do this for them& You say sure! When you get back to the office or hang up the phone panic sets in, you've never done a dynamic web site before, can you do it?</p>
    <p> To make things easier, there are a lot of pre-developed shopping cart applications designed to help you on your way to developing an ecommerce web site, but no matter how easy the application you choose, or which one you chose there is a basic starting point you must get to before you can even begin using an shopping cart software application such as Cartweaver. The ability to develop an ecommerce web site has become a must-have in your bag of tricks these days so save yourself the stress and panic and decide to take the tackle the firs pert of the learning curve right now, before you have you back up against a dead line. </p>
    <p> To develop any dynamic web site be it a full blown ecommerce site or a simple "hello world" example you need to do the following: Install, set up and test a local dynamic development environment. This will consist of the following&</p>
    <ol>
      <li>Installing a web server, such as IIS, Apache, JRun or one of the many others available.</li>
      <li>Install an application server, such as ASP, PHP. ColdFusion or .Net</li>
      <li>Install and become a little familiar with a database such as Access, MySQL, SQL Server</li>
      <li>Install and become familiar with a GUI database administration tool  for your database of  choice.</li>
      <li>Finally, after having your web server, application server and database installed and set up, you should successfully set  up a data source name to connect your database and application server, and run  a simple script such as the following example (this one in ColdFusion).<br />
          <br />
        &lt;cfset Variables.Greeting = "Hello World!"&gt;<br />
        &lt;cfoutput&gt;# Variables.Greeting#&lt;/cfoutput&gt;<br />
        <br />
        If you place this code on a page and save it with a .cfm extension and brows to it and see - Hello World!  -  you know your set up and ready to start.</li>
    </ol>
    <p>I realize that this blog post raises far more questions than  it answers& It's meant to. Read this over and ask yourself; "do I know what the  heck he's talking about?" If you do, good, your well on your way, if not here's where you need to start. I can honestly say that Cartweaver, makes developing a functioning shopping cart web site about as easy as it can be, and there are other applications by other vendors that do an admirable job as well, but the ground floor for all these applications is the same, that being the completion of the five steps outlined above.</p>
    <p>I can't tell you how many times a web designer fires in a barrage of  panic stricken support emails because they have promised a client to have a  their shopping cart web site done in a week or two, having NEVER done a dynamic web site or having ever learned to set up a dynamic development / testing environment. These situations are always stressful and far too many times don't end well for the designer or their client. Sometimes, with perseverance, on the part of our support staff, but mostly on the part of the designer and their client, things work out and all ends well. We have a number of developers that stared out this way and over the years have come to be friends and colleagues... You know who you  are :-)  But, for your own peace of mind and for your client's, take the time to learn and complete the five steps outlined above before you even buy a shopping cart application and especially before you make any promises or set any deadlines with a client. If you take the time and effort necessary to set up and test a local development / testing environment and familiarize yourself with the applications and tools necessary to do so, you  will be much more prepared to begin developing dynamic ecommerce web sites. The great part of doing this is, having gotten this far, the hard part is behind you. After this you will be pleasantly surprised how easy the actual installation and integration of the shopping cart software can be. You'll also be much happier at how calm and professional you appear to your client. Face it; no client enjoys seeing the old "deer in the head lights" look in their web developers eyes about a week into a project. Avoid this by taking time to learn and complete the five steps I've outlined... You'll be glad you did.</p>
    <p> For additional information and training material be sure to  check out the <a href="http://www.adobe.com/devnet/" target="_blank">Adobe Developers Network</a>. <a href="http://www.Lynda.com" target="_blank">Lynda.com</a> is also a great resource for training; take a look at the following titles to get an idea of what they offer.<br /><br />

        <a href="http://movielibrary.lynda.com/html/modPage.asp?ID=433">http://movielibrary.lynda.com/html/modPage.asp?ID=433</a><br />
        <a href="http://movielibrary.lynda.com/html/modPage.asp?ID=265">http://movielibrary.lynda.com/html/modPage.asp?ID=265</a></p>
<p><em>Although Lynda.com is a paid subscription site the first few  movies in each course are free, so it's easy to see if you like the way the information is presented. </em></p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=22</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=22</guid>
			<pubDate>Sat, 06 Oct 2007 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Web Pro Community Challenge</title>
			<description><![CDATA[<p><img src="http://blog.cartweaver.com/images/125x125_WebProChallengeLogo.jpg" alt="Web Pro Community Challenge" width="125" height="125" hspace="10" align="right" />The World Organization of Webmasters (WOW), a non-profit professional association, has teamed up with the Adobe Corporation to conduct the first international Web Pro Community Challenge, to be announced at Adobe MAX in Chicago, IL, October 1-3, 2007.<br /></p>
    <p><strong>WHAT IS IT?</strong><br />The Web Pro Community Challenge (<a href="http://www.webprochallenge.org/" target="_blank">http://www.webprochallenge.org</a>) is an opportunity for industry professionals to give something back to the community by designing, developing and promoting a fully functional web site and/or web application for a designated non-profit organization.</p><p>The idea is very similar to the Flex CodeJam that was run as part of 360Flex - Seattle, where a group of developers got together for a code-a-thon to build an application for a non-profit organization (more info at: <a href="http://www.flexcodejam.org/)." target="_blank">http://www.flexcodejam.org/). </a><br /></p><p><strong>WHO ARE WE SUPPORTING?</strong><br />The Challenge is supporting two charities: Say Yes to Green; <a href="http://sayyestogreen.org/" target="_blank">http://sayyestogreen.org/</a> and Direct Relief International, <a href="http://www.directrelief.org/" target="_blank">http://www.directrelief.org/</a>. </p><p>The SayYesToGreen.org initiative Statement of Work surrounds a complete makeover that includes elements of Web site design, development and business. The SayYesToGreen.org initiative is an international effort to educate the population about energy saving tips and resources. </p><p>The Direct Relief International's Statement of Work surrounds a Flex Based Multimedia Annual Report which will be used within their website. Since 1948, Direct Relief International has worked to improve the quality of life for people in need. Direct Relief provides medical assistance to improve the quality of life for people victimized by poverty, disaster, and civil unrest at home and throughout the world.<br />According to Charity Navigator (<a href="http://www.charitynavigator.org/index.cfm?bay=search.summary&orgid=3626)" target="_blank">http://www.charitynavigator.org/index.cfm?bay=search.summary&amp;orgid=3626)</a> this charity is rated 4 out of 4 stars, and your contribution in time will help this charity grow in the future.<br /></p><p><strong>HOW TO GET INVOLVED</strong><br />Grab a couple of friends or co-workers and join other web professionals in giving something back by signing up your team of 3 to participate at <a href="http://www.webprochallenge.org/enter-now.html" target="_blank">http://www.webprochallenge.org/enter-now.html</a> Also, feel free to take a tour of the challenge web site (http://www.webprochallenge.org) for more information </p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=21</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=21</guid>
			<pubDate>Sat, 29 Sep 2007 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Changing Cartweaver Shipping Options</title>
			<description><![CDATA[<p>One of the frequent questions we see in the forums is &quot;How do I implement XXXX shipping?&quot; Cartweaver has flexible shipping, but we also left it open for others to implement their own shipping. The key to CW shipping is in the file  CWFunShipping (or CWTagShipping in ColdFusion). The getShippingRates() function (cwShipping() in the ASP version) returns the shipping cost, given weight or cart cost. There are several things that can be done in this function if you need more complex shipping than CW offers (such as real-time UPS or FedEx shipping), or simpler shipping (such as &quot;$4 shipping for all orders&quot;), or conditional shipping (such as &quot;free shipping over $100&quot;).</p>
<p>If you keep in mind that the shipping function returns the shipping cost, you can use logic to determine the cost. The function is dual purpose, however. If the mode &quot;ShipList&quot; is passed to the function, it returns a list of shipping functions. If the mode &quot;Calculate&quot; is passed, the return value will be the shipping cost. So you must check first for the mode and then return the shipping cost if the mode is &quot;Calculate&quot;.</p>
<p>For UPS/FedEx, you would need a script to contact UPS/FedEx, and an account with them. Modify the getShippingRates() function to use the script:</p>
<p class="code"> // If not listing ship methods, call your UPS function<br />
if($mode == &quot;Calculate&quot;) return getMyUPSFunction();</p>
<p>For simpler shipping, first make sure you have set up a shipping method in the CW admin, then simply re-write the function to use your simpler shipping, such as:</p>
<p class="code"> // If not listing ship methods, return $4 for shipping cost<br />
if($mode == &quot;Calculate&quot;) return 4;</p>
<p>For conditional shipping, simply add a line in the function before any other calculations are made:</p>
<p class="code"> // If over $100, return 0 for shipping<br />
if($mode == &quot;Calculate&quot; &amp;&amp; $cartTotal &gt; 100) return 0;</p>
<p>You could also create your own custom function here to use your own criteria for shipping.</p>
<p>The bottom line is that CW shipping is flexible, but it is also easily changed if you need something different.
</p>
<p><strong>Update (11/12/2007): </strong>Another simple modification is to charge X$ for each item in the cart, like $3 shipping for 4 items would be $12. Basically you need to pass a quantity to the function and rewrite the function so that it multiplies $3 x number of items. Add a quantity field at the end of the method:</p>
<p>function getShippingRates($mode=&quot;ShipList&quot;, $shipType=null, $shipToCountryID=0, $cartWeight=0, $cartTotal=0, $qty=0)</p>
<p>Then add a line as first line of the function:</p>
<p>if($mode == &quot;Calculate&quot;) return $qty * 3;</p>
<p>Then change the calls to getShippingRates() to pass the cart quantity to the function on CWIncShowCartSetup.php.</p>
<p>$_SESSION[&quot;shipTotal&quot;] = getShippingRates(&quot;Calculate&quot;, null, 0, 0, 0, $cartweaver-&gt;getCartQty());</p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=20</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=20</guid>
			<pubDate>Wed, 19 Sep 2007 12:22:46 GMT</pubDate>
		</item>
		<item>
			<title>PCI compliance, a way to a safer web?</title>
			<description><![CDATA[<p>It's no secret that identity theft and customer information security has become a huge concern for anyone doing business on the web. Unfortunately there are far too many careless online merchants who  improperly handle sensitive consumer data and countless unscrupulous  individuals eager to take advantage of the situation. The industry is trying to  do something about it, but it's extremely difficult when you are dealing with a  rapidly moving target like the internet. One of the efforts to increase the  security of online commerce is the movement toward PCI Data Security Standards.  Will this be the solution? The magic bullet to kill identity theft and bring  security to the web...  Who knows, time  will tell. But any effort to increase the security of online commerce is a worthwhile  endeavor, so what can you do to see about being PCI compliant and make yours a  safer site to do business with.</p>
<p> First of all, go to <a href="http://www.pcicomplianceguide.org/">http://www.pcicomplianceguide.org/</a> and become more familiar with what PCI is and what you can do to better secure  your online business. 
  Next, if you have a Cartweaver site or any shopping  cart site for that matter, what should you do? Let's take a look at what is required  to have a "PCI secure site" and briefly discuss what can be done to see if your  site measures up.</p>
<p> The following requirements are taken directly from <a href="http://www.pcicomplianceguide.org/pci-basics.html">http://www.pcicomplianceguide.org/pci-basics.html</a> -- let's look at these one at a time and see how Cartweaver addresses the issues  it can, and what steps you need should take to better secure your online store.<br />
  ..................................<br />
  <strong>Build and Maintain a Secure Network </strong><br />
  <em>Requirement 1: Install and maintain a  firewall configuration to protect cardholder data</em></p>
<ul>
  <li>This is in your court as a  developer. If using an Access database, make sure that it is stored in a safe  non-brows-able folder, if you are using a SQL Server or MySQL database; be sure  your host has it properly secured.</li>
</ul>
<p><em>Requirement 2: Do not use vendor-supplied defaults for system passwords  and other security parameters </em></p>
<ul>
  <li>Yes! By all means change all default usernames and passwords and be sure you use something that is sufficient to ward off hack attempts. A good mix of numeric and alphanumeric characters and at least 8 to ten characters in length will be good and change them occasionally to be sure they don't get compromised.</li>
</ul>
<p><strong>Protect Cardholder Data </strong><br />
    <em>Requirement 3: Protect stored cardholder  data</em></p>
<ul>
  <li>Cartweaver NEVER stores  this data -- it is handed off to the payment gateway and then promptly "forgotten".  No matter what your client may say, never be persuaded  to alter your site to store the credit card type, number, expiration date, or  security code... Ever! Just don't go there. Truthfully, in a shared host environment  there is no way to store this data securely. Treat it like the hot potato it is  and hand it off as quickly as possible and be free of it.</li>
</ul>
<p><em>Requirement 4: Encrypt transmission of cardholder data across open,  public networks </em></p>
<ul>
  <li>Yes -- by all means get an  SSL Certificate and have it properly installed in the root directory of your  site. Resist the temptation to use the host's shared SSL if they offer one, get  your own 124 bit encryption certificate and have it installed before your first  transaction.</li>
</ul>
<p><strong>Maintain a Vulnerability Management Program </strong><br />
    <em>Requirement 5: Use and regularly update  anti-virus software<br />
Requirement 6: Develop and maintain secure systems and applications </em></p>
<ul>
  <li>This would be the responsibility  of your host. Have in-depth, frank discussions with your host to 1. Know what  steps they take in this regard and 2. Make sure they continually monitor and maintain  security. If they don't provide clear and detailed information about this  issue, or get annoyed with your insistence of getting this information... change hosts! </li>
</ul>
<p><strong>Implement Strong Access Control Measures </strong><br />
    <em>Requirement 7: Restrict access to  cardholder data by business need-to-know</em></p>
<ul>
  <li>Again, Cartweaver does not  store this data.</li>
</ul>
<p><em>Requirement 8: Assign a unique ID to each person with computer access</em></p>
<ul>
  <li>Cartweaver does this by  allowing you to create individual admin accounts. Be sure your host does the  same. Again risk is greatly minimized by the fact that credit card data is not  stored. The with the exception of the email address, the data in your  Cartweaver customer database is no more than what is freely accessible in the  local telephone directory.</li>
</ul>
<p><em>Requirement 9: Restrict physical access to cardholder data </em></p>
<ul>
  <li>Once again -- this is not stored.  If you choose a reputable payment gateway this data is secure. Neither you the  developer, your employees, the merchant, nor their employees have any access to  this data. You can't steal or tamper with something you don't have.</li>
</ul>
<p><strong>Regularly Monitor and Test Networks </strong><br />
    <em>Requirement 10: Track and monitor all  access to network resources and cardholder data<br />
Requirement 11: Regularly test security systems and processes </em></p>
<ul>
  <li>The credit card data is not stored, and with the SSL encryption it is securely transferred to your payment gateway -- that takes care of it from the application and your standpoint... Just  be sure to use a qualified, reputable payment gateway and host.</li>
</ul>
<p><strong>Maintain an Information Security Policy </strong><br />
    <em>Requirement 12: Maintain a policy that  addresses information security</em></p>
<ul>
  <li>Be proactive! Your application (Cartweaver) is secure provided your database is adequately secured and you have SSL in place and your usernames and passwords properly set. Beyond that,  talk frankly with your host and payment gateway provider to be sure their end  is taken care of.</li>
</ul>
<p>Being able to do business on line safely and securely is the right of every person that chooses to spend  their hard earned money online. Internet shoppers are showing a lot a trust when  they make a purchase online. It is the responsibility of every online merchant,  web application developer, web site developer and designer to do all they can to fulfill that trust by providing a safe, secure "place" to do business. I encourage  you to take the time out from your day to day activities and focus on making sure  your site meets the PCI standards. You and your customers will be glad you did.</p>]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=19</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=19</guid>
			<pubDate>Mon, 17 Sep 2007 05:00:00 GMT</pubDate>
		</item>
		<item>
			<title>Adding New Image Types to Cartweaver 3</title>
			<description><![CDATA[<p>One of the limitations of Cartweaver 2 was that only 2 images were allowed per product, and the system was not set up to allow for more image types. Cartweaver 3 comes with 4 image types out of the box and allows the programmer to add as many more images as he needs. All that is required is add the image type to the database, create the folder, and then manually code the image somewhere in the details page. </p>
<p>For example, to add an image type of &quot;Secondary&quot;, follow these steps:</p>
<blockquote>
  <p>1. Add &quot;Secondary&quot; to the tbl_listimgtypes table and then note it's ID. It is probably 5. You can do this in any database admin, or run an insert statement like this:</p>
  <p class="code">INSERT INTO tbl_list_imagetypes (imgType_Name, imgType_SortOrder, imgType_Folder) VALUES <br />
    ('Secondary', 1, 'cw3/assets/product_secondary/')</p><p>2. Create the product_secondary folder in the /cw3/assets/ directory (or whereever you are storing images).</p>
  <p>3. Display it on the details page with:</p>
  <p class="code">&lt;?php echo(cwDisplayImage($productId, 5, $row_rsCWGetProduct[&quot;product_Name&quot;], &quot;No image available&quot;));?&gt;</p>
  <p>...for php, or:</p>
  <p class="code">&lt;cfoutput&gt;#cwDisplayImage(request.Product_ID, 5, rsGetProduct.product_Name, &quot;No image available&quot;)#&lt;/cfoutput&gt;</p>
  <p>...for ColdFusion, or:</p>
  <p class="code">&lt;%= cwDisplayImage(rsCWGetProduct(&quot;product_ID&quot;), 5, rsCWGetProduct(&quot;product_Name&quot;), &quot;No image available&quot;) %&gt;</p>
  <p>...for ASP.</p>
</blockquote>
<p>The function cwDisplayImage takes the following arguments:</p>
<p><strong>cwDisplayImage([product id], [image type], [product name, or alt text], [to display if no image available])</strong></p>
<p>After adding the new image type to the database, it will show up among the images to be uploaded in the Cartweaver admin. You can have an unlimited number of images per product.</p>
]]></description> 
			<link>http://blog.cartweaver.com/index.cfm?newsid=18</link>
			<guid isPermaLink="true">http://blog.cartweaver.com/index.cfm?newsid=18</guid>
			<pubDate>Wed, 12 Sep 2007 13:50:53 GMT</pubDate>
		</item>
	</channel>
</rss>


