Archive

Archive for the ‘ZenCart’ Category

New Website for Activo: www.activo.com

November 23rd, 2010
Comments Off

I have good news and bad news to tell you, well it is not really bad news, but just wanted to use that saying…

The bad news is that this website is has just become absolute. Meaning we will no longer publish anything new or introduce any new content on this website. The good news is that we already have a new website and the new website can be found at www.activo.com. Notice that we got the domain name that we always wanted to have for Activo – Yeah!

Activo

For those of you who are interested, the new website was launched in late August of 2010. The domain was purchased back in November of 2009. The site currently already have twice the amount of traffic that this website has. The site also reflects a few changes in Activo:

  1. We moved our offices from Santa Clara to Los Angeles – and we love it down here. In fact LA is a great hub for techies and entrepreneurs, believe it or not.
  2. We now have a virtual team of developers, designers, and project managers. Yes – it was a decision we had to make back in the days before we moved and it turned out to work great. Our customers love it.
  3. We have decided to focus on Magento Development and Magento Extensions. I got to say, what a great decision that was!

So, check out the new website and our new blog. I (Ron Peled) will continue to post regularly about our daily grind and share with you as much as possible from what I am doing at any given time. Drop me a line if you have any suggestions or recommendations.

.NET Framework, AJAX, Content Management Systems, eCommerce, Ektron, Joomla, LAMP: Linux Apache MySQL PHP, Magento, Performance Optimization, PHP/MySQL, Project Management, Search Engine Optimization (SEO), Web Application Hosting, Web Design, Web Development, Web-based User Interfaces, ZenCart

ZenCart 1.3.8 and PHP 5.2.11 Bug: problem login to admin area

October 15th, 2009

Yes, I do have some clients that still use ZenCart. In fact, some ZenCart stores are doing very well in terms of SEO and more importantly, sales. This morning, I ran a routine yum update command on one of my clients servers. To my surprise, after rebooting the admin was inaccessible. I’ll share with you the symptoms so you can identify it and the solution that worked for me.

zencart-1.3.8-php-5.2.11-bug

The symptoms:

  1. Not able to login to Admin panel. More importantly, when you try to login it doesn’t show any error message.
  2. No admin is able to login, in other words, the problem is global.
  3. If you look in the php log files, you’ll find a similar line:
    PHP Fatal error:  Class ‘queryFactory’ not found in /var/www/html/includes/functions/sessions.php on line 54, referer: http://www.securepersonalcare.com/admin/login.php

What is happening:

While I am not sure exactly, this post in the ZenCart forums gave up a clue: it was something in PHP 5.2.11. Now, it may be a new bug in this new version or a bug that got resolved and as a result it broke something in the old ZenCart. Note that as of this writing, ZenCart 1.3.8 is about a year and nine months old. In internet time this is a significant amount of time.

The solution that

Once I had an assumption for what the problem is, I worked on reverting the PHP version to an older one. However, when I tried to revert using the Atomic repository – it did not work because while they do make old versions of php available, the php-common is not. I ended up removing the atomic repository and using CentOS repositories which provide PHP ver 5.1.6 something. Reinstalled, restarted apache, and vuala!

Now, only if the ZenCart team will get off their butts (or maybe get on their butts) and finish up what they call the next release of this eCommerce application!! What is the next version 1.4, 1.6, 2.0, 2.5? of ZenCart, well that is another discussion altogether.

ZenCart , ,

The Case for ZenCart: Supporting the Long Tail of eCommerce

June 18th, 2009

While Zen-Cart is one of the best open source ecommerce platforms it has plenty of deficiencies, however I recently understood that it will always be able to keep its niche and therefore always have a market.  Of-course this will remain the case as long as its leaders remain true to its spirit.

the_long_tail_of_open_source_ecommerce_platforms

