Jump to content



Member Since 12 Aug 2015
Offline Last Active Aug 25 2017 08:38 PM

#276533 How Do People Manage Development And Production Servers With Cs-Cart?

Posted by fdo on 04 May 2017 - 02:14 PM

As others have mentioned, you can do another account on the same server as production, a local install using Windows (ie, WAMP server), or some flavor of Linux with a standard stack either on hardware or as a virtual machine (ie virtualbox). Everything would be pretty standard except for a couple of extremely annoying issues that force devs to dabble on the edge of terms of use:


1) There is no longer a CS-Cart "Free License" so your dev env needs some quoteunquote "repairs" to allow unlimited use. Note that these changes need to persist when you sync from the live store and be ignored when you sync to the live store.

2) Addons and themes such as those from Energo also need some "repairs" in order to work on another server/ip (this is due to devs not allowing development instances to use same license as live store <-- this is insane mentality for year 2017). Same rules for sync apply.


As far as server goes, We use a a few Vultr instances for development. Reason being is that they are very cheap for the power, extremely fast, and have snapshots. This means that you can instantly take a backup of the entire server to restore to later. This works excellent when trying things out which may wreck the store, new addons, new themes, etc. In addition to a development license of WHM/cPanel so you can try out different builds, new server modules, dry run upgrades, etc without liability to production. Note that if you apply for WHM dev, you need a static IP. https://cpanel.com/d...er-license-app/


It was initially hard to decide between Ramnode, Vultr or Digital Ocean, but Vultr won and we never looked back. A bunch of colleagues use them too for production instead of just dev (100% uptime guarantee). In addition if your production is on same vultr account as dev, you can share snapshots-as-deploy-image between the servers. Easy peasy. http://www.vultr.com/?ref=7089010

#273493 March 22Nd Cpanel Update Causes False 403 Errors On Urls/assets

Posted by fdo on 22 March 2017 - 08:41 PM

Hey all we just got pwnd all night/day because of a bad regex in a Cpanel update. The amount of requests 403'ing took us down (one of the bad blocks was in menu). The fix is pretty easy if you can get to primary httpd.conf or its template (or tell your host to).


Symptoms are, as of last night, certain assets not not loading, and perhaps CS-Cart not acting right, or getting hammered on its 403 page, crashing out apache.


The bad regex is this:

<FilesMatch "(.ht[access|passwd]|.user.ini|php.ini)">

The good regex is this: 
<FilesMatch "(\.ht(access|passwds?)|\.user\.ini|php\.ini)">
Check out your store if you are on Cpanel. Strings like "light" in urls, image names, pdfs, etc will fail because the dev used unescaped periods, as well as brackets that match letters instead of whole word snippets. In the case that one of these assets is in a menu/header/footer, and you have high traffic, your store may be crashing.
More info and a sed patch here: https://forums.cpane...3/#post-2413703

#268192 Why Is Cs-Cart Not Recording Ip In Fn_Log_Event()?

Posted by fdo on 11 January 2017 - 06:17 PM

Hey all in our eternal quest to stay PCI compliant, we noticed that the CS-Cart admin logs don't show IP addresses for anything besides user (session) events.


Is this what you guys are seeing in your installs too? It looks like fn_log_event() is not putting in the serialized index for "ip_address" everywhere, which seems really strange considering /design/backend/templates/views/logs/manage.tpl is looking for IP cells. Its an easy fix, but its a file change that is another tick towards upgrade hell.


Is there some reason this is missing from the core? Perhaps it used to be in there and was removed?

#247572 What Is A Feature Code And Why Isn't It In $Features Object?

Posted by fdo on 07 April 2016 - 06:51 PM

So I'm trying to access a Brand/Mfg feature in a sane way to make a trigger for some logic. I see there is a "feature code" available in backend. There is no information about this anywhere in docs though.


What does it do? What is it for? Why isn't it available in $features object/array at say, design/themes/*/templates/views/products/components/product_features_short_list.tpl?


Im asking this because, when brand is available, the features area at the top of a product page redirects into the parent category with brand filter selected, instead into the full results of the brand page itself. There needs to be an additional IF to account for this, and that IF needs some kinda sane trigger besides a feature id or language string name.