my name is michael ciccarelli and i'm a web designer & developer out of buffalo, ny. currently available for freelance and other opportunities.

Archive for 2008

e-Commerce Solutions for WordPress

| 18 comments

article

WordPress is one of the most popular Content Management Systems (CMS) on the web. It’s a great application supported by a great community. I use WordPress for many of my own websites, I also recommend it to others looking to start a website that need to manage their content with little programming knowledge. I always thought the lack of e-Commerce plugins for WordPress was odd, but never really needed to implement any shopping carts on a WordPress site. If someone required more of an actual shop than a standard website, I would steer them towards an actual e-Commerce application (ZenCart, Magento, OS Commerce etc.).

I decided to try out WP e-Commerce, one of the only free shopping cart plugins for WordPress. My client’s website was already up and running the latest version of WordPress. So instead of selling her the idea of switching applications or using a simple shopping cart solution like e-junkie, I decided to familiarize myself with some e-Commerce solutions for WordPress.

Unfortunately WP e-Commerce is not very stable out-of-box, even though I purchased the Gold Cart which was suppose to be more feature rich then the standard free version. It required some work to get it working properly with Paypal, which is the default payment gateway. Authorize.net was the preferred payment gateway of my client, mainly because she already had an established merchant account with them. Although it didn’t work right away, once I got it working properly I think it is the best gateway to use with WP e-Commerce.

A big turn off from using Paypal as the gateway is the fact you get redirected off the website you are on to make the payment. This isn’t all that bad, especially if you do not wish to purchase an SSL certificate for your website and will be handling your customers financial information, being redirected to a secure paypal site will cover that for you. The biggest issue I noticed with Paypal is users making payments are now required to have a paypal account, which leads to a dead-end for those customers without an account. During the checkout process Paypal requires you to create an account even if you select the options “I do not have a paypal account and would like to make my purchase using a credit card”. I proceeded to signup during my testing, my account was opened simply using the email address I provided, all appeared to be well, then before my card was charged, I was required to verify my new Paypal account by waiting for a specific paypal charge to hit my credit card. This would be fine if the sole purpose for creating my account wasn’t to make a purchase right at that moment. Who is going to wait 3-4 days to verify their Paypal account in order to make a simple purchase I should be able to make instantly.

So although I moved on to Authorize.net which was giving me this error whenever I proceeded to checkout:

refId:
resultCode: Error
code: E00003
text: The ‘AnetApi/xml/v1/schema/AnetApiSchema.xsd:length’ element is invalid – The value ” is invalid according to its datatype ‘Short’ – The string ” is not a valid Int16 value.
subscriptionId:

I decided to get this working and share with anyone else wishing to use authorize.net as their payment gateway. The problems were located in wp-shopping-cart/gold_cart_files/merchants/authorize.php. Instinct, who wrote the script, left references to their own credentials which were hard coded in the script. They probably forgot to swap out their hard coded logins and names with the proper variables of the input boxes you have set in your Payment Options. So in the end no matter what you have set on the options page, Instinct’s API access and login credentials are being passed at checkout.

Fixing the Authorize.net Payment Gateway

    1. download the updated authorize.php file
    2. extract the .zip archive to: wp-shopping-cart/gold_cart_files/merchants/ overwriting the old authorize.php file
    3. upload the new authorize.php file to your server
    4. make sure your Authorize.net credentials are set in the Payment Options
    5. You should be all set, reset your browser cache and make a test purchase

If your still having problems with the Authorize.net checkout, remove both your Authorize.net account and the WP e-Commerce plugin from “Test Mode” and try again with $1.00 item.

I’d like to give a a big thanks to Shayne Sanderson, who I found on the WP e-Commerce Support Forums. Shayne went out of his way to help me with this, he was able to contact the lead developers at instinct for me and was very persistent on finding the problem. Shayne will soon be launching his own website to support the WP e-Commerce plugin.

So if you interested in adding a shopping cart to your WordPress site here are a few options that I know of:

  • e-junkie – a simple shopping cart solution for selling basic products on any website. Adds an “Add to cart” button on your products page, then you are redirected to your cart on e-junkie when your ready to checkout.
  • WP e-Commerce – A free WordPress plugin for e-Commerce, very convenient and much potential but is very young and needs some work. Only works with Paypal for payment processing.
  • Gold Cart – An additional module to be used with the WP e-Commerce plugin that opens more features and give you the ability to use more payment gateways. Only $15 an absolute most buy if you intend to use WP e-Commerce.

