Kryptronic Software Support Forum

You are viewing this forum as a guest. Login to an existing account, or create a new account, to reply to topics and to create new topics.

#1 10-03-2017 12:38:46

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Kryptronic eCommerce Update 9.0.2 Released

Update 9.0.2 has been released.  All users are highly encouraged to update to this version ASAP due to new speed and security updates which we feel are very important.  This is the first version on the K9 platform which will be available for public release and we're very excited about it!  Here are the full update instructions:

https://central.kryptronic.com/public/n … PT902.html

And here is the full list of updates:

* Single system URL implemented.  SSL recommended (Security and SEO), without 'www' prefix recommended (SEO).

* All session logic updated as well as user session logic.  These changes better secure the system, make it work better with the change to using a single URL (SSL) for all content, and avoid all issues with Chrome browser as seen over the past few weeks.  At this point session logic is handled by cookies and all form-based and URL-based session tracking has been removed.  User accounts now have dedicated session information stored in the core_users table.  Login and logout is achieved by creating and setting a token in a cookie named 'ktokenuser'.  This cookie is rotated every 15 minutes for security purposes, and is good for the length of the browser session.  Guests are tracked using a cookie named 'ktokensess' which is only created/set when necessary, persists for 30 days and rotates every 1 day to keep it fresh.  Typical guest sessions are created at the point when items are added to the cart or personal information has been submitted. These changes play hand-in-hand with migration to a single-URL format, using SSL and staying ahead of requirements forthcoming from PCI.  These changes also provide better/wider support for modern browsers and decrease security concerns as related to documented session-based exploits.

* Robot recognition has become part of the Display module, removed from the Session module.  It's used only to prevent no-cache headers and cookie headers from being sent to robots at this point.

* Rebates changed to display as negative amount on Shopping Cart page.

* Short descriptions added for usage in default Standard Category Views for categories.  Added short description, special offers short description addition, and multisite overrides 1 and 2.

* Short descriptions added for usage in default Standard Category Views for manufacturers.  Added short description, and multisite overrides 1 and 2.

* Removed show_currency option from users table and offloaded to new cookie-based value set when the currency conversion page is accessed.

* Removed session storage for breadcrumbs, emailistpop, sorting, searches and filters.  Offloaded from using a session to using individual cookies.

* SSL Always On option removed, now SSL is always on if the installation URL begins with 'https'.

* Added nofollow tags to stock notification links and review links.

* Modified volume pricing logic to better handle displays for quantity ranges.

* Modified modal logic to not close modals on unfocus() if they contain a form.  Newer iphones implement focus() on the keyboard causing issues, hence the change.

* Purchase orders now require selection of both terms and delivery method in order to create a new PO.  They are no longer pre-loaded with defaults.

* Vendor MPNs and descriptions are now used as the main display criteria for Purchase Order mail messages, which are sent to vendors.

* Skin widgets modified to produce links only after the widget is verified to produce content.  This speeds up load times by reducing SQL calls for widgets not being loaded.

* Bulk pricing editor extension module modified to sort by and show inventory item identifiers as the main identifier in listings.

* Customer viewer and POS altered to produce scrolling lists for long address books.  Customer viewer update to produce cleaner displays.

* All class object calls within includes were normalized to use the format $CLASSNAME, although $this->CLASSNAME is still acceptable.  Done for consistency.

* Point of Sale extension module heavily modified to make use of the new session logic and to reduce load substantially. 

* Robot simulation previously handled by the App class is now called Guest simulation and is handled by the Session class.

* New inventory checker script included and set to run via cron every hour.  Auto-corrects any issues with inventory on sales order or batched for shipping by comparing orders to inventory and making adjustments.  Necessary to combat delayed user edits which occur after batch shipping updates are made.

* Removed sessionid from orders table.

* Added Tax Nexus setting, default is off.  When on, tax is charged for taxable locations regardless of ship origin. 

* Modified inventory controls processing to ensure sales order inventory is properly handled when inventory has not yet been processed for an order.

* Modified target results namespace for Order Manager Ship Items and Order Manager Service Items to target the Ship Items or Service Items interface after an order is updated and completed.  Allows for quicker processing of the next order.

* Modified purchase order inventory predictor to account better for future orders.

* Added suppress logo option for purchase order mail messages.

