[DBTech] DragonByte eCommerce

[DBTech] DragonByte eCommerce 1.5.3

No permission to buy ($49.95)
Because of a backwards breaking change in XenForo 2.1, and because I plan to take advantage of new features only available in XenForo 2.1, the next version will require XenForo 2.1.

The update will update the "Likes" integration to support "Reactions", and will introduce support for the new "Bookmarking" feature.

The current version will NOT work with XenForo 2.1. A blocking issue has been identified with XenForo 2.1:
  • Certain Cron jobs will not work due to a change in the back-end code that powers XenForo (A.K.A. "The Guzzle Change")
The issue has been fixed in an internal build that will be released A.S.A.P., once I am confident enough there are no other blocking issues.

Because this is a rather large mod with a rather critical feature set, the current XenForo 2.1 version is running @ our site for extended real-world testing prior to release.
  • Like
Reactions: 51463
Update highlights

This update is actually a major feature update, contrary to what the version number would lead you to believe. I'd already reserved v1.3.0 for the XF 2.1 compatible version, so I didn't have much of a choice 😅

Due to popular demand, users can now cancel orders that are stuck "awaiting payment" via their order list. This was already available to admins, but users can now finally do it themselves.

Users can also now see a list of their licenses for a certain product when viewing that product. Easier than ever to download updates!

I've also made various improvements that should help usability when you use the "License fields" feature (such as for an installation URL). Users will now have an easier time figuring out what to do to be able to download their products.

There's also a new feature that allows you to validate your users' billing address to their IP address. This could come in handy for EU-based businesses where you charge different sales tax / VAT based on the user's country.

Lastly, this update features improved compatibility with PHP 7.3.

This will be the last release compatible with XenForo 2.0. All future releases in the v1.3.x series and beyond will be compatible with XenForo 2.1.0+ only.

Complete Change Log

Feature: Users can now cancel orders awaiting payment
Feature: A license list is now available when viewing the product information page
Feature: The "Missing license information" label is now a link
Feature: Instead of showing a disabled "Download" button, an "Edit license" button is now shown if there's missing license information
Feature: New option to validate the billing address' country against the user's current IP
Change: Eliminate unneeded query if sales are globally disabled
Fix: PHP 7.3 compatibility fix
  • Like
Reactions: 51463
Update highlights

This release is a quick update to address an issue where visibility checks were not being performed for add-on products being displayed in the sidebar in the product view. This could lead to soft-deleted products, or products you have restricted permissions for, to still appear (albeit not purchasable).

To test whether this fix has resolved any issue you may be experiencing, ensure the dbtech_ecommerce_product_wrapper template is either not customised or that this line:
<xf:foreach loop="$product.Children" value="$childProduct">
now reads:
<xf:foreach loop="$product.Children" value="$childProduct" if="$childProduct.canView()">
And then try viewing the product page as a guest (such as via Incognito mode).

As part of the process of reviewing this issue, I also found minor optimisation possibilities that slightly reduced the amount of queries needed to generate the product view page.

Complete Change Log

Change: Reduced the number of queries needed to load the product view page
Fix: Fixed an issue where visibility checks were not being performed on add-on products before display on the product view page
  • Like
Reactions: 51463 and au lait
Update highlights

This release adds two new requested features; distinct pricing labels for products on sale, and automatic shipping method selection for physical products.

