CS-Cart 4 Beta is Released

Well I am impressed with the design mode. I'm not an expert in cs cart, css and code and it took me hours and hours to change the cs cart 3 theme to different colours and backgrounds. I did the same in cs cart 4 in about 30 mins! Loving it so far.

Do we have a release date, frankly I'm confused. I'm about to finally go live with 3.06 and I'm told the is better around the corner.

[quote name='kickoff3pm' timestamp='1367092888' post='160827']

Do we have a release date, frankly I'm confused. I'm about to finally go live with 3.06 and I'm told the is better around the corner.

[/quote]



Expected release in June according to this post: CS-Cart 4 Beta is Released - Page 3 - News and Announcements - CS-Cart Community Forums - Page 3



john

Is there any documentation for addon developers?

Going from V2 to V3/Ultimate was a disaster. If V4 is not compatible with V3 from an addon perspective, it's going to take a long time and several price increases to manage 3 different versions (2, 3, 4).



Please advise.



Need details like DB schema changes as well as deprecated functions and new methodologies to be used in place of deprecated functions/classes.

[quote name='tbirnseth' timestamp='1367093597' post='160830']

Is there any documentation for addon developers?

Going from V2 to V3/Ultimate was a disaster. If V4 is not compatible with V3 from an addon perspective, it's going to take a long time and several price increases to manage 3 different versions (2, 3, 4).



Please advise.



Need details like DB schema changes as well as deprecated functions and new methodologies to be used in place of deprecated functions/classes.

[/quote]



See this link :http://docs.cs-cart.com/adapting-addon-3to4



John

[quote]

For most add-ons, it is not necessary to go through every step described below.

[/quote]



Well, that's a re-release and change to the whole build process to now have addons in the app/addons folder. Every PHP file has to be modified and every class reference has to have the case of the method changed.



I'm so sick of cs-cart's useless changes that simply cost me money and keep customers from getting the benefits of addons.

Think it's time to move on to a different vendor. Requires way too much investment to keep re-doing everything because someone wants to change a name somewhere.



What a waste of time. So glad I stayed with V2.2.5 for my own site and wish I'd never taken my customers to V3.0.6.



Not sure I see ANYTHING compatible between V4 and V3 (which makes the initial statement above completely false). Every line of code has to be reviewed and every file requires updating if someone uses the Registry or any class method reference!



So done…

tbirnseth,



I quite enjoy your add-ons, but I also want to keep updated on the latest version of CS-Cart. I am willing to pay for upgrading your add-ons.



Adam

Thanks Adam,

I appreciate the compliment and at a personal level I'd be all over it. But with what I read, every addon I have requires nearly a complete rewrite. From a business perspective this simply isn't a good business decision for me.



Adding an API (the published reason for V3.1 AKA V4) should not have required destroying all previous work. But what I've learned is that cs-cart is primarily a company of developers who simply can't resist the temptation of re-doing everything because some newer technology is available without there being a benefit to their customers and partners. Unfortunately, I can't afford to do the same.



So I will continue to support my addons for V2 and V3. But will not provide any commercial addon products for V4. However, we will continue to do custom development work for V2, V3 or V4 and will continue to do so in the most portable manner possible. We will just not be able to offer commercial addons for V4 (afraid that next year a V5 will come out that will close the door on us again).



Again, thanks for the kind words. I was astonished when I read the extent of changes that would be required. I can invest the same energy into an entirely new platform since essentially it would be the same as starting from scratch anyway. Might as well go back and look at what's happening with other ecommerce platforms that might prove to be a bit more stable from a commercial standpoint.



Good luck to you.

Why why why do we get yet another stream of completely unneccesarry changes? Just one of many examples:


CS-Cart 3:
$block_scheme = SchemesManager::get_block_scheme($block['type'], array());
CS-Cart 4:
$block_scheme = SchemesManager::getBlockScheme($block['type'], array());




It's exactly the same except they removed the underscore and added capitals. Why why why can't we just keep it the way it was?



Why do we, with every little upgrade, have to spend countless hours and $$$$ (I spend at least $2000 on going from 2 to 3 and in the end I never even made the move because 3.11 with api (now known as 4) was already announced and again promised to change everything.



Come on guys…

I'm getting this error when I try to install. First time I've ever had an error during a CS-Cart install.



Warning[color=#000000][font=Times][size=1]: file_exists() [[/size][/font][/color]function.file-exists[color=#000000][font=Times][size=1]]: open_basedir restriction in effect. File(./…//app/Tygh/Session.php) is not within the allowed path(s): (/home/centtral:/usr/lib/php:/usr/php4/lib/php:/usr/local/lib/php:/usr/local/php4/lib/php:/tmp) in [/size][/font][/color]/home/centtral/public_html/app/lib/vendor/composer/ClassLoader.php[color=#000000][font=Times][size=1] on line [/size][/font][/color]188



Fatal error[color=#000000][font=Times][size=1]: Class 'Tygh\Session' not found in [/size][/font][/color]/home/centtral/public_html/install/app/Installer/SetupController.php[color=#000000][font=Times][size=1] on line [/size][/font][/color]109

[quote name='SpyreDigital' timestamp='1367156588' post='160872']

I'm getting this error when I try to install. First time I've ever had an error during a CS-Cart install.



Warning[color=#000000][font=Times][size=1]: file_exists() [[/size][/font][/color]function.file-exists[color=#000000][font=Times][size=1]]: open_basedir restriction in effect. File(./…//app/Tygh/Session.php) is not within the allowed path(s): (/home/centtral:/usr/lib/php:/usr/php4/lib/php:/usr/local/lib/php:/usr/local/php4/lib/php:/tmp) in [/size][/font][/color]/home/centtral/public_html/app/lib/vendor/composer/ClassLoader.php[color=#000000][font=Times][size=1] on line [/size][/font][/color]188



Fatal error[color=#000000][font=Times][size=1]: Class 'Tygh\Session' not found in [/size][/font][/color]/home/centtral/public_html/install/app/Installer/SetupController.php[color=#000000][font=Times][size=1] on line [/size][/font][/color]109

[/quote]

i was having same error and solve it by upgrading php to 5.3

From what I read in the release notes, V4 is only supported on PHP 5.3 and 5.4.

Sure hope you don't have any other apps on your domain that will break with 5.3 or 5.4 (like blogs, ticket systems, etc.) Best to check the forums of your other apps to verify their compatibility before upgrading.



If anyone has ever looked at the V2 or V3 error_log files you'll find that many of the libraries that cs-cart uses are not 5.3 compatible (most notably the html->pdf converter) and they still suppress deprecated and strict warning messages for 5.3 and above.

[quote name=‘sadlove’ timestamp=‘1367181168’ post=‘160898’]

i was having same error and solve it by upgrading php to 5.3

[/quote]



Mine’s 9.3.22 and still having the same problem :(

wartonskull > your reply > Thanks - should be fine I know but have had issues with AuthType Basic protected sub-directories conflicting with the SEO/SEF re-writing. Had to perform workaround to get it to work.

[quote name='sadlove' timestamp='1367181168' post='160898']

i was having same error and solve it by upgrading php to 5.3

[/quote]

same problem even on 5.3 and 5.4 =(

[quote name='tbirnseth' timestamp='1367095721' post='160839']

Well, that's a re-release and change to the whole build process to now have addons in the app/addons folder. Every PHP file has to be modified and every class reference has to have the case of the method changed.



I'm so sick of cs-cart's useless changes that simply cost me money and keep customers from getting the benefits of addons.

Think it's time to move on to a different vendor. Requires way too much investment to keep re-doing everything because someone wants to change a name somewhere.



What a waste of time. So glad I stayed with V2.2.5 for my own site and wish I'd never taken my customers to V3.0.6.



Not sure I see ANYTHING compatible between V4 and V3 (which makes the initial statement above completely false). Every line of code has to be reviewed and every file requires updating if someone uses the Registry or any class method reference!



So done…

[/quote]





Dear tbirnseth,



Indeed, CS-Cart 4 has some significant core changes compared to CS-Cart 3.0.x. This is why we called it 4 instead of 3.1.1.



We assure you that all the core changes in CS-Cart 4 are necessary for the successful evolution of the software. This is not some kind of an experiment—this is what we, as developers, have to do in order to keep CS-Cart in pace with time. Modern technologies change quickly—and so should modern software.



Extending functionality without making corresponding core modifications will lead to lower stability, worse maintainability, and slow down the development in the long run. Also, supporting legacy code is pain for both our developer team and 3rd party developers.



Your comments are very important for us; listening to user feedback is crucial for a successful product. We thank you very much for sharing your thoughts with us, and we hope for your understanding.

I am feeling same way about moving to new platform.



Nearly every day my small company publishes 30 - 50 new products to website. Starting from 2X product adding steps did not change, steps order created by administrator or buyer has to do in order to put sale also. So what is worth cart that is not orientated to generating sales, ease of use?



I would suggest developers opening their own shop, sell some t-shirts or some other bits with cs-cart logo to try their own product convenience.



Upgrading cart is major pain and even worse then you do not see anything attractive in new version…






[quote name='tbirnseth' timestamp='1367126830' post='160858']

Again, thanks for the kind words. I was astonished when I read the extent of changes that would be required. I can invest the same energy into an entirely new platform since essentially it would be the same as starting from scratch anyway. Might as well go back and look at what's happening with other ecommerce platforms that might prove to be a bit more stable from a commercial standpoint.



Good luck to you.

[/quote]

Imac - suggest you call a spade a spade then. The statement about addons being very compatible between V3 and V4 is just imply false. The only thing that is “slight” is changing the language value from upper to lower case in addon.xml. Everything else dramatically affects someone's ability to supply addons for cs-cart.



Less than a year ago (even much less for a stable release) V3 came out which required changes to addon.xml and also to the default location of repository templates. This cause us to have to re-vamp our build process to pick up the new locations if producing V3 versus V2. We choose to continue to support our existing customer base regardless of what version they are on (until now).



Now, only a few months later, the locations have all changed again and are much more dramatic. The other structure (having everything under one rooted tree - var/skins_repository//{admin,customer,mail}) was much more manageable. But now, admin addon templates go one place, customer another, mail another, etc.



Also, you moved the addons directory to a sub directory. Didn't need to do so other than to make the picture prettier.



And what's the templates directory in the addons/my_addon directory for? The only addon that uses it is the price_change addon and it contains a pdf and xls php files for formatting the output of the addon (which would actually seem more approriate in the lib directory). Putting the actual templates for an addon inside the addon directory would make a whole lot of sense from a structural perspective.



V2 evolved and was stable for a long time (this was good). V3 was very short lived and V4 will take 6 months to a year to become stable since you've chosen to change so much.



From a customer perspective and from a partner perspective, “evolution” is much preferred to “revolution”. Every time you do this you cost me many hours of development (which translates to money) and inject risk into my products and my business. I choose to support my clients functional needs, not my own internal desire to conform to yet the next standard that comes along that a development team chooses to comply with. THERE IS NO BENEFIT TO YOUR CUSTOMER BASE for using aliasing, changing template structure, etc. The API certainly didn't require any of this, only developer desires to do something different.

You need to update your addon developer guide to be a bit more complete.



Seems that you removed all the DIR_* constants so things like DIR_ADDONS no longer exists.

You seem to have moved them to the $config['dir'] array which is then accessible to via the Registry. Again, really an unnecessary change. You could have provided compatibility by simply redefining them to something like

define('DIR_ADDONS', Registry::get('config.dir.addons'));

And provided at least an interim step toward migration/compatibility!



Is there somewhere else you want me to post missing pieces and/or information about updating an addon that I might discover as I go along?

Removed the controller constants too (CONTROLLER, MODE, ACTION, DISPATCH_EXTRA). No mention in the addon document.



How are constants utilized in namespaces? It appears that most are global, but what is the 'use' directive for things like AJAX_REQUEST? I'm assuming all the constants are also defined within namespaces.



Please advise.