diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index b3ce13b14..07596f10f 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -116,17 +116,6 @@ export default defineConfig({ { text: 'Unit Testing', link: '/development/extend/unit-testing' }, ] }, - { - text: 'Changelog', - collapsed: true, - items: [ - { text: 'Latest Release', link: '/development/changelog/latest' }, - { text: 'Version 3', link: '/development/changelog/v3' }, - { text: 'Version 2', link: '/development/changelog/v2' }, - { text: 'Version 1', link: '/development/changelog/v1' }, - ] - }, - { text: 'Roadmap', link: '/development/roadmap' }, ], }, socialLinks: [ diff --git a/docs/development/changelog/latest.md b/docs/development/changelog/latest.md deleted file mode 100644 index 93e942b3e..000000000 --- a/docs/development/changelog/latest.md +++ /dev/null @@ -1,153 +0,0 @@ - - -# Latest Release - - - -> With version 3.2, Mall is looking to the future. Fixing old bugs, removing legacy code and issues, -> but also taking the first cautious steps forward. The dust is knocked off, the gaze is directed -> towards the rising sun. - -## Highlights - -- [New navigation icons](#new-navigation-icons) -- [New documentation page](#new-documentation-page) -- [Introducing new PriceBag Calculator](#introducing-new-pricebag-calculator) -- [Enabled-States on different models](#enabled-states-on-different-models) -- [Updated console commands with new seeders](#updated-console-commands-with-new-seeders) - -### New navigation icons - -Using custom vectors graphics instead of FontAwesome / October Icons. Created with Affinity Designer, -the source files are located in theresources directory. - - - - -
- -### New documentation page - -The new documentation page, which you are probably reading right now, is now based on VitePress, -the (in)direct successor to VuePress, and therefore also comes with a completely new look. While -most of the documentation pages are still work in progress, progress is being made at breakneck -speed. - -### Introducing new PriceBag Calculator - -In the first step, the new `PriceBag` calculation collector works - more or less - just alongside -the current `TotalsCalculator` implementation (even if `PriceBag` already performs most of the -calculations within `TotalsCalculator` itself). However, during the upcoming releases, `PriceBag` -will be further expanded, designed to be more bullet-proof and performant until it will fully -replace the whole `TotalsCalculator` bundle (including all related classes). In version 4.0.0 at the -latest, but probably sooner. - -### Enabled-States on different models - -The following models use the new `IsState` model trait, which introduces an additional `is_enabled` -column and controls the `is_default` one in a common manner as well. This means that the individual -records can now be de- and activated separately and do not have to be deleted. - -- Currency -- PriceCategory -- Tax -- Payment Methods -- Shipping Methods -- Order States - -### Updated console commands with new seeders - -The artisan console-commands have been revised and renamed, and adapted to the new seeders. The DB -Seeders itself has been split up into the initial core-records (`OFFLINE\Mall\Updates\Seeders\CoreSeeder`) -and the demonstration ones (`OFFLINE\Mall\Updates\Seeders\DemoSeeder`) and can also be called using -Octobers' native `plugin:seed` command. The demonstration data has also been translated into german. - -```sh - mall - mall:check # Check if your setup is complete - mall:index # Recreate the general product index - mall:purge # Purge all customer and order related data - mall:seed # Seed the Mall related database records -``` - -**The new `mall:seed` command in detail** - -```sh -> php artisan mall:seed --help - -Description: - Seed the Mall related database records. - -Usage: - mall:seed [options] - -Options: - --force Don't ask before erasing all records - -d, --with-demo Insert demonstration records, such as products - -l, --locale[=LOCALE] Force a specific locale for the seeded records -``` - -## Full Changelog - -### Version 3.2.1 - - - -- Fix Release Number - - - - -### Version 3.2.0 - - - -- Decreased PHP Requirement to 7.4 to re-support OC v2.2 installations. -- Added new navigation icons for catalogue and orders menus. -- Added new `___.php` migration file naming for a better overview. -- Added new enabled-state to currency + minor changes + tests. -- Added new enabled-state and additional title property to price category + minor changes + tests. -- Added new enabled-state to taxes + minor changes + tests. -- Added new enabled and default-states to payment methods + minor changes + tests. -- Added new enabled and default-states to shipping methods + minor changes + tests. -- Added new enabled-state to order states + minor changes. -- Added a new IsStates database model trait, to support is_default and is_enabled behaviors. -- Added a new PriceBag totals construct and handling. -- Added a new event to manipulate shipping country on FilteredTaxes trait, thanks to @Cryden. -- Updated console commands and database seeders. -- Updated demonstration content (+ add support for german translations). -- Updated available rounding options on Currency model to support extensions. -- Catch errors on HashIds trait + add typings. -- General code cleanup, especially on backend controllers and models. -- Replaced migration seeder in favor of Laravels / Octobers database seeders. -- Replaced old ReorderController behavior with ListController configuration. -- Replaced VuePress documentation with VitePress + refactored introduction pages. -- Fixed missing quickCheckout pages on GeneralSettings > Checkout page select field. -- Fixed missing translation strings. -- Fixed show OrderProducts on Orderlist -> ProductList component using the same currency as order itself. -- Fixed PHPUnit testing environment and tests. -- Fixed Wishlist component with no id parameter set. -- Fixed faulty empty-check that prevented indexing at 0 (int and string) values, thanks to @xyz1123581321. -- Fixed out of stock message even if stock was available, thanks to @xyz1123581321. -- Fixed wrong indexed value key on PropertyValue using color types, thanks to @toome123. -- Fixed wrong taxes calculation when discounts has been applied. -- Fixed wrong taxes calculation when different discounts has been applied to products and shipping costs. -- Fixed bad SQL error when addresses has been added to a customer profile on the backend. -- Fixed duplication mess on products with variants. -- Fixed possibility to take-over email address on CustomerProfile component, thanks to @cyril-design. -- Fixed products / variants disappear on first page view after editing a product. -- Removed legacy v1 code. -- `30_01-update_system_plugin_history.php` -- `30_02-alter_offline_mall_currencies.php` -- `30_03-alter_offline_mall_price_categories.php` -- `30_04-alter_offline_mall_taxes.php` -- `30_05-alter_offline_mall_payment_methods.php` -- `30_06-alter_offline_mall_shipping_methods.php` -- `30_07-alter_offline_mall_order_states.php` - - diff --git a/docs/development/changelog/v1.md b/docs/development/changelog/v1.md deleted file mode 100644 index dfd48229e..000000000 --- a/docs/development/changelog/v1.md +++ /dev/null @@ -1,362 +0,0 @@ - - -# Version 1 - -> [!DANGER] DEPRECATED -> Version 1 of the Mall OctoberCMS plugin is no longer supported and will not be further developed. - - -## v1.16 - - - -Added Support for October 2.2 - - - - -## v1.15 - - - -Fixed many bugs, added discounts for payment methods, optimized performance of product page, optimized October 2.0 compatibility - - - - -## v1.14 - - - -Added support for PHP 8. To make future transitions easier, optional dependencies for this plugin -are now only "suggested" and not enforced using Composer. - - - - - -### Check your composer dependencies - -If you are using any of the optional features of the plugin, make sure to manually install the -required packages using composer after this update. Read more on [optional dependencies](/guide/introduction/installation#optional-dependencies). - - - - -## v1.13 - - - -- Switched the default Stripe payment provider to use Stripe's [Payment Intents API](https://stripe.com/docs/payments/payment-intents) -- This now supports Strong Customer Authtentication (SCA) and 3D Secure payment flows. - - - - - -### Test a Stripe payment - -The switch to the new API should not require you to change anything. To make sure your Stripe -account is configured correctly, test this version against Stripe's test API before deploying it to -production. - - - - -## v1.12 - - - -- Added [`QuickCheckout`](/guide/components/quick-checkout) component. - - - - - -### Include new QuickCheckout component styles - -If you plan to use the `QuickCheckout` component, make sure to add proper styles to your CSS. - -Check out the [`oc-mall-theme`](https://github.com/OFFLINE-GmbH/oc-mall-theme) repo for some inspiration: -[Commit that added QuickCheckout styles](https://github.com/OFFLINE-GmbH/oc-mall-theme/commit/4e51c1be10bfdea2c978817b0d10a4a3d1624ab7) - - - - -## v1.11 - - - -- RainLab.Translate` is now a required dependency of this plugin - - - - - -Install `RainLab.Translate` via the backend settings or run the following artisan command: - -```sh -php artisan rainlab.translate -``` - -Make sure that you are at least on version 1.6.6 of `RainLab.Translate`. - - - - -## v1.10 - - - -- Added property values to default Product component markup -- Added new [`$product->grouped_properties` accessor](/development/core/product-model#grouped-values) -- Added built-in support for PostFinance as a payment provider -- Added dutch frontend translations -- Various minor bugfixes - - - - - -### Apply styles to new product component partial - -The `Product` component now displays all property values by default. Either remove these lines from -your partialsor make sure to provide proper styling: - -- See [Commit](https://github.com/OFFLINE-GmbH/oc-mall-plugin/commit/823ffc5755a20def0f72d7087f74712df6c53a1f) -- See [Theme Commit](https://github.com/OFFLINE-GmbH/oc-mall-theme/commit/9946281b089831d3e1ec6f1d38ab9a6c93dce257) - - - - -## v1.9 - - - -- PHP 7.2 is now required to run this plugin -- Property values are now translatable -- Added a new option to group search results by Product -- Wishlists can now have a shipping method attached (opt-in via new [showShipping-Property](/guide/components/wishlists#showshipping-bool)) -- You can now set a default tax which is used as long as the shipping destination country is unknown -- Fixed various bugs when using country specific taxes -- E-mail templates now use translatable strings -- Optimized loading of translated attributes -- Various minor bugfixes - - - - - -### Update RainLab.Translate - -Update `RainLab.Translate` to version `1.6.3` to be compatible with this release. Version `1.6.3` -enables eager-loading of translated attributes. This decreases the overall query count on all pages. - -### Update product component partials - -If you override the `properties/color.htm` or `properties/default.htm` partials of the `Product` -component, make sure to use new value accessors to properly load translations. See [Commit](https://github.com/OFFLINE-GmbH/oc-mall-plugin/commit/4ba95c8808dda658e255d2688efaeae69f5ec8e9). - -If you override the `tax-info.htm` partial of the `Product` component, make sure to uses the new -`filteredTaxes` attribute to only display the correct taxes for the user's current shipping -destination country. See [PR](https://github.com/OFFLINE-GmbH/oc-mall-plugin/pull/416/files#diff-52fecf5054aab175b91d3f4985e037cd). - -### Update cart component partials - -If you override the `cart/table/entries.htm` or `cart/table/taxes.htm` partials of the `Cart` -component, make sure to select the taxes directly off the new `totals` variable. See [Commit](https://github.com/OFFLINE-GmbH/oc-mall-plugin/commit/cc7fe4e51d6ac2f89122eb9722f3397f6a07eff2). - -### Update wishlist component partials - -If you override the `wishlists/cart.htm` partial of the `Wishlist` component make sure to include -the new shipping method partial if you plan on using this feature. If you do not want to display -shipping cost for Wishlists the component will still function without this change. See [Commit](https://github.com/OFFLINE-GmbH/oc-mall-plugin/commit/a407e7c40f9efce52eb18c5180f3f59ebdf8c32a). - -### Optional: Use included "Proceed to checkout button" - -The `Cart` component got a new `showProceedToCheckout` property that includes a "Proceed to checkout" -button with the component if enabled. The button will be removed correctly if a user removes all -products from the cart. Until now it was not possible to remove the button if it was placed on a -theme partial. - -This change is opt-in. If you don't explicitly set the new property to true, the component output -will be unchanged. - -- See [Theme commit](https://github.com/OFFLINE-GmbH/oc-mall-theme/commit/b451cfdc922db907921dfd175f70fcf22c4637f5) -- See [Issue](https://github.com/OFFLINE-GmbH/oc-mall-plugin/issues/395) - - - - -## v1.8 - - - -- Added [PDF invoices](/guide/usage/payment-methods#pdf-invoices) and ["export as PDF" support for wishlists](/development/core/wishlist-model#pdf-download) - - - - - -### `Wishlists` Component - -A new "Download as PDF" button was added to the `Wishlists` component. If you did override the -`contents.htm` partial manually and wish to offer the PDF download option, make sure to update your -partial. See [Commit](https://github.com/OFFLINE-GmbH/oc-mall-plugin/commit/b0bfe6a9349c4e049f990f02a4e9c71b442b4df1#diff-a7bdbfca77c921515277424280815187). - - - - -## v1.7 - - - -- Added support for [Virtual Products](/guide/usage/virtual-products) - - - - - -### `Checkout` Component - -The `shippingmethod.htm` partial only displays a method if the user's cart consists not exclusively -of virutal products. If you do not override this partial no action is required. See [Commit](https://github.com/OFFLINE-GmbH/oc-mall-plugin/commit/95e93dd96998b71fce665a12aa65d75a83258248#diff-e8cf26df26eeb4db9c1398b4479dc8e1). - -### `Signup` Component - -If you have extended or customized the `Signup` component, make sure to check for the new -`mall.login.redirect` Session entry for any pending redirects. However, it is very unlikely that you -modified this component yourself. See [Commit](https://github.com/OFFLINE-GmbH/oc-mall-plugin/commit/c961a51e15b82af6198a2a23a6f1059bf6fcd572)- - -### `order.table` mail partial - -The order table mail partial contains a new info about the download link of virtual products. Add -this if you customized to partial and plan to use virtual products. See [Commit](https://github.com/OFFLINE-GmbH/oc-mall-plugin/commit/ba3f5f67a8015754697244d7a906e9db729fccb6). - - - - -## v1.6 - - - -- Added [Reviews](/guide/usage/reviews) feature - - - - - -### Reviews are opt-in for existing installations - -If you update to v1.6.0, you have to enable reviews via the backend settings. This will include the -new `ProductReviews` component, which you will have to style! - -### `product` Component - -The form tag was moved to only enclose the cart part of the component. If you did not override these -partials no action is required. See [Commit](https://github.com/OFFLINE-GmbH/oc-mall-plugin/commit/5131775b66daac5e1f491536aaff96275dd37bb2). - -The `productReviews` component was added to the `info` partial of the `products` component. If you -did not override these partials no action is required. See [Commit](https://github.com/OFFLINE-GmbH/oc-mall-plugin/commit/d7266017af8dc0c664afce657739b05ccc02bb41). - -### Styles for review component - -The new reviews component needs new styles. For styling inspiration take a look at [the commit to the demo theme](https://github.com/OFFLINE-GmbH/oc-mall-theme/commit/f73cee041d756a36edb6e648525d18ee82b3303a). - - - - -## v1.5 - - - -- [Services](/guide/usage/services) can now be managed in the backend and can be added to products -- The `mallDependencies` component now injects a global `.mall-modal` element into the DOM - - - - - -### `mallDependencies` - -Make sure the `mallDependencies` component is added to your layouts `` tag, and is not just -included in the code section. See [Commit](https://github.com/OFFLINE-GmbH/oc-mall-theme/commit/334e9a0abd89c701473a528ff1b9b43f332bce03). - -```twig{6} -[mallDependencies] -== - - - - {% component 'mallDependencies' %} - -``` - -### `.mall-modal` - -If you make use of the new `Services` feature, make sure to style the `.mall-modal` element. For -styling inspiration take a look at [the commit to the demo theme](https://github.com/OFFLINE-GmbH/oc-mall-theme/commit/6660c9572f268164e031b9496366d0d82bd65003). - -### `mall.cart.productAdded` - -If you did override the `components/product/default.htm` partial, make sure to only fire the -`mall.cart.productAdded` event if the `data` object has a `added` key with the value of `true`. See -[Commit](https://github.com/OFFLINE-GmbH/oc-mall-plugin/commit/771e3d94685d1636b27c78ef66736a241dd6e36e). - -### Service options in cart overview - -If you did override the `components/cart/table/entry.htm` partial, make sure to add the new service -option information. For styling inspiration take a look at [the commit to the demo theme](https://github.com/OFFLINE-GmbH/oc-mall-theme/commit/e02cb36d764395a212372abd83ea1a053560c0ed). See [Commit](https://github.com/OFFLINE-GmbH/oc-mall-plugin/compare/60c8f017ce0c85928ee0c6be3ef72034e1c7f0e5..3af55dc05f903dbe2a91da1d11d9cd76a3eaa67b#diff-97d9934bc5c6ea57aae23f2b172615f1). - -### Service options in confirmation mail - -Make sure to add the new service options output to the `mall.order.table` mail partial if you plan -to use the services feature. Keep in mind that you will have to purge the partial from the database -if you modify it on the filesystem. See [Commit](https://github.com/OFFLINE-GmbH/oc-mall-plugin/compare/60c8f017ce0c85928ee0c6be3ef72034e1c7f0e5..3af55dc05f903dbe2a91da1d11d9cd76a3eaa67b#diff-c756239ec92b708c1325201d3c196ac0). - - - - -## v1.4 - - - -- Added Wishlists feature - - - - -## v1.3 - - - -- Added Google Merchant Center integration - - - - -## v1.2 - - - -- Customers can now re-use payment methods (like Credit cards) - - - - -## v1.1 - - - -- A product can now belong to multiple categories. If you are using the `$product->category` -relationship directly make sure to update it to use the new `$product->categories` relationship. -Existing products will be migrated to the new database structure during this update. - - - - -## v1.0 - -**Initial Release** diff --git a/docs/development/changelog/v2.md b/docs/development/changelog/v2.md deleted file mode 100644 index fc5ecf82d..000000000 --- a/docs/development/changelog/v2.md +++ /dev/null @@ -1,14 +0,0 @@ - - -# Version 2 - -> [!DANGER] DEPRECATED -> Version 2 of the Mall OctoberCMS plugin is no longer supported and will not be further developed. - - -## v2.0 - -This plugin now requires October 2+. If you have installed the plugin from the marketplace, we -suggest to migrate to Composer and track the ^1.0 version. diff --git a/docs/development/changelog/v3.md b/docs/development/changelog/v3.md deleted file mode 100644 index 2b39d27a3..000000000 --- a/docs/development/changelog/v3.md +++ /dev/null @@ -1,98 +0,0 @@ - - -# Version 3 - -## v3.2 - - - -- Decreased PHP Requirement to 7.4 to re-support OC v2.2 installations. -- Added new navigation icons for catalogue and orders menus. -- Added new `___.php` migration file naming for a better overview. -- Added new enabled-state to currency + minor changes + tests. -- Added new enabled-state and additional title property to price category + minor changes + tests. -- Added new enabled-state to taxes + minor changes + tests. -- Added new enabled and default-states to payment methods + minor changes + tests. -- Added new enabled and default-states to shipping methods + minor changes + tests. -- Added new enabled-state to order states + minor changes. -- Added a new IsStates database model trait, to support is_default and is_enabled behaviors. -- Added a new PriceBag totals construct and handling. -- Added a new event to manipulate shipping country on FilteredTaxes trait, thanks to @Cryden. -- Updated console commands and database seeders. -- Updated demonstration content (+ add support for german translations). -- Updated available rounding options on Currency model to support extensions. -- Catch errors on HashIds trait + add typings. -- General code cleanup, especially on backend controllers and models. -- Replaced migration seeder in favor of Laravels / Octobers database seeders. -- Replaced old ReorderController behavior with ListController configuration. -- Replaced VuePress documentation with VitePress + refactored introduction pages. -- Fixed missing quickCheckout pages on GeneralSettings > Checkout page select field. -- Fixed missing translation strings. -- Fixed show OrderProducts on Orderlist -> ProductList component using the same currency as order itself. -- Fixed PHPUnit testing environment and tests. -- Fixed Wishlist component with no id parameter set. -- Fixed faulty empty-check that prevented indexing at 0 (int and string) values, thanks to @xyz1123581321. -- Fixed out of stock message even if stock was available, thanks to @xyz1123581321. -- Fixed wrong indexed value key on PropertyValue using color types, thanks to @toome123. -- Fixed wrong taxes calculation when discounts has been applied. -- Fixed wrong taxes calculation when different discounts has been applied to products and shipping costs. -- Fixed bad SQL error when addresses has been added to a customer profile on the backend. -- Fixed duplication mess on products with variants. -- Fixed possibility to take-over email address on CustomerProfile component, thanks to @cyril-design. -- Fixed products / variants disappear on first page view after editing a product. -- Removed legacy v1 code. -- `30_01-update_system_plugin_history.php` -- `30_02-alter_offline_mall_currencies.php` -- `30_03-alter_offline_mall_price_categories.php` -- `30_04-alter_offline_mall_taxes.php` -- `30_05-alter_offline_mall_payment_methods.php` -- `30_06-alter_offline_mall_shipping_methods.php` -- `30_07-alter_offline_mall_order_states.php` - - - - - -### Update your index - -Due to an error, some products and variants (as well as their properties), were not indexed -correctly, whereupon filter options may not work properly or other errors may be caused. Thus, it is -highly recommended to use the command `php artisan mall:index` to completely renew the index. - -### Install new dependencies - -Although October should install the dependencies automatically, in some cases - or in the case of -manual installations - this must be done by hand. Thus call the following command in the root -directory of your OctoberCMS set-up: - -```bash -composer req whitecube/php-prices -``` - -For OctoberCMS v2.2 installations use the following one instead: - -```bash -composer req "whitecube/php-prices:^2.0|^3.0" -``` - - - - -## v3.1 - - - -- PHP 8.0 is now required to run this plugin. General code cleanup. - - - - -## v3.0 - - - -- Introduced RainLab.Translate v2 support - - diff --git a/docs/development/index.md b/docs/development/index.md deleted file mode 100644 index cd08590d6..000000000 --- a/docs/development/index.md +++ /dev/null @@ -1,3 +0,0 @@ -# Development - -_Work in Progress_ diff --git a/docs/development/roadmap.md b/docs/development/roadmap.md deleted file mode 100644 index 2883a43e7..000000000 --- a/docs/development/roadmap.md +++ /dev/null @@ -1,41 +0,0 @@ - - -# Roadmap - -Ideas, suggestions or requests for improvement? Tell us, [file out an issue on GitHub](https://github.com/OFFLINE-GmbH/oc-mall-plugin/issues). - -::: info -The following roadmap is an approximate indication of the direction, changes may occur at any time, -thus treat the following information with caution. -::: - -## Version 3.2.0 - - - -- Introduce new PriceBag Totals handling to fix current calculation issues. -- Support toggling core options instead of being forced to delete them. -- Introduce and Update new documentation pages using VitePress. -- Start general re-factor process and code clean-up. -- Improve / Re-Factor testing environment. -- Support for OctoberCMS 3.6 - -## Version 3.3.0 - - - -- Improve PriceBag handling, introduce new coupon and discount system. -- Replace jQuery code with vanilla JS, may using TS as well. -- Add JSON/LD support for a better SEO experience. -- Add import / export of customers, products, orders, ... -- Continue wie general re-factor process and code clean-up. - -## Version 3.4.0 - - - -- Support & Enhance RESTful interface, may also with administrative access. -- New Front-End demo template, demonstrating RESTful API usage of OC Mall. -- Drop legacy TotalsCalculator classes / system.