* Modified eBay and Amazon channels to use SSL URLs as part of single URL change.  Modified Amazon image URL handling logic.

* Batch Shipping Manager modified to sort items within orders based on inventory identifier ascending, then by item quantity descending.  This will result in larger quantities being batched before smaller ones in the event stock is out on part of an order.

* Maximum package weight for FedEx residential/commercial comparison set to independent value from the global max package weight setting.  Hard value set to 70 pounds.

* Customer viewer extension module updated to list all orders, including future orders, by date descending.

* Check for future order status modified in the Inventory Inspector extension module to provide more reliable results.

* QuickBooks Web Connector extension module modified to order purchase orders by date, and order inventory items within purchase orders by inventory item identifier.  Ref Number for purchase orders is now exported when the purchase order identifier is 11 characters or less.

* Guided Database and Raw Database navigation updated to show results and pagination on top of results in addition to the bottom.

* All port recognition functionality was removed with the exception of a single match against the port being used to verify it contains 443 if the URL accessed is supposed to be delivered via SSL.

* Modified handling of JavaScript Footer global to append any existing value to the values created for it during JSLib processing.  Ensures any included custom footer code is executed after any required libraries.

* Standard (non-user) session storage time is now set to a hard 30 days, with session refresh once every day. 

* Older functionality to combat safe_mode, register_globals and magic_quotes has been removed as those insecure features are now considered non-standard and non-default and have been deprecated from PHP 5.3 and higher.

* Statistical logging further optimized to provide less of a database hit.

* RequestURI building and handling significantly changed and leveraged for canonical URL building.

* BaseURL moved from global and Display class variable status to global only. 

* Added Offer Level Free Gift Certificate Promo, give away gift certificates with offer purchases.

* Added banner ad placement functionality to order confirmation page.

* Added XHTML header functionality for the Special Offers page to enable freeform marketing or video inclusion.

* Added additional category display functionality to categories.  Allows for display of additional categories in either standard grid or feature grid with offers format.

* Reduced timeout for remote connections to UPS, USPS and FedEx for rates, tracking and address verification from 25 seconds (default) to 8 seconds.

* Added Articles extension module.  This is a Content Management System module.  Provides functionality similar to Wordpress, but seriously augmented from an integration and SEO perspective.  Provides paginated category and article listings, searches, displaying related online store products in articles, displaying related articles, embedded video lead in, RSS feed syndication, supports banner advertisements, provides recent articles widget, article categories widget, breadcrumb navigation widget, namespace for including a feed in an HTML page or other area, social media share controls, custom headers and footers, thumbnail and image stash controls, full SEO and meta information including SEO URLs, multisite and user visibility controls, supports MicroData extension module, article featured list controls, and full integrated display controls.

* Disabled CSS and JS versioning in URLs when accessed by bots.

* Changed SEOURL for Overpayment item (Extension module POS).

* Disabled indexing for all marketing email list namespaces.

* Reordered items in invoices by: Manufacturer ASC, Inventory ID ASC, Offer ID ASC, Order Item ID ASC (was Order Item ID ASC only)

* Added article (extension module) inclusion in footer area of special offers page.

* Added referrer (as 'Source') to backend order summaries and internal mail messages.

* Added shipping memo support to orders, with prefill text global, and the ability to add a memo to the shipping total display from the increase shipping total interface.

* Added helper for QuickBooks Web Connector extension module which allows reset of the connection in the event it has to run more than once in an hour.

* Added functionality to recalculate inventory item cost for orders when orders are completed (fully shipped) to ensure cost data matches the inventory that was shipped as closely as possible.

* Added payment card token functionality to allow card storage with online processors.  Planned integrations with Authorize.net CIM and SagePay Token.

* Added payment gateway integration for Authorize.net CIM (customer information manager, payment card storage via profiles).  Optional custom controlled storage option added.

* Dropship purchase orders now have the option to use the order shipping method as the shipping method for the purchase order.

* Support for date-based terms (in addition to the payment terms list) added with option to recalculate terms as date-based upon order completion for 'Net' type terms.

* Inventory controls in the order manager were updated to highlight items out of stock.

* Credit card type is now stored for credit card refunds, if the source payment was a credit card payment with card type designated.

* Support for limiting payment terms listings added.  Controls added to limit the list for orders and for purchase orders.

