Cloudscraper Software - Magento 2 development

How to use and develop the Cloudscraper system

Release 2.4.4-10.15

TAG: R2.4.4-10.15

branch: main

Release date: November 2022

This release upgrades version R2.4.3-p1-100.7

Contents

New in this version

This major release upgrades the entire system to Magento 2.4.4 and includes several Cloudscraper improvements.

Removal of Legacy Resolver

Generating emails and pdf documents uses variables from the database to create the correct information when a sale is made. This concerns the order, invoice, shipment, and credit memo information sent to customers.

In earlier Magento versions, these variables were accessed by method calls. We have changed this to pre-filled data blocks are passed to the template renderers. This way, we prevent the possibility of code injection from outside since the data blocks are pre-filled and read-only.

For this purpose, we have also created generic date-time functions that correctly operate depending on the locale the user works in (i.e., the Dutch or the English version of the platform).

Replacement of the signing keys

Every two years, we replace our signing keys with new ones to allow secure handshakes between the platform and third-party APIs.

Google Analytics version 4 (GA4)

We have moved the Google Analytics system to version 4 (GA4). The update concerns the addition of Javascript to the <head> section, and through the backend into the database. We have versions that connect to the development or the production server.

Note: we created and applied a patch for this update on May 9th, 2022

Our stories

We have changed the presentation of the stories on the front page (we are not using Tappable anymore).

Note: we created and applied a patch for this update on May 9th, 2022

Refactoring

Several parts of the (Cloudscraper) code have been refactored as part of new development or bug fixing. This concerns the template code for pdf-file creation and the sales email section. We have created several Helper functions that other modules may use through dependency injection. The helpers live in the Cloudscraper Core module (Helper namespace).

Magetrend Email extension

We use the Magetrend extension to set up our commercial emails. At the same time, we have made many changes to the extension to make it to our liking. In this version, we have moved the extension out of our maintenance repository, where the base extension is now maintained through composer (version 2). All Cloudscraper-based code is moved into a new module (Cloudscraper/MtEmail).

Carrier modules

We have added several Carrier modules for all carriers we use to ship orders to customers. Each module can be configured in the system to define the track & trace URL for the respective carrier. The system uses shipping address information (postcode, country code) where needed to construct the correct URL.

The URLs are now part of the shipping emails, in the platform backend, and the account information shipping section for logged-in customers.

Carriers implemented: DHL Express, DHL Parcel, DPD, DPD Direct, Packs, PostNL, and UPS.

Update of the base theme

We have implemented a new version of the (base) theme. While we were at it, all Cloudscraper-specific coding is now in a new Cloudscraper module. The reorganization of the code makes it easier to maintain future versions of the (base) theme.

Upgrade Font Awesome

We have upgraded the icon system to Font Awesome 6.2.

New customer pages

We have added two new pages that collect information useful to customers: company information and customer service. Although this information is also available through the link section in the footer on every page, it is now also available on separate pages. The new pages are accessible from the About Us drop-down menu at the top of the screen (desktop version) and the About Us section in the specific mobile menu (in the top left corner).

New translation modules

The language module that we used was deprecated. We have included new extensions (community-engineering/language-nl_nl, and community-engineering/language-en_us). While we were at it, we reorganized our translation customization. For this purpose we created two new language packages (cloudscraper/language-nl_nl and cloudscraper/language-en_us).

Backend improvements

When you create an order in the backend, the option to email the customer is checked by default. This is not the case when you create an invoice, a credit memo, or a shipment, while in the majority of cases you want to notify the customer. We changed the default such that the options are now checked.

Whatsapp chat

We have added a Whatsapp chat widget that can be included in page blocks and cms pages. The module has an option to include a Whatsapp chat button at the bottom of every page. An admin user can activate or deactivate the option in the backend.

Store view flags

The language switcher now has flags. You need to define the flag in the backend for each store view.

Essentials for release

  1. Temporarily switch off cron.
  2. Delete, create, and update the email templates.
  3. Import the blocks and pages.
  4. Add the URL rewrites for the new pages.
  5. Check the GA4 information in the backend.
  6. Verify the correct URL links for the carriers in backend.
  7. Configuration of Whatsapp chat module.
  8. Configuration of store view flags.
  9. Clean up the category names (Dutch should be default).
  10. Switch on cron.
  11. Create new sitemaps in pub/sitemaps.
  12. Warm cache after the software is released.

Goto the webstore release notes site

Home