Jump to content
thirty bees forum

datakick

Administrators
  • Posts

    2,898
  • Joined

  • Last visited

  • Days Won

    434

Everything posted by datakick

  1. This premium module can help you optimize and streamline your inventory purchases. Purchases module is build around an algorithm to calculate optimal quantity to order for each product. This algorithm takes into account your desired service rate for product (for example, you want to have product readily on stock with 95% probability) cost of placing supply orders (overhead you pay for purchasing) cost of stock ownership (overhead you pay for keeping stock in your warehouse) supplier lead time (some supplier can deliver in 3 days, other in 90 days) actual demand on product -- how much have you been selling this product (weight average) The algorithm will take all this, and for each product generates information like safety stock, reorder point, reorder quantity, etc. The numbers heavily depen on algorithm input parameters. Initially, you should tweak the parameters and observe how these calculated metric changes, until you are satisfied. On top of these data we have build a Purchase Order tool. You can easily create purchase orders for each supplier. The module will advice you what and how many items you should order. You can also set up module to automatically generate Purchase Order drafts for you (for products that are low on stock and should be ordered). This can greatly help you with your purchase process. And, if set up correctly, it can help you optimise you cash flow -- don't keep all your operational money in stock that can depreciate in time.
  2. Hi everyone, I would like to ask your opinions / experiences with VAT on pack of products. Currently, pack of product is treated as a separate product with single tax rate. I believe this is not correct, especially when pack contains products with different tax rates. What is your take on this? How should system work?
  3. Logger::addLog method, when called with $allowDuplicate=false, can be very slow. Method checks if the error log is already present in the table, and insert it only if it is missing. Uniqueness is queried like this: 'SELECT COUNT(*) FROM `'._DB_PREFIX_.'log` WHERE `message` = \''.pSQL($this->message).'\' AND `severity` = \''.$this->severity.'\' AND `error_code` = \''.$this->error_code.'\' AND `object_type` = \''.pSQL($this->object_type).'\' AND `object_id` = \''.$this->object_id.'\' ' There is no DB index that could be used, so full table scan is required. That can be very slow once the table increases in size. This is causing performance problem during every Logger::addLog (or PrestaShopLogger::addLog) call with $allowDuplicate=false, and there are a lot of such calls in core and modules. One of them is in the Hook, as you mentioned. Truncating db table regularly helps. Alternatively, creating index on those 5 columns would help as well. For example, creating key on the first 150 chars of message, and all other columns: alter table tb_log add key(`message`(150), `severity`,`error_code`,`object_type`, `object_id`); Related to Logger::addLog in Hook -- this points to consistency issue. You have some module that registered hook, but does not provide hook handler. Every time the hook is triggered, thirty bees is trying to call module hook function, and every times it fails to do so -- wasting resources. Module should have never register this hook in the first place. Since tb 1.2 this is not a problem, because core checks during module installation that the hook handler exists. If not, warning is thrown during installation time, and hook is NOT registered. Which means this Logger::addLog would not be called later. This Logger::addLog is called only for modules that were installed prior 1.2. Or for modules that removed hook handler in some update after installation, but did not unregister hook as well. You can use my consistency module to detect and fix this: https://store.getdatakick.com/en/modules/consistency
  4. Thanks for reporting this. It's both (old) bug in the core, and bug in new premium Purchases module. I've already fixed this in Purchases module, will be part of next module release. I will create issue for core to prevent this kind of problems as well
  5. tbpdater module existed to keep your installed thirty bees modules updated. In 1.5.0, this functionality was moved to the core. The module is no longer needed. Having this module installed would actually cause troubles. You have to uninstall this module before updating to thirty bees 1.5.0. I also recommend to delete the module from disk.
  6. in that case dashboard shows data fetched from google analytics.
  7. Do you have statsdata module installed and enabled?
  8. Are you talking about Core updater, or about Advanced Parameters > Configuration Informations ?
  9. I've added this to backlog
  10. There are technical limitations for what can be tracked. This module can track only direct object model properties, and only if that object is saved using object model add() / update() / save() method. So properties like price, default category, reference code, enabled, description, ean, sale flag etc can be tracked. Basically this means columns from tb_product / tb_product_shop / tb_product_lang tables. Associations (relationships between tables) such as categories, tags, carries, etc can't be tracked this ways. That's because there is no hook triggered when relationships changes. There isn't even any unified way in tb core to change associations. Similarly, if something is changed using direct db update, then such change will not be audited.
  11. History module is a very simple module that provide audit functionality for your products and categories. Did you ever wonder why, when, or who changed your product description or price? This module will provide answer for these questions.
  12. Shortcodes is a premium module for thirty bees supporters that let you use shortcodes in your product description. Currently, you can use HTML within descriptions. This is very often used to create link to other products, categories, or pages within your site. Over time, these hardcoded links can stop working properly (for example if you change rewrite, or move product to different category). Shortcodes offers solution for this problem. Instead of creating link to product, you can simply add shortcode like [product id=34] link [/product] And thirty bees will automatically generate correct link for you. Moreover, the link will use to current context -- if you are browsing your site in french language, the links will also point to french products. The same applies to multi-store context. Module also contains (optional) functionality to automatically convert HTML links to shortcodes. So if you, or your employee, enter HTML link to some product, module will detect it and replace the <a href="https://www.domain.com/en/category/product.html">link</a> with [product id=34] link [/product] shortcode. Module will also report all internal links that it could not be converted -- so you can go and fix them manually. Supported shortcodes: At the moment, only a few shortcodes exists. We plan to implement many more. And not only for linking content. We can use shortcodes to embed more interesting stuff, for example review ratings, product cover image, or what have you. If you have any ideas, let us know! [product id=id] - creates hyperlink to product. Optional parameters: shop, language [product_url id=id] - generates url string for product. Optional parameters: shop, language [category id=id] - creates hyperlink to category. Optional parameters: shop, language [category_url id=id] - generates url string for category. Optional parameters: shop, language [cms id=id] - creates hyperlink to cms page. Optional parameters: shop, language [cms_url id=id] - generates url string for cms page. Optional parameters: shop, language Roadmap: support shortcodes in more contents -- currently, you can use shortcodes only in product short and long descriptions. In the future, we want to add support for other rich contents (category descriptions, cms pages, blogposts,...) support for custom shortcodes registered by modules. Modules (for example beesblog) will be able to register shortcodes that you can use to embed module content, for example link to blog post [blogpost id=100] link [/blogpost] more friendly parameters, so you won't have to use internal ids. For example to generate link to product in fr context, you could write [product id=1 language=fr] instead of [product id=1 language=3]
  13. Note that this dirty fix is not the best and long term solution. Better would be to modify the mail.php file and remove dependency on specific implementation of email transport.
  14. That's unfortunate. This module depends on library that is no longer provided by core. The dirty fix could probably be to install tbswiftmailer module, and then edit this modules/awocoupon/helper/mail.php file, and include library from tbswiftmailer module. require_once(__DIR__ . '/../../tbswiftmailer/vendor/autoload.php');
  15. Yes, this is the reason. Core updater offers only versions supported by your PHP version, and 1.5.0 is not supported on PHP7.2. I suggest you update your store to thirty bees 1.4 (if you are not on that version yet) update to PHP 7.4 check that everything works -- core should work nicely, but some modules can have issues. update your store to thirty bees 1.5 install collectlogs module, and start collecting all warnings and deprecations (these will come mostly from modules) wait few days and let collectlogs do it works fix critical issues in modules (you can ask on forum which issues are critical and which not) update your php to 8.0 again wait and collect (new) warnings related to PHP8.0 if no critical issues exists, you can safely update to PHP8.1 do the same for PHP8.2 It's a long process, but it's safe when done properly.
  16. Thanks for reporting this, I'll investigate. I haven't encounter any issue myself with it, though. Yes, this is not supported yet. For this to work, we need to implement single-sign on across all our services (api, store, forum, www, accounts....) and synchronize user identity across them. That's a big project. We have it on our back log, but it's not highest priority. Once we have single user identity, we can offer downloading premium modules from store. Until then, we just don't know if store customer is member or not.
  17. Modules page displays local modules (modules present locally in /modules/ directory) modules available through thirtybees api I guess we could (and should) add a filter to hide non-local modules
  18. This looks like a bug in the module.I'll check and try to come up with a fix
  19. Thank you. I've picked your changes and released new version of module.
  20. Works (somewhat) properly for me, I've just tested it with homefeatures and blockbestsales modules. The logic for product availability is complicated. Every product can belong to multiple categories. Customer can belong to multiple groups. To be order-able, product must be associated with at least one category that is associated with at least one customer group
  21. Nice one, this should be part of the module. You can create pull request here, and we'll merge it: https://github.com/thirtybees/mailalerts
×
×
  • Create New...