* Added support for partially receiving items on dropship purchase orders in the event the vendor does not ship all items requested.

* Added support for delayed windowload javascript processing to avoid errors during Ajax requests with third party scripts that return images (some anti-virus conflicts).  These scripts, for example Listrak, were de-prioritized and now have delayed execution.

* Modified all meta and microdata handling for categories, manufacturers and articles to use the short description, if present, if the meta description is blank.

* Modified all category, manufacturer, article and product displays to make use of paragraph tags instead of division tags wherever possible, for SEO purposes.

* Base class for GoogleBase modified from CORE_App to ECOM.  Change has no current impact.

* Security Modification: Password resets are now handled by sending a link to the requesting account holder.  Upon accessing that link, the user is able to select a new password and confirm it, then is prompted to login with their new password.  Previous methodology sent a new password to the account holder via email.  Password change links persist for 15 minutes, and are valid for 1 hour.

* Security Enhancement:  Added strong password protection, selectable (Disabled, Enabled) for user groups.  If enabled, passwords must be at least 10 characters in length, and contain at least one uppercase letter, at least one lowercase letter and at least one number.  All BackEnd user groups have this option enabled by default, all other groups have this option disabled by default.

* Security Enhancement:  Added repeat password protection, selectable (Disabled, 1-10) for user groups.  If enabled, new passwords cannot match a set number of recently used passwords.  All BackEnd user groups have this option enabled by default and the value is set to the Last 4 Passwords, all other groups have this option disabled by default.

* Security Enhancement:  Added password expiration protection, selectable (Disabled, 30/60/90/120 Days) for user groups.  If enabled, passwords expire after a set number of days.  All BackEnd user groups have this option enabled by default and the value is set to 90 Days, all other groups have this option disabled by default.

* Security Enhancement:  Added account lockout protection, selectable (Disabled, 1-10) for user groups.  If enabled, accounts are locked out and unable to login for 15 minutes once a set number of failed login attempts has been made.  All BackEnd user groups have this option enabled by default and the value is set to 3 Failed Login Attempts, all other groups have this option disabled by default.

* Security Enhancement:  Added device authorization protection, selectable (Disabled, Enabled) for user groups.  If enabled, accounts are subject to device authorization, meaning in order to login to an account, the user must additionally confirm who they are by using a device authorization code sent via email to the account holder when logging in using an unrecognized device.  Authorization codes persist for 15 minutes, and are valid for 1 hour.  Device authorizations renew daily and persist for up to 30 days.  When this option is enabled, users can multiple devices to access a single account, and can access multiple accounts using a single device.  All BackEnd user groups have this option enabled by default, all other groups have this option disabled by default.

* Security Enhancement:  Added a password change alert mail message option, selectable (Disabled, Enabled) for user groups.  When enabled, users are alerted via a mail message sent to the account holder any time a password is changed or a new password is created (via password reset).  All BackEnd user groups have this option enabled by default, all other groups have this option disabled by default.

* Security Enhancement:  Added a device authorization alert mail message option, selectable (Disabled, Enabled) for user groups.  When enabled, users are alerted via a mail message sent to the account holder any time a new device is authorized to access their account.  All BackEnd user groups have this option enabled by default, all other groups have this option disabled by default.

* Security Enhancement:  All login and account activity is checked now against user group level security controls post-valid-login, pre-authorization.  This allows the system to prompt users for password changes due to strength requirements, for password changes required due to expiration, for new device authorizations, and more.  An authorization token (and code) system was instroduced to recongize authenticated users without logging them in.  This separate authorization scheme is used to control security for items such as forced password changes, password resets, and device authorizations.

* Security Enhancement:  Increased permissions levels for files (755), directories (755) and executable files (755) and added a permission level setting for configuration files (640).  These are now hard values, not variable based on the permissions present on the filesystem.  Some users may now have to adjust permissions values in index.php, admin.php and installer.php prior to installation.

* Security Enhancement:  The software installer module was updated so that a new superuser account (matching the credentials used to access the installer) is only created during installation if no superuser level users exist in the system already.  This prevents admin account creation in systems with established admin accounts.

* Fixes spelling error for 'Surcharge Income' in the accounting system map.

* Removed Kryptronic software version number from the X-Powered-By header.

