Live data from Hacker News

Show HN: Thirty Bees – A PrestaShop 1.6 fork

thirtybees.com

41–50 of 63 posts

Re: Show HN: Thirty Bees – A PrestaShop 1.6 fork

#41
post #16
post #10

Earlier quoted context omitted.

Urgh. It has been several years now since I last had to deal with Magento, and nothing I've seen over the years suggests it has got any better. At the time, the final product was arguably a case of code that is far too split up, resulting in quite some system penalties. I get the advantage of developing that way, but I wonder if they'd have been served better by somehow writing stuff to combine libraries together for…

There is a completely re-written Magento 2 out now, in case you were curious. I have high hopes for it's future as it has some great minds behind it, but unfortunately at the moment it has some very key usability issues for developers and they are still making grand architectural changes to some components in a not so friendly fashion, so it is hard to iron those issues out yourself. It is still an incredibly complex…

Magento have had a bug in 2.1 Since September last year which they still don't seem to have fixed which basically breaks any 3rd party import / export / sync[1].

Not only that, but it was assigned an "internal jira ticket" near the end of October and there hasn't been any further notification since.

This isn't an isolated incident. They spend a lot of money on marketing and conferences, yet the developer community seem to get less feedback than a one-person open-source labor-of-love provides. It's obvious (and has been for years) that Magento are really about the Enterprise version, and the Open Source version is really just a tip of the hat to their original legacy.

I still do consultation for it, but I no longer recommend it. I actually now actively suggest that people looking for ecommerce solutions look elsewhere.

Re: Show HN: Thirty Bees – A PrestaShop 1.6 fork

#42
post #31
post #29

Earlier quoted context omitted.

Have you ever worked with Magento? With 1.8+ I found customisation very tedious and unpleasant, documentation virtually non-existent, 3rd party code unreliable, and CMS functionality lacking. Perhaps it's come a long way since then but I wouldn't bet on it.

Good bet. Magento 2 isn't any easier to develop for. As for the CMS, Magento has recently purchased Bluefoot CMS which I take to mean they are looking at improving the CMS experience, maybe just for enterprise sigh

Stay tuned regarding that.

Re: Show HN: Thirty Bees – A PrestaShop 1.6 fork

#43

Can anyone suggest a good writeup on the problems with magento and the existing solutions? I honestly thought storefronts were basically a solved problem, with options like Shopify, WooCommerce+Wordpress, existing.

I have been working with Magento CE 1.x for several years now. I have spent at least a hundred hours inside the debugger carefully stepping through the seventy layers of its core code to make sense of it. I can list a lot of problems I have seen in it. However, I cannot recommend any alternatives: I refuse to touch WordPress because it's WordPress, I have no intention of using OpenCart because I have already tried it once and its author is a crazy man, and I have no experience with Shopify or Prestashop.

Business issues:

* Magento is in control of your price structure. You will structure your prices in the way that Magento allows, or you will suffer. Our client was not happy with the price calculation, so we spent hundreds of hours changing it thoroughly. Do you want tier prices for product options? Too bad. Do you want customer group prices for product options? Too bad. Do you want to set discount values as "discount this much after applying all taxes" (e.g. because your shop displays only prices after tax)? Too bad, all you can do is "discount this value on the untaxed price, plus whatever reduction that makes on taxes" or "calculate the discount amount off the taxed price, then discount that much off the untaxed price". And once you have made some price customizations, the customer will find an extension that does something to the prices and breaks your changes in a creative, subtle, and unexpected way.

* The CMS part of Community Edition is a joke without a punchline. It doesn't even have any menu module, only the ability to manage pages with content dumped in an RTE.

* Our clients were originally in love with Magento because "we can just add all these existing modules and get all sorts of awesome functionality without having to pay you for it!" We warned them that that was a pipe dream, but they didn't listen. Now they have several thousand hours worth of custom development on top of Magento 1.x (95% of it written solely by me, no bus factor problems with that) and they're still asking for more. Last I checked, the end-of-life for M1.x is planned in December 2018, and the client has no plan for what to do then.

Technical issues:

* The database API has an "you want it, you got it!" mentality - if you tell it to add a unique index and MySQL refuses to because existing data is not unique, the API will parse the MySQL error message to identify the duplicated fields/values and delete the duplicate rows silently. You will get your index, but you might no longer have all your data. [0]

* The model classes store nearly all the in-memory data in an untyped dictionary. You can call $model->setFoobar('12345') and later $model->getFoobar() to get it back - all unknown method calls get forwarded to a "catch-all" method which treats the method name as a key into this dictionary, and gets/sets a value of that key [1]. Most of the time, these calls are unannotated, so IDEs can't make any sense of them (see the "Undefined method" part in [2]). This magic is also a performance issue, so they make optimizations like [3] by inlining pieces of the catch-all handler code for commonly-used data.

* EAV models. In theory, a workable idea, and you can even make your own EAV models if needed. In practice, you need to spend a lot of time in the debugger stepping through the code to figure out what code in the Product or Customer classes needs to be copied into your custom EAV model to make it work right, because the core EAV model doesn't have half the needed functionality.

* Misleading code comments and annotations. Nothing like finding a method whose phpdoc says it returns a class that does not exist in the codebase.

* XML configuration jungle:

* Module configuration and theming configuration is based on heaps of XML that has no schema. Module configuration combines XML documents in the "there can be only one" manner (if two documents have XML nodes with the same path, the second one's value overwrites the first one), specifically so modules can change each other's configuration.

* Theming layer operates on "blocks", which are basically a PHP class with a corresponding .phtml template file. These blocks are defined, managed, and composed through XML files. You can even encode instructions like "after creating this block, call its method foo()" in the XML. If your theming doesn't seem to take effect, you get to step through the loader to figure it if it's not loading your file, if some file loaded later is giving different instructions, or if you placed your code in the wrong place in the XML structure. Or if there's some extra XML configuration in the database specifically for this category/product/CMS page. Happy hunting!

* Using third-party modules and themes is a russian roulette:

* Magento includes a "Developer Mode" where php notices and warnings are turned into exceptions like in sane languages. However, lots of modules and themes have never been tested with this setting on and they cause faults on every page load - either you have to disable the Developer Mode, or fix this third-party code.

* Some modules are well written, some do crazy things completely at odds with Magento workflow (e.g. an extension to set custom tier prices that calculates them when you load the product from the DB and ignores the precomputed price index in the DB), some are downright broken. And some of them contain gaping security holes – are you going to audit all the third-party code you include [4]?

* Magento core JavaScript is based on Prototype.js, not jQuery, so half the modules and themes bundle their own copies of jQuery and drop them in different locations. Some of them provide a configuration setting so you can disable their jQuery and use your own, some don't. I have seen a page that loaded Prototype, ExtJS, jQuery, and Angular side by side.

* As with every extendable system, some extensions don't work well together. Every module has the ability to override a Magento core class. Fun happens when two different modules want to override the same core class.

* Other

* Performance is demanding. You need powerful hardware and good caching to get good performance. And then you'll get that one extension that tanks your performance, like the Analytics plugin that loads each product in a category individually to send its data to Analytics when you view the category page.

* Security updates are fun. When you log into the admin panel, you will see a notification about a new security update. This notification shows up because a scheduled task periodically fetches a news feed, which contains security alerts, new version announcements, marketing spam, and whatever else Magento wants to show you. You read the notification, and follow a link to the Magento downloads page. There, after logging in, you can find and download a .sh file which contains both the patcher and the patch content itself. Run it to apply the patch. If the security issue is critical enough, Magento will publish a repeated reminder to apply it a few days later. Which your news feed will again pick up and dutifully display to you, despite the fact that you've already applied that patch. You will also get a panicked call from the client because he logged into the backend and saw that message too.

* Some things are just silly:

* Translation manager cannot cache the translations correctly, you get different translations for the same input with caching enabled and disabled.

* One class has both escapeUrl() and urlEncode() methods, and neither of them actually does URL encoding.

[0]: https://github.com/OpenMage/magento-mirror/blob/magento-1.9/...

[1]: https://github.com/OpenMage/magento-mirror/blob/magento-1.9/...

[2]: https://imgur.com/RMxWEgR

[3]: https://github.com/OpenMage/magento-mirror/blob/magento-1.9/...

[4]: https://news.ycombinator.com/item?id=13100162

Re: Show HN: Thirty Bees – A PrestaShop 1.6 fork

#44

Earlier quoted context omitted.

We have the GH organization created. Its all private for the moment. Basically we have never forked a software like this before. We are going over the license and trying to make sure all our i's are dotted and our t's are crossed so we do not end up in a lawsuit. The project will totally be open source, it will be under the same license that the code is currently under OSL 3.0. We aren't trying to bait and switch I p…

thank you for clarifying that. However, I think after reading the comments below that the scope of the project is to maintain backward compatibility with the agencies/authors of plugins in the Prestashop ecosystem. What we were looking for is something that was trying to do new in the webshop ecosystem. Even I misjudged your "lack of MVC" comment below. My perception was that you were bringing together a lot of peopl…

> What we were looking for is something that was trying to do new in the webshop ecosystem.

Did you look at http://sylius.org/ ?

Re: Show HN: Thirty Bees – A PrestaShop 1.6 fork

#45
post #16

Earlier quoted context omitted.

There is a completely re-written Magento 2 out now, in case you were curious. I have high hopes for it's future as it has some great minds behind it, but unfortunately at the moment it has some very key usability issues for developers and they are still making grand architectural changes to some components in a not so friendly fashion, so it is hard to iron those issues out yourself. It is still an incredibly complex…

Magento have had a bug in 2.1 Since September last year which they still don't seem to have fixed which basically breaks any 3rd party import / export / sync[1]. Not only that, but it was assigned an "internal jira ticket" near the end of October and there hasn't been any further notification since. This isn't an isolated incident. They spend a lot of money on marketing and conferences, yet the developer community se…

Curious, where do you suggest they look? FWIW I'm all for getting merchants and their tech teams on the right platform for them - no solution works for everyone.

As for us (Magento): Our velocity in handling GitHub issues and PRs for M2 has been really, really slow. This is partly due to the volume of reports, and partly due to some inefficiency in our own house. We're fortunate that we have a huge, engaged community who have continued to be patient with us - however, we know that patience has worn thin. People have work to do! Merchants have customers to please!

Starting a couple of months ago, the factors around this have started to change for the better. We've dedicated a large portion of our team to working on issue support, and I've been having calls & conversations this week which indicate further shifts for the better.

In the next week or so, I (@benmarks) and/or our new SVP of Product & Technology (Jason Woosley - @jasonwoosley_mg) will post more about the current state as well as upcoming changes.

Hopefully in the future you will be able to recommend Magento 2 when appropriate. Of course, it is on us to demonstrate real improvement.

In the meantime, my inbox is always open: ben@magento.com

Re: Show HN: Thirty Bees – A PrestaShop 1.6 fork

#47
Seems premature to announce like this before you even have a new version to show. I would think you would make the fork version and say "Here is our alternative. We have done X, Y and Z. Join us." when you announce.

Anyway best of luck to you.

Re: Show HN: Thirty Bees – A PrestaShop 1.6 fork

#48

Earlier quoted context omitted.

I really think you are pulling an outsider looking in on this. PrestaShop HAD 9m in funding. It was wasted on deploying a cloud which is being shut down on Feb 1. It was wasted on a myriad of other things. As someone that works in depth with PrestaShop, very in depth, I don't think they can do it. I talk to the founder regularly, I actually emailed him and let him know we were forking. I believe in that kind of court…

very well. could you atleast put up the gitter and allow us to sign up there. mailing list feels very "commercial"

Hi Zebra, I might be getting old, but your request seems very strange to me.

I have subscribed many mailing lists during my life and there is no single one that I could define in any way as "commercial".

On the other side, Gitter is a commercial platform that depends on one of two other commercial platforms (Twitter or Github).

I wonder if I should revide my opinion on the usage of Gitter for free software projects...

Re: Show HN: Thirty Bees – A PrestaShop 1.6 fork

#50
post #43

Can anyone suggest a good writeup on the problems with magento and the existing solutions? I honestly thought storefronts were basically a solved problem, with options like Shopify, WooCommerce+Wordpress, existing.

I have been working with Magento CE 1.x for several years now. I have spent at least a hundred hours inside the debugger carefully stepping through the seventy layers of its core code to make sense of it. I can list a lot of problems I have seen in it. However, I cannot recommend any alternatives: I refuse to touch WordPress because it's WordPress, I have no intention of using OpenCart because I have already tried it…

> like the Analytics plugin that loads each product in a category individually to send its data to Analytics when you view the category page.

Curious to know which plugin you're referring to?

Post reply on HN