Tips to fix your soaked cell phone

| 3 comments

article

Since I’ve been talking a lot about cell phones lately I figured I’d share some knowledge I gave to a co-worker that saved her Blackberry the other day. I got a call on Monday from Kristen, She apparently had dropped her Blackberry in the bath tub while it was filling with water. The Cellphone was lifeless with no display or LED lights.

I instructed her to remove the battery asap, and use a blow dryer on both the device and battery until they were dry. After doing this for a few minutes, she put the battery back in her phone, tried to power it on and nothing happened, still dead. So at this point I told her to either leave it out in the sun in attempt to remove all the moisture form inside the battery/device, try a replacement battery and hope the actually Blackberry is not damaged or there was one last thing she could try that I recently just learned. Apparently leaving a soaking wet cell phone in a bowl of uncooked rice over night would suck out all the moisture and bring life back to the once lifeless cell phone.

Since there wasn’t any sun light available, she proceeded with the bowl of uncooked rice trick. The next morning her phone powered on and everything appeared as it was prior to the dip into the bath tub. She was thrilled and thanked me a million times.

Obviously if you are bringing your cellphone anywhere where you could potentially drop it into water, just be extra careful. In the unlikely event you do happen to submerge your cell phone into water and it no longer works, I would try the following steps before spending the money on a replacement.

  • Remove the back of the phone and battery right away.
  • Try to get both the device and battery dry as possible with a cloth.
  • Use a blow dryer to remove the moisture that may have gotten inside.
  • Leave your cellphone in a bowl of uncooked rice overnight.
  • Leave the battery and the device with the back off out in sun light for an extended period of time.
  • Try a replacement battery before replacing the device. Hopefully you have a friend with the same phone or maybe your provider has a shop nearby that would let you use a battery while in the store.

Prolong the Life of your Laptop Battery

| 3 comments

article

It’s impossible to avoid the life of any lithium battery declining over time. Eventually your laptop that once ran on battery power for 3+ hours will only last under an hour before you need to connect the power adapter.

I recently purchased a new MacBook Pro and have been researching the best ways to prolong my battery life and the most efficient way to use my Magsafe power adapter. Here’s what I was able to gather up.

You should disconnect the power adapter once your laptop is fully charged and wait until your system gives you warning as “Now your running in reserved batter power” or “Low Battery” use that as a notice to connect your power adapter. Running a charge through your battery that is already fully charged not only wastes electricity but runs unnecessary energy through your battery which can eventually cause damage.

Best method to prolong your battery life is to calibrate you batter every 2 months to increase the capacity and life, if you use your laptop Daily, Follow as below.

Calibrating a MacBook or MacBook Pro battery
Calibrate the battery in your MacBook every month or two to keep your battery functioning at its fullest capacity.

To calibrate the battery:

    1. Plug in the MagSafe power adapter and fully charge the MacBook or MacBook Pro battery until the light on the MagSafe connector changes to green and the Battery icon in the menu bar indicates that the battery is fully charged.
    2. Allow the battery to rest in the fully charged state for two hours or longer. You may use your computer during this time as long as the power adapter is plugged in.
    3. Disconnect the power adapter with the computer on and start using it with battery power. When the battery’s charge gets low, you’ll see the low battery warning dialog on the screen. Continue to keep your computer turned on, save your work and close all applications when the battery’s charge gets too low the computer goes to sleep.
      Turn off the computer or allow it to sleep for five hours or longer.
    4. Reconnect the power adapter and leave it connected until the battery is fully charged. You may use your computer during this time.

1 week with Mac OS X Leopard

| 1 comment

link

I’ve been a Windows user for many years and just recently I’ve started to venture out to different operating systems. I spent some time with Ubuntu Linux, loved it. Then I moved on to OS X (10.5.2 Leopard) and one word could sum up my experience so far, wow! Although my positive experiences with OS X may hold some type of advantage over my prior operating systems due to that fact I am running it on a brand new Macbook Pro. So my following review will be a combination of working with OS X as well as my new Macbook.

The initial setup and getting comfortable with everything in OS X was a breeze compared to Ubuntu. Which for the most part was probably related to the fact OS X came pre-installed on my new Macbook Pro and everything worked out-of-box while I had to install Ubuntu from scratch on my old Gateway 4540GZ. Battling for drivers with my hardware was not fun, so I avoided that nightmare with OS X.


Development