* Optimized all advanced reports on orders to reduce the number of database requests, and overall resource usage, when generating reports.  Extreme speed gains were found for most reports.

* Advanced reports on orders were modified to include Total, Retail, Wholesale and eCommerce Channel sales information in the report data. Channel reporting includes reporting for each channel individually.

* Added telephone link setting to be used when displaying links for the telephone number.

* Verified proper session handling for shipping estimator defaults.  Found operation correct using the new session logic.

* Meta title and generator tags were modified to better support private label branding. 

* Added an X-XSS-Protection header to all responses which are not sent to bots.  This header will help alieviate issues with Chrome when editing complex items in the management interface which contain external URLs embedded in submitted content.  The header was added to all requests, as it's recommended for use by OWASP.

* Modified the eBay channel's getorders() function to only update the getorders timestamp when a connection to eBay can be made.  This will prevent missing orders downloads in the event a key has expired.

* Modified HTML output and database encoding/charsets to explicitly set Latin1 (ISO-8859-1) as the default character set for output and data storage.  Newer PHP versions are shipping with a UTF-8 default which causes some data presentation issues.  Storage in ISO-8859-1 with translations to UTF-8 is the most portable solution and works as advertised in all instances.

* Zoom functionality for product offer displays has been disabled in the event a page is loaded initially in THIN view (mobile).  Users had issue scrolling past zoomed images on mobile devices.

* The Google Shopping Feed extension module, and the Product Microdata for the Microdata extension module, were updated to recognize and use the Google Shopping Price Override field managed for Product Offers when it's greater than zero.

* Themes used by Wordpress and Vanilla Forums were updated to support new session/security changes as well as use of a single system URL.  Updates are available at https://central.kryptronic.com/public/r … exporter/.

* FancyBox JavaScript load options removed.  The options being passed are no longer part of the API, and default options exist for those that were being passed.

* UPS Freight Tracking added as an option for all non-1Z UPS OnlineTools tracking numbers to further support the UPS Freight option in the Batch Shipping Manager extension module.

* Added Inventory Detail reports for the eBay and Amazon channel extension modules.  These reports list all inventory and show any listings on channels with identifiers and pricing.  These reports are useful for ensuring pricing is correct and to identify items which are not listed on channels.

* Added the ability to show an additional link on category listings in case they contain large descriptions and links wash out in the display.  Additional links are presented in the form of a button with a 'View All' prefix.  Controlled by a global setting.

* A category footer display was added for categories to allow for inclusion of more information at the very bottom of category pages.  Useful for directing users to other categories or simply to provide more information.

* The eBay channel was updated to include a new field which can be used to suppress EAN/UPC submission for new item listings and listing updates in the event eBay does not agree with the barcode being used.

* The Listrak extension module was updated to exclude channel orders (eBay, Amazon, etc) from order reporting.  Customer accounts created during order creation for channels are still exported to Listrak.

* Corrected an error in the Batch Shipping Manager extension module related to overstatement of actual shipping charges on multiple item shipments.

* Added change email function to the Manage Users function in the Management Interface.  Changing a user's email here scales across all areas, using the same logic as the Account Overview change email function.

* Removed extension module Google Trusted Stores (service discontinued, see Google Customer Reviews).

* Added Google Customer Reviews support, which allows stores with a Google Merchant Account with Google Customer Reviews activated the ability to request reviews from customers post-purchase.  All reviews are handled directly by Google, assuring valid reviews.

* Added aggregate review rating to product offer microdata.  Review microdata is populated when reviews are active, there is at least one review, and the review rating is greater than zero.

* Added the ability to manage redirects for requests which no longer exist (deleted items).  Add redirects for HTML Pages, Article Categories, Articles, Product Offers, Categories and Manufacturers using the new System / Helpers / Redirects function.

* Modified checkout to scroll to the top of the page after any submission that meets the following criteria:  FrontEnd ajax requests where the total was set, and has changed, and no ajax messages (errors) were been printed.

* Added a Additional Order Email Recipients (Customer) field for User Accounts which allows customer order mail messages to be carbon copied to one or more addresses for a particular customer.  Useful for customers that may need a purchasing email copied on orders.

* Added a Additional Order Email Recipients (Internal) field for User Accounts which allows internal order mail messages to be carbon copied to one or more addresses for a particular customer.  Useful for copying reps or affiliates on orders.

