Post by Malaiac » Thu Jan 14, 2010 7:46 pm

Hi all,
pardon my english, je suis francais :)

I'm new to OpenCart.
Webmaster of a medium ecommerce website since 2003 (Actinic > OsCommerce), we were feeling the need for a change since 2007, but waiting for OsCommerce v3 to be released. Since the first RCs are basically a joke (no OOP, no templating, etc), I choose to switch from OsCommerce. After a few comparisons (mainly Prestashop vs Opencart vs WP eCommerce - I'm a WP developer since 2006), OpenCart seems the good choice.

+ of Opencart :
+ very fast (time to first byte under 0.5 sec, full load of front end demo page - not optimized btw - under 8 sec, versus 10 sec for PS)
+ young (more flexible)
+ relatively easy to customize (vs Prestashop)
+ no Smarty (a pita)

- of OpenCart
- MVC. which means useless complexity
- young (less features)
- 3 to 6 files to code the smallest module
-- no hooks !! that's a big - , see WP which greatly benefits from the hook system, allowing even junior developers to achieve complex plugins.
- (hook related) no pre coded way to do small things (add an admin menu / submenu, filter the description of products, etc.)
- translation system is file based, I'd much rather have a po/mo translation system, which is error proof, degrades nicely (instead of missing file Fatal Error)


Background:
2 OsCommerce websites, heavily customised
more than 20 WP websites in production, some with more than 100k PV / day

The main tasks I'm going to work on :
OsCommerce importer (full import, products, attributes, customers, orders)
Automated SEO URL (translate products and categories names into clean URL slugs)
Adding hooks : I don't know the viability of this, but I know hooks are a powerful boost to community development.

New member

Posts

Joined
Thu Jan 07, 2010 12:06 am

Post by Malaiac » Fri Jan 15, 2010 12:34 am

A few questions :

MySQL schema :
why are tables utf8_unicode and not utf8_general ?
why are tables MyISAM and not InnoDB ? ecommerce generally goes around with the level of strictness that comes with InnoDB and foreign keys constraints.

Is there any hope / way that a hook API (actions and filters) be implemented one day ? or does the general structure of OpenCart prevent such thing ?
(for example, is there any easy way to filter the product description text before display ?)

New member

Posts

Joined
Thu Jan 07, 2010 12:06 am

Post by Qphoria » Fri Jan 15, 2010 1:05 am

All pages are loaded through the system/engine/controller.php render() function so that is a possible place.
I have a topic on hooks here:

http://forum.opencart.com/viewtopic.php ... oks#p29654

I did create a hook that would change all links to red via the str_replace method mentioned there, but I couldn't think of a lot of applications for it.

Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by i2Paq » Fri Jan 15, 2010 3:04 am

Malaiac wrote:Hi all,
pardon my english, je suis francais :)
Bienvenue et bonne soir!

Thats all the French I can manage :D

Welcom to our forum and the osCommerce importer you plan to work on sounds great!

I have a heavely modded osCommerce shop and also waited on v3.x, after looking at PrestaShop I focus on OpenCart as this is by way the best I've seen after osCommerce 2.2.

Norman in 't Veldt
Moderator OpenCart Forums

_________________ READ and Search BEFORE POSTING _________________

Our FREE search: Find your answer FAST!.

[How to] BTW + Verzend + betaal setup.


User avatar
Global Moderator

Posts

Joined
Mon Nov 09, 2009 7:00 pm
Location - Winkel - The Netherlands

Post by levon » Fri Mar 05, 2010 11:22 pm

Malaiac wrote:A few questions :
why are tables MyISAM and not InnoDB ? ecommerce generally goes around with the level of strictness that comes with InnoDB and foreign keys constraints.
First of all sorry for my English.
I'm totally agree with Malaiac. Using MyISAM on all tables is unacceptable. I'm new in e-commerce, but have 5 years experience in web development(PHP, JS, MySQL etc.). After trying demo of 15-20 e-commerce frameworks(site templates) I have downloaded 5 of them to have a look on a code. The best was opencart (v1.4.0)! The only one codded in right MVC(L) model. JQuery also a plus. Unfortunately v1.4.0 still has bugs and when I have a look on database to fix one (see bellow) I saw that all tables are MyISAM.
I suggest authors of this very nice project to make one stable realise. And begin from InnoDB tables and foreign keys constraints.

