musicmaster
Trusted Members-
Posts
704 -
Joined
-
Last visited
-
Days Won
48
Content Type
Profiles
Forums
Gallery
Downloads
Articles
Store
Blogs
Everything posted by musicmaster
-
Core updater: database migration support
musicmaster replied to datakick's topic in Announcements about thirty bees
I once considered making such a thing for Prestools. But I discarded the idea when I saw how Prestashop constantly changed the database structure - the indexes the most. Even core indexes were sometimes different - as an extra field was included. As many of those database variations will be maintained in shops moving to Thirty Bees my expectation is that you will see a wide variety of structures and most of those differences will be irrelevant. My suggestion would be to divide the output in three categories: - the really critical: missing tables, fields, indexes and field properties. The user should be recommended to fix these. - the potentially problematic, such as the NOT NULL field you mentioned. The user should be recommended to fix those only if there are problems and he has checked that they aren't used by some module. - the nearly certainly innocent - such as id fields with length 10 instead of 11. Making a dump of the repaired tables might help when things go wrong. -
Core updater: database migration support
musicmaster replied to datakick's topic in Announcements about thirty bees
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". -
That makes no difference.
-
When in the backoffice menu I access the option "Invoices" (the second option in the orders menu) I get an "access denied" error screen. After some research I found that the error came from Eolia's GDPR compliancy module (v2.0.6). The funny thing is this module was installed but not enabled. There was an override connected to this module (classes/Module.php) but deleting this made no difference. Only uninstalling this module allowed me to access this functionality. Why is a not enabled module having such an effect?
-
While entering prices in the backoffice I encountered the following little issue: This shop is only in euro's. Yet the prices are quoted as "USD 1.99 €". Does anyone know where this USD comes from?
-
Unfortunately this is not an option on this server. I tried changing the image a bit but that didn't have any effect.
-
I have the problem that my logo keeps being deleted. I have uploaded it many times but usually it disappears after a few hours. The file - with a name like mysite-logo-1546274668.jpg - matches the template name {$logo_url}. I solved it for the website by hard coding another url in header.tpl. However, the pdf files are harder to solve in a neat way. They want a local path from the root of the harddisk - not an url - and I can't find a template variable that provides that. I tried replacing the extension in the filename but it looks like there is some check for the existence of the file. So {$logo_path} - as it is called in the pdfs - is empty when the image isn't there. So my questions are: - what could be deleting my logo? - how can I refer to images in the pdf header? I am running Panda 1.5.2 (the latest version) on the bleeding edge of two weeks ago.
-
One thing I have considered - but I believe should be done with direct access to the backoffice - is price calculation. You should enter a cart number or an order number and see a complete explanation of how the pricing is processed and what system settings play a role. The script should both make its own calculations and retrieve the values that the TB functions have calculated. Rounding questions regularly come back on the forums and with such a functionality people could provide a screendump with all the relevant information.
-
Nice initiative. With the Integrity Checks page in Prestools I provide some consistency checks too. Feel free to copy.
-
Depends on what you want. You can make multishop as complicated as you want. The same applies to ASM. There is no limit to complexity of the needs of some customers. For some even Magento needs to be heavily customized. My motto would be: pick your fights. Make a deliberate choice what you want to include and what not. And don't include something just because one customer asked for it. If you don't want to support features you can always choose to leave them in the database but to make them inaccessible in the software interface.
-
For Prestools I reverse engineer things and I found several times that Prestashop had implemented things more simple than I had expected from looking at the database. I can't remember concrete examples but you should expect more of this kind of issues. Note also that the great majority of the shops are not multishop. For them all those extra checks make the code just more complicated and slower.
-
Quite a good guess. After some search I found that the origin of the first of the two queries was the Order.php override file from Greenmouse's gmnumeric. However, the real cause appeared to be a faulty import. There were orders in the database but the auto-increase index was zero.
-
About the other error: the order that cannot be submitted. Here is how a timeout looks: I put some code in it to see what queries are processed. The first 152 queries look to be normal processing. But then it gets in an endless loop sending the following two queries again and again: SELECT `AUTO_INCREMENT` FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'snoeptb9' AND TABLE_NAME = 'ps_orders' LIMIT 1 SELECT * FROM `ps_orders` a0 WHERE (a0.`reference` = '0')
-
That is a choice and I can live with that. But I want to share my impression that Prestashop after the transition to 1.5 may have concluded that they had overdone it. That too many things had shop options and that as a consequence the software became too complex and too hard to understand for people who worked with it. And that as a consequence the development of modules might suffer. They couldn't undo the addition of the ps_group_shop table. That might break modules. But I doubt that is a coincidence that my shop always kept working with just one entry in this table.
-
Yes, I really claim that my ps_group_shop has only one entry at all. And I have kept all the old versions of the database and they all have it so. And it has never given a problem - until recently.
-
Yes Sure, there was only one shop. But there were already 3 groups in 1.4. And there was only one entry created: for group 1.
-
Prestashop 1.4 is monoshop. So it doesn't have _shop tables. They are added when you upgrade to 1.5. And that upgrade process created tables with only one entry - connecting shop 1 with group 1.
-
I explicitly mentioned ps_group_shop. ps_shop_group has nothing to do with groups. It is about bundling shops in multishop for common stock. The one entry I have in ps_group_shop was created by the Prestashop update process. So I wouldn't be surprised when every shop that old had the same.
-
This shop dates from PS 1.4 and since its transition to 1.5 it has had one entry in the ps_group_shop table. If you have suddenly changed the rules that this becomes a problem than you can expect more people complaining. But thanks for pointing out what is likely the problem.
-
I am testing the bleeding edge under PHP 7.3. I get some serious issues that happen only under Windows: - I get irregularly the warning Warning on line 66 of /modules/cheque/cheque.php [2] count: Parameter must be an array or an object that implements Countable in many different pages. The module is present but not installed. Line 66 says: if (!count(Currency::checkPaymentCurrencies($this->id))) and I have no idea what could go wrong there. - the second problem is a first class showstopper: I cannot submit an order. I test with bankwire. When I press the final button to confirm the order/payment I get a timeout. The error screen isn't helpful: it only lists the database module.
-
In the bleeding edge the category form shows only one group. The consequence is that when you save a category it will end up belonging to only one group: 1=default. This applies both to new groups and to groups that used to work but are saved after some change. For registered customers this means that they will see a screen that says that they are not allowed to access this category.
-
As for php.ini, Prestools has at the bottom of its Server Settings page a line that shows where you can find it in your file tree.
-
Oops, a typo. I will correct it.
-
I am puzzled why it should not work with you. If you pm me access I would love to have a look. I like solving mysteries. Anyway, I have uploaded a new version. Maybe that will solve the problem.
-
I am not sure what you mean. The minimodule is indeed only to create a link in your backoffice. It looks like in your shop images haven't been generated for all the image formats that you defined. I am working at a solution for this.