Zen-Cart is an unwilling offspring of the popular osCommerce. Like all offsprings, it is an improved version of its predecessor with better templating system, class oriented design, and notification systems but still maintains its characteristics of spaghetti code and somewhat convoluted and non-flexible checkout process.

Zen-Cart’s strengths are its simplicity which gives many non-programmers the opportunity to tweak and add (or remove) features to their likings with no major effort. This means that implementing a Zen-Cart ecommerce website is usually inexpensive and fast. Another great benefit of the system’s simplicity is speed. Zen-Cart is many times lighter than many other ecommerce systems even without complex caching technologies. Together, these benefits support a specific market: the market of light ecommerce. I am talking about online shops with 1 to 100 daily transactions or even less. It can obviously support more than that but the simplicity and the light weight features will attract the small business which is budget oriented.

The light ecommerce market while being small in terms of overall sales figures is relatively large and will get larger and larger with time. This is also known as the long tail of any market, in our case it is the long tail of the ecommerce market. This means that the numbers of installations will most likely be large and not insignificant. It also means that it is a valid market and will not vanish overnight with any other solution such as Magento who now charges a hefty amount for licensing its Enterprise version.

Before you rush to declare this light and feature packed ecommerce platform the kind of the long tail ecommerce market, don’t underestimate the challenges that it is facing. With over a year and a half of no significant updates its market share is shrinking fast. The default template and the admin panel need some serious reworkings to get up to par in UI and design with other open source challengers and a major cleanup and reorganization of the backend configurations is way overdue. While it supports XHTML and validates correctly, the default template needs to be reworked without the tables.

In any case, Zen-Cart still serves its purpose as a free and light open source ecommerce platform. And here at Activo we have recently developed a Recurring Orders payment module that comply with PCI requirements and integrates well into the ARB module of Authorize.net. I’ll soon post links to an initial free version, a commercially licensed version should be available in about a month or so.

What do you think of ZenCart? here to stay or yet another open source project that will be lost in oblivion? somewhere in the middle perhaps?

eCommerce, Magento, Web Development, ZenCart , , ,

Open Source eCommerce: the Good, the Bad, and the Ugly!

January 28th, 2009
Comments Off

A few days ago I read Karry Watson’s article titled Open Source E-Commerce: Twelve Promising Programs. Karry provides a good overview of the current state of open source eCommerce options for online vendors. From our experience with many different vendors and from recent trends I wanted to discuss three open source ecommerce systems from Karry’s list that power most of the shopping carts out there, now and in the near future. Ugly first:

The Ugly: osCommerce

There is no hiding for this huge collection of 3 line scripts that somehow compose a shopping cart. I think any web developer that took a few classes of computer science knows that it is a big hack not a piece of software. Any additional functionality needs to be glued somehow and made work. Oh, by the way – good luck trying to use two extensions at the same time. Anyway, you see where I am going with this. Easy to setup, easy to use, not programmed well, hell to maintain, nightmaire to develop. Ugly.

The Bad: Zen-Cart

I personally fell in love with this shopping cart back in 2004 very close to the split from osCommerce. What a great energy this project had. The sky was the limit. Someone recently pointed out that open source fatigue happens to many projects: starts great, reaches pubirty, and starts lingering. Great codgin techniques, not complete by any means but every release converts more code into clean, object oriented, design pattern oriented beauty. Unfortunately, recently development has stalled. Ok, it didn’t, the developers are saying that they are very close to the next release which got extended (and additional features got added). Bottom line, no releases in 2008 at all. Meantime, where is our improved admin interface? Web 2.0 features? quantities by attributes? Bad.

The Good: Magento Commerce

Still new and growing fast. The new kid on the block. What I like about Magento is the solid foundation which is based on the Zend Framework. In a way, forcing good development practices: MVC, templating, scalability, layering, etc. Magento is here to stay, moreover, it will quetly revolutionize the open source ecommerce space and force all the players to push the envelop. This includes all the small size commercial shopping carts ($1-$2,000 per license). Good. Great!