BUG: (It's not official bug report, just to understand importance of foreign keys constraints)
In admin: After adding new GEO zones and using them in shipping methods I can remove GEO zone (without any prompting, that they are in use). Shipping method still works :-?
In shop: After adding new GEO zones and using them in shipping methods new shipping method appears if Country/Region corresponds to new GEO zone. After removing GEO zone. Shipping method still works :-(
In admin: Add new GEO zones and use them in shipping method.
In shop: Shipping method for new zone doesn't work :-( It is not appear :-(

The main idea is if you add/remove/add/remove same thinks many times. Probably you forgot to do it in one of the tables (now I don't know in witch one but will inform in bug trucker after debug).
This bug just an example that if you have foreign keys connections you will never have such bug.

New member

Posts

Joined
Fri Mar 05, 2010 9:36 pm


Post by Qphoria » Fri Mar 05, 2010 11:29 pm

levon wrote: In shop: After removing GEO zone. Shipping method still works :-(
Thats not entirely accurate. I agree there is a bug, but it's a little "feature" that checks if the shipping method session was already set once, then it won't try to reacquire shipping rates unless the cart status changes or address changes. So if you load the shipping page, then go delete the shipping option, and reload the shipping page, it will still show that shipping from the session variable. Only after clicking "update" on the cart page or changing your address will it recheck the shipping rates and then see it is not available.

So you are likely seeing this behavior. And in my mind it's not the best way because it leads to confusion in testing. Might be ok for a live shop but its more of a hack and not something that should be in the core. I've already wrote a bug for this particular "feature" as well.
[/quote]

Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by levon » Sat Mar 06, 2010 12:02 am

Qphoria wrote:
levon wrote: In shop: After removing GEO zone. Shipping method still works :-(
So if you load the shipping page, then go delete the shipping option, and reload the shipping page, it will still show that shipping from the session variable. Only after clicking "update" on the cart page or changing your address will it recheck the shipping rates and then see it is not available.
Dear Qphoria,
I'm not sure that this topic is a place to discuss about this particular bug ... in any case ... The bug reason is much deeper, not the sessions (I sow that You hold in session sometimes much more than needed :-) ). During my tests, I clear each time cookies and sessions and begin new checkout. (By the way I got also js error "getMethods is not defined" wile changing country).
But I would like to listen comments about database tables (InnoDB). Are you going to make version with revised tables structure (indexes are also not setted as needed)?
Thanks for reply.

New member

Posts

Joined
Fri Mar 05, 2010 9:36 pm


Post by Qphoria » Sat Mar 06, 2010 12:07 am

levon wrote: By the way I got also js error "getMethods is not defined" wile changing country).

yea that was also already reported and fixed. You've come to us at a crossroads of new design. 1.3.2 was the most stable.. then 1.3.4 came out and 1.4.0 changed quite a bit in the template area.. so it hasn't been hammered down to stable yet. There are some project management issues to work through.

levon wrote: But I would like to listen comments about database tables (InnoDB). Are you going to make version with revised tables structure (indexes are also not setted as needed)?
Thanks for reply.
Regarding innoDB, this would probably be best discussed in the Development forum. It has been discussed before. Daniel is the only core developer of OpenCart so only he makes those calls.

Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by Daniel » Sat Mar 06, 2010 1:04 am

+ of Opencart :
+ very fast (time to first byte under 0.5 sec, full load of front end demo page - not optimized btw - under 8 sec, versus 10 sec for PS)
+ young (more flexible)
+ relatively easy to customize (vs Prestashop)
+ no Smarty (a pita)
How cares about smarty!

- of OpenCart
- MVC. which means useless complexity
Its not complex if you understand it. and offers better flexibilty than a procedurally programmed page.

- young (less features)
OpenCart is not young and is older than prestashop! In fact it has just as many if not more features than prestashop. Just not the same features such as prestashops RMA system. I'm not sure but I don;t think prestashop handles downloads. I could be worng because it didn;t do it when i last looked at it. thats a big missing feature!

- 3 to 6 files to code the smallest module
Well that because of so many layer like language files. all needed.

-- no hooks !! that's a big - , see WP which greatly benefits from the hook system, allowing even junior developers to achieve complex plugins.
you don't have a clue about programming. this is handled by the front controller. opencart does things the right way using pre actions. the front controller is a design pattern and hooks are not. look it up.

- (hook related) no pre coded way to do small things (add an admin menu / submenu, filter the description of products, etc.)
- translation system is file based, I'd much rather have a po/mo translation system, which is error proof, degrades nicely (instead of missing file Fatal Error)
Well thats your stupied opion. maybe when you have developed as many thought out applications as i have then i might listen to you.

Prestashop is structured badly. you can not stucture code well having pages programmed procedurally.

OpenCart®
Project Owner & Developer.


User avatar
Administrator

Posts

Joined
Fri Nov 03, 2006 6:57 pm

Post by Qphoria » Sat Mar 06, 2010 1:10 am

Daniel wrote:+ of Opencart :
+ no Smarty (a pita)
How cares about smarty!
I think he was saying that NOT having smarty was a PLUS (good thing)
- (hook related) no pre coded way to do small things (add an admin menu / submenu, filter the description of products, etc.)
- translation system is file based, I'd much rather have a po/mo translation system, which is error proof, degrades nicely (instead of missing file Fatal Error)
Well thats your stupied opion. maybe when you have developed as many thought out applications as i have then i might listen to you.
Well I have to say a hook system is still needed.. even if it uses the preaction design, there needs to be a way to dynamically add into that preaction without editing the index.php file

And the filebased language is ok, but he is right about the missing file Fatal Error. It should use the same design as the template with the fallback to english. I had this in my Improved Language Library, but the changes to the language class broke that. Still, it would be better to degrade things like custom modules back to the included english language than to show a fatal error about a file not being found for their language.

You need to be able to accept some constructive criticism or explain why certain things were done in a sensible way rather than lashing out to everyone. That is the biggest bug of OpenCart.

Firefox is the most popular browser because of their dynamic extension system
Wordpress is the most popular blog because of its plugin system
SMF is the best forum (i don't care what others say) because of their dynamic plugin system.

The goal really is to make something that can be "extended" as you will never make everyone happy with a single cart. But if you make something that can be hooked and extended and improved upon, using the cart as a base, that is the main goal. That will make OpenCart popular and successful. The defensive attitude doesn't help. When 70% of the community asks for the same thing, then we can't all be wrong.

Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by joop » Sat Mar 06, 2010 4:04 am

Well thats your stupied opion.
Bit of 'sitting on a high horse', your code is good but not that good.

Newbie

Posts

Joined
Fri Feb 05, 2010 11:17 pm


Post by tintedpixel » Sun Mar 07, 2010 2:46 am

I think Daniel's remarks on this thread are a bit pointed... bad day perhaps? Just remember, no matter how good your Kung-fu is, there is ALWAYS someone who is better.

http://www.tintedpixel.com
Web Centric Creative


User avatar
New member

Posts

Joined
Fri Sep 25, 2009 11:56 pm
Location - Denver, Colorado

Post by hottiger » Mon Mar 08, 2010 9:00 pm

tintedpixel wrote:I think Daniel's remarks on this thread are a bit pointed... bad day perhaps? Just remember, no matter how good your Kung-fu is, there is ALWAYS someone who is better.
It's a shame though as that attitude could scare away potential users and with the way this project is heading my fear is this community will die out.

New member

Posts

Joined
Tue Jan 05, 2010 3:00 am
Location - United Kingdom

Post by i2Paq » Mon Mar 08, 2010 9:28 pm

hottiger wrote:
tintedpixel wrote:I think Daniel's remarks on this thread are a bit pointed... bad day perhaps? Just remember, no matter how good your Kung-fu is, there is ALWAYS someone who is better.
It's a shame though as that attitude could scare away potential users and with the way this project is heading my fear is this community will die out.
I'm always curious when someone says this what he/she thinks what the way is this project is heading and why it will die out...

Norman in 't Veldt
Moderator OpenCart Forums

_________________ READ and Search BEFORE POSTING _________________

Our FREE search: Find your answer FAST!.

[How to] BTW + Verzend + betaal setup.


User avatar
Global Moderator

Posts

Joined
Mon Nov 09, 2009 7:00 pm
Location - Winkel - The Netherlands

Post by joop » Mon Mar 08, 2010 10:46 pm

I'm always curious when someone says this what he/she thinks what the way is this project is heading and why it will die out...
Babelfish ? :D

I think because the momentum seems to has gone and instead of building a stable release Daniel has decided to go for the multi-store option wich is requested by about 0.5% of the OC users.

Have a look at osQuantum.

Newbie

Posts

Joined
Fri Feb 05, 2010 11:17 pm


Post by niuserre » Mon Mar 08, 2010 10:48 pm

i2Paq wrote:
hottiger wrote:
tintedpixel wrote:I think Daniel's remarks on this thread are a bit pointed... bad day perhaps? Just remember, no matter how good your Kung-fu is, there is ALWAYS someone who is better.
It's a shame though as that attitude could scare away potential users and with the way this project is heading my fear is this community will die out.
I'm always curious when someone says this what he/she thinks what the way is this project is heading and why it will die out...
Because if you don't have faith in the lead developer it's very hard to have faith in the project. People will eventually either go elsewhere or fork the project. And forking often ends badly, but not always (WordPress was a fork).

I like OpenCart but I'm worried.

Newbie

Posts

Joined
Sat Feb 06, 2010 8:33 am

Post by i2Paq » Mon Mar 08, 2010 10:49 pm

joop wrote:
I'm always curious when someone says this what he/she thinks what the way is this project is heading and why it will die out...
Babelfish ? :D
Why, you speak Dutch so you understand ;D
I think because the momentum seems to has gone and instead of building a stable release Daniel has decided to go for the multi-store option wich is requested by about 0.5% of the OC users.
I cannot say what the next release will have "in store" (lol), but just wait.
Have a look at osQuantum.
looking everyday, forum/activity is almost death......

Norman in 't Veldt
Moderator OpenCart Forums

_________________ READ and Search BEFORE POSTING _________________

Our FREE search: Find your answer FAST!.

[How to] BTW + Verzend + betaal setup.


User avatar
Global Moderator

Posts

Joined
Mon Nov 09, 2009 7:00 pm
Location - Winkel - The Netherlands

Post by i2Paq » Mon Mar 08, 2010 10:52 pm

niuserre wrote:
Because if you don't have faith in the lead developer it's very hard to have faith in the project. People will eventually either go elsewhere or fork the project. And forking often ends badly, but not always (WordPress was a fork).

I like OpenCart but I'm worried.
I have faith in Daniel and I know that he listen to the advice given by many of us.
He is not like the developer of osCommerce.

Sometimes it takes time to change your ways and let go and except a new route that will lead to a better product but more important; to a better life.

Norman in 't Veldt
Moderator OpenCart Forums

_________________ READ and Search BEFORE POSTING _________________

Our FREE search: Find your answer FAST!.

[How to] BTW + Verzend + betaal setup.


User avatar
Global Moderator

Posts

Joined
Mon Nov 09, 2009 7:00 pm
Location - Winkel - The Netherlands

Post by tintedpixel » Mon Mar 08, 2010 11:55 pm

Not to beat a dead horse, but the whole point of this thread, and something Q mentioned early on is that a good project gets better when intelligent discussion is encouraged. A well developed project is going to attract good developers who will have opinions to share. That is a good thing.

Over the past (wow almost year) I have been following this and various manifestations of this project and I have found that Danial can be curt and somewhat off-putting when someone has feedback that differs from his view. But how many of us take criticism well (even when it is constructive). That is the difference - and what makes a good leader great.

http://www.tintedpixel.com
Web Centric Creative


User avatar
New member

Posts

Joined
Fri Sep 25, 2009 11:56 pm
Location - Denver, Colorado
Who is online

Users browsing this forum: No registered users and 100 guests