Download the PHP package husseycoding/cfs_assessment without Composer

On this page you can find all versions of the php package husseycoding/cfs_assessment. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package cfs_assessment

CFS Assessment

The CFS assessment module for Magento 2.

Description

This module adds lifetime revenue column to the admin order grid which displays the total order value for each customer.

Features

Requirements

Installation

Via Composer (Recommended)

Manual Installation

  1. Download the extension
  2. Extract to app/code/CFS/Assessment
  3. Run the following commands:

Configuration

No specific configuration required, but you can choose to show/hide and drag the additional column as usual using the standard order grid configuration

Usage

When viewing the admin order grid, the additional column should automatically be displayed

Technical build notes

This displays base currency instead of purchase currency due to the possibility of different currencies per store

This populates the grid on a per row basis, it does not alter the order grid collection. This was done for performance reasonms, with the trade off being that you cannot order or filter by the columns

I considered altering the main MySQL query adding a GROUP BY and SUM to calculate the total order revenue, but this has drawbacks

We really need to use a correlated subquery to properly determine the correct data in this way, but this will have an unacceptable performance impact

The scope of the task is just to add a column to the order grid, so we don't want to impact the processing of order collections universally, just add logic to the grid

Another approach is to add an extension attribute into a new table for the collection, but this also has drawbacks

It introduces the need to calculate and update this value every time an order is placed, thus there is a performance overhead

If it's done inline on order placement this will affect the customer experience

If it's done asynchronously using a consumer queue or cron job then the population of this value won't be in real time which could be confusing and lead to inaccuracies

Both of these approaches introduce a performance overhead which really isn't needed just to achieve the narrow spec, and these types of approach could well introduce measurable performance issues at scale

The primary issue with adding this column to the order grid, is that you are introducing a many to many data relationship, with the possibility of having multiple orders in the grid which relate to the same customer, and needing to join and sum them against multiple orders to determine the revenue

Overall, the approach taken is better for the given, narrow spec, as we are only ever dealing with a limited collection size for the grid, so the solution is scalable regardless of how many orders there are

The trade off however is that with this approach you are not able to sort or filter by the column, but considering a solution at scale, this approach seems like the most acceptable solution. If being able to sort and filter by total revenue is key, I would actually suggest either:

Additionally part of the spec was to consider future similar applications, for instance average order value. With the approach used, it would be straightforward to either add a new column in similar fashion for average order value, or even update the column added here if that was preferable

This checks for existence of a customer against the order and shows no revenue for guest orders

This only considers orders with complete status indicating payment has been received and the order has been fully shipped

Support

For support, please contact [email protected]

License

This extension is licensed under the Open Software License (OSL) version 3.0


All versions of cfs_assessment with dependencies

PHP Build Version
Package Version
Requires php Version ~8.2.0||~8.3.0||~8.4.0
magento/framework Version >=103.0.6
magento/module-sales Version >=103.0.6
magento/module-customer Version >=103.0.6
magento/module-store Version >=101.1.6
magento/module-backend Version >=102.0.6
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package husseycoding/cfs_assessment contains the following files

Loading the files please wait ...