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.

Leaderboard


Popular Content

Showing content with the highest reputation on 11/22/2019 in all areas

  1. 1 point
    New version of coreupdater module was released yesterday, and it contains one new functionality I'd like to talk about a little bit: Database schema comparator and migration What does it mean? It means that core updater will now look into php codebase and extract metadata from object model classes (like Product, Customer, or Order). These metadata describes exactly how database should look like -- what database tables should exists, what columns should they contain. It describes primary or foreign keys, column type, default values, collations, etc.. Core updater will use these collected information and compare them against your actual database schema. And if there are some differences, it will report them. And it will also allow you to fix them. This essentially makes php codebase single source of truth in regard to database structure. When you install your system from scratch you shouldn't see any database differences. But those of you that are running your thirtybees system for a long time now will see a lot of differences. It could happen for many reasons we developers tend to forget about implementing respective sql migration when we change php code when we actually implement such migration script, it can contain errors. After all, php devs aren't usually mysql experts also, some modules can change database schema for their needs Why do these differences matter so much? That's because PHP code operates under some assumptions. For example, it expects that order reference code can contain 11 characters. The php code that generates unique reference code for order can fail terribly if the actual database column can store only 10 characters. The error can occur right there during reference code generation (then it's easy to find). But it can happen much later. With these data consistency issues it's hard to figure out how they happend, and how to fix them. By aligning your database structure with expected database schema, you are much closer to (my favourite) vanilla thirtybees installation. Thirtybees core code will run more smoothly in such environment. I'm not saying it will not run OK on modified database schema, just that there can be some very strange behaviour sometimes. How to use this new tool Please be aware this is experimental feature, and requires some database knowledge. It's not very user friendly. And some messages will probably scare you -- but that's intended behaviour. It is very powerfull tool, but we should use it very carefully. There is new tab named Database schema (for developers). This tab will display you all (relevant) database differences. Note that thirtybees core needs to support this functionality. At the moment, this is supported in bleeding edge only. In current version 1.1.0 or older, this tab will simply inform you that the database comparison functionality is not supported. So, if you want to test this new functionality, please migrated to bleeding edge. This is how the list of database differences looks like. You should review all differences, starting with those marked as critical While it says critical, the reality is usually not so grim. Obvisouly, missing columns or tables are indeed very serious issues, and you should fix these immediately. But different column type is not such a big deal. All database differences can be fixed. You can simply click on Apply fix button to adjust database. Please make sure you understand what this means!!! Some database differences can be actually valid and wanted. For example, some module might have changed database structure of core table in order to provide some additional functionality. *Fixing* this table back to original state might break the module. One such module is *Multiple feature values* -- this module drops unique key for one core database table in order to actually save multiple feature values into the database. If unsure, please ask here -- it also gives us opportunity to learn more about different type of customizations. And some video:
  2. 1 point
    @30bees you thank the wrong person. you have to thank @wakabayashi i have nothing to do with the module
  3. 1 point
    @vincentdenkspelv2 sounds amazing. Thank you! 100h is an immense amount of time and truly exceptional dedication and generosity. I was one of the people asking for expiration of points. I apologise for not being active here sooner. My 'real job' is keeping me super busy and all I do for my shop right now is restocking when needed and answering customer emails. I'll hopefully have time to test the last two weeks the year and I will definitely try to test sooner. I will report here, even if community support has ended. Again, thank you so very much.
  4. 1 point
    Hi everyone, I'm presenting you today a new module I always wanted to create: Consistency checks. Some of you probably know that I offer paid support services for thirtybees (and prestashop as well). In my line of work I have regularly encountered issues that were caused by inconsistencies between expected and actual environment. Thirtybees core, and modules as well, often expects that some preconditions are met. And if they are not, things can go awry pretty fast. Let me show some examples or issues I've seen: Extra file in /classes directory My customer accidentally copied php file /classes/Tools.php to /classes/db/Tools.php. That's not a big deal, right? Some extra file shouldn't have any affect on the system, right? Well, it does. When thirtybees generates class_index.php (index file for class autoloader) it includes all files from the /classes/* directory into it. In this case, the result was that thirtybees core used Tools class declared in file /classes/db/Tools.php instead of /classes/Tools.php. At the time this accidental copy happened, it wasn't a problem yet. Because both files were the same. But when my customer decided to upgrade to new version, it started to matter. And it bring down the entire server. That's because new version of thirtybees was used with old version of Tools class... It took me 4 hours (and my customer 200 EUR) to figure out the root cause of this problem. The fix was simple -- just delete the extra file. Module were deleted from filesystem without being properly uninstalled We all are guilty of doing this. Sometimes you install some module, and it crashes your shop. HTTP 500 error code. So you login via your ftp and delete the module. And the shop works ok again... But, there's a problem. There are remnants of the module in the system. Entry in modules table, registered hooks, possible overrides,... these all can cause weird stuff and bugs. For example, core updater will not allow you to perform update if it detects that some incompatible module is installed -- but what if you already deleted this module from /modules directory? Sorry, you can't upgrade. Not without going to your database and delete the module information from there... Also, these deleted modules slow down your system a bit. If there are hooks registered by delete module, thirtybees core have to evaluate this situation over and over again, every time the registered hook is executed. That's waste of resources. Images aren't displayed, because the image file is not on filesystem This is classic problem associated with migration. You copied your /img/p directory from old server, and then you import your data into database. It's very easy to make a mistake, and the data in tb_image tables can have different IDs. If that's a case, your images won't show... because the image ID does not correspond with id used to store file on filesystem... Consistency checks module All these issues can't be reproduced on vanilla installation. That's because the inconsistencies does not exists (yet). There are no extra files in classes directory, no modules were force-deleted, and all images are present,... But these inconsistencies will appear eventually, simply by using the system. So I decided to create a module that runs a bunch of tests against your system in order to find these problems. And, if possible, offers a fix. By using this module, you can get your system into the state that matches the vanilla installation as much as possible. And that can help you reduce the chance of bad things happening. At the moment, the module does not really contain a lot of tests, there are only 6 of them. But I plan to implement new along the way -- every time I will work on some problem that is caused by some inconsistency. So you can expect a lot of updates in the future. Also, if you have idea for some checks, let me know. Bug detection This module can also help detect bugs in the core or modules. If you fix some inconsistency, and it re-appears, it's likely there is some bug that wants to be fixed. Don't be shy and report this. Help thirtybees be better and more stable. Download I decided to release this module for free in order to help this project to grow. You can download the latest version of the module here: https://store.getdatakick.com/en/modules/consistency
  5. 1 point
    I've just released new version 0.6.4 -- there was a bug related to vatnumber module / vat exemption feature. This should be fixed. Also, new settings option was added - you can now choose if the cart should float during scrolling, or not.
  6. 1 point
    Just did the same thing today for this one: https://addons.prestashop.com/en/other-payment-methods/24738-bitcoin-x-crypto-accept-bitcoins-and-cryptos.html I need a module that doesn't rely on coinbase or other external company and can work directly with my hardware wallet. This module did the trick for ps 1.6 but I think it's not yet working on TB. I'll also let you know what he answers 😉
  7. 1 point
    In the last weeks @SLiCK_303 and I have invested dozens of hours, to improve this module. He was my testing buddy (thanks!) and gave his opinion about the features. We have now a beta ready, that should be tested by other users. We can't test all possibilites ourself, as the module can be used in so many ways. Technically the module has got a huge rewrite... New in 2.0.0: Referral system Expire of loyalty points Conversion of loyalty points on checkout Editing player history Some few smaller things Who is ready to test? Make sure you only use this version on test installations... genzo_krona-beta1.zip
  8. 1 point
    it is not the best suggestion, but maybe it is worth a try. in between, various statistical modules have been replaced by a single one. I can not test it myself at the moment. through the changes of the modules of "thirty bees updater" and "core updater", there were a few differences in between. if the "tb-updater" is still working, try updating your shop to version 1.0.6 for example. and then update to the current version with the "core updater". dont forget to mak an backup!
  9. 0 points
    Release of 2.0.0 I have just released the version 2.0.0 Krona: https://github.com/eschiendorfer/genzo_krona/releases End of community support I decided, that it is time to step down with this module. In the last few weeks I invested more than 100 hours to improve/rewrite this module. I tried to implement as many features, as were wished in this forum. This ended in the fact, that 90% of the time invested time is useless for myself, since I don't use this features. That would only make some sense, if this module helps thirty bees to grow. Unfortunately this isn't the case. Neither is the module used, nor was the new version tested. The module must be so useless, that merchants don't find time to invest 30 minutes to play a bit around. That's quite frustrating after investing such an amount of time. That's why, I won't consider any feature request in the future from the community (beside from @SLiCK_303). I will only look at clear written bug reports. In general: don't be surprised, if my forum time will drop a lot. I will use this time, to reconsider every aspect of my own shop. Please don't ask for any free tb support trough private messages. I won't do it anymore and I won't even respond to such messages. There are professional devs, who need to make their living too 😉
×
×
  • Create New...