* Modified the Order Manager to allow a custom note to be sent with order mail messages, instead of the standard header message, when sending mail messages using the Send Mail Messages function.

* Modified the way the QuickBooks Web Connector extension module identifies credits and payments which are available for export to support future orders with prior payments.  Those payment exports are now delayed until the order can be exported.

* Added a Free Shipping Prompt with optional Disclaimer to the top of the shopping cart page.  The prompt will display if activated using Shopping Cart and Wishlist settings, and if a free shipping threshold is active, and other conditions are met.  The prompt was created to entice customers to spend more to reach a free shipping breakpoint.

* Removed the 'USPS First-Class Mail Parcel' realtime shipping service option, and added services 'First-Class Package Service - Retail' and 'First-Class Package Service - Commercial'.  Prompted by recent USPS updates to First-Class services in Aug 2017.

* Modified logic in the Purchase Order and QuickBooks Web Connector extension module to update inventory on purchase order (expected) for all inventory types when handling Purchase Order Manager item receipts and QBWC synch.


Nick Hendler

Offline

 

#2 10-06-2017 03:11:11

sdn
Member
From: UK
Registered: 05-29-2007
Posts: 882

Re: Kryptronic eCommerce Update 9.0.2 Released

Well that was a mega update but all appears to be working OK.

I noticed a small error in the instructions:

"$logourl = $this->globals('core.url_nonssl');" was "$logourl  = $this->globals('core.url_nonssl');" in our install.

Also, a list of the new email addresses added would help with this instruction:

"Access the System / Mail / Mail Messages management interface function and ensure email addresses are correct on all newly added mail messages."

A few questions:

1. As recommended, we have dropped the www. from our site for this update. To stop duplicate content issues we previously had a redirect in htaccess as follows:

RewriteCond %{HTTP_HOST} !^www.oursite.co.uk$ [NC]
RewriteRule ^(.*)$ https://www.oursite.co.uk/$1 [L,R=301]

With the above removed, K902 is still not pushing the site to the non-www version. If users land on a www page it is impossible to add items to the cart so we have added this to htaccess:

RewriteCond %{HTTP_HOST} ^www\.oursite\.co\.uk$ [NC]
RewriteRule ^(.*)$ https://oursite.co.uk/$1 [L,R=301]

That solves the problem but is it correct from the K902 perspective?

2. We now have a mixture of 777 and 755 directory and 755, 644, 640 file permissions in the private and public folders. Should they all be changed to the new lower permissions?

3. Did you address the VAT / price rounding issue as we had a post-update order with the VAT calculated a penny out?

4. Also just realised that Cookie Info message is always showing. How to make it to disappear after initial display?

Last edited by sdn (10-06-2017 09:23:54)


Simon

Offline

 

#3 10-06-2017 10:04:57

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Re: Kryptronic eCommerce Update 9.0.2 Released

Also, a list of the new email addresses added would help with this instruction: "Access the System / Mail / Mail Messages management interface function and ensure email addresses are correct on all newly added mail messages."

There were a bunch, both backend and frontend.  The best thing to do is browse the core_mail table in Raw DB Admin and look at all the email addresses used for messages there.  Any that you might want to change will pop out at you.

1. As recommended, we have dropped the www. from our site for this update. To stop duplicate content issues we previously had a redirect in htaccess as follows:

RewriteCond %{HTTP_HOST} !^www.oursite.co.uk$ [NC]
RewriteRule ^(.*)$ https://www.oursite.co.uk/$1 [L,R=301]

With the above removed, K902 is still not pushing the site to the non-www version. If users land on a www page it is impossible to add items to the cart so we have added this to htaccess:

RewriteCond %{HTTP_HOST} ^www\.oursite\.co\.uk$ [NC]
RewriteRule ^(.*)$ https://oursite.co.uk/$1 [L,R=301]

That solves the problem but is it correct from the K902 perspective?

Yes, that's correct.  You're only going to see K9 force a redirect if the page was accessed via non-SSL and it needed to direct to SSL.  Handling the 'www' change is properly done in the .htaccess file as you listed above.

2. We now have a mixture of 777 and 755 directory and 755, 644, 640 file permissions in the private and public folders. Should they all be changed to the new lower permissions?