What are you using? What are you going to use?

eCommerce, Magento, Web Development, ZenCart , , , ,

A list of CMS and eCommerce systems that officially support jQuery

December 7th, 2008

Last updated: December 7th, 2008.

Recently, jQuery – the agile JavaScript Library – has reached a tipping point. Here is a list of CMS and eCommerce systems that our clients are most interested in and their status with regard to jQuery.

Systems where jQuery is officially supported:

1. Microsoft has adopted jQuery and will offer intellisense support in its dominant IDE: Visual Studio 2008.

2. Umbraco - an open source CMS now offers jQuery by default and using jQueryin Umbraco is a matter of adding a simple call in order to include the jQuery files in the page.

3. Drupal - is an open source CMS and Framework CMS, as of version 5 it offers jQuery streight from its core. There are plans to build a centralized jQuery plugin in Drupal version 7.

4. Typo3 - is an open source CMS Framework. Typo3 has a jQuery extension that allows advanced integration with jQuery.

5. DotNetNuke - an open source ASP.NET CMS. Since October 2008 DotNetNuke offers built in jQuery support beginning with version 5.

Systems where jQuery is not supported:

1. Joomla - seems to favor Mootools over jQuery. Here is an article on how to support jQuery within Joomla and avoid conflicts with other libraries.

2. Zend Framework – the leading PHP Framework following the MVC design pattern. A press release was issued in May 2008 announcing Zend Framework and Dojo partnership.

3. Magento Commerce – an open source eCommerce platform that is gaining huge market share in the eCommerce industry. Currently Magento Commerce supports prototype JS library instead of jQuery, but offers ways to integrate jQuery easily.

4. Zen-Cart - an open source eCommerce (competing with Magento). At the moment Zen-Cart is not supporting any JavaScript library in its core.

Other systems and their relationship to jQuery:

1. WordPress - an open source blogging software. Uses jQuery for its core functionality and is avilable for any third party plugin.

2. Ektron CMS400 – Ektron has an enterprise level CMS with advanced content editing features. Oddly enough, Ektron seems to have embedded their own version of jQuery in their code.

While jQuery seems to be favored the favored JavaScript library by many developers, it has yet to be declared as the default one for many projects and systems. I’ll be keeping this list updated in the following months. Let me know if there is a system that interests you and I did not list it here.

Content Management Systems, eCommerce, Ektron, Joomla, Magento, Web Development, ZenCart , , , , , , , , , , , , , , , ,

Is Magento Commerce the new Joomla?

October 29th, 2008

If you are in the open source eCommerce industry, you probably heard about the new kid around the block: Magento Commerce. If you follow the industry news, you know that since its announcement back in April of 2007, Magento’s popularity is nothing shy of sky rocketing. Certainly feels like mid-2005 with the emergence of Joomla and the demise of Mambo in the CMS space. So, what makes this open source ecommerce platform so popular? What is it still lacking, but seem unimportant? First, we can clearly see an obvious trend: the emergence of Magento and the decline of both Zen Cart and osCommerce:

Search trends for the terms Zen Cart, osCommerce, and Magento

Search trends for the terms Zen Cart, osCommerce, and Magento

The notion of ecommerce built from the ground up with today’s modern tools gives shopping cart owners a warm  fuzzy feeling. Top it with the fact that the modern tools are solid MVC (Model View Controller) design pattern and the Zend Framework and you get a bunch of online stores that are ready to jump on this promising bandwagon. Ok, I am missing one important fact! These days, admit it or not, looks and coolness are gold. Not surprisingly, this is were Magento shines!

But wait a minute, is Magento Commerce ready for prime time? Well, this is where you see a divide in the industry, this is where the chasm and the bell curve comes in. Yes, Magento does lack performance, stability, scalability, and some trivial features that existed for many years in other carts like Zen Cart and osCommerce. But the trend is obvious and there is no going back. If history repeats itself Magento will become a leader very very soon!