Products that are on sale will now display their pricing label in green, with the savings amount. This helps users tell whether they're getting a good deal, if they weren't registered on your forum when you started the sale (and thus didn't receive the information email).

Physical products will now also intelligently select default shipping methods based on the given address. This can occur in one of two ways:
  1. User is placing an entirely new order, and this is the first item in their cart OR User is changing their shipping address
    In this case, when the user has chosen their shipping address, the applicable shipping method will be applied to the order item(s).

  2. User is adding a new item to an existing order
    In this case, the shipping method will be applied as soon as the item is saved in their shopping basket, without them needing to edit and save their address like in case #1.
If you have two or more shipping addresses that are applicable to the shipping address county, no shipping method is selected.

Lastly, an issue with changing the shipping address has been addressed. Previously, it was possible for the user to choose a shipping method applicable to country A, then change their country to B, and keep their shipping method selection.

The shipping method is now validated when saving the shipping address instead of only being validated when the user chooses a new shipping method.

Complete Change Log

Feature: Products that are on sale will have a distinct pricing badge
Feature: Physical products with only one applicable shipping method will have it set as default
Fix: If the shipping address changes, also reset selected shipping method for physical product (if it is no longer applicable)
  • Like
Reactions: 51463
Update highlights

Just a quick update to work around an issue that will occur after upgrading your forum to XF 2.0.12; various emails from this mod would fail to send, and server errors with "Undefined index" messages would be generated.

Also, the "Download demo" link incorrectly attempted to open an overlay, which is a left-over from before the "Simple download" interface was added.

Complete Change Log

Fix: Fixed various emails not sending correctly after upgrading to XF 2.0.12
Fix: Fixed an issue where the "Download demo" link would open in an overlay
  • Like
Reactions: 51463
Update highlights

After a short and sweet Beta period, it's time to go for Gold! 🎉

New in this release is the ability to control the display style for the "Top Products" and "New Products" widgets. The previous versions actually only displayed products as rows, but the default now changes based on your style preference of grid vs rows.
You can also force these widgets to display rows or grid regardless of your style preference, on a per-widget basis.

Based on feedback @ our site, we've changed the way the cart drop-down displays prices. Previously, this drop-down would display the base prices of an item. This was fine if there were no ongoing sales, but it was understandably confusing for potential purchasers to be told the product was on sale, then the cart drop-down showed the full price.
The price in the drop-down will now update with sales, automatic discounts, applicable sales tax, and (for physical products) shipping costs.

Lastly, a couple issues with the Sales system has been resolved.

If you want the full details on the initial v1.2.0 release, you can check it out here: https://www.dragonbyte-tech.com/store/dragonbyte-ecommerce.371/release/1747/

Complete Change Log

Feature: Added display style options for Top Products and New Products widgets (grid vs list vs auto)
Change: The cart popup now displays the calculated order total and calculated item price (including discounts, shipping costs and sales taxes)
Fix: Fixed an issue where the Sale emails would send to banned users and users who had a user state other than "Valid"
Fix: Fixed an issue where a scheduled sale would not activate correctly
Update highlights

This release contains a major new feature as well as other fixes & enhancements.

The biggest news is the inclusion of guest orders. If this feature is enabled, and a user's cart does not contain any digital products, the checkout process will be altered so that registration / login is no longer required.

As mentioned, this feature only works for physical products. A shopping cart will automatically switch back to requiring a forum account regardless of whether guest orders have been enabled.

In other news, background work has started for compatibility with the new API system in XenForo 2.1.
Prior to the release of XF 2.1, and for a period after the stable release of XF 2.1, the API system will be in use here @ DBTech to add support for the "Install & Upgrade" product. After we're confident in the security and stability of the system, full support will be added to the public release (which will then require XF 2.1 to run).

Last on the list of changes; some CSS classes have been added to aid in customising the product information sidebar.

A couple discovered bugs have also been resolved.

If you want the full details on the v1.2.0 release, you can check it out here: https://www.dragonbyte-tech.com/store/dragonbyte-ecommerce.371/release/1747/

Complete Change Log

Feature: Guest orders (physical products only)
Feature: Added a setting for enabling the API system [placeholder for XF 2.1 feature]
Change: Added CSS classes to various elements in the product information sidebar
Fix: The phrase "mod_log.dbtech_ecommerce_product_prefix" was missing from the system
Fix: Fixed a HTML validation issue with the product information sidebar
  • Like
Reactions: 51463
Update highlights

This release is a major update with over half a dozen new features and enhancements 🎉

The most visually apparent feature can be seen here: https://www.dragonbyte-tech.com/store/dragonbyte-credits.339/ - the new Rating Circle feature. A new per-style option has been added that lets you toggle between this Rating Circle and the old stars-only approach.

In the AdminCP, you can see a new "Income statistics" link under the "Logs" sub-header. This is essentially an in-depth version of the default XenForo statistics graph that shows overall income - you can break it down by product by selecting up to 15 products to view graphs for.

If you're running a site that uses the Commissions feature to reward people for creating products for you, you now have new permissions available that let these users see their projected and past income via a new button in the front-end when viewing their own author profile.
This front-end display is essentially the same as what you see in the AdminCP when combining the commission overview page for any given person, as well as the "Find outstanding payments" page.
If you don't want your commissioned users to see this, simply turn it off via the user group permissions. You as the admin can always see the information in the AdminCP.

Last of the major features is the ability to switch product information posts from always starting a new thread to optionally replying to an existing thread. This setting is set per-category.
If you choose to switch to replies, the first thread posted by the product will become the parent discussion thread, and future updates will post a new post in this thread. As best we could, we've updated existing products with existing discussion thread IDs during the upgrade process.

Various discovered bugs have also been resolved.

Lastly, we've added an install-upgrade.json file in preparation for compatibility with the [TH] Install & Upgrade add-on.

Complete Change Log

Feature: Product Count, License Count, Amount Spent and Is License Distributor criteria can now be used when searching for users
Feature: Income statistics are now available in the AdminCP, showing a breakdown of income per product as well as the total overall income
Feature: Users with the appropriate permissions can now see their own income stats if they receive commissions from sold products
Feature: You can now choose between new thread and reply to existing thread when updating products
Feature: A new per-style "rating circle" has been added as an alternative way of displaying the review / rating information on the product page. (thanks to Nulumia for providing the code).
Change: Various "delete" actions in the AdminCP have been reworked slightly
Change: Added install-upgrade.json
Fix: It is now possible to leave a review for a digital product that does not have a download associated with it
Fix: The "New products" widget would not respect the category limitations as intended
Fix: The "Sale" banner would not display correctly in RTL language styles
  • Like
Reactions: 51463 and Nulumia
Update highlights

This release is a minor release that simply removes extra debug output that was accidentally left in the Checkout page.

Complete Change Log

Fix: Removed debug output accidentally left in the Checkout template
  • Like
Reactions: 51463
Update highlights

This release contains a few new features as well as various tweaks and fixes.

There's a new setting that allows you to toggle the "Income" block displayed on the AdminCP home page, should you wish to disable it.

The "Downloads" page under the "Digital products" header can now be searched in a similar way to how the various logs can be searched, with the ability to filter by release date range, download state (visible, deleted, moderated) and of course, the product.

Lastly on the list of things worth mentioning, the product pricing row has been fixed after XF 2.0.10 rejigged some CSS that made it not render properly.

Complete Change Log

Feature: The "Income" block in the AdminCP can now be disabled via a new setting
Feature: Downloads are now searchable in the AdminCP, similar to log pages
Change: When a staff member downloads a licensed product from another user's license list, the staff member will no longer auto-watch the product
Change: Breadcrumbs have been added for the various "delete" overlays, making navigation easier if these overlays are instead opened in a new tab
Change: The "Add license" button now uses the "call to action" colour to distinguish it from other buttons on that page
Fix: Fixed a CSS issue with the product pricing row after the XF 2.0.10 update
  • Like
Reactions: 51463