Ideally, assuming you're on a cpanel-like server that has Apache running as the web account, you'll want everything at 755 (chmod -R 755) except the two config.php files, which should be at 640 now (chmod 640 public/config.php private/config.php).

3. Did you address the VAT / price rounding issue as we had a post-update order with the VAT calculated a penny out?

No, unable to replicate.  I have it noted to do more testing because it's got to be an issue, you reported it.

4. Also just realised that Cookie Info message is always showing. How to make it to disappear after initial display?

That should disappear once you view the Cookie info page.

3. Did you address the VAT / price rounding issue as we had a post-update order with the VAT calculated a penny out?

4. Also just realised that Cookie Info message is always showing. How to make it to disappear after initial display?


Nick Hendler

Offline

 

#4 10-06-2017 10:35:33

sdn
Member
From: UK
Registered: 05-29-2007
Posts: 882

Re: Kryptronic eCommerce Update 9.0.2 Released

Thanks for the clarification.

I did view the cookie page and the message disappeared on that page but reappeared when I clicked on another link and remains visible.


Simon

Offline

 

#5 10-06-2017 12:40:02

lgt
Member
Registered: 11-21-2010
Posts: 272
Website

Re: Kryptronic eCommerce Update 9.0.2 Released

Any examples of the Article Extension Module?  We have a lot of WordPress sites.  It would be great to have them all consolidated into K9.









Offline

 

#6 10-09-2017 07:25:58

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Re: Kryptronic eCommerce Update 9.0.2 Released

sdn wrote:

Thanks for the clarification.  I did view the cookie page and the message disappeared on that page but reappeared when I clicked on another link and remains visible.

I will look into that and see if there's a problem.  Thank you.

lgt wrote:

Any examples of the Article Extension Module?  We have a lot of WordPress sites.  It would be great to have them all consolidated into K9.

https://webbsonline.com/Articles

It was built as a Wordpress alternative.  We've been watching how clients have been using Wordpress for the past few years and created the new Articles extension module as a drop-in replacement for those clients.  It has categories, video/image support, the ability to cross-sell, and much more.


Nick Hendler

Offline

 

#7 10-09-2017 18:32:30

lgt
Member
Registered: 11-21-2010
Posts: 272
Website

Re: Kryptronic eCommerce Update 9.0.2 Released

i want to attach a a bunch of my established WP sites as subdomaines to egarden.com with a wildcard SSL.  Doable?

How much?









Offline

 

#8 10-10-2017 02:40:45

sdn
Member
From: UK
Registered: 05-29-2007
Posts: 882

Re: Kryptronic eCommerce Update 9.0.2 Released

FYI the cookie message issue now only affects Chrome and Firefox (IE is OK now). Tried clearing Chrome browser hisory but made no difference.

I noticed that we added "$this->globals('core_display.noindex',1);" to K901 notfound.php. Is there a reason why you are not including that as standard?

Last edited by sdn (10-10-2017 04:02:52)


Simon

Offline

 

#9 10-10-2017 08:31:46

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Re: Kryptronic eCommerce Update 9.0.2 Released

i want to attach a a bunch of my established WP sites as subdomaines to egarden.com with a wildcard SSL.  Doable?

Assuming you're setting up egarden.com as a MultiSite under 855sheller.com, yes, this is doable.  The egarden.com .htaccess file may or may not have custom redirects based on the request URL, but beyond that you'd be setting up the articles in the new extension module so they're available on the egarden.com MultiSite only (if you want) and possibly turning off the module for the default site and other MultiSites.  Cost for the new module is $149 pre-release.

FYI the cookie message issue now only affects Chrome and Firefox (IE is OK now). Tried clearing Chrome browser hisory but made no difference.

It's on my list to look at today.  Will test in all three browsers.

I noticed that we added "$this->globals('core_display.noindex',1);" to K901 notfound.php. Is there a reason why you are not including that as standard?

The page generates a 404 response code, which would not be indexed.  In fact, if it were indexed, it would be removed.  So having noindex set is not really necessary.  That's why that's not in the software now, but I like the idea, though, and will likely add it to the next update as it makes the meta output for the page more accurate.


Nick Hendler

Offline

 

#10 10-10-2017 12:08:18

zanart
Member
From: bedford
Registered: 04-02-2008
Posts: 1706