I’ve read that Macromedia Studio 8 does not run well on Intel Macs, even from Adobe’s website. I decided to install it anyways and as far as I’m concerned it runs without a hiccup. I installed MAMP for local development, which is an excellent application for running MySql and Apache that can be controlled within it’s own Dashboard widget. I’m still running Firefox with Firebug and the Web Developer tool bar. One thing that I’m missing is Adobe Photoshop. I was considering upgrading Studio 8 to Adobe CS3 Design Premium, which includes the latest version of Photoshop but I’m having problems installing the trial. From what I understand there may be a conflict with Studio 8 already being installed, so I’m going to have to try to remove Studio 8 and try again. For now I’ve been using Fireworks and The Gimp for all my graphics and to be honest I wouldn’t mind working with them from now on. Of course I’ve been using PS for so long that it will take some getting use to the new apps but for what i used PS for I don’t think that I was utilizing 80% of it’s features. IMO Photoshop is geared towards photographers while The Gimp and Fireworks is more suitable for web design and graphics.


Positives:

The user interface and general OS experience is the best I’ve ever seen. I’m loving all the OS X features such as The Dock, Genie effect (when minimizing windows), Front Row and the nice shadowing effect on all windows and menus makes everything look very nice. Finder, which is Mac’s version of Windows Explorer is great, you can choose between multiple views from tiles or thumbnails to a list view of your files and directories which makes navigating around your computer very quick and easy.

Using Windows I would dread putting my computer to sleep because it would take ages to restore from standby, but with OS X I can shut the lid to my laptop or put it to sleep manually and when I recall the system it loads right back almost instantly, which is needless to say awesome. Installing and removing software has become very simple, basically all you do is drag the application you want to install into the applications directory, and if you want to remove an app you simply delete it form that directory.

I am really diggin’ the built in camera (iSight), the lighted keyboard was also an ingenious idea. I spend a lot of time on my laptop at night, sometimes with no light on in the room so having the ability to turn a light on that illuminates all the keys on my keyboard is quite convenient. At first i was skeptical of not having a right mouse click button, but the Mac’s touch pad is engineered perfectly, to right click (as you would on windows) you simply tap the track pad with two fingers, same goes for scrolling, I just anchor my middle finger and let me ring finger do the scrolling.


Negatives:

Very few if any negatives about OS X but one thing that I’m going to need to get use to is keyboard shortcuts. I find my self often trying to use the CTRL key to select multiple files, save documents and other uses that I built a habit of using on Windows. The Apple key or the Command key (I believe is the technical term) is a new addition to my keyboarding life, I’m starting to come around but it will take some time. I also kind of miss the delete key. There is a ‘delete’ key on my MBP but it shares the same functionality as the backspace key on all my prior systems. I do miss the hard drive LED, I used that quite often to determine if my computer froze or not, but maybe I don’t have to worry about that on OS X. The MBP also tends to get very hot at times, from what I understand it’s case was designed to retain the heat, this way creating less stress on the hardware, which although gives an illusion of bad in reality its good?


Summary

Out of the three main operating systems I’ve used with the past few months, OS X Leopard is definitely my favorite. The visual effects, the GUI and the way everything just “works” is just amazing. I look forward to learning more tricks and becoming more familiar with OS X. Although my positive experiences may have something to do with the new laptop I happen to be running OS X on, I plan on installing both Ubuntu and Windows as a triple boot system to see how they run on the same hardware. My guess is they won’t even compare, but we’ll see.

Screen shot of my desktop:
MacBook Pro Desktop

Powerful CSS Techniques

| no comments

article

Being a web designer can be difficult at times, always striving for creativity in your design and new techniques that will dazzle your clients/users. Sometimes we need inspiration from other designers to turn that creative spark into a flame.

Smashing Magazine has posted yet another incredibly inspiring list of 50 new CSS-techniques, ideas and ready-to-use solutions for effective web design. You may already know some of them but definitely not all of them.

My personal favorite on the list is #22 CSS Dock Menu (shown below) but I assure you that everything is worth taking a look at.

cssdockmenu.png

How to Merge Multiple Domains

| no comments

article

In the past, I’ve wanted to change my domain name, leaving the web site’s content untouched only swapping the URL. When your in a situation where you have a lot of links that are indexed by search engines and other URLs out on the web that reference an old domain name (dugg articles, link backs etc). You don’t want to lose that traffic to a 404 error page.

