X-Cart: shopping cart software

X-Cart forums (https://forum.x-cart.com/index.php)
-   News and Announcements (https://forum.x-cart.com/forumdisplay.php?f=28)
-   -   X-Cart 4.6 released (https://forum.x-cart.com/showthread.php?t=67012)

cherie 06-17-2013 08:35 AM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by Ksenia
some tickets contain improvement suggestions, not bug reports ( e.g. rewriting the Bestsellers module to work independently from Advanced statistics is rather an improvement

If it slows down the site and your own site suggests to turn it off and it's a standard recommendation on the forum to tell everyone to turn it off and not use it I think that's a sign that something is broken and not simply an improvement. And it's been like this for a very long time.

rocky 06-17-2013 10:24 AM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by cherie
If it slows down the site and your own site suggests to turn it off and it's a standard recommendation on the forum to tell everyone to turn it off and not use it I think that's a sign that something is broken and not simply an improvement. And it's been like this for a very long time.



There is nothing to argue about that Bestsellers+AdvancedStatistic combination should be revised and as Ksenia has already mentioned it will be done in next X-Cart releases.

However, in terms of bugs and improvements this is an improvement. Bug is the programmer's fault. It is a situation where the programmer intended to implement a certain behavior, but the code fails to correctly conform to this behavior because of mistakes in coding. In case of Advanced Statistics it all works as it was intended to work. No more, no less.

carpeperdiem 06-17-2013 10:38 AM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by rocky
However, in terms of bugs and improvements this is an improvement. Bug is the programmer's fault. It is a situation where the programmer intended to implement a certain behavior, but the code fails to correctly conform to this behavior because of mistakes in coding.


This is where we will disagree (and your company will continue to suffer a lousy reputation if you seriously believe this) -- blaming a programmer for bad program behavior is only part of the story...

Poor design and user interface choices by program designers are also "bugs". EVEN IF the programmer coded exactly as the designer specified, but the outcome is poorly functional or downright bad, if it doesn't work as the customer is expecting it to, it's a bug.

You can call it whatever you want, but blaming programmers for bugs and not giving program designers the responsibility to design a better specification is, well, lazy/sloppy - and should not be tolerated by professional software teams.

I am NOT being argumentative. Please re-read your post and discuss it with Max. You will want to erase it before Google picks it up. It's not the way X-Cart should be representing itself in public.

rocky 06-17-2013 11:15 AM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by carpeperdiem
This is where we will disagree (and your company will continue to suffer a lousy reputation if you seriously believe this) -- blaming a programmer for bad program behavior is only part of the story...

Poor design and user interface choices by program designers are also "bugs". EVEN IF the programmer coded exactly as the designer specified, but the outcome is poorly functional or downright bad, if it doesn't work as the customer is expecting it to, it's a bug.

You can call it whatever you want, but blaming programmers for bugs and not giving program designers the responsibility to design a better specification is, well, lazy/sloppy - and should not be tolerated by professional software teams.

I am NOT being argumentative. Please re-read your post and discuss it with Max. You will want to erase it before Google picks it up. It's not the way X-Cart should be representing itself in public.



I see your point of view. However, I'd appreciate if we all kept our temper when you talk about a company you're dealing with. I don't think "lousy" is an appropriate word when you speak of X-Cart. Thank you in advance.

Secondly, it's it seems that you see only what you want to see in my reply. As I've mentioned the functionality will be revised and we all agree that it should be revised. Nothing to add actually.

Finally, I'm speaking of facts.

Bug - definition above.

The term we are talking about is an "issue" - the situation where the software is not doing something that the customer or user wants it to do, and so as a result the requirements of the design need to be changed.

In any case, I respect your right to call it as you want. We appreciate all feedbacks and will definitely take them into consideration while working on next X-Cart releases.

Best regards.

carpeperdiem 06-17-2013 11:26 AM

Re: X-Cart 4.6 released
 
Alexander, on the show floor of IRCE, when an SEM or usability expert or other people who help companies make $$$,$$$,$$$ asked about my cart platform, I usually had to justify and defend my choice to use X-Cart. X-Cart has a "lousy" reputation in the industry. It's not my opinion.
And I have no temper at all right now. I'm actually in a very good mood. :-)
The problem is that as long as you and your colleagues truly believe that defects in design are ok, and only programmer bugs in the code are real bugs, you will probably continue to suffer this reputation. I am trying to help your company by presenting a non-emotional, just the facts opinion -- and I hope you choose to embrace these concepts.

Design defects (or simply, bad choices by application designers), well coded, is still a bug. You can call it anything you want, but to end users, if it doesn't work, it's a bug.

cherie 06-17-2013 11:28 AM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by rocky
in terms of bugs and improvements this is an improvement. Bug is the programmer's fault. It is a situation where the programmer intended to implement a certain behavior, but the code fails to correctly conform to this behavior because of mistakes in coding. In case of Advanced Statistics it all works as it was intended to work. No more, no less.

There are way too many holes in this to let it go. I didn't call it a bug. I can't believe it really works as you intended it to and that you really meant it to slow down sites, fill up databases, and recommend it be disabled. That is not just an improvement. Sounds like time for a third category besides bugs and improvements. A feature that is poorly built and neglected for years is worse than a bug.

carpeperdiem 06-17-2013 11:38 AM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by cherie
A feature that is poorly built and neglected for years is worse than a bug.


Every product manager should have this in 72pt type, next to their display. Smartest words I've seen on this, ever.

There is an old saying: "the steps to making a successful software product"

1. make the t-shirts
2. ship the product
3. figure out what the product specs need to be
4. fix the bugs

unfortunately, X-cart sometimes stops before step #3 is completed.
but it's very close if some of these nasties can simply get sorted out WITHOUT adding new features. Reputations can come and go quickly. If Xcart fixes a small list of long-standing bugs, 4.6.1 can be the best release ever.

jrsvsp 06-19-2013 01:25 AM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by Ksenia
If you move data from an older version to a newer one, we do not recommend using export/import. Not all types of data can be imported ( e.g orders), there can also be some mess with IDs or customers/products/categories.

Instead, you should upgrade the store, as a result you do not need to transfer any data manually at all.

But before taking any steps, please create a dev copy and use it as a sandbox.

*If your store is of version 4.5.0-4.5.5, you can download an upgrade pack and patch both files and database.

*If your store is of version 4.1.x-4.4.x, the most optimal way is to:
- save blowfish key
- upgrade DATABASE to v.4.5.0 by means of SQL upgrade patch ( in upgrade pack).
- assign the upgraded database to fresh 4.5.0, specify the blowfish key.
- upgrade from v4.5.0 to 4.6 by means of upgrade patches.

This is a very general instruction. Should you need a more detailed one, please request help in your HelpDesk account. Our engineers can also upgrade the store for you.
-


This is good advice, however it leaves you with a problem. After maybe several days/weeks work you now have a development system working and tested, with any mods you have applied or tailoring to the templates; BUT the database is now out of date as any changes (e.g. new products, new customers, new orders) are on the live database.

If you have gone from 4.4.5 to 4.6.0 using the route suggested how do you upgrade the live database and connect the new 4.6.0 store without going through the whole process again (including applying any mods or template changes) ? Repeating all the steps can introduce new errors (especially if you have any user mods).

carpeperdiem 06-19-2013 03:12 AM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by jrsvsp
This is good advice, however it leaves you with a problem. After maybe several days/weeks work you now have a development system working and tested, with any mods you have applied or tailoring to the templates; BUT the database is now out of date as any changes (e.g. new products, new customers, new orders) are on the live database.

If you have gone from 4.4.5 to 4.6.0 using the route suggested how do you upgrade the live database and connect the new 4.6.0 store without going through the whole process again (including applying any mods or template changes) ? Repeating all the steps can introduce new errors (especially if you have any user mods).


I commented on this issue in this thread:

http://forum.x-cart.com/showthread.php?p=359974
(post #3)
With links to my borderline obnoxious rant. It got obnoxious because nobody from xcart replied... (still waiting for replies about the Books & Magazines template "upgrades")

You are not the first to run full speed into this brick wall of a design defect.

ALL WE NEED is a script to sync or reconcile a live 4.5 database with an upgraded 4.6; 98% of the database will be "upgraded" - we just need to pull a day or a week or a month of customer and order data from 4.5.x to 4.6.x without going through the ENTIRE upgrade again. <sigh>

Ksenia 06-19-2013 06:06 AM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by carpeperdiem
ALL WE NEED is a script to sync or reconcile a live 4.5 database with an upgraded 4.6; 98% of the database will be "upgraded" - we just need to pull a day or a week or a month of customer and order data from 4.5.x to 4.6.x without going through the ENTIRE upgrade again. <sigh>


If you have a live store on one hand ( which keeps generating new orders, customers, inventory changes) and upgraded store of a different version ( with new modules, changes to database, as well as, often, new data, such as products, images etc)on another hand, this 'synchronization tool' becomes a problem.

*which exactly type of data to move (customers? products? categories? orders?anything else?)
*how to define which data are new and require migration?
*what to do with different tables structure if the modifications/modules on dev copy affected the database?
*what to do with IDs if the same ones are present in two databases ( say , new product/user is created in live store and another new product/user with the same id - on dev copy) - overwrite, ignore? even if you personally do not add anything to dev copy, you should keep in mind that some people still tend to.

These are the problems I foresee at a first glance. If we ask upgrade team engineers, they will most probably give a dozen of other potential questions without clear answer.

Probably that's why even the upgrade engineer with more than 10 years experience often prefers this scenario:

#1 database is upgraded to target version on dev copy
#2 modifications and modules and design are applied. All the SQL changes are collected into a separate report.
#3 right before going live, the live store is being closed (and backup is saved), its database is taken as is and upgraded once again.
#4 SQL changes from #2 are applied to this database
#5 this fresh database with latest data is assigned to the upgraded software and the upgraded store replaces the old site.

Under no circumstances do I state that this is the only and best way. If we take each particular store separately, there may probably be much better solutions, and even this 'sync' script will work perfectly. But the more stores we need to cover ( and I guess you expect us to provide a solution which will work for most if not for all the users), the less is the possibility that such a synchronization will not result in new questions.

PS this is my personal opinion. Please do not consider it to be some kind of 'official comments'.

I hope Maxim will shed some light on this question later.

ADDISON 06-19-2013 06:44 AM

Re: X-Cart 4.6 released
 
@Speaking about bugs a few posts above. Even the code is well done (no mistakes), if the programmer made mistakes in architecture, fore sure it is a bug. Let me give you an example. We are talking about speed in 4.6. Is it an improvement or an issue related to those engineers who were not be able dealing with speed in 10 years? If Admin interface is like a Minotaur's labyrinth, even is well done as code, it has an issue: functionality. In 4.6.0 you can see my name in changelog. It is a bug related to position numbering in DPI module. By default position was increased by 1, imagine how wonderful in repositioning images with position 1,2,3,4 and make it 3,4,2,1. How many steps you have to do to achieve the new repositiong? And this is happening in FeatureComparision too. Bugs or Improvements?

It is very ease to say: this request is an improvement, but it needs a solid argumentation. Sometimes one of the best way to make money is to call it like that. I'm personally conducting a deep investigation about XC world. With new releases some developers are asking money. I need to know if this is good or bad. Let me give you an example, I want the speed advantages but I have a module bought from a developer called X. This developer asks for money to get his module working for new version. I have to take a decision: pay it or not. This could be a long discussion but I think is very important.

This is not related to XC but it could be (no solid proves). I hate when someone is asking for money to repair his fault or things left intentionally inside the code (financial bombs for users).

xim 06-19-2013 06:50 AM

Re: X-Cart 4.6 released
 
Ksenia, thank you for such useful post. Ksenia previously managed upgrade tasks in our company and she made this post basing on her experience.

Unfortunately, there is no magic sync script which will done all sync job for you. Our upgrade team has some inhouse tools to make their job safer and easier at the same time. But these tools are like very specific science equipment, which need to be used in specific conditions and for only certain stores, but not a magic wand which solve all the problems immediately.

Our upgrade team use the same diff and files from File Area, which are also available and for customers. The only difference that they have 10-years experience with upgrade process. If I cannot score all the 10 three-pointer shots, I will not say that it is impossible, because Michael Jordan can do it.

cflsystems 06-19-2013 10:21 AM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by Ksenia
If you have a live store on one hand ( which keeps generating new orders, customers, inventory changes) and upgraded store of a different version ( with new modules, changes to database, as well as, often, new data, such as products, images etc)on another hand, this 'synchronization tool' becomes a problem.

*which exactly type of data to move (customers? products? categories? orders?anything else?)
*how to define which data are new and require migration?
*what to do with different tables structure if the modifications/modules on dev copy affected the database?
*what to do with IDs if the same ones are present in two databases ( say , new product/user is created in live store and another new product/user with the same id - on dev copy) - overwrite, ignore? even if you personally do not add anything to dev copy, you should keep in mind that some people still tend to.

These are the problems I foresee at a first glance. If we ask upgrade team engineers, they will most probably give a dozen of other potential questions without clear answer.

Probably that's why even the upgrade engineer with more than 10 years experience often prefers this scenario:

#1 database is upgraded to target version on dev copy
#2 modifications and modules and design are applied. All the SQL changes are collected into a separate report.
#3 right before going live, the live store is being closed (and backup is saved), its database is taken as is and upgraded once again.
#4 SQL changes from #2 are applied to this database
#5 this fresh database with latest data is assigned to the upgraded software and the upgraded store replaces the old site.

Under no circumstances do I state that this is the only and best way. If we take each particular store separately, there may probably be much better solutions, and even this 'sync' script will work perfectly. But the more stores we need to cover ( and I guess you expect us to provide a solution which will work for most if not for all the users), the less is the possibility that such a synchronization will not result in new questions.

PS this is my personal opinion. Please do not consider it to be some kind of 'official comments'.

I hope Maxim will shed some light on this question later.


One thing not mentioned here and it will solve the problem of which data to sync - the dev store is there to develop the new store with new version, skin, look, fell, functionality, etc. The dev store is not there to make changes to products, categories, manufacturers, etc.. So your question what to sync or to sync new or ignore shouldn't be there in the first place.

When dev store is ready to go live sync from live store - overwrite completely
- products, categories, manufacturers and all related tables like discounts, coupons, special offers, images, zones, taxes, etc.
The dev store should not be adding, deleting or making any changes to store data.

When dev site is ready to go live do NOT sync from live store at all
- config, languages, modules and related tables
These tables hold the store config and settings so they should be taken from the dev store and not modified by the upgrade script.

It is that easy to determine what to sync and what not.

When syncing the actual store data do it by specifying exact fields in the query so even if for example products table has new fields added by a modification the query will not fail, also do it with "replace" and not with "insert". This has been a problem with many upgrades because XC sql patch uses "insert" and if a patch or modification has been applied years before with the same data the upgrade fails...

This all assumes once an upgrade is started it doesn't matter if it takes one week or couple months - no changes to live store config/settings should be made as this will not be transferred over and no changes to store data should be made in dev store (other than for testing) as this changes will be overwritten

Another one - how to determine what data is new and what not - this is design flow of XC.
- Orders can be determine as there is order date. But if you use AOM to modify the order 2 weeks from that date .....? Does the order date changes? Probably
- Customers cannot - there is no date when customer profile was created. There are dates for when it was last accessed or modified but no fixed date when it was created. Not a bug but design flow.
- There is no date when a product was created. There is date when it was last modified but no fixed date when it was created. And as many want to show new products using this date it so happens that this is wrong - create a product today, 2 months from now you see you made a spelling error in the description - correct it, the date changes and makes the product new again... Wrong. Serious design flow.

jrsvsp 06-19-2013 01:21 PM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by Ksenia
If you have a live store on one hand ( which keeps generating new orders, customers, inventory changes) and upgraded store of a different version ( with new modules, changes to database, as well as, often, new data, such as products, images etc)on another hand, this 'synchronization tool' becomes a problem.

*which exactly type of data to move (customers? products? categories? orders?anything else?)
*how to define which data are new and require migration?
*what to do with different tables structure if the modifications/modules on dev copy affected the database?
*what to do with IDs if the same ones are present in two databases ( say , new product/user is created in live store and another new product/user with the same id - on dev copy) - overwrite, ignore? even if you personally do not add anything to dev copy, you should keep in mind that some people still tend to.

These are the problems I foresee at a first glance. If we ask upgrade team engineers, they will most probably give a dozen of other potential questions without clear answer.

Probably that's why even the upgrade engineer with more than 10 years experience often prefers this scenario:

#1 database is upgraded to target version on dev copy
#2 modifications and modules and design are applied. All the SQL changes are collected into a separate report.
#3 right before going live, the live store is being closed (and backup is saved), its database is taken as is and upgraded once again.
#4 SQL changes from #2 are applied to this database
#5 this fresh database with latest data is assigned to the upgraded software and the upgraded store replaces the old site.

Under no circumstances do I state that this is the only and best way. If we take each particular store separately, there may probably be much better solutions, and even this 'sync' script will work perfectly. But the more stores we need to cover ( and I guess you expect us to provide a solution which will work for most if not for all the users), the less is the possibility that such a synchronization will not result in new questions.

PS this is my personal opinion. Please do not consider it to be some kind of 'official comments'.

I hope Maxim will shed some light on this question later.


I agree the devt store should not be adding products/users/categories etc .

This sounds good in theory, but in practice there is no simple way to collect all the SQL changes ? Unless I missed something..... If this was possible it would certainly help.

I think an easy way is to provide simple export/import for all the major customer related items, such as :

Customers (you could select by last logon date maybe)
Orders (by date)
For products then I think you can maybe freeze new products, but you do need a simple import/export for prices and quantities in stock

This is not a total solution, but would be a practical approach. What we lack at the moment is the ability to import/export orders, quantities or prices in a simple manner (we can export orders, but not import, and we can import prices and quantities but not export in the same format).

By the way, if the advice is correct, then why can't we go from 4.4.5 to 4.6.0 by upgrading the DB and then connecting to a fresh instal of 4.6.0 instead of having to instal 4.5.0 and then apply an upgrade to get to 4.6.0?

cherie 06-19-2013 01:39 PM

Re: X-Cart 4.6 released
 
I'm glad we're revisiting the upgrade discussion. Hopefully this will spur a new vision for future improvements to the upgrade system that went the wrong direction with 4.5.5.

elmirage001 06-19-2013 02:01 PM

Re: X-Cart 4.6 released
 
Dear X-Cart Team,

Question Please: Why is there no DB upgrader 4.5.0->4.6.0 ?

It's like getting in your car in the back seat and having to climb over the seats into the drivers seat to drive. It can be done but... :-)

I will be moving a copy of my live 4.4.5 database to 4.6.0 two to three more times before I go live on 4.6.x and having to install a fresh copy of 4.5.0 each time just to upgrade the database from 4.5.0 to 4.6.0 is not an efficient use of time.

Thank you,

Paul

Jon 06-19-2013 03:53 PM

Re: X-Cart 4.6 released
 
The database changes from 4.5 to 4.6 are very minimal and seems to me could easily be applied with an SQL patch rather than an upgrader.

carpeperdiem 06-19-2013 04:48 PM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by Jon
The database changes from 4.5 to 4.6 are very minimal and seems to me could easily be applied with an SQL patch rather than an upgrader.


Jon, there were major database changes from 4.5.4 to 4.5.5, and that's where the trouble (and the process) started to get "tricky".

A 4.5.4 to 4.5.5 upgrade is a bigger challenge (I have not been successful doing this with my 4.5.4 - tired 3 times and gave up - documented in the forum) than 4.5.5 to 4.6.0 (which I have been able to do with default databases and default products).

The way I test upgrades -- make a fresh install, then upgrade it. If it doesn't work on default virgin installs, there is no way in hell it will work on a gently modified store. I had nothing but trouble going 4.5.4 to 4.5.5 and if you can't do that, there was no way to do 4.5.4 to 4.6.0 (unless they've made substantial changes to the upgrade script).

I am at least a few weeks away from wanting to upgrade 4.5.4 to 4.6.x, so I am actively following along - but until my mission critical mods are 4.6.x ready (including 3 of your essential mods:

WCM CDSEO Pro
WCM Remember Me
WCM ezUpsell

and the rest of my "mission critical I won't launch an xcart site without these mods"
AC OnSale
AC Checkout_One with tools suite and XPC
AC cash rewards
CFL popup error messages
CFL quick view
-> I am also using TXS X-Menus (my new BFF) and 2 TXS templates, but TXS claims to be compliant with 4.6 -- that was fast. :-)

... have no interest in building the 4.6 store without these 3rd party solution, so X-Cart needs the devs to come to the table in full force. Did they send you all flowers or candy? ;-)

Any developers reading this, how much code do you really have to change to take a perfectly fine 4.5.5 mod and make it work with the new 4.6 module system? Is it really one line of code, or is there more to it than that? [just wondering] -- PS the 4.6 module system is totally cosmetic and doesn't change any functionality -- it simply categorizes modules by type, and then uses ajax to turn them on or off. This is a feature that is simply cosmetic, but the fact that it requires mods that I own to be modified, and the devs of these mods may (should) charge me for the work required to edit and re-encrypt and test and distribute... and if I have any integration issues because I used to have version 4.5.4 and now I have version 4.6.x, so there will be debugging and possible support requirements... the X-Cart team did not consider what a minor cosmetic change to the module page would do to every upgrading store.

Which takes me back to:

The Prime Directive -- er, bug fixes only for minor releases, new features in major releases - XCart can and should charge a nominal upgrade fee for major (new features) releases - I doubt ANYONE will not pay US$50 for a boat load of new features every 12 months. But with the power comes great responsibility -- the incremental releases must be rock solid.

http://www.carpeperdiem.us/xcartforum/broken-record.jpg

aim 06-20-2013 04:43 AM

Re: X-Cart 4.6 released
 
If after placing the upgrade pack XC4.5.x-XC4.6.0 contents in the X-Cart installation folder you see a white screen or receive an HTTP 500 - Internal Server Error, and your store has Customer_Reviews module enabled and the option 'Use new module initialization routine' disabled, you can try and fix this problem using one of the following methods:

* Temporarily (for the time of upgrade) comment out the call for
//func_customer_reviews_init();
in the file
modules/Customer_Reviews/init.php

or

* Temporarily disable the module Customer_Reviews via the restored Admin area or using the sql request "update xcart_modules set active='N' where module_name='Customer_Reviews';" (Be sure to clear the 'var' cache directory)

or

* Temporarily enable the option 'Use new module initialization routine' via the restored Admin area or using the sql request "update xcart_config set value='Y' where name='use_new_module_initialization';"

ADDISON 06-21-2013 01:04 PM

Re: X-Cart 4.6 released
 
I would like to know when FeatureComparison and ProductConfigurator will be ready for 4.6.0.

cflsystems 06-21-2013 01:20 PM

Re: X-Cart 4.6 released
 
I need this as well - the product wizard (old name product configurator). Why was this version released without any module ready for it?

carpeperdiem 06-21-2013 06:47 PM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by cflsystems
Why was this version released without any module ready for it?


http://irce.internetretailer.com/2013/

cflsystems 06-21-2013 07:09 PM

Re: X-Cart 4.6 released
 
Not an excuse :)

I just upgraded 4.5.5 to 4.6.0 without any hitch. Few files to manually patch due to changes but over all the upgrade itself was a positive experience. All seems to be working just fine except one php error which may be a bug

Quote:

[21-Jun-2013 19:42:25 America/Los_Angeles] PHP Fatal error: Cannot unset string offsets in /var/www/cflsys/include/func/func.product.php on line 1053


The line has this code in it

Code:

unset($query_2check['skip_tables']);

which is something new in 4.6.x. Commenting it out allows the script to run and I don't see any issues.

QT can you please check on this.

I wanted to post in the bugtracker and also to check on reported bugs in 4.6.x - there is no way to do that. 4.4.x, 4.5.x and 4.6.x are all together and it is one big mix of old and new bugs, solved and not.... Where is the search in the bugtracker so I can find bugs reported in 4.6.x only? Am I missing something?


EDIT: If anyone is wondering about php/mysql versions and XC - this install is on PHP 5.4.15 and MySQL 5.5.31

cflsystems 06-21-2013 11:08 PM

Re: X-Cart 4.6 released
 
This bug still exists in 4.6.0 - I first spotted it in 4.4.x...

In skin/common_files/modules/Advanced_Order_Management/edit_customer.tpl

Code:

{if $address_fields.phone.avail eq 'Y'}
<tr{cycle name=c4 values=', class="TableSubHead"'}>
  <td>{$lng.lbl_phone}</td>
  <td><input type="text" name="customer_info[b_phone]" size="32" maxlength="32" value="{$cart_customer.b_phone|escape}" /></td>
  <td>{$customer.s_phone}</td>
</tr>
{/if}
{if $address_fields.fax.avail eq 'Y'}
<tr{cycle name=c4 values=', class="TableSubHead"'}>
  <td>{$lng.lbl_fax}</td>
  <td><input type="text" name="customer_info[b_fax]" size="32" maxlength="32" value="{$cart_customer.b_fax|escape}" /></td>
  <td>{$customer.s_fax}</td>
</tr>
{/if}


Should be b_phone and b_fax

Code:

  <select name="customer_info[s_country]" id="customer_info_s_country" onchange="javascript: check_zip_code_field(this.form['customer_info[s_country]'], this.form['customer_info[s_zipcode]']);">
  {section name=country_idx loop=$countries}
    <option value="{$countries[country_idx].country_code|escape}"{if $cart_customer.s_country eq $countries[country_idx].country_code or ($countries[country_idx].country_code eq $config.General.default_country and $cart_customer.b_country eq "")} selected="selected"{/if}>{$countries[country_idx].country}</option>
  {/section}
  </select>


Should be s_country

cflsystems 06-21-2013 11:43 PM

Re: X-Cart 4.6 released
 
Another one - in admin maintenance page - if login is set to "username" the page script still checks for duplicate emails and spits out long list of emails (if it finds any) and of course causes the page to load slow when there are many of them. And it makes the page a mile long. Is this really necessary?
How about just a button like for the other tools that does this only when clicked... If when visiting this page my intension is not to change login type why I have to wait for few minutes until this process finishes and page is loaded...
Maybe QT will call this "an improvement"? Please fix this annoying behavior.

Also this section has no button in that case but there is a message
Quote:

Warning! The following accounts have email address(es) that are being used by other accounts also. You should assign unique email addresses to these accounts in order to proceed.
Proceed to where? To do what? I simply want the page to load.... Once login type is changed there is no need to change it again but there are many reason I want to visit this page - cache regeneration, blowfish key regeneration, clear statistics, etc...

Broken page....

carpeperdiem 06-22-2013 04:28 AM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by cflsystems
This bug still exists in 4.6.0 - I first spotted it in 4.4.x...

Should be b_phone and b_fax

Should be s_country


Steve,

My 4.5.4 store (many files upgraded from 4.1.9) had the b_phone and b_fax edit, but not the s_country fixes.
Considering that until a few months ago, I only shipped to US, this would not have bitten me. But now that we're shipping globally, thanks for this fix!

AOM is a "tail wags the dog" module that could use a ground-up re-engineering. Wanna bet we will all be using a different ecom platform before that happens?

J

elmirage001 06-22-2013 07:53 AM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by cflsystems
Not an excuse :)

I just upgraded 4.5.5 to 4.6.0 without any hitch. Few files to manually patch due to changes but over all the upgrade itself was a positive experience. All seems to be working just fine except one php error which may be a bug



The line has this code in it

Code:

unset($query_2check['skip_tables']);

which is something new in 4.6.x. Commenting it out allows the script to run and I don't see any issues.

QT can you please check on this.

I wanted to post in the bugtracker and also to check on reported bugs in 4.6.x - there is no way to do that. 4.4.x, 4.5.x and 4.6.x are all together and it is one big mix of old and new bugs, solved and not.... Where is the search in the bugtracker so I can find bugs reported in 4.6.x only? Am I missing something?


EDIT: If anyone is wondering about php/mysql versions and XC - this install is on PHP 5.4.15 and MySQL 5.5.31

Hi Steve,

I had found an SQL issue and they did this patch.

cflsystems 06-22-2013 08:38 AM

Re: X-Cart 4.6 released
 
This link leads nowhere, can you post the actual bugtracker page url.

Second time it did load. Thanks

This fix comes after the line I have problems with so it doesn't fix anything there

elmirage001 06-22-2013 08:49 PM

Re: X-Cart 4.6 released
 
Hi Steve, I didn't know whether it would help you or not but knew YOU would know :-) Thanks for letting me know there is still an issue I need to watch for. Paul

Ksenia 06-24-2013 12:56 AM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by ADDISON
I would like to know when FeatureComparison and ProductConfigurator will be ready for 4.6.0.



Thank you for your question, Mr. Addison.
The modules were uploaded to the FileArea. Everyone who has licenses for the modules is welcome to download them now.

Jeremy, Steve, it's not IRCE to blame. These 2 modules were ready initially, as they're a part of Platinum package and go out of the box there. Once we discovered that Product Wizard and Feature Comparison are not available, we uploaded them.

How come? We're all human beings. But we work on our mistakes. The engineer responsible has left a note to make sure these modules are uploaded next time.
We're very sorry for the inconvenience, the problem should not repeat in future.

cflsystems 06-24-2013 07:31 PM

Re: X-Cart 4.6 released
 
Doing an upgrade from 4.1.9 to 4.6.0. The new security features are really pain in the ass. QT - PLEASE revised them and also make sure the config.php in the installation and the one in the upgrade packs have these features OFF by default - ALL of them.

I had to do the upgrade on a separate server and once db upgraded move it back to the production server - apparently the new security features are tied to IP (otherwise I don't see why login will fail) and generate the signatures in customers tables based on that... Please correct me if I am wrong

This causes failed logins once db is moved to a different server. While the 4.6.0 installation can be done with most of these features being OFF an upgrade cannot - the config.php in the upgrade packs has them all set to IP or ON and modifying them in the file causes MD5 checksum to fail so the upgrade cannot be performed...

I am all for security but when this security stands in the way of the normal store operation it is more of a software malfunction rather than improvement.

The only way to login was to go through "reset password" which by the way caused the following sql error

Quote:

[24-Jun-2013 19:46:32] SQL error:
Site : URL
Remote IP : IP
Logged as : LOGIN
SQL query : REPLACE INTO xcart_login_history (`userid`, `date_time`, `usertype`, `action`, `status`, `ip`) VALUES ('27124', '1372128392', 'P', 'check_critical_config_values_authenticity:&nbsp;* Notify the site administrator about SQL errors in the store by email&nbsp;*Possible fake allowed IP addresses and/or the list of IP addresses awaiting registration&nbsp;*Check if payment gateway response is coming from the IP's specified here (enter a comma separated list)&nbsp;*Login error notification to site administrator&nbsp;*Possible fake allowed IP addresses and/or the list of IP addresses awaiting registration&nbsp;*Site administrator email address&nbsp;*SMTP server&nbsp;*Notify the site administrator by email if unallowed request to site occurs&nbsp;*Use SMTP server instead of internal PHP mailer&nbsp;*IP addresses for X-Payments callbacks (optional)', 'restricted', '1136079444')
Error code : 1064
Description : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's specified here (enter a comma separated list)&nbsp;*Login error notification t' at line 1
Request URI: /store/xcart/admin/home.php
Backtrace:
/store/xcart/include/func/func.db.php:320
/store/xcart/include/func/func.db.php:217
/store/xcart/include/func/func.db.php:711
/store/xcart/include/func/func.user.php:1580
/store/xcart/include/func/func.security.php:141
/store/xcart/admin/auth.php:103
/store/xcart/admin/home.php:44
-------------------------------------------------


Note the marked in red/bold - unescaped '


I continue to see this error as well
Quote:

[24-Jun-2013 18:03:13] Error: Smarty error: [in main/orders_list.tpl line 54]: [plugin] modifier 'order_status_color' is not implemented (core.load_plugins.php, line 118) in /include/lib/smarty/Smarty.class.php on line 1093



Also doing an upgrade from 4.5.x to 4.6.0 results in no sql or php errors on the 4.6.0 cart but installing new unmodified 4.6.6 gold+ shows this php error

Quote:

[24-Jun-2013 19:52:16] PHP Fatal error: Cannot call method self::arg1PlusArg2() or method does not exist in /include/func/func.product.php on line 663


and this sql

Code:

    SQL query  : SELECT DISTINCT xcart_products.productid FROM xcart_products INNER JOIN xcart_products_lng_en ON xcart_products_lng_en.productid = xcart_products.productid INNER JOIN xcart_products_categories ON  xcart_products_categories.productid = xcart_products.productid AND xcart_products_categories.avail = 'Y'  LEFT JOIN xcart_category_memberships ON xcart_category_memberships.categoryid = xcart_products_categories.categoryid LEFT JOIN xcart_product_memberships ON xcart_product_memberships.productid = xcart_products.productid WHERE (xcart_category_memberships.membershipid = '0' OR xcart_category_memberships.membershipid IS NULL) AND (xcart_product_memberships.membershipid = '0' OR xcart_product_memberships.membershipid IS NULL) AND xcart_products.forsale='Y' AND xcart_products_categories.main='Y' AND xcart_products_categories.categoryid='9871' AND price >= '399.00' AND product >= 'Bronze Lite Class: H.264 8 Channel DVR - Apple IPHONE MAC OSX Windows PC Compatible' ORDER BY price ASC, xcart_products_lng_en.product ASC LIMIT 2
    Error code  : 1054
    Description : Unknown column 'price' in 'where clause'
Request URI: /store/xcart/product.php?productid=53748&cat=0&featured=Y
Backtrace:
/store/xcart/include/func/func.db.php:320
/store/xcart/include/func/func.db.php:217
/store/xcart/include/func/func.db.php:516
/store/xcart/include/func/func.product.php:1527
/store/xcart/include/func/func.product.php:555
/store/xcart/include/func/func.product.php:459
/store/xcart/include/func/func.product.php:425
/store/xcart/product.php:327


Table pricing is missing from the above query so "price" is unknown.....

This is with fresh downloaded upgrade packs and new release installation pack

@Ksenia - I was not complaining although it will be a reasonable complain - RE product configurator. There are many XC owners with old carts which either bought this module before or had it included free with the cart and using it. The new XC line took this module out (fine) but not one upgrade pack checks if this module is in modules table and if it is ON and in the upgraded db and if not some sort of notification at least to turn it OFF. Every single upgrade I have done since this new line was introduced has the module (or the comparation module) ON and this causes the cart to not work after an upgrade - until this module is turned off or files are uploaded. The least the upgrade pack can do is turn off these module - not to delete their reference but so they don't load, and a note for admin on first login.... just an idea


Another one - not sure how you want to handle this - but since 4.6.0 has some module's new info like tags, url, author... with an upgrade the modules already in the db do not have this info - maybe it is not a bad idea to allow admin to re-categorize modules so the existing ones do not receive just generic "ALL" tag.... just something to think about, not a bug or anything....

carpeperdiem 06-24-2013 11:16 PM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by cflsystems

I am all for security but when this security stands in the way of the normal store operation it is more of a software malfunction rather than improvement.


Steve,
Are you reading my old posts from my "4.5.4 to 4.5.5 upgrade rant", and copy/pasting? :-(
Dear X-Cart: it's not that upgrades are difficult -- you are MAKING them near impossible by ADDING totally non-essential garbage to the core. The so-called security "features" that were added in 4.5.5 and 4.6.0 are useless to the average merchant.

It is OBVIOUS that the xcart product manager approving these so-called "security features" is living in an ecommerce vacuum. But I had this "discussion" with various non-managers here in the forum. I would really like to have a true non-threatening conversation with THE person(s) at X-Cart who a) decided this would be an important addition to a minor bug-fix release; b) defend the NEED for these additional so-called security "features" -- not just "these features make the cart more secure", but "we were seeing hundreds and hundreds of customers' stores compromised..."; c) show us a real world need.

But it's too late. We are now 2 versions removed from a relatively stable core... and EVEN IF these so-called "security" features are beneficial, the upgrade process to add these features should have been designed to be an optional add-on, not integrally tied to an "upgrade".

We are wasting our energy.

Ksenia 06-25-2013 04:51 AM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by cflsystems
Doing an upgrade from 4.1.9 to 4.6.0. The new security features are really pain in the ass. QT - PLEASE revised them and also make sure the config.php in the installation and the one in the upgrade packs have these features OFF by default - ALL of them.


We will not roll back all the security improvements or disable them by default per the request of a single user from the forum (even if this user is you, Steve - despite we do respect your opinion . We consider that enhanced security IS improvement and IS required. It should protect most merchants from being hacked.

At the same time, there's a way for developers like you to finish the upgrade, let me please try to help.


Quote:

Originally Posted by cflsystems
I had to do the upgrade on a separate server and once db upgraded move it back to the production server - apparently the new security features are tied to IP (otherwise I don't see why login will fail) and generate the signatures in customers tables based on that... Please correct me if I am wrong

This causes failed logins once db is moved to a different server. While the 4.6.0 installation can be done with most of these features being OFF an upgrade cannot - the config.php in the upgrade packs has them all set to IP or ON and modifying them in the file causes MD5 checksum to fail so the upgrade cannot be performed...


If you upgrade the database on a dev server, when you move the upgraded DB back to production server you need to edit config.php of production copy as follows:

1)copy $blowfish_key and security keys ($xc_security_key_session, $xc_security_key_config, $xc_security_key_general) from dev copy

or
2) Set these constants to 'false' so that the secret keys will not be checked:

const CHECK_CUSTOMERS_INTEGRITY
const CHECK_XAUTH_USER_IDS_INTEGRITY
const CHECK_RESET_PASSWORDS_INTEGRITY
const CHECK_CONFIG_INTEGRITY

We consider that #1 is a better choice, but it's up to you to decide.

And since you're editing config.php, you may also want to disable the 'block unknown admin IP' feature, (const BLOCK_UNKNOWN_ADMIN_IP is responsible for it) or expand the list of allowed admin IPs ( const ADMIN_ALLOWED_IP).


Quote:

Originally Posted by cflsystems
The only way to login was to go through "reset password" which by the way caused the following sql error

Code:

[24-Jun-2013 19:46:32] SQL error:
Site : URL
Remote IP : IP
Logged as : LOGIN
SQL query : REPLACE INTO xcart_login_history (`userid`, `date_time`, `usertype`, `action`, `status`, `ip`) VALUES ('27124', '1372128392', 'P', 'check_critical_config_values_authenticity:&nbsp;* Notify the site administrator about SQL errors in the store by email&nbsp;*Possible fake allowed IP addresses and/or the list of IP addresses awaiting registration&nbsp;*Check if payment gateway response is coming from the IP's specified here (enter a comma separated list)&nbsp;*Login error notification to site administrator&nbsp;*Possible fake allowed IP addresses and/or the list of IP addresses awaiting registration&nbsp;*Site administrator email address&nbsp;*SMTP server&nbsp;*Notify the site administrator by email if unallowed request to site occurs&nbsp;*Use SMTP server instead of internal PHP mailer&nbsp;*IP addresses for X-Payments callbacks (optional)', 'restricted', '1136079444')
Error code : 1064
Description : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's specified here (enter a comma separated list)&nbsp;*Login error notification t' at line 1
Request URI: /store/xcart/admin/home.php
Backtrace:
/store/xcart/include/func/func.db.php:320
/store/xcart/include/func/func.db.php:217
/store/xcart/include/func/func.db.php:711
/store/xcart/include/func/func.user.php:1580
/store/xcart/include/func/func.security.php:141
/store/xcart/admin/auth.php:103
/store/xcart/admin/home.php:44
-------------------------------------------------



Ildar has prepared a patch for this issue, please download it here

Quote:

Originally Posted by cflsystems
I continue to see this error as well

Code:

[24-Jun-2013 18:03:13] Error: Smarty error: [in main/orders_list.tpl line 54]: [plugin] modifier 'order_status_color' is not implemented (core.load_plugins.php, line 11 in /include/lib/smarty/Smarty.class.php on line 1093

This error was fixed in version 4.5.5.


Quote:

Originally Posted by cflsystems
Also doing an upgrade from 4.5.x to 4.6.0 results in no sql or php errors on the 4.6.0 cart but installing new unmodified 4.6.6 gold+ shows this php error

Code:

[24-Jun-2013 19:52:16] PHP Fatal error: Cannot call method self::arg1PlusArg2() or method does not exist in /include/func/func.product.php on line 663


and this sql

Code:

    SQL query  : SELECT DISTINCT xcart_products.productid FROM xcart_products INNER JOIN xcart_products_lng_en ON xcart_products_lng_en.productid = xcart_products.productid INNER JOIN xcart_products_categories ON  xcart_products_categories.productid = xcart_products.productid AND xcart_products_categories.avail = 'Y'  LEFT JOIN xcart_category_memberships ON xcart_category_memberships.categoryid = xcart_products_categories.categoryid LEFT JOIN xcart_product_memberships ON xcart_product_memberships.productid = xcart_products.productid WHERE (xcart_category_memberships.membershipid = '0' OR xcart_category_memberships.membershipid IS NULL) AND (xcart_product_memberships.membershipid = '0' OR xcart_product_memberships.membershipid IS NULL) AND xcart_products.forsale='Y' AND xcart_products_categories.main='Y' AND xcart_products_categories.categoryid='9871' AND price >= '399.00' AND product >= 'Bronze Lite Class: H.264 8 Channel DVR - Apple IPHONE MAC OSX Windows PC Compatible' ORDER BY price ASC, xcart_products_lng_en.product ASC LIMIT 2
    Error code  : 1054
    Description : Unknown column 'price' in 'where clause'
Request URI: /store/xcart/product.php?productid=53748&cat=0&featured=Y
Backtrace:
/store/xcart/include/func/func.db.php:320
/store/xcart/include/func/func.db.php:217
/store/xcart/include/func/func.db.php:516
/store/xcart/include/func/func.product.php:1527
/store/xcart/include/func/func.product.php:555
/store/xcart/include/func/func.product.php:459
/store/xcart/include/func/func.product.php:425
/store/xcart/product.php:327



This error is specific for PHP v.5.2. Ildar has provided the patches for both problems in this discussion earlier, see post #43 of this very thread



[quote=cflsystems]
@Ksenia - I was not complaining although it will be a reasonable complain - RE product configurator. There are many XC owners with old carts which either bought this module before or had it included free with the cart and using it. The new XC line took this module out (fine) but not one upgrade pack checks if this module is in modules table and if it is ON and in the upgraded db and if not some sort of notification at least to turn it OFF. Every single upgrade I have done since this new line was introduced has the module (or the comparation module) ON and this causes the cart to not work after an upgrade - until this module is turned off or files are uploaded. The least the upgrade pack can do is turn off these module - not to delete their reference but so they don't load, and a note for admin on first login.... just an idea [quote]

Thank you for this observation. The adding of these 2 modules has just been removed from 'db_upgrade_packs' of versions:
4.1.12
4.2.3
4.3.2

In DB upgrader from 4.4.5 ( where the modules were available out of the box) they will be disabled by default.

Thus this issue should no longer bother you.


Quote:

Originally Posted by cflsystems
Another one - not sure how you want to handle this - but since 4.6.0 has some module's new info like tags, url, author... with an upgrade the modules already in the db do not have this info - maybe it is not a bad idea to allow admin to re-categorize modules so the existing ones do not receive just generic "ALL" tag.... just something to think about, not a bug or anything....

The idea is nice, I've forwarded it to X-Cart architects, however the fixes of bugs are of higher priority in our next version.

Steve, thank you for digging into it. We appreciate your help.

Have a nice day.

cflsystems 06-25-2013 08:27 AM

Re: X-Cart 4.6 released
 
I don't want you to remove the new security features. Just don't have it all ON by default while installing/upgrading and allow - have a big red notice if you want in admin - setting them after all is installed and admin can login normally. You are not doing anyone any good by making it almost impossible to login in some cases (many by the way) after installation or upgrade, which makes everyone angry at QT....

Appreciate the respect really but I don't expect QT to change things just because of me or any other developer... it's not the way it works. But if you read the forum you will find not only me but many others complaining about this so... So a survey about it...

Another thing I forgot to mention yesterday - it is impossible (or I didn't see it) to generate these new security keys without re-generating the blowfish key. Which for an upgrade it is a must - the blowfish key has to stay the same as the live site and the security keys may need to be regenerated... Just one more thing to think about...

RichieRich 06-25-2013 08:57 AM

Re: X-Cart 4.6 released
 
Am I right in thinking the Banner system only allows for fixed pixel width in the setting instead of both pixel and percentage?

Please add the ability to make it percentage, because as your demo shows, the banner is limited in the ideal responsive, where it could stretch the width of the element in the device change, instead it is pixel fixed. This will make a good improvement.

RichieRich 06-25-2013 10:14 AM

Re: X-Cart 4.6 released
 
I am curious how on the x-cart goldplus demo the loading file sizes are considerably different than what I acheived. I actually disabled almost every module and the x-cart demo had most of them enabled.

X-cart demo:
JavaScript File 266.0K
Stylesheet File 37.6K

My demo:
JavaScript File 444.7K
Stylesheet File 221.9K

Now it does say that mine have not been compressed with gzip and x-cart demo has, however the speed up tools were checked, is there another option, or is there something I am not doing?

carpeperdiem 06-25-2013 10:45 AM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by RichieRich
Now it does say that mine have not been compressed with gzip and x-cart demo has


bingo

timbrrr 06-25-2013 01:07 PM

Re: X-Cart 4.6 released
 
Does anyone else have this scenario?:
When you go to an order in admin, click on print a receipt
Does the receipt come up with all the customer/order info, but then also with the antifraud information at the bottom of the receipt?

carpeperdiem 06-25-2013 01:10 PM

Re: X-Cart 4.6 released
 
Take a look at file,
/skin/common_files/mail/html/order_invoice.tpl

Look for the antifraud info.
Comment it out.
Someone must have put it there?

cflsystems 06-27-2013 08:32 AM

Re: X-Cart 4.6 released
 
Quote:

Originally Posted by Ksenia
If you upgrade the database on a dev server, when you move the upgraded DB back to production server you need to edit config.php of production copy as follows:

1)copy $blowfish_key and security keys ($xc_security_key_session, $xc_security_key_config, $xc_security_key_general) from dev copy

or
2) Set these constants to 'false' so that the secret keys will not be checked:

const CHECK_CUSTOMERS_INTEGRITY
const CHECK_XAUTH_USER_IDS_INTEGRITY
const CHECK_RESET_PASSWORDS_INTEGRITY
const CHECK_CONFIG_INTEGRITY

We consider that #1 is a better choice, but it's up to you to decide.

And since you're editing config.php, you may also want to disable the 'block unknown admin IP' feature, (const BLOCK_UNKNOWN_ADMIN_IP is responsible for it) or expand the list of allowed admin IPs ( const ADMIN_ALLOWED_IP).


@Ksenia
I tried option #1 and it did NOT work. Again if these security features are tied to the IP address they will never work when moved from one server to another unless keys are regenerated which is impossible without login in to admin or doing "forgot password".... Since even with all of them OFF you still can't login to admin the only way left is "forgot password"....


All times are GMT -8. The time now is 08:11 PM.

Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.