Viva la competicion!

eCommerce, Magento, Web Development, ZenCart , , , , ,

5 Important Zen Cart Modules

September 28th, 2008
Comments Off

While Zen Cart is one of the most feature rich open source shopping carts out there, almost every developer ends up using a handful of modules from the free software add-ons of the official Zen Cart site. Here I include a short review of the 5 Zen Cart Modules that I find most useful in our implementations of client’s shopping carts:

1. Ultimate SEO

One of the must-haves for every Zen Cart shopping cart. The Ultimate SEO for Zen Cart module modifies the default clunky URLs to a more Search Engine Friendly (SEF) URLs. This means that instead of certain parameters in the URL, such as product id, category id, easy page id, etc, the actual name of the article is used.

What is nice about this SEF URLs module is that uses a technique that makes use of regular expressions and identifies the type of the page to display by a letter: ‘p’ for product page, ‘c’ for category page, etc. and it adds the specific id number at the end of the URL. While some claim that this may lower the relevance of the page for the more important keywords I have never seen a proof. On the flip side, due to the same reason, it is possible to display the same page with multiple URLs: great little feature that can be used in certain SEO strategies. Please be careful as it may also result in de-listing from Google.

2. Easy Populate

For store managers that wish to manage their entire catalog of products, categories, images, prices, etc. from a single excel spreadsheet. The Easy Populate Zen Cart Plugin was migrated from a similar plugin that wa originally designed for osCommerce. The Zen Cart Module has been adjusted for the tweaks in the DB architecture and some features were added in more recent versions of the module.

Once installed, this module offers downloading a tab delimited file with all the information laid out in a single big table for your entire catalog. This is key if one needs to manage a large number of products on a regular basis. Some tips to remember when using this module:

  • Before uploading any new products, download the latest spreadsheet and use it as a template for uploading new products or for updating existing products information.
  • The product model number is your anchor: this is the only value that does not change, anything else can be edited in this method. If you need to change the product model number, you will need to erase the old one and create a new one.
  • To delete a product change the action code to 7 and make sure the product model matches.
  • Never touch the last column – it serves as a control for the parsing function.
  • Always review the logs once you upload – this way you will reveal any anomalies like unusual characters in the product description that may throw off the rest of the table and hence introduce random irrelevant products or may even damage your DB.

3. Simple Google Analytics

Unless you are using a different analytics tool, the Simple Google Analytics Zen Cart Module makes it effortless to include the necessary code in all your pages. Once installed, copy and paste your Google analytics code.

While it is not important which specific tool you use for analytics (some are better than others, and some cost more than others, while Google Analytics is free up to a point), it is important that you track entry pages, exit pages, referring sites, etc. to your shopping cart. This is like the dashboard for any site that takes SEO seriously.

4. Time Zone Offset

Ever wondered why when you place an order at 9am you receive an email with the order information which confirms that your order was placed at 10am or 11am? the difference rises from differences in time zones between the business time zone and the server actual time zone. Some servers are physically hosted somewhere in the east cost while the business that owns and operates the store resides somewhere on the west cost. Hence the time difference. The Time Zone Offset Zen Cart Module comes to remedy this issue. Simple to install, and simple to use.

5. Backup MySQL Plugin

How can you backup your current state of Zen Cart? well, you need both the full set of files (which you most likely have) and a copy of the DB – which contains any recent live orders, customers info, modules settings, etc. The Backup MySQL Plugin makes it easy to extract a copy of the DB. Once installed, it takes backing up the currect DB is a matter of clicking a link.

While there are hundreds of modules all available for free for you to download and use on your Zen Cart, we have found that only a few are actually useful and will cause no headaches. The above list is a shortlist of Zen Cart modules that we have found useful in our implementations.

What modules do you find useful? What’s in your Zen Cart?

eCommerce, Web Development, ZenCart , , , , , , , ,

ZenCart and Magento for eCommerce