For one you want your old domain to just point to your main main site/new domain and secondly if someone attempted to access a URL that referenced the old domain (http://www.olddomain.com/2007/12/11/complete-wordpressvbulletin-bridge/) you would like that link to be accessible and working while only changing the reference from olddomain.com to your new domain (http://www.newdomain.com/2007/12/11/complete-wordpressvbulletin-bridge/).

How do I do this?
Pending on your web host, it can be as easy as using your domain manager and just pointing the multiple domains to the same directory on your server, which is how I accomplished this in the past on GoDaddy. Now that I’m on Media Temple this must be done via SSH, using a symbolic link. Basically you have to remove the folder that contained the data for your domain or you can also rename it to your new domain to avoid moving all the files on your server to the directory of the new domain. Then you need to create the symbolic link, linking your old domain to your new domains directory (where all the data files are). This is done like so:
1. The first step is obvious, you need to make sure your new domain is posting to the correct name servers of your server use your old domain name as a reference if you are unsure.
2. Using an FTP or SSH rename the directory on your server that is associated with your old domain name; {SERVER ROOT}/domains/olddomain.com/ to the name of your new domain; {SERVER ROOT}/domains/newdomain.com/. Keep in mind once you do this, your site will be down until the process is complete.
3. Now you want to connect to your server via SSH. I used a terminal on a Linux machine.

ssh serveradmin%example-server.com@example-server.com
cd ~/domains
rm -rf olddomain.com
ln -s newdomain.com olddomain.com

4. The final step is to ensure you don’t have any configuration files or records in your data base that references your old domain as the home page. In my case since I am running WordPress there are two fields in my database that needed to be updated manually. These fields are ‘site_url’ and ‘home’ which are located in the wp_options table of your database. If you do not have access to your DB tables then alternately you can add the following lines to your wp_config.php file to update those records.

    define('WP_SITEURL', 'http://www.newdomain.com/');
    define('WP_HOME', 'http://www.olddomain.com/');

5. Now test out your domains. They should both direct you to your new domain, not matter what permalink you try.

If you have any questions or feel that I was unclear about something please feel free to email me at mikecicc@gmail.com and I’ll get right back to you. Thanks for reading.

Why PHPWebHosting Is Great

| 1 comment

link

So I bought a complete, functioning website on eBay about 2-3 years ago, at the time of the purchase the seller had me register an account with PHPWebHosting so he could install the script and transfer the domain, email accounts and such. He insisted on PHPWebHosting because this was where the the site was coded and resided on and he knew I wouldn’t have any problems running the site on their servers as opposed to any other host.

So after tinkering around with the site a bit before I re-launched it, I decided to attempt to move it over to my own web space on my own servers, and failed miserably. The seller was right, it’s an advanced script that required a lot of control over the configuration of it’s server. Time went by, I decided to put the project on hold and eventually I had managed to completely forget about my account at PHPWebHosting, well at least the bill paying part of it :) . From time to time I would check the domain at hand and it was always loaded right up flawlessly, I was just never concerned about it being shut down because I had everything backed up on my own web space (even though it wasn’t functional), and when the time came for me to finish the project my plan was to get the script working on my web space or change hosts. I never received any email notifications, stating my account balance was past due and will be shut down due to non payment, or nothing of the sort.

Now the time has come to find a new web host for a number of reasons that I won’t get into now, after doing some research I noticed that PHPWebHosting was getting great customer reviews. So I attempted to log in to my once established account at PHPWebHosting. The login was successful and I had an ‘Urgent Account Message’ that read:

Important: Your account is Past Due.
You need to update your billing information.

We are unable to bill your credit card on file. This is usually due to an expired or canceled credit card. Please take a moment to update your billing information in the billing section of the control panel.

Please click here to update your billing information now.

Please also make sure that your current email address is listed in the billing contact section of your account. We send all billing notices to the address listed as the account contact. If the address is not correct, you will not receive the notices. (click here to update your email address)

This was obvious to me, but what I was surprised about is how long they kept my account open for, without any type of email notification stating my account balance was past due, or in danger over being shutdown due to non payment. At this point I checked my Account Balance in the billing section of my control panel. What I found here was even more surprising..

phpwhbalance.jpg

Without even contacting customer support about my situation they credited my account with a “Courtesy Credit” which is something I’ve never herd of. So basically I was charged $59.70 for around 2 years of uninterrupted web hosting. So I’ve made my decision that I will be transferring my web host to PHPWebHosting which obviously offers outstanding customer service and premium web hosting services.

……………….