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.

All Activity

This stream auto-updates     

  1. Past hour
  2. I forgot to mention that this comparison tool does not actually report extra columns and tables (it can detect them, but it disregard these differences silently). It only tracks known database objects, anything extra is silently allowed... I have some problems with that as well, though. For example, extra column in core table can be a very serious problem if it is defined as a NOT NULL, and does not have any default value. Client of mine installed a module that created such column + added override for controller to ensure that some value is always passed. But then he disabled this module -- and his shop stopped working, because insert into this table throws mysql exception. Again, it would be best if these kind of modification were described in metadata layer, so core knows how to deal with it. Similarly, extra unique key can cause a lot of issues.
  3. And what is that 500 error? Please look into your error log and file a bug
  4. I share your concerns. That's actually the reason why I wrote that extreme caution should be taken when applying *Fixes* -- people should know what they are doing. They should try to understand why these differences exists. But, ultimately, these differencies must be fixes. The php code must be aware of the actual database structure, otherwise various problems will occur. Take this example: I increased size of some column in core table to allow more characters, and imported the data directly using sql script. But then I go to UI form in back office, and try to edit these newly imported entries. Controller will show it correctly in input field. But when I hit save (without actually changing anything), I get back an error -- controller says that the length is larger than allowed 80 chars. And we have a problem. Thats because php code validated input values against the metadata stored in php code. So, I now have very inconsisten system. If we need this type of modification, there have to be a mechanism to do it. And not force it. For example, we can tell core via an override that the size should be 128 instead of 80. Core will pick this information up, and will work correctly. It will consider input values to be max 128 chars, and everything will work as expected. CoreUpdater will pick this as well, and actually offer you to migrate this database colum by simple click. It's a win-win. But yeah, there's still a lot of work ahead of us.
  5. It does not seem to work for me. I get the following error: ajax call failed with error code 500
  6. I absolutely love this module. It is a great initiative. It fixed problems I did not even know I had and it helped me fix others I knew I had but had no idea how to fix them. Great tool! Thank you so much!
  7. does it also look into overrides php code to extract added fields needed by modules or personnal modifications ?
  8. Hi, I seem to figure it out! The name on the carrier was to long(about 38 letters), I shored this down and everything work perfectly! Thank you for this wonderful shop and forum! /Daniel
  9. Today
  10. I like the idea. But I have doubts about the proposed implementation. In my experience missing tables, indexes and auto-increases are the main source of problems. The chance that fixing them will cause problems is small. But extra fields and fields that are bigger than default are a different story. Those are usually implemented for a reason and encouraging users to undo them might easily damage the working of modules. Panda has an extra "hover" field in the tb_image table and I have implemented a change in the tb_feature_value_lang table that allows you to enter more than 255 bytes. I wouldn't want someone who maintains my websites when I am on holiday to fix those "critical" "problems".
  11. 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:
  12. i spent a week trying to combine "order" and "save customization" buttons but can't find a simple guide. Adding a custom field to the order form would be most reliable, so "order" also saves the custom field. Adding code to make the "Save customization" button work automatically when "order" is pressed would work too. Can anyone tell me where to look? I can cut and paste javascript or php but have not learned to write it from scratch; instructions for PS1.6 with multiple file over-rides have not worked for me yet.
  13. 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.
  14. I am, I have just been busy on some projects around thirty bees that don't require coding.
  15. Yesterday
  16. I have created an error report, but thought it could help being here also Module version: 1.70 TB Version: 1.1.0 When we do a full order refund on the order page in back office a credit slip is generated. Customer is fully refunded but credit slip only shows refund for goods, not the cost of shipping https://github.com/thirtybees/stripe/issues/34
  17. The price sheets from the manufacturers come with the coma used as a separator. With PS I always had to change the ; to a comma, with TB you don't. On the other had PS seemed to learn or defaulted to products where as TB defaults to categories. It would seem that product imports would be the most common use rather than categories? I use excel from office 2016 to edit the price files. Usually the errors are caused by letters or ineligible characters used for the part numbers but in this case I don't know what is causing the errors as the IDs do not seem to have obvious problems? Ended up using a simple numerical excel series which imports easily but causes products when the ID is changed with each price sheet. If you use an Excel simple number series for the ID the import process works very well. Was able to import over 32000 items in one batch.
  18. Hi, I was wondering: Is @lesley still involved in the project ?
  19. Hello and thank you! I have found the following and i think it points to my idea: in the file \chex\views\css find the following (in 0.6.3 version it is line 448) .chex-input { flex-grow: 1; width: 100%; min-height: 92px; } -- so you are right 🙂 and with changing the min-height to e.g. 63px the space between the rows is much smaller, nice !
  20. I have upgraded to 1.1 stable from 1.08, but at the last step in checkout I get following error: Property Order->total_shipping is not valid in file classes/ObjectModel.php at line 1036 Source file: classes/ObjectModel.php 1017: * @throws PrestaShopException 1018: * 1019: * @since 1.0.0 1020: * @version 1.0.0 Initial version 1021: */ 1022: public function validateFields($die = true, $errorReturn = false) 1023: { 1024: foreach ($this->def['fields'] as $field => $data) { 1025: if (!empty($data['lang'])) { 1026: continue; 1027: } 1028: 1029: if (is_array($this->update_fields) && empty($this->update_fields[$field]) && isset($this->def['fields'][$field]['shop']) && $this->def['fields'][$field]['shop']) { 1030: continue; 1031: } 1032: 1033: $message = $this->validateField($field, $this->$field); 1034: if ($message !== true) { 1035: if ($die) { 1036: throw new PrestaShopException($message); 1037: } 1038: 1039: return $errorReturn ? $message : false; 1040: } 1041: } 1042: 1043: return true; 1044: } 1045: 1046: /** Stack trace 1. classes/ObjectModel.php:324 source ObjectModelCore->validateFields() 2. classes/order/Order.php:285 source ObjectModelCore->getFields() 3. classes/ObjectModel.php:586 source OrderCore->getFields() 4. classes/order/Order.php:303 source ObjectModelCore->add(arguments) 5. classes/module/PaymentModule.php:564 source OrderCore->add() 6. modules/custompayments/controllers/front/validation.php:116 source PaymentModuleCore->validateOrder(arguments) 7. classes/controller/Controller.php:197 source CustompaymentsvalidationModuleFrontController->postProcess() 8. classes/controller/FrontController.php:253 source ControllerCore->run() 9. classes/Dispatcher.php:837 source FrontControllerCore->run() 10. ./index.php:33 source DispatcherCore->dispatch() Anyone have a clue what it can be an what I can do about it? /Daniel
  21. @x97wehner please file an issue for this on github. Otherwise it will be forgotten again. Forum is really not the best place to report bugs. Edit: I have created the issue myself: https://github.com/thirtybees/thirtybees/issues/1115. The fix will be in bleeding edge shortly
  22. Every time I do a BE update, I still face this issue and have to manually upload a stored copy of this file to get it working again. Shouldn't have to do this.
  23. I've narrowed this down to this issue: https://github.com/thirtybees/thirtybees/issues/1114 Doesn't look like 1.1.x injection, though. So it might not be fixed in upcoming release yet.
  24. datakick

    module updates

    It would. There's actually a bughancement request for this https://github.com/thirtybees/thirtybees/issues/1024 already
  25. SLiCK_303

    module updates

    I'm not sure if it's supposed to be this way, or not, but here it is. This has been going on for a long time, and I don't think it should be this way. Today I had a bunch of module updates to do, and the screen looked liked this... Noticed I have 6 to do. After I say Update All it gives me this screen.... It would be nice if it showed all the updates that happened, not just the last one.
  1. Load more activity
  • Create New...