September 22nd, 2008

Anyone who is involved with an online shopping cart and was considering open source solutions probably stumbled upon two major ecommerce providers: ZenCart and Magento Commerce. ZenCart is an evolving and older shopping cart with roots in osCommerce, while Magento Commerce is a newcomer to this category written from scratch on top of the new Zend Framework. Since we support both platforms, we often are asked to provide a basic comparison analysis for the business owners and this is what I will try to do in this article.

ZenCart

This is a great open source shopping cart that can power almost any size eCommerce sites. We have successfully used ZenCart for sites offering 20 products all the way up to tens of thausands of products and variations (which by the way is connected to a POS and kept up to date to the minute). Since its fork from osCommerce ZenCart has gone through extensive development and now offers much broader extendability and robust template system. Some of the underlying systems that make this shopping cart so robust are: template system, initialization system, object autoloaders, plugins a-la observer design patern, flexible and extendible configuration system, and more.

One of the biggest disadvantages for ZenCart is that all these great systems were built on top and in an after thought to an existing platform. Hence, there are many dependencies and the learning curve for professional grade customization and development is steep. For example, one of the tasks that current core developers are working on is to transform additional funcitons to object oriented design, in other words, they are still trying to get rid of the spagheti code left from the osCommerce days.

Nevertheless, ZenCart is a true workhorse that has proven itself many times and with hundreads of thausands of stores world wide. In fact, it has excellent support for multiple languages and multiple currencies stores.

At Activo, Inc. we have developed many modules to enhance various aspects of the store: front end, specialized templates, taxes by zipcode, easy search suggestion tool, even a real QuickBooks integration module and a real time Point of Sale (POS) integration with RunIt systems.

One more thing that ZenCart excels in when the right modules and the right setup is applied is SEO (Search Engine Optimization). Once setup correctly, ZenCart is one of the most SEO friendly stores out there. I have seen multiple times where a brand new ZenCart store with some SEO efforts generating more than $50,000 per month in sales (within 2-3 months of Go-Live).

ZenCart bottom line: Great solution if you want to see a solid and proven shopping cart with mostly standard features and you do not care about the type of technology that powers it. Currently, for best and fastest deployment ZenCart is second to none.

Magento

Magento is a brand new (about a year old as of writing this article) and it is now beginning to see community and developer adoption. Magento is written on top of PHP5 and Zend Framework. A bit about the framework: the new Zend Framework is sponsored by industry leaders such as IBM and Zend and is largely based on the MVC design patern. In a way, it is the answer to the .NET framework in the PHP world. There are similar frameworks and they may even be older and more mature, like Symphony or CakePHP. However, since the Zend Framework is backed by both IBM and Zend it is very likely that this framework will become the industry standard.

Magento was developed from scratch and in an object oriented manner on top of the new Zend Framework. Therefore, it is expected to have better extendibility options for developers and much better module/plugin management consules in the back-end however will probably come at the expense of instability in the short term. Magento’s templates out of the box look sharp and eye candy. Its creator definitely placed an emphasis on the way it’s admin panel feels & looks and the way its demo templates look & feel. Additionally, almost all aspects of the UI feels a lot more like Web 2.0 with many AJAX features and many time saving UI features.

One of the biggest downsides to Magento is its current speed since it lacks an effort in optimizing its DB and overall structure. Hence, it is relatively heavy and requires a bit of advanced know-how when installing and setting it up. It’s forums seem to be gaining traction with developers and many developers say that once you migrate a store to Magento you will never look back.

Magento bottom line: While it is definitely a matter of time until we see the real value, Magento does seem to have some advantages over any other open source eCommerce system. Merely the fact that it was developed from scratch recently means that a whole lot of best practices are thought of right of the bat instead of showing as an after thought (which we as developers have to deal with it). Nevertheless, Magento’s forums indicate that the product has yet to have reached maturity. If you are ok with somewhat unstable solution and looking for the absolute cutting edge shopping cart Magento is for you!

