Jump to content
thirty bees forum

Traumflug

Members
  • Posts

    1,665
  • Joined

  • Last visited

  • Days Won

    82

Posts posted by Traumflug

  1. News :-)

    • files.json: while it's tracked in the Git repo, it also gets updated when creating a package.
    • You, @atolodas , apparently run a development installation. Only four files missing. With an installation made from a package it's much worse, 46 files missing :-)
    • Wrote a PHP version of the file generator (currently used is a JavaScript variant) and it turns out, both generators generate the same (except for sorting).
    • Updating files.json in a developer installation gives a perfectly fine validation.

    So, what the heck?

    The hint for the next step in this adventure game is here: files.json generated in a developer installation is 387 lines. The one generated for a package is 1261 lines. These two versions are expected to be the same.

    Going bicycling now and when coming back I'll put these puzzle pieces together.

  2. On an installation from the Git repository:

    sh $ ls classes/Discount.php classes/controller/AjaxController.php classes/controller/ModuleAjaxController.php classes/order/OrderDiscount.php ls: cannot access 'classes/Discount.php': No such file or directory ls: cannot access 'classes/controller/AjaxController.php': No such file or directory ls: cannot access 'classes/controller/ModuleAjaxController.php': No such file or directory ls: cannot access 'classes/order/OrderDiscount.php': No such file or directory Which means: these files aren't expected to exist.

    Looking into the repo history one can find this: https://github.com/thirtybees/thirtybees/commit/0335d82603d48d0edd7ad149dbe729f6b69d005c These files were removed on March 12th. Apparently is was forgotten to update the list of expected files.

  3. 5 days of hacking later there are 24 new commits and 260 lines of code gone. Works better than ever, e.g. the markup once visible on the summary page is gone:

    0_1492604272127_Carrier wizard.png

    If you want to try this, here's an upgrade package:

    01492604960741tb-wizard-patched.zip

    And in case it doesn't work and you have no backup, here are the same files in the original version:

    01492604997611tb-wizard-original.zip

    In both cases, unpack them elsewhere and rename folder 'admin-dev' to the name of your actual admin folder. Then replace the files, paths are given in the ZIP.

    I'm pretty sure that validation was improved. Also, one can no longer save invalid data by just clicking 'Finish' when editing an existing carrier. One can edit fields in any order, validation happens when clicking 'Next' or 'Finish'. Invalid fields get highlighted. Fields for 'All' no longer vanish in some situations. And there are two (useful) easter eggs built in. Enjoy!

    Now it's your turn to show how to fool this wizard. I no longer can, even when trying hard :-)

  4. Why do you make a headache about the server location. For myself I'm not sure where the hardware is. Probably somewhere around Frankfurt/Germany. At times I work with another one somewhere near San Francisco/USA. Work procedures are exactly the same.

    Which means: it doesn't matter where the hardware converts electricity into zeros and ones, as long as this hardware is connected to the Internet.

  5. Also I believe that most merchants don’t invest enough time to chose their system.

    Most of us are probably kind of experts here, but try to play dumb and then install a shop. Installation of a Wiki is something like a few hours, installation of a shop is measured in weeks. On top of this all the legal issues, mandatory or not (depends on the home country).

    With all that mess it's well understandable that people watch out for something where they can simply upload a few pictures, define a price and start selling.

  6. After digging into the code I found the secret: one has to fill in the price/weight range (these fields with grey background) first. Having these two filled in, such a range becomes "active" (an invisible property) and once a range is "active", one can start to enter fees. That's why it worked for some, but not for others. If one starts to fill the fields top to bottom, it works. Not so in any other order.

    I consider this as overengineering. A user should be allowed to fill fields in any order (s)he likes.

    Actually I thought one could leave the upper range value empty to get "infinite". If infinite was allowed, one could even remove this "Out-of-range behavior" choice, because one can define ranges which can't go out of range, then. Lots of opportunities to make the user interface more intuitive.

    That said, I think I'll remove this "active" status thing and then move on. There are bigger goals waiting :-)

  7. Once a carrier is saved, things work a whole lot better.

    For example, that single checkbox above the row with Africa means to be a row for "All". Initially, the word "All" is written there. Checking one of the other rows makes this word going away. Clicking the "All" checkbox makes it re-appear, and also a price entry field.

    When editing an existing carrier all this doesn't happen. This smells a lot like overengineered code or lots of quick patches on top once reliable code. The obvious first step is to find and remove the distinction between a new and an existing carrier.

  8. 0_1492167601864_Bildschirmfoto am 2017-04-14 um 12.42.37-fullpage.png

    When adding a second (third, fourth, ...) carrier one can enable a zone by clicking the related checkbox, but doing so doesn't enable the price entry field. It's likely some JavaScript thing.

    There's also a workaround: save the carrier without that number, open it again and find the field editable.

  9. Look at this:

    0_1492074577356_Magic module duplication.png

    After deleting a bunch of modules and enabling the PayPal module, I suddenly have duplicate modules. Duplicated modules are paypal, stripe and mailchimp.

    Looks like there's a debugging session ahead :-)

  10. once you update to a new TB version everything will crash down…

    Not that drastic. I don't think TB changes programming interfaces just for the sake of changing them. One example: PS had imported code in tools/, while TB uses composer, which happens to place modules in vendor/. There are modules out there which happen to access the files in tools/ directly. Accordingly, TB provides compatibility code to keep direct accesses to the older place working. This compatibility code might go away one day, but then it's trivial for module developers to change their code to the new place (or better: to make no assumption about where such code is placed). There's also no hurry to adapt to the new place either, for some time both places work. Also, module developer get instructions on how to change their code for future-proofness. In the end both, the module and the shop in general, will work better.

  11. Accordingly: don’t use this in a repository which will be needed after that packaging.

    FWIW, here's a package build script which does not destroy the repository. It can be run right in the developer repo and places a package there a minute later.

    01491577001422build.sh

    Not too sure about the cleaning applied, but it shaves off another 3 MB and everything still works. Unit tests in imported source code packages aren't that helpful :-)

  12. ... if you think that's too much, modify your theme to require not all of them. The surplus ones can be removed them and generation of new ones turned off in backoffice -> Preferences -> Images.

  13. Looking at what the demo products create might help to understand what's going on: sh $ find img/p/1/1 img/p/1/1 img/p/1/1/11-medium_default.jpg img/p/1/1/11.jpg img/p/1/1/11-thickbox_default.jpg img/p/1/1/11-small_default.jpg img/p/1/1/11-cart_default.jpg img/p/1/1/11-large_default.jpg img/p/1/1/11-home_default.jpg img/p/1/1/index.php Seven picture sizes per picture uploaded, so 85'000 is actually not enough. It should be like 25'816 * 7 = 180'712 :-)

×
×
  • Create New...