Jump to content

Welcome, Guest!

By registering with us, you'll be able to discuss, share and private message with other members of our community.


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Traumflug

  1. How to handle this mess in a good way, so it always either works or gives a meaningful error message when it doesn’t? A long term solution is certainly to do not one Ajax request for all modules, but one such request for each one module. To solve the problem at hand ... it's a bit of a guess right now, but I think it works to save a list of all folders in modules/, then to remove all these module folders, except tbupdater, before starting the installation. Can be done via shell or via FTP. Then start the installation, the module installation step should finish pretty quickly. This bare-bones installation should basically work, even with the shop front page being almost empty, no admin dashboard, etc. Then one can install all the modules the usual way, one by one, in Backoffice. It's not even necessary to restore all the module folders.
  2. Excellent, thanks for the outline, @Occam. Actually I thought about rewriting AEUC, too, but so far I had no golden idea on how to do it substantially better. Applying rule by rule, as written into law, can be done, of course, but also inevitably ends up in a large pile of hardly maintainable code.
  3. @marci123 Man kann 30bz durchaus als PS 1.6 sehen, das eben nicht ausläuft. Dem werden sich auch die Modulentwickler nicht entziehen wollen, wenn sie mit ein wenig Pflege bestehender Software durchaus Umsatz machen können. Hier im Forum treffen quasi jeden Tag neue Benutzer ein, die gerade am migrieren sind oder schon migriert haben. Dazu all die, die auf thirty bees setzen, ohne sich hier zu melden.
  4. Perhaps it'd be a good idea to make a list of what distinguishes a B2B shop from a shop displaying prices without tax, then. I'm aware of these: Prices are displayed without tax, still tax is added to the price to pay and mentioned at the bottom of the cart/checkout and on the invoice. A mechanism making sure a customer is indeed a business customer. Typical solution is to ask the customer for a tax ID (available field on the signup page), then to give these customers some property qualifying them as B2B customers (doable by assigning them to a group). Allow customers to order without paying (payment happens by invoice later). As you talk about "how the checkout and invoice should look like": well, that's exactly what I mean, too: it's a pure display thing. All the core calculations remain the same. Instead of checking a shop-global flag/property, one better looks for a customer group property when rendering the screen and PDF display.
  5. Da wir jetzt auch einen deutschsprachingen Bereich hier im thirty bees Forum haben, will ich alle Betreiber deutschsprachiger Shops willkommen heissen. Zur Geschichte von thirty bees Die Geschichte von thirty bees (immer klein geschrieben) begann mit einem Fork von PrestaShop im Januar 2017 und hat sich seitdem schnell weiter entwickelt, obwohl die Kompatibilität zu PS 1.6.1 weiter gepflegt wird. Warum thirty bees? Am auffälligsten ist, dass thirty bees durch diverse Änderungen im Hintergrund deutlich schneller arbeitet. Es gibt jetzt z.B. einen Full Page Cache, dafür ist die HTML-Minimierung weggefallen. Auch der Code wür die Datenbank-Zugriffe wurde überarbeitet, wodurch diese rund 15% schneller wurden. Gleichzeitig bleibt die nahezu volle Kompatibilität mit PS-1.6.1-Themes und Modulen erhalten. Nach und nach konnte bestätigt werden, dass die meisten Module ohne Änderungen weiter funktionieren. Braucht man also das eine oder andere Extra-Feature, einfach bei den PS-AddOns nachschauen. Die Migration ist denkbar einfach. thirty bees bietet das Modul "OneSixMigrator" an, das im PS-Shop installiert wird und mit dem man diesen Shop mit wenigen Mausklicks in einen thirty bees Shop migrieren kann. Der wichtigste Grund für thirty bees scheint mir die Kultur des Umgangs mit Macken (bugs) und Benutzerwünschen zu sein. Für Benutzerwünsche gibt es eigens einen Bereich Feature Requests, in dem man seine Stimme für (oder gegen) Verbesserungen abgeben kann. Pull Requests werden nicht liegen gelassen, sondern oft noch am gleichen Tag behandelt. Um Macken wird sich gekümmert. Schaut man in den Forums-Bereich bug-reports oder in den Bugtracker, sieht man, dass die meisten Macken, kaum dass sie erkannt sind, nur wenige Tage überleben. Erklärte Ziele von thirty bees "Ecommerce that works". Die Behebung von Fehlfunktionen hat eine deutlich höhere Priorität als neue Funktionen. "Listen to the merchants". thirty bees hört auf das, was die Shop-Betreiber wollen. "Full PS 1.6.1 compatibility for all 1.0.x versions". Der Zweig 1.0.x, aus dem die Versionen 1.0.1, 1.0.2, etc. entstehen, bleibt voll kompatibel mit PS 1.6. Die Pflege dieser Kompatibilität ist bis mindestens 2019 zugesagt. Meiner Beobachtung nach wird man auch nach 2019, bzw. im 1.1.x-Zweig, nicht wild Dinge ändern, nur um sie anders zu machen. Die Kompatibilität zu bestehenden Shops ist ein wichtiges Asset, das man nicht ohne Grund aufgibt. Links Blog und Developer Blog Github-Repository Core Github-Repository Standard-Theme @wakabayashi's Tutorial zur Migration (17 Minuten, mit englischem Ton): https://youtu.be/LN7KD9W_MY4 Erst eine ausführliche Anleitung, wie man ein Duplikat des Shops für Testzwecke erstellt. Ab Minute 10:20 die eigentliche Migration. Weitere Links dazu: Anleitung (englisch) Download des Migrations-Moduls
  6. Feature requests go here, please: https://thirtybees.com/feature-request/
  7. The question now is, where can we get such a pretty thirty bees coffee mug, isn't it? I'd need an extra large one :-)
  8. @Occam and how would you make it happen then for example that the checkout - let’s say in in Germany - displays the net sum plus required tax totals after you defined this (B2B) customer group with prices tax excl.? The same way one always does. Prices for ordinary customers have a price with and one without tax, just as prices for business customers do. Distinction is just a matter of a different display. Removing the idea of a B2B mode in favor of more universal means opens entire new opportunities. For example, one can sell wares meant for ordinary customers to business customers and vice versa. As long as nobody is logged in, prices with taxes are displayed (as law requires), as soon as a visitor is recognized as a business customer (by logging in), display changes to prices without tax. If a merchant's idea is to have a B2B-only shop (which is a bit tricky to get it right under German legislation), simply apply these B2B price display rules to customer groups "Visitor", "Guest" and "Customer". That's it, pretty straightforward.
  9. P.S.: regarding reduced prices for business partners I'd usually choose to simply give reduced prices for larger packs. A business partner buying single pieces should get the same price as a normal customer, just as a normal customer ordering in packs of 100s should get this "wholesale" price. US based shops for electronic components (DigiKey, Mouser, etc.) usually work this way. No custom treatment for B2B. But which strategy to choose should be the merchant's choice, of course.
  10. This whole strategy looks a bit narrow minded to me. I think the right thing would be to remove this "wholesale price" and also "B2B" mode. Why? Well, business partners are just customers, too. They usually get a different price, just like customers buying often or customers being of a specific profession or whatever qualifies for a non-standard price. This means, specific customer groups should be able to get specific prices, as a general solution. Want B2B? Well, create a group for B2B customers and put these prices there. Want wholesale customers? Create a group for them. From the software POV, business partners are just one group among many. Such a general solution solves not only all the situations discussed here with more straightforward code, but also opens new opportunities. One can have any number of these special customer groups. Like members of a soccer club getting balls and shirts for a reduced price, for example. Yes, I'm aware that there are already "specific prices", which try to work with this strategy. Apparently there's something missing to make it a good general solution for every situation.
  11. A few additional datasets not subject to legal obligations come to mind: Newsletter subscriptions, maybe it happened by accident or a customer changed his mind. Files uploaded for customized products. Maybe a good strategy would be to keep just copies of the emails sent out during the order (order confirmation, payment confirmation, invoice) offline and delete everything stored in the shop software. This way, the public server is indeed free of any personal data, thus email and payment information can't be hacked, merchants are more safe against eventual database failures, still it's not too much work to reconstruct a purchase years later (just search that mailbox with copies).
  12. But there is half a kilogram of flour. I think the way to go is to make the base really small, like 1 cm or 1 gram. Then to use unit prices to get more human-convenient price displays. Perhaps together with some CSS tweaking to make the unit price more prominent. The unit for unit prices should be independent from the unit for orders. For example, selling coffee in 450 g packages still requires the unit price to be for 1 kg, even if there's no multiple of 450 g which matches 1 kg. This probably needs some experimenting. Also the problem that one gram might cost less than 1 cent, so the price could be rounded to zero. IIRC, all tests so far had wares sold by the piece in mind.
  13. Developers which can migrate a Shopify shop into a thirty bees shop? Certainly possible.
  14. Nice advertising speech, @dynambee. One can have all this plus some hosting for 1.95/month. Just not at this candy-color company.
  15. I am trying to set up a development environment for Thirty Bees. sudo apt-get install apache2 php-fpm mysql geany git gitk So far I felt no need for all this fancy stuff. Testsuite runs off the command line, but is not really needed.
  16. Does it work with Elastic Search? I didn't try, I just wanted to express that $5/month for just email delivery is a pretty steep price and worth looking for a better solution. Like keeping your current hosting for this email stuff, for example.
  17. It just occurs to me that my previous post could be interpreted like I consider thirty bees to be technically behind. That's certainly not the case. Thirty bees receives such technical upgrades, too, and even better ones. Just not all at once, breaking everything, but in small, handleable steps. For example, just over the last few weeks database access code was changed. Same functionality, but better abstracted and also some 10 to 20% faster. Earlier, HTML minimization was removed, because it turned out that minification takes much longer than just delivering that HTML as-is. Installer returned to display hints on installation errors. Step by step, always keeping stability at highest priority. Because a fancy shop is nice, a reliable shop is crucial.
  18. I must say he has an interesting opinion about PS 1.7 Not entirely unfounded. Problem with 1.7 isn't that it's technically worse. Problem is that they couldn't stem to keep the quality, much less improve it. Badging a product as "stable" isn't sufficient to make it actually stable. If one introduces technical changes, one also has to have the manpower to debug this, which is typically more work than just introducing the change.
  19. The best mail provider is, IMO, Google. However it costs $5 a month per user. For $5 a month I get a whole hosting solution, including 5 domains and some 50 email addresses.
  20. Looks like a theme and/or module incompatibility. I'd start with removing all non-default modules and switching to the default theme, then switching back on one by one until it breaks.
  21. "I try to migrate" is pretty broad. Could you elaborate on which steps exactly you did? In case you didn't find it yet, here's an instructional video: https://forum.thirtybees.com/topic/357/tutorial-how-to-migrate-from-ps-1-6-to-thirty-bees
  22. Traumflug

    minify html option

    @alwayspaws Which compression are we discussing? images or a whole webpage or what, please? JPEGs and PNGs are already compressed, compressing them twice makes no sense. Dynamic content like the main HTML page can't be compressed in advance, because it doesn't exist before it's requested. Remaining parts are JS and CSS, like @lesley mentioned. And not to forget HTML from the full page cache. If pages can be cached, this cache page can be compressed when creating the cache file already, saving compression on each delivery. @lesley Actually with http/2 becoming prevalent the methodologies are changing. Here is a good article on resource handling, https://medium.com/@asyncmax/the-right-way-to-bundle-your-assets-for-faster-sites-over-http-2-437c37efe3ff To cite this article: Even in HTTP/2 environment, any level of concatenation showed a significant improvement compared to non-concatenation. Additionally, there are more intelligent ways than dumb concatenation. JS and CSS can be scanned for duplicate definitions, duplicates can be eliminated. Unused definitions can be removed as well. This takes a while, but at installation/theme build time we have plenty of this time. That said, I don't consider all this to be pressing urgent. That's something to keep in mind when working in this area for more important reasons and dessert topping for those who have a well running shop already, enjoying to squeeze out the last 10 or 15 percent. @alwayspaws I hope I step on no toes with this. When did that ever stop you? LOL! Never. But I want sensible people to be prepared for their flat feet :-)
  23. Trying to upgrade a current store to compete with all these snazzy pay per month stores that just work but being the DIY type is hard. I think Havouza is on the right track. Asking for a password is almost the same as asking shop visitors to log in. If they're logged in, they can get custom prices according to the group they belong to. It's all there in 30bz core already. Setting automatic logout time to a very long time (100 years) also means customers coming along more often don't have to log in each time.
  24. Traumflug

    minify html option

    I hope I step on no toes with this. If something is too slow, adding even more software, well, tends to slow things down even more. Simply because more software means more CPU cycles burnt. That's a simple logic, just not very popular. To get things faster, one has to remove something. For example, CSS and JS files aren't dynamic, so they can be minified at installation time. Doing this for every page request from scratch is a bit ... uhm. To get this minification, one can simply run such a minifier over every file existing in the installation. Another one is to join files. Serving two 5kB files is slower than serving one 10 kB file. PS 1.7 did something in this direction in its default theme. The number of files was simply reduced at theme build time. Third one coming to mind is to compress files in advance. Letting Apache do this compression means each file gets compressed for each page request, so the very same task get repeated thousand of times every day. Nice plan for wasting processing resources. Apache can be instructed to serve files as compressed content without actually compressing them. That means, files on disk have to be already compressed, which is achievable easily. Result: compressed once, served often, less CPU load, improved performance. I'm pretty sure your patches are welcome. For myself, I'm currently covered with more crucial tasks.
  25. Traumflug

    Duplicate URLs

    Can you try to elaborate a bit on this? Ideally with a set of steps required to get this behavior in a new shop.
  • Create New...