eCommerce, Magento, PHP/MySQL, Web Development, ZenCart , , , , , , , , , , ,

3 Steps to Increase Your Website’s Traffic with Popular Keywords

September 21st, 2008
Comments Off

These days it is all about SEO (Search Engine Optimization) and SEM (Search Engine Marketing). Especially now with the financial and real estate markets in turmoil, businesses seek to conserve resources and perhaps try the alternative to online advertising; seo with keyword targeting.

Keywords from A Tweeter User (Tweeterstats.com)

The following three steps will help you refine content based on a list of selected keywords:

1. List Targeted Keywords

Make a small list (5-15 keywords) of keywords that relate to your industry. Only you will actually know what keywords relate best to your business and services. What you want to remember is to list keywords that you assume your target audience will search for not necessarily keywords that describe your services directly. Notice that keywords can also be key phrases, meaning 2 or 3 keywords that are joined together into a phrase.

2. Refine the List of Targeted Keywords to Targeted and Popular Keywords

Use one of the following free services (or all of them) to refine your list:

These free tools give you a list of related keywords and key phrases with the relevant popularity and lots of other statistics. For example, we provide services for clients who power their ecommerce sites with ZenCart. I typed ‘zencart’ into Google Adwords Keyword Tool and it shows that some of the most popular key phrases are ‘zencart hosting’ and ‘zencart templates’. As a result, pages that relate to ZenCart should have these key phrases in the text. Perhaps I will separate the zencart list of keywords from the rest of the keywords, etc.

3. Develop Content Based on Targeted Keywords

Now that we have a list of refined keywords, it is time to do something about it. Develop or refine your content around these keywords.

Of-course in each website there will be a hit or a miss. Keep exploring for new keywords on a regular basis and make sure to keep tracking the results or any changes that occur as a result of your refined content.

Do you want to share your methods of achieving high levels of targeted traffic?

Search Engine Optimization (SEO), Web Development, ZenCart , , ,

Looking Ahead: ZenCart ver 1.4

August 25th, 2008

The ZenCart developer team seems to be hard at work and preparing to deliver a new version of ZenCart: ver 1.4. The core developers posted a roadmap brief for version 1.4 back in September of 2007. Recently, additional entries have been posted in the forums describing in more detail the upcoming changes and signaling a new release is to be expected soon.

The currently described updates to ZenCart are done all around the DB, its architecture, and improving its performance. To summarise from the ZenCart forums:

New Database Driver Layer
Extremely light/flexible drivers make it easier to support other Database Types
Preliminary support for innodb and mysql transactions

Sql Caching system rewritten
Much easier to add new caching types
Preliminary Support for Memcache

Use of MPTT for category structure
Reduces number of queries needed to ‘describe’ the category structure
Improves user experience thru reduced page load times

Supporting Classes to reduce query load
Hugely reduces queries needed
Reuses queries using Cache to further improve performance

The roadmap for ZenCart ver 1.4 promises the following updates to the code (summarized):

  • Better usage of PHP 5.2 features. This also means 5.2 will be the new minimum requirement.
  • More Object Oriented code, less of the old osCommerce code.
  • Lots of DB improvements (some is described above, seems more is yet to come).
  • Category structure converted to MPTT format. MPTT stands for Modified Preorder Tree Traversal (explanation of MPTT).
  • Performance improvements for sites with lots of product attributes.
  • More function libraries converted to classes.
  • Duplicate components shared between admin and catalog.
  • Template system enhancements: less tables and more admin control.
  • Additional notifiers for the observer system.
  • Transaction support with InnoDB. Also mentioned as initial stage according to the recent posts of the updates that were done so far.
  • SwiftMailer instead of phpMailer.
  • Stock and SKU per product attribute.
  • Security enhancements.

Keep up the good work!

eCommerce, PHP/MySQL, Web Development, ZenCart , , , , , , , ,