BreezingCommerce is a professional shopping cart for Joomla!, aiming small to mid-size online stores. Our task is to prevent a store owner from being confronted with too many features but having the ability to extend the store over time.
1 - MAIN CONCEPT: PLUGINS FIRST
2 - FOLLOWING JOOMLA!'S STANDARD MARKUP
3 - ALWAYS IN MIND: MULTI LANGUAGE
4 - ADMIN ORDER PROCESSING: PREVENTING 'FUZZINESS'
5 - CUSTOM FIELDS: WHAT CUSTOM FIELDS?
If there are features you need to have, please contact us in our forums. We'll see if these features are better compiled into separate plugins or should make it into the core.
In the following, we'll give you a quick overview of BreezingCommerce.
1 - Main Concept: Plugins First
BreezingCommerce is a fully plugin-driven extension. This means that the main component only installs with a minimum of features to set up a store. You may add spice to your store - e.g. payment and shipping plugins - by installing plugins that will fit your needs.
BreezingCommerce comes with its own plugin system that is supposed to lower the barrier for developers to create custom plugins. Plugin development is almost configuration-free (no XML fiddle) and you may even create themes using the Theme plugin type.
BreezingCommerce plugins enables everybody to add new functionality to a store as quick as possible.
Of course, regular Joomla! extensions such as modules and plugins are, will and should be available and work together with the main component. An example for such a module is our filter module, which will be described in a separate part of the documentation.
2 - Following Joomla!'s Standard Markup
We are strictly following the markup for the Twitter Bootstrap version Joomla! is using (based on Bootstrap 2.3).
This gives you the opportunity to render the store-front with your website template's styles. If there are adjustments required to be done, no problem as BreezingCommerce provides theming.
However, if the template's styles are complete, adjustments shouldn't be necessary.
Tip: Before using BreezingCommerce, please make sure you are using a template that strictly follows current Joomla! standards. There are some template vendors out there who override the Joomla! standard entirely, causing extension layouts to break.
You can ask your template vendor if his templates keep up with the Joomla! standard before buying. A well known template vendor who takes care of Joomla! standards is Rockettheme.
We will keep up sticking to Joomla! markup-standards in future versions of Joomla!.
3 - Always In Mind: Multi Language
We developed BreezingCommerce with multi language capabilities right from the start. You can fully translate your store in a very simple way. Any extension and feature for BreezingCommerce provided by Crosstec supports full store translations.
4 - Admin Order Processing: Preventing 'Fuzziness'
In some stores, an order can be edited at any time. Even after a purchase has been fully completed, including invoices, it is allowed to change things like prices, taxes etc. afterwards. Despite the fact that this might affect the sales' stats it's also not allowed by business regulations in most countries and can cause a lot of legal 'fuzz'.
BreezingCommerce strictly follows the right processes (states) within an order from the store's owner perspective.
- Pre-checkout (cart)
- Checked out
- Invoice creation
- Refunds & return statements (if any)
You can go forward from 1 to 4 but never backwards. Once an invoice has been created, you can't go back to a pre-checkout state to edit the order. Instead, it is required (e.g. in Germany) to cancel the order, copy it and start over.
BreezingCommerce solves this by giving the store owner the ability to cancel the order and send a return statement to the customer. Then the order simply needs to be copied with one click, setting it into a pre-checkout state. From there the cart can be edited and create a new order with a new order number, invoice and so on. The value of the new invoice will be cancelled out with the positive balance from the return statement.
5 - Custom Fields: What Custom Fields?
Although we're coming from the form creation and CCK field, we have to admit that the extensive use of custom fields would clash with our task to prevent store owners from being confronted with too much setup hassle. Custom fields usually add a lot of complexity to a store in terms of administration and might quickly turn the store into a CCK instead of being, well, a store.
However, we assume that in 99% of all cases, custom fields are just used to display characteristics or related information in the store-front's product display.
We built-in this feature by readonly options that will display as exactly such and being able to be filtered by our filter module.
There is a lot more behind options in BreezingCommerce and will be addressed in certain areas of the documentation.
For all other requirements that would let you think of the need to use custom fields, the question first being asked would be: Can it be done by a plugin instead?
6 - Taxes & User Location
Since 2015, it is required for EU stores that handle virtual goods such as downloads, to collect the sales tax based on the buyer's origin country (if part of the EU). We saw many stores solving that issues with a special "EU Mode" or something, which is an issue from our point-of-view, as the EU tends to change online laws frequently. This could easily lead to plenty of different EU Modes.
In BreezingCommerce, you have the ability to create tax rules based on customer- and product tax classes, adding the origin country of the buyer to the sales tax.
That's not a big deal but buyers would see the prices with a different sales tax until they entered their billing data.
So we additionally addressed that with the user location feature. If a store owner installs a plugin like our Maxmind user location plugin, BreezingCommerce will recognize the buyer's location right at entering the site, showing the right sales tax from the beginning.
7 - Getting Started
There is a multitude of more concepts and features that make BreezingCommerce useful, such as multiple categories per product, nice SEF Urls with transliterals, Canonical Urls and JSON+ld Schemes but the best is simply to get started.
In the next chapter we will address the installation of BreezingCommerce.