Re: Kryptronic eCommerce Update 9.0.2 Released

HI Nick

Two questions -

If I have installed 9.02 from scratch with new database, I don't need to do any of the additional steps - Correct??

And, Added Articles extension module, is this an xmod that I need to purchase. I can't find it referenced in the new install, so I assume it is. How much is it? Can you send me a link to pay.


Rob

Offline

 

#11 10-12-2017 11:20:19

Thom
Member
From: Fairmont, Minnesota
Registered: 01-17-2003
Posts: 184
Website

Re: Kryptronic eCommerce Update 9.0.2 Released

I tried to apply the 9.0.2 update to my 9.0.0 install and had problems at Step 4. While running the new installer got to step 3 and received this error message: "writeconfig() function was unable to save data to the configuration file".

Thinking is was a permissions or owner problem I tried different combinations but could never get past this error.

Any idea of what is going wrong?


Thom-

"Life is a banquet, and most poor suckers are starving to death!" - AUNTIE MAME

Offline

 

#12 10-12-2017 13:17:12

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Re: Kryptronic eCommerce Update 9.0.2 Released

Open up your newly uploaded index.php, admin.php and installer.php scripts.  At the top of each, you will see config file permissions set to a level of 640.  I bet this won't fly on your server.  Set to 755 at the top of each of those scripts and save them, then CHMOD both the private and public config.php files to 755 and see if you have joy at that point.


Nick Hendler

Offline

 

#13 10-12-2017 13:28:44

Thom
Member
From: Fairmont, Minnesota
Registered: 01-17-2003
Posts: 184
Website

Re: Kryptronic eCommerce Update 9.0.2 Released

webmaster wrote:

Open up your newly uploaded index.php, admin.php and installer.php scripts.  At the top of each, you will see config file permissions set to a level of 640.  I bet this won't fly on your server.  Set to 755 at the top of each of those scripts and save them, then CHMOD both the private and public config.php files to 755 and see if you have joy at that point.

Thanks! I will give it a try and let you know.


Thom-

"Life is a banquet, and most poor suckers are starving to death!" - AUNTIE MAME

Offline

 

#14 10-12-2017 16:01:00

Thom
Member
From: Fairmont, Minnesota
Registered: 01-17-2003
Posts: 184
Website

Re: Kryptronic eCommerce Update 9.0.2 Released

Thom wrote:

webmaster wrote:

Open up your newly uploaded index.php, admin.php and installer.php scripts.  At the top of each, you will see config file permissions set to a level of 640.  I bet this won't fly on your server.  Set to 755 at the top of each of those scripts and save them, then CHMOD both the private and public config.php files to 755 and see if you have joy at that point.

Thanks! I will give it a try and let you know.

It was operator error. I think I did not delete _ssl from 'core.url' The update worked just fine without your suggestion. Thanks!


Thom-

"Life is a banquet, and most poor suckers are starving to death!" - AUNTIE MAME

Offline

 

#15 10-13-2017 06:33:32

sdn
Member
From: UK
Registered: 05-29-2007
Posts: 882

Re: Kryptronic eCommerce Update 9.0.2 Released

What file permission should index.php, ecomrelay.php and frontend.min.js be public directory. It is currently 755.

Last edited by sdn (10-13-2017 06:43:21)


Simon

Offline

 

#16 10-13-2017 08:46:02

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Re: Kryptronic eCommerce Update 9.0.2 Released

Those are all correct.  Basically everything should optimally be set to 755, with the exception of the private and public config.php files, which should be 640, if your server will allow it.


Nick Hendler

Offline

 

#17 05-11-2018 10:02:42

stage
Member
Registered: 12-12-2005
Posts: 170

Re: Kryptronic eCommerce Update 9.0.2 Released

Is there a way to verify that you've completed all the steps correctly, for the 9.0.2 procedure?  In the admin software section it says I have 9.0.2 for everything except for the demo stuff.  Does that mean I did not miss anything, or type anything incorrectly?

Offline

 

#18 05-14-2018 08:21:34

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Re: Kryptronic eCommerce Update 9.0.2 Released

Demo modules and skin modules do not update during any update procedure, and depending on the size of the update, not all modules receive a version number increase - only modules changed during the update.  To verify that you updated everything properly:

Access System / Component / Software and check the version numbers for the System Component Base, Website Component Base and Store Component Base modules.  They should all match the version you just updated to. These three modules are updated with new version numbers every time and update is released.

NOTE:  This does not account for any pre-update and post-update database changes, and does not account for any manual/custom changes that may need to be made during the course of your update.  Those would have been detailed in the update instructions, and are necessary.


Nick Hendler

Offline

 

#19 06-19-2018 09:38:24

sdn
Member
From: UK
Registered: 05-29-2007
Posts: 882

Re: Kryptronic eCommerce Update 9.0.2 Released

The public_html folder of our server is now set to 750 as advised by our hosting company. Is the advice in post #3 above still applicable to the public and private folders on cPanel

"Ideally, assuming you're on a cpanel-like server that has Apache running as the web account, you'll want everything at 755 (chmod -R 755) except the two config.php files, which should be at 640 now (chmod 640 public/config.php private/config.php)."

Last edited by sdn (06-19-2018 09:39:30)


Simon

Offline

 

#20 06-19-2018 10:51:15

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Re: Kryptronic eCommerce Update 9.0.2 Released

You can run the public and private install directories at whatever permissions you like.  On some servers they must be executable (755), on others world writable (777) and on others restricted permissions like 644 work.  It all depends on your server and what it will accept.  We recommend trying the most restrictive first.  Setting at chmod 750 is good too.  The important change we made was putting the config.php files at 640 to prevent reading from other areas on shared servers.


Nick Hendler

Offline

 

#21 06-20-2018 01:58:53

sdn
Member
From: UK
Registered: 05-29-2007
Posts: 882

Re: Kryptronic eCommerce Update 9.0.2 Released

OK thanks. This has confused me for some time. Are you saying that the file/folder permissions are more related to the server configuration than a K9 requirement or is it a combination of the two?

e.g. on a previous server, public_html was set to 755 and the relay files and utilities folder had to be 755 or checkout would not function.

Public_html on the current server is now 750 default. If a new public folder is created it defaults to 775 and a file to 664 (where I have always set most public files to 644).

Please can you advise how I should set permissions on the relay files and utilities folder example above for this server? Is there a minimum/maximum level for some K9 files and folders for it to function correctly?

Is there some proper logical system I can apply to this (i.e. a user manual) or is it just random tinkering to get it right?

Last edited by sdn (06-20-2018 02:06:44)


Simon

Offline

 

#22 06-20-2018 07:00:22

webmaster
Administrator
From: York, PA
Registered: 04-20-2001
Posts: 19798
Website

Re: Kryptronic eCommerce Update 9.0.2 Released

Thanks for the questions.

Are you saying that the file/folder permissions are more related to the server configuration than a K9 requirement or is it a combination of the two?

It's mostly server-dependent.  K9 uses PHP, and it needs to be able to write to certain directories in the installation, so basically you need most of the install writable by whatever user PHP runs as.  When you install the software using the installer, K9 builds itself, so you could check ownership of the files in the installation to verify the user PHP runs as.  Further, in order for some scripts to run (index.php, installer.php, admin.php and {public}/utilities/*.php), they need to be executable.  Meaning when accessed by Apache, they execute PHP.

Current default permissions for K9 installs are currently (from top of index.php, installer.php and admin.php):

$perms_level_files  = '755';
$perms_level_dirs   = '755';
$perms_level_exec   = '755';
$perms_level_config = '640';

This is because in today's environment most server configurations have PHP running as the account's FTP user, with a fairly high percentage requiring executable PHP scripts (index.php, installer.php, admin.php and {public}/utilities/*.php) to be 755.

If I were going to set the minimum level of permissions for an install and didn't know what that might be, I would change all files and folders to 644 and the {public}/config.php and {private}/config.php files to 640.  To test, load index.php and one of the scripts from the utilities directory.  Either you will see a 500 internal server error (permissions to low) or an error loading the PHP script generated by the script saying it can't write to directories (permissions to low) or you'll get output indicating you're good to go.  In the event of an error, I'd move up the chain, trying 750 then 755 then 777, always trying to leave the config files at 640.

If you find a permission set you want to use other than the default, it would be good to change the defaults at the top of index.php, installer.php and admin.php.  That way when you run the scripts/installer the system will use your desired permissions.


Nick Hendler

